OnCollisionEnter和OnTriggerEnter 区别

在Unity引擎中,OnCollisionEnter和OnTriggerEnter都是处理碰撞事件的方法,但触发条件不同。OnCollisionEnter要求碰撞双方是碰撞体且无IsTrigger选项,刚体非IsKinematic。而OnTriggerEnter则需要一方是触发器,刚体的IsKinematic选项可选,触发条件更宽松。
摘要由CSDN通过智能技术生成

OnCollisionEnter和OnTriggerEnter 区别

OnCollisionEnter方法触发条件

碰撞双方必须是碰撞体(Conllision)
碰撞的主动方必须是刚体(Rigidbody)
刚体不能勾选IsKinematic
碰撞体不能勾选IsTrigger
注意:OnCollisionEnter方法的形参对象指的是碰撞双方中没有携带OnCollisionEnter方法的一方

OnTriggerEnter方法触发条件

碰撞双方必须是碰撞体(Conllision)
碰撞双方其中一个碰撞体必须勾选IsTrigger选项
碰撞双方其中一个方必须是刚体(Rigidbody)
刚体的IsKinematic选项可以勾选也可以不勾选
注意:只要满足上面两个条件,不管是谁主动都会触发

总结:

相同点:
1 碰撞双方都必须是碰撞体
2 都要有刚体参与
3 形参对象均表示没有携带OnCollisionEnter或OnTriggerEnter脚本的一方

不同点:
1 OnTriggerEnter要求碰撞体的任意一方必须勾选IsTigger选项,OnCollisionEnter则要求全不勾选
2 OnTriggerEnter对刚体的IsKinematic项没有要求,OnCollisionEnter则要求不能勾选
3 OnTriggerEnter对刚体挂在碰撞双方的哪一方没有要求,而OnCollisionEnter则要求挂在碰撞的主动方

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值