Skip to main content

Bounds.intersect is bad, mkay?!

I was trying to check when enemy ships are getting out of screen to destroy objects (optimization). First version

Vector2 screenSize = new Vector3 (Screen.width, Screen.height, Mathf.Abs (Camera.main.transform.position.z));
Bounds screenBounds = new Bounds (new Vector2(0f,0f), screenSize);
Debug.Log ("Ship " + ship.renderer.bounds + "  Screen " + screenBounds);
if (!ship.renderer.bounds.Intersects (screenBounds))
   ship.Destroy ();
So apparently this operation is taking significant time to check, end up replacing with this

  Vector3 screenPos = Camera.main.WorldToScreenPoint( ship.transform.position ); 
  Vector3 screenSize = Camera.main.WorldToScreenPoint( ship.renderer.bounds.size);
  if (screenPos.x + screenSize.x < 0)
   ship.Destroy ();

Comments

devidnayana said…


I am very happy when read this blog post because blog post written in good manner and write on
good topic. Thanks for sharing valuable information.

School Information Management System,
Online Fee Payment Integration
College Management System

Message

Popular posts from this blog

Why Magento sucks?!

p.p1 {margin: 0.0px 0.0px 13.0px 0.0px; font: 13.0px Arial; color: #1022a3} p.p2 {margin: 0.0px 0.0px 13.0px 0.0px; font: 13.0px Arial} p.p3 {margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px Arial} p.p4 {margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px Arial; min-height: 15.0px} span.s1 {letter-spacing: 0.0px color: #000000} span.s2 {text-decoration: underline ; letter-spacing: 0.0px} span.s3 {letter-spacing: 0.0px} span.s4 {text-decoration: underline ; letter-spacing: 0.0px color: #1022a3} This post was inspired by  http://www.commercestyle.com/e-commerce/magneto-sucks I don't agree on everything that wrote there, I won't say that is so sucky and hard. It's childish way to say system is too complicated, read the f**king manual, omg is this so hard?! So from perspective technical guy that have a lot of finished high loaded projects on the back, I want to explain my "sucky" point about it.  1) The thing that bothers me for last few weeks is news about Magento acquir...

Cleaning up your local branches with ease

Small bash script to that helps you to clean up things 1 2 3 4 5 6 7 8 9 10 11 12 #!/bin/bash for br in $( git for -each-ref --count = 30 --sort = -committerdate refs/heads/ --format = '%(refname:short)' ) ; do echo "Delete branch $br (y/n)?" read -rsn1 input if [ "$input" = "y" ] ; then echo "deleting $br" git br -D $br else echo "skip $br" fi done

Qt cross-platforming "rocks"!

Today I've made a topic about my experience of lunching Qt-based cross-platform product : Owely.com. In my presentation I've made few points about how C++ evolved during these years, and how it can become handy when you need high-performance cross-platform solution with high integration to the native API. Hopefully people that come to check this presentation was very interested in C++ and we had small but productive conversation. For thous who miss