OnTrigger和OnCollision的区别

OnTrigger和OnCollision的区别

1.想要让程序判断两个物体又接触,则两个物体都必须要有Collider,并且运动的物体必须要有刚体(Rigidbody),才会发生碰撞。如果运动的物体没有刚体,也视为没有碰撞。

2.Collision碰撞:会发生物理碰撞,双方都有碰撞体(Collider),至少有一个物体有rigidbody,会触发OnCollision事件。若双方都勾选了Kinematic或者其中一个物体勾选了Trigger,则碰撞无效。

Trigger触发:不会发生物理碰撞,双方都有碰撞体(Collider),至少有一个物体有rigidbody,且至少有一个物体勾选了Trigger,会触发OnTrigger事件。
不可能同时发生碰撞与触发。

3.Collision与Trigger接触事件都有三种
Trigger:OnTriggerEnter,OnTriggerStay,OnTriggerExit

Collision:OnCollisionEnter,OnCollisionStay,OnCollisionExit

Enter事件表示两个物体接触瞬间,会执行一次事件。
Stay事件表示两个物体一直接触,会持续执行这个事件。
Exit事件表示两个物体分开瞬间,会执行一次事件。

4.IsTrigger触发器:勾选了就不会造成碰撞,也不会受到重力等物理作用力的影响。双方会直接穿越,只能判断触发。

5.Rigidbody刚体:加了碰撞体的物体会受到重力而落下,受物理作用力推动或旋转,无法穿越其他碰撞体。如果另一个物体没有刚体,与一个有刚体的物体相撞会穿过有刚体的物体,但是会判断有发生碰撞。

6.IsKinematicc运动学:自身不会受到碰撞,但是会对其他物体造成碰撞,不会受到重力等物理作用力的影响。
双方都勾选了运动学时,双方不会发生碰撞,会直接穿透,无法执行OnCollision事件。

7.Constraints限制:自身受到碰撞时,勾选的position,Rotasion不受力。

8.Drag空气阻力:提高该数值会减少下落速度与被撞飞的距离。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值