如何让两个游戏物体之间产生碰撞——至少一个刚体和两个碰撞器
如何让两个物体之间碰撞时表现出不同效果——通过物理材质
触发器的作用是:让两个物体碰撞没有物理效果,只进行碰撞处理
注意:碰撞和触发响应函数,属于特殊的生命周期函数,也是通过反射调用(在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

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

被折叠的 条评论
为什么被折叠?



