首页 > 技术文章 > unity_小功能实现(碰撞检测)

shirln 2017-10-29 11:25 原文

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可以穿过。

 

推荐阅读