- Home /
Triggers crashing Unity when intersecting with objects
I am using a modified version of the Jumppad from the Lerpz demo that I can place in the world during runtime. I've encountered several crashes when the trigger intersects with other objects in the world and the character enters the trigger. When it crashed earlier the screen freezes, and unity threw unhandled exception. Now it just freezes, and I have to shut down Unity (getting the option to save and everything). Sometimes, unity displays a message along the lines of:
Screen position out of view frustrum (screen pos 10544.000000, 0.000000, 50.000000)(Camera rect 0 0 1054 886)
This is the code for the jumppad var jumpHeight = 1.0; var cooldown : float = 1.0; private var timeLock : float; function OnTriggerEnter (col : Collider) { var controller : ThirdPersonController = col.GetComponent(ThirdPersonController);
if ( controller != null && Time.time > timeLock) { if( controller.IsJumping() || controller.HasJumpReachedApex () ) { //jump! animation[ "Take 001" ].speed = 1.2; animation.CrossFade( "Take 001" ); controller.SuperJump( jumpHeight * -controller.GetVerticalSpeed() );
if ( audio )
audio.Play();
timeLock = Time.time + cooldown;
}
}
} // Auto setup the script and associated trigger. function Reset () { if (collider == null)
gameObject.AddComponent( BoxCollider ); collider.isTrigger = true; } @script RequireComponent( BoxCollider ) @script AddComponentMenu( "Third Person Props/Jump pad" )
Have anyone else encountered this problem? Can you think of a solution or workaround? Any thoughts are welcome!
Answer by Ricardo · Jun 05, 2010 at 08:43 AM
If Unity's crashing hard, that is either a Unity bug or something you're doing that it killing Mono - for instance, an infinite recursion that causes a stack overflow. I see nothing evident on this code that would cause a hard crash. Have you modified any other part of the controller? Anything else that might be affected by the jumping? For example, you might be sending a message, and it's the method that handles that message that ends up crashing the app.
You may want to paste more of your code (for instance, to gist) so people can give better suggestions.
Answer by Jaap Kreijkamp · Mar 12, 2010 at 10:09 PM
Add Debug.Logs and look in Editor.log to see how far the script run to determine where the culprit is (the log window isn't updated directly so you won't see the last log lines here).
Your answer
Follow this Question
Related Questions
Speed/trigger only working once 0 Answers
Edit Mesh Edge to Match Overlapping Object or Obstruction 0 Answers
Handling collisions (triggers) 0 Answers
Unity crashes without debugging 0 Answers
kill boundary script 1 Answer