본문 바로가기

개발/unity

[Unity] 다른 오브젝트들의 충돌 탐지

일반적으로는 충돌을 탐지할 오브젝트 내에 OnCollisionEnter, OnTriggerEnter등을 사용하겠지만

 

제3의 오브젝트에서

특정 두 오브젝트의 충돌여부를 확인할 수 있는지 궁금해서 찾아봤다.

 

using UnityEngine;

public class A : MonoBehaviour
{
    // 오브젝트 B와 C를 Inspector에서 설정
    public GameObject objectB;
    public GameObject objectC;

    private void Update()
    {
        // B와 C가 서로 충돌하는지 검사
        if (CheckCollision(objectB, objectC))
        {
            Debug.Log("Object B와 C가 서로 충돌!");
            // 원하는 동작
        }
    }

    private bool CheckCollision(GameObject obj1, GameObject obj2)
    {
        // obj1과 obj2의 Collider를 가져옴
        Collider collider1 = obj1.GetComponent<Collider>();
        Collider collider2 = obj2.GetComponent<Collider>();

        // 두 Collider 간의 충돌 여부를 반환
        return collider1.bounds.Intersects(collider2.bounds);
    }
}

'개발 > unity' 카테고리의 다른 글

[MCP] MCP Unity 적용  (0) 2025.04.25
[Unity] 2d 오브젝트 정렬  (0) 2023.12.25
[Unity] A* 알고리즘 (길 찾기)  (0) 2023.12.21
[Unity] Canvas와 Main camera 겹치기  (0) 2022.12.19