unity_小功能实现(碰撞检测)
1.触发器Trigger:勾选IsTrigger属性
//当player刚进入触发区域的时刻发生触发检测,比如在靠近门的某个区域门一直处于开着状态
void OnTriggerEnter(Collider other)
{
if (other.tag == "player")
{
//TODO
}
}
//当player在触发区域的时间内发生触发检测,比如进入危险地带会触发警报在
void OnTriggleStay(Collider other)
{
if (other.tag == "player")
{
//TODO
}
}
2.碰撞器Collision:不勾选IsTrigger属性,两个发生碰撞的物体都有碰撞器(Collider),其中一个物体还必须带有Rigidbody刚体。(用法和上述类似)
两者区别:
1.勾选IsTrigger属性(Trigger),没有碰撞的效果,如:人站在靠近门的位置门自动打开效果
不勾选IsTrigger属性(Collision),有碰撞效果,如:汽车被撞飞、皮球掉在地上又弹起效果
2.触发器Trigger可以穿过。