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 rangei 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