Wednesday 15 July 2015

unity3d - Unity OnTriggerEnter2D sometimes doesn't work -



unity3d - Unity OnTriggerEnter2D sometimes doesn't work -

i have problem triggers in 2d game in unity. want create enemy die when triggers player's weapon. problem there 2 colliders attached enemy (tagged "enemy"):

one box2d collider used normal collider second sphere collider set trigger , used in script check whether there player in range

i got sword object, has sprite renderer, box collider (set trigger) , script:

void ontriggerenter2d(collider2d other) { if(other.tag == "enemy") { if(!other.istrigger) { debug.log ("enemy"); destroy (other.gameobject); } } }

screenshot of scene: http://i.stack.imgur.com/evtrx.jpg

screenshot of enemy gameobject: http://i.stack.imgur.com/9r5a6.jpg

so in general works, doesn't. when disable sphere collider @ enemy, works great, need have check if there player in range. how can prepare it?

you should create sure 2 things in onentercollider2d

1) create sure both gameobjects participating in onentercollider2d must not destroyed. if 1 has destroyed should destroyed time later.

2) create sure 1 of game object participating in collisions has have rigidbody attached iskinematic unchecked.

unity3d unity3d-2dtools

No comments:

Post a Comment