美文网首页
八、物理检测:1、碰撞API

八、物理检测:1、碰撞API

作者: GameObjectLgy | 来源:发表于2021-04-17 11:43 被阅读0次

    碰撞总是不发生原因有可能

    你的碰撞组件和碰撞方法不对应,比如2D碰撞组件,却用3D的碰撞方法去检测。
    同理的还有射线检测。

    3D碰撞

    void OnCollisionEnter(Collision collision){};//当碰撞体进入当前物体时触发的回调函数
    void OnCollisionStay(Collision collision){};//当碰撞体停留当前物体内时触发的回调函数
    void OnCollisionExit(Collision collision){};//当碰撞体离开当前物体时触发的回调函数

    void OnTriggerEnter(Collider other){}//当触发器进入当前物体时触发的回调函数
    void OnTriggerStay(Collider other){}//当触发器停留在当前物体时触发的回调函数
    void OnTriggerExit(Collider other){}//当触发器离开当前物体时触发的回调函数

    2D碰撞

    void OnCollisionEnter2D(Collision2D collision){}//当2D碰撞体进入当前物体时触发的回调函数
    void OnCollisionStay2D(Collision2D collision){}//当2D碰撞体停留当前物体内时触发的回调函数
    void OnCollisionExit2D(Collision2D collision){}//当2D碰撞体离开当前物体时触发的回调函数

    void OnTriggerEnter2D(Collider2D other){}//当2D触发器进入当前物体时触发的回调函数
    void OnTriggerStay2D(Collider2D other){}//当2D触发器停留在当前物体时触发的回调函数
    void OnTriggerExit2D(Collider2D other){}//当2D触发器离开当前物体时触发的回调函数

    碰撞不发生原因:
    1、如果碰撞体是运动物体,如果不勾选连续监测,即使是低速也不能发生碰撞


    QQ图片20210105151532.png

    2、在工程的设置选项里,两种物体的层级没有设置为可碰撞。

    相关文章

      网友评论

          本文标题:八、物理检测:1、碰撞API

          本文链接:https://www.haomeiwen.com/subject/eecfwktx.html