【 unity3d】 碰撞体、触发器和刚体之间的关系、配合使用


一:触发器和碰撞器、刚体之间的联系
1、碰撞器如果勾了is trigger 就变成了 触发器
2、触发器和刚体之间碰撞会穿透,
3、触发器和触发器之间的碰撞也是直接穿透
4、触发器和碰撞体碰撞还是直接穿透

二:碰撞器和触发器的方法调用细节
1、碰撞触发器调用碰撞触发器方法
假设在子弹碰撞到一个触发器物体(子弹脚本调用方法)
OnTriggerEnter(Collision target)
OnTriggerStay(Collision target)
OnTriggerExit(Collsion target)

则会对是碰撞了是触发器的物体调用该方法,而不必去关注自身,也就是说,不管 自身是否含触发器,刚体,还是碰撞器,都会对碰撞的触发器调用对应触碰方法

2、碰撞到碰撞器调用碰撞器方法
假设在子弹碰撞到一个碰撞器物体
同理OnCollisionEnter(Collider target),OnCollisionStay(Collider target),OnCollisionExit(Collider target)
三种方法也只会对碰撞对象是否为碰撞器进行判断,而不必去关注自身是什么样的状态条件

三:刚体和碰撞器的配合
1、刚体需要有碰撞体的配合才能站在,也就是说,如果没有碰撞器作为地面(包括碰撞器变成触发器)
则人物会掉下去。
2、即刚体可以挨着碰撞器,但是不能让碰撞器移动,所以,对一般不能移动的物体(树,墙,地面),可以把它设为碰撞器
3、添加刚体脚本是默认
使useGravity设置为true(勾)
使is Kinematic 设置为false(不勾)
这样,刚体就会落在地面(碰撞器)上,且受力的作用,但可能会翻身

这时最好冻结x z 轴的旋转方向,这样人物就不会受地面的坡道影响而倒在地上



猜你喜欢

转载自blog.csdn.net/liaoshengg/article/details/80790018