unity3D OnTriggerEnter和OnCollisionEnter区别

本文介绍了Unity3D中OnTriggerEnter和OnCollisionEnter的区别。OnCollisionEnter需要两个物体都不勾选isTrigger才能触发,适用于物理碰撞效果;而OnTriggerEnter只要一个物体勾选isTrigger即可触发,适用于自定义碰撞事件处理。刚体Rigidbody在OnCollision模式下是实现真实碰撞的必要条件,在OnTrigger模式下至少一个物体需要Rigidbody。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  • OnTriggerEnter和OnCollisionEnter的区别

    测试:如果两个物体A,B

    两者都有碰撞体collider(Box Collider,Sphere Collider,Capsule Collider等)

    A,B都有刚体(Rigidbody)

    A或者B中有一个勾选isTrigger或者两者都勾选isTrigger A和B都可以进入OnTriggerEnter方法,但是不可进入OnCollisionEnter方法。

    A和B都不勾选isTrigger,A和B能进入OnCollisionEnter方法但是不能进入OnTriggerEnter方法。

结论:

OnCollisionEnter方法必须是在两个碰撞物体都不勾选isTrigger的前提下才能进入,反之只要勾选一个isTrigger那么就能进入OnTriggerEnter方法。

OnCollisionEnter和OnTriggerEnter是冲突的不能同时存在的。



  • OnTriggerEnter和OnCollisionEnter的选择

    如果想实现两个刚体物理的实际碰撞效果时候用OnCollisionEnter,Unity引擎会自动处理刚体碰撞的效果。

    如果想在两个物体碰撞后自己处理碰撞事件用OnTriggerEnter。



  • 刚体(Rigidbody)的使用

    两个碰撞的物体A 和 B

    现在我们就可以分两种模式来分析了,就是OnTrigger模式和OnCollisi

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值