반응형
Unity의 Physics.IgnoreCollision 메서드는 두 Collider 간의 충돌을 무시하도록 설정합니다.
public static void IgnoreCollision(Collider colliderA, Collider colliderB, bool ignore);
//Parameters
//colliderA: 충돌을 무시할 첫 번째 Collider
//colliderB: 충돌을 무시할 두 번째 Collider
//ignore: 충돌 감지 여부, 기본값은 true
예제
Collider collider1 = gameObject.GetComponent<Collider>();
Collider collider2 = otherObject.GetComponent<Collider>();
// 충돌을 무시합니다.
Physics.IgnoreCollision(collider1, collider2);
이 코드에서는 두 콜라이더간의 충돌을 무시합니다.
주의사항
Physics.IgnoreCollision 메서드는 다음과 같은 제한 사항이 있습니다.
- Physics.IgnoreCollision 메서드는 충돌이 발생하기 전에 호출해야 합니다. 충돌이 이미 발생한 후에는 Physics.IgnoreCollision 메서드를 호출해도 충돌을 무시할 수 없습니다.
- Physics.IgnoreCollision 메서드는 충돌이 발생하는 동안 한 번만 호출할 수 있습니다. Physics.IgnoreCollision 메서드를 여러 번 호출하면 마지막 호출의 설정이 적용됩니다.
- Physics.IgnoreCollision 메서드는 GameObject의 Collider의 Static 속성 및 Trigger 속성에 영향을 미치지 않습니다. 따라서, Collider의 Static 속성이 true이거나 Trigger 속성이 true인 경우 Physics.IgnoreCollision 메서드를 사용하여 충돌을 무시할 수 없습니다.
활용
Physics.IgnoreCollision 메서드는 다음과 같은 작업에 사용할 수 있습니다.
- 두 Collider 간의 충돌을 방지합니다. 예를 들어, 캐릭터의 발과 바닥 사이의 충돌을 방지하여 캐릭터가 바닥에 붙어 있도록 할 수 있습니다.
- 특정 종류의 충돌을 무시합니다. 예를 들어, 캐릭터의 몸과 다른 캐릭터의 몸 사이의 충돌은 무시하고, 캐릭터의 몸과 다른 오브젝트 사이의 충돌은 허용하도록 설정할 수 있습니다.
Physics.IgnoreCollision 메서드는 게임의 물리적 상호 작용을 보다 유연하게 제어하는 데 도움이 되는 중요한 기능입니다.
'Unity > Tip' 카테고리의 다른 글
오브젝트 파괴 시 OnDestroy 이벤트 함수가 호출되지 않을 수 있다?? (0) | 2023.12.09 |
---|---|
Unity의 Ray에 찍힌 오브젝트를 검출하지 못하는 조건 (0) | 2023.12.01 |
Unity에서 Collider 충돌처리가 되지 않을 경우 (0) | 2023.11.28 |
UnityException: Could not find any valid targets to launch on for Android (0) | 2023.11.15 |
AdMob : "Ad unit doesn't match format." (0) | 2023.11.09 |