【求助】OnTriggerEnter2D不触发
unity3d吧
全部回复
仅看楼主
level 2
286com 楼主
各位达人,请教一个问题:
我做了一个player,将"攻击范围"作为子物体附在player上(一个boxcollider),"攻击范围"有collider和刚体,并设为Kinematic;怪物有collider2D,有Rigidbody2D。
攻击时,生成一个boxcollider2d并使之enable,欲其与怪物进行碰撞触发。怪物或player移动时,player攻击怪物,OnTriggerEnter触发正常,怪物可以收到伤害;但player和怪物均静止时,为什么攻时与敌人不发生OnTriggerEnter??
万望高人解答~先谢谢了
2018年07月12日 09点07分 1
level 2
286com 楼主
我用了一个笨办法解决了:
在生成攻击范围的collider后,将collider移动一点,比如+0.001f,这样collider就是活动的了,攻击结束后复位。即使player与怪物静止,也会触发OnTriggerEnter。
经过以上折腾,自我感觉OnTriggerEnter是这样触发的:必须有一方是is trigger;主动活动的一方有刚体;enable collider 为true时,并不产生触发,只有collider运动时才触发,就好比两物体collider接触中,突然一个物体消失,那么OnTriggerExit不会触发的道理是一样的。
以上是我的做法,有问题欢迎指正。
2018年07月13日 07点07分 2
level 8
刚体应该也是需要用2d的
2018年07月13日 12点07分 3
都是用2D
2018年07月14日 01点07分
level 8
静态和动态的区别,那可以都做成动态的。原地动。
2018年07月17日 03点07分 4
静态是预加载的,动态是即时运算的,比如静态变形产生的渗透就不会计算成collisions。
2018年07月17日 03点07分
level 3
这个是什么问题啊?
2018年07月17日 03点07分 5
Rigidbody2D 换成Rigidbody 试试
2018年07月18日 01点07分
2d Boxcollider
2018年07月18日 04点07分
level 1
OnTriggerStay了解一下
2018年07月23日 12点07分 6
1