Table of Contents

Unity 碰撞事件


刚体

刚体:进行物理仿真,比如:重力、碰撞的反馈

刚体和碰撞体组件不是相互依赖的!

碰撞体的功能是计算碰撞,触发器也是一种碰撞体,但是不是Block,只是为了触发事件,刚体是碰撞后物理仿真的表现。

碰撞

碰撞体组件定义了碰撞计算的范围
两个有Collider组件的游戏对象(并且两者都不是Trigger),碰撞时会相互阻挡,并发出碰撞事件

Q:碰撞的两个游戏对象都会收到事件吗?

触发器

触发器是碰撞体的一种类型,或者说一种选项。触发器和碰撞体不会相互阻挡,会触发相交的事件,这个事件由「是触发器的一方」接受并处理。

如果:两个物体都是触发器,相交事件还是会触发的,两个触发器都会收到这个事件

上面写的不对,重新检查一下

接口

private void OnCollisionEnter(Collision collision)
{
    // 开始碰撞
}
 
private void OnCollisionExit(Collision collision)
{
    // 结束碰撞
}
 
private void OnTriggerEnter(Collider other)
{
    // 进入触发体
}
 
private void OnTriggerExit(Collider other)
{
    // 离开触发体
}

CollisionCollider的区别:
Collision描述的是一次碰撞
Collider是碰撞体本身:A base class of all colliders.

问题