最近在做毕设遇到了一些关于Collider類下关于Ontrigger*与Oncollision的意思啊*的一些迷茫,所以自己子这里整理一下
在Untiy脚本手册中,我们可以看到这样的区分:
绿色字体表示:物体A在僅有Collider组件的情况下使用transfrom.Translate方法位移运动,在某个数值范围内可以发生碰撞和触发消息而超出这个范围外(速度过慢或过快)都不会发生。
一个物体:碰撞体+刚体另一个物体:碰撞体,两个物体都不要勾选IsTrigger此时最好用带有刚体的物体为运动体,仅带有碰撞体的物体为静態体(避免绿色字体情况发生)
两个物体均为碰撞体+刚体,两个碰撞体都不要勾选IsTrigger
一个物体:碰撞体+刚体,另一个物体:碰撞体两個物体中至少有一个碰撞体勾选IsTrigger。此时最好用带有刚体的物体为运动体仅带有碰撞体的物体为静态体(避免绿色字体情况发生)。
两个粅体均为碰撞体+刚体两个物体中至少有一个碰撞体勾选IsTrigger。
所以从上述总结来说,
Ontrigger*与Oncollision的意思啊*的前置条件基本相似只要某个碰撞体勾選了IsTrigger属性,与其发生的所有碰撞都将变为触发;
碰撞体勾选IsTrigger后该物体将会与其他物体发生穿越,该方法比较适合用于做一些区域检测传遞消息等;
消息的传递都是双向的两个物体发生碰撞,则两个物体都会获得碰撞消息;两个物体发生触发则两个物体都会获得触发消息。