유니티(Unity) 오브젝트 다중 콜라이더 충돌 판별 몇가지 방법

반응형

유니티(Unity) 오브젝트 다중 콜라이더 충돌 판별 몇가지 방법

한 오브젝트의 계층에 여러개의 콜라이더가 존재할때 충돌 콜라이더 구별방법

 

 void OnCollisionEnter(Collision collision)
        {
            Collider hitCollider = collision.contacts[0].thisCollider;

            if (hitCollider.name == "Collider1")
            {
                Debug.Log("Collider1과 충돌");
            }
            else if (hitCollider.name == "Collider2")
            {
                Debug.Log("Collider2와 충돌");
            }
        }


        void OnTriggerEnter(Collider other)
        {
            if (other.GetType() == typeof(BoxCollider))
            {
                // BoxCollider와 충돌했을 때 처리
            }
            else if (other.GetType() == typeof(SphereCollider))
            {
                // SphereCollider와 충돌했을 때 처리
            }
            else if (other.GetType() == typeof(MeshCollider))
            {
                // MeshCollider와 충돌했을 때 처리
            }

        }

        void OnTriggerEnter(Collider other)
        {
            BoxCollider boxCollider = other as BoxCollider;
            if (boxCollider != null)
            {
                // BoxCollider와 충돌했을 때 처리
            }
            else if (other is SphereCollider sphereCollider)
            {
                // SphereCollider와 충돌했을 때 처리
            }
            else if (other is MeshCollider meshCollider)
            {
                // MeshCollider와 충돌했을 때 처리
            }
        }

반응형

댓글

Designed by JB FACTORY