Unity引擎触发器系统有三个属性:Collider、Trigger、Rigibody。碰撞体和触发器一般相关使用,在碰撞体Collier组件下选中Is Trigger,即可使用触发器Trigger。
(1)碰撞(触发)条件
碰撞的两方都带有Collier,引发一方带有Rigibody,触发器一方勾选了Is Trigger。
(2)两者区别
碰撞体显示碰撞效果;
触发器以碰撞体为载体,当设置Gameobject为触发器时,则没有碰撞效果,仅是检测两个物体的接触。
(3)相关方法
1.碰撞体方法:参数类型Collision
void OnCollisionEnter(Collision collision)
{
//进入碰撞器执行的代码
}
void OnCollisionStay (Collision collision)
{
//停留碰撞器执行的代码
}
void OnCollisionExit (Collision collision)
{
//退出碰撞器执行的代码
}
2.触发器方法:参数类型Collider
void OnTriggerEnter(Collider collider)
{
//进入触发器执行的代码
}
void OnTriggerStay (Collider collider)
{
//停留触发器执行的代码
}
void OnTriggerExit (Collider collider)
{
//退出触发器执行的代码
}
在各种论坛找到的优秀文章:
具体碰撞情况列举(以后再详细看……):
https://blog.csdn.net/qq_24378389/article/details/60756257
https://www.jianshu.com/p/f99463f0578d