unity 碰撞

在Unity游戏引擎中,Collider组件是用于检测游戏对象之间的碰撞的关键组件之一。Collider本身无法主动触发碰撞,它只是一个用于碰撞检测的形状或边界。

在Unity中,要实现碰撞触发,你需要借助其他组件,如Rigidbody(刚体)和触发器(Trigger)。以下是两种常见的情况:

  1. 使用刚体和Collider:如果两个游戏对象都有Collider组件,并且其中一个或两个对象都有Rigidbody组件(具有物理属性),它们之间的碰撞将由物理引擎自动处理。你可以通过在脚本中实现 OnCollisionEnter、OnCollisionStay 或 OnCollisionExit 方法来检测碰撞事件,并在发生碰撞时触发相应的逻辑。

  2. 使用触发器(Trigger):你可以将Collider组件设置为触发器,这意味着它不会实际阻止碰撞发生,而是用于触发碰撞事件。当两个Collider中的至少一个设置为触发器时,你可以使用 OnTriggerEnter、OnTriggerStay 或 OnTriggerExit 方法来检测碰撞事件,并在发生碰撞时触发相应的逻辑。

总结来说,Unity的Collider组件本身无法独自产生碰撞触发,但是通过与刚体或触发器组件结合使用,你可以实现碰撞事件的检测和触发。

 

  两物体都添加碰撞盒cube添加触发脚本 无触发事件产生

给cube添加刚体出现下坠

取消useGravity  两物体接触成功触发事件

两物体至少要有一方勾选 Is Trigger 因为采用的是Trigger触发

两方都添加触发脚本 都会触发事件跟那方打开Trigger选项无关

总结:想要触发事件必须collider与刚体结合使用  只要任何一方添加刚体,任何一方勾选Trigger   任何一方方只要挂触发事件的脚本就会触发事件 与刚体与勾选Trigger并无关系 

父子继承性

子物体添加刚体 父物体始终不会触发事件 但是父物体添加刚体组件子物体可以继承 但是子物体必须勾选Trigger才能触发事件 即使对方勾选也不会触发 如果刚体在子物体上 子物体不必勾选 即可触发事件 

子物体不挂载脚本 但是身上的碰撞盒依然是父物体的一部分 所以为cube 子物体添加碰撞盒 当接触子物体碰撞盒同样会触发事件 但再次接触cube碰撞盒会再次触发事件 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值