碰撞检测之碰撞检测函数

这篇博客详细介绍了在Unity中如何实现游戏物体的碰撞检测及触发器响应。通过碰撞检测函数,如OnCollisionEnter、OnCollisionExit和OnCollisionStay,以及触发器的OnTriggerEnter、OnTriggerExit和OnTriggerStay,可以实现物体间的碰撞效果和无物理反馈的碰撞处理。文中还强调了碰撞和触发响应函数的执行时机,并提供了如何处理异形物体碰撞的注意事项,以及实例练习,包括发射子弹、子弹触地消失和立方体耐久度机制的实现。

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

如何让两个游戏物体之间产生碰撞——至少一个刚体和两个碰撞器

如何让两个物体之间碰撞时表现出不同效果——通过物理材质

触发器的作用是:让两个物体碰撞没有物理效果,只进行碰撞处理

注意:碰撞和触发响应函数,属于特殊的生命周期函数,也是通过反射调用(在FixedUpdate与Update之间——OnTriggerXXX/OnCollisionXXX),触发响应的频率与物理帧更新频率相关

1、物理碰撞检测相响应函数

// Collision类型的参数包含了碰到自己的对象的相关信息

// 关键参数

——碰撞到的对象碰撞器的信息:collision.collider

——碰撞对象的依附对象(GameObject):collision.gameObject

——碰撞对象的依附对象的位置信息:collision.transform

// 以下不常用

——触碰点数相关:collision.contactCount

——接触点的具体坐标:ContactPoion[] pos = collision.contacts

// 只要得到了碰撞到的对象的任何一个信息,就可以通过GetComponent得到它的所有信息

(1)碰撞触发接触时会自动执行这个函数

private void OnCollisionEnter(Collision collision) {
    print(this.name + “被“ + collision.gameObject.name + ”撞到了“);
}

(2)碰撞结束分离时会自动执行这个函数

private void OnCollisionExit(Collision collision) {
    print(this.name + “被“ + collision.gam
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值