Unity 衝突検出のいくつかの機能


1つ、

OnCollisionEnter(Collisioncollision): この関数は 2 つのオブジェクト間の衝突イベントを検出するために使用され、2 つのオブジェクトが衝突したときに呼び出されます。このうち、パラメータ衝突には、衝突点、衝突法線など、衝突に関する詳細情報が含まれます。


二、

OnCollisionStay(Collisioncollision): この関数は、2 つのオブジェクト間の継続的な衝突イベントを検出するために使用され、2 つのオブジェクトが衝突し続けるときに呼び出されます。このうち、パラメータ衝突には、衝突点、衝突法線など、衝突に関する詳細情報が含まれます。


三つ、

OnCollisionStay(Collisioncollision): この関数は、2 つのオブジェクト間の継続的な衝突イベントを検出するために使用され、2 つのオブジェクトが衝突し続けるときに呼び出されます。このうち、パラメータ衝突には、衝突点、衝突法線など、衝突に関する詳細情報が含まれます。


四、

OnTriggerStay(Collider other): この関数は、オブジェクトが別のオブジェクトのトリガー範囲内に留まり続けるかどうかを検出するために使用され、オブジェクトが別のオブジェクトのトリガー範囲内に留まり続けるときに呼び出されます。このうち、other パラメータはトリガー内に留まるオブジェクトを表します。

五、

OnCollisionExit(Collisioncollision): この関数は、2 つのオブジェクト間の衝突イベントの終了を検出するために使用され、2 つのオブジェクト間の衝突が終了すると呼び出されます。このうち、パラメータ衝突には、衝突点、衝突法線など、衝突に関する詳細情報が含まれます。

六、

OnTriggerExit(Collider other): この関数は、オブジェクトが別のオブジェクトのトリガー範囲を離れるかどうかを検出するために使用され、オブジェクトが別のオブジェクトのトリガーを離れるときに呼び出されます。このうち、other パラメータはトリガーから離れるオブジェクトを表します。


7. コード

using UnityEngine;

public class CollisionExample : MonoBehaviour
{
    
    
    // 碰撞事件,当两个物体发生碰撞时被调用
    void OnCollisionEnter(Collision collision)
    {
    
    
        Debug.Log("碰撞事件:" + collision.gameObject.name);
    }

    // 触发器事件,当一个物体进入另一个物体的触发器时被调用
    void OnTriggerEnter(Collider other)
    {
    
    
        Debug.Log("进入触发器:" + other.gameObject.name);
    }

    // 碰撞持续事件,当两个物体持续发生碰撞时被调用
    void OnCollisionStay(Collision collision)
    {
    
    
        Debug.Log("碰撞持续事件:" + collision.gameObject.name);
    }

    // 触发器持续事件,当一个物体持续停留在另一个物体的触发器内时被调用
    void OnTriggerStay(Collider other)
    {
    
    
        Debug.Log("触发器持续事件:" + other.gameObject.name);
    }

    // 碰撞结束事件,当两个物体之间的碰撞结束时被调用
    void OnCollisionExit(Collision collision)
    {
    
    
        Debug.Log("碰撞结束事件:" + collision.gameObject.name);
    }

    // 触发器结束事件,当一个物体离开另一个物体的触发器时被调用
    void OnTriggerExit(Collider other)
    {
    
    
        Debug.Log("触发器结束事件:" + other.gameObject.name);
    }
}

おすすめ

転載: blog.csdn.net/qq_20179331/article/details/129766775