Unity에서 Collider가 있는 두 오브젝트가 충돌하면 일반적으로 물리법칙에 따라 서로 밀거나 튕겨나가는 동작을 합니다. 하지만, 다음과 같은 경우에 Collider가 있는데도 충돌했을 때 물리법칙을 따르지 않는 경우가 있습니다.
- Collider의 Rigidbody가 없는 경우
Collider는 물리적 상호 작용을 처리하는 Rigidbody와 함께 사용해야 합니다. Rigidbody가 없는 Collider는 물리적 상호 작용을 처리할 수 없으므로, 충돌했을 때 물리법칙을 따르지 않는 경우를 만들 수 있습니다.
- 물체가 너무 빨리 움직여 충돌을 놓친 경우
물체가 한 프레임 사이에 너무 큰 거리를 이동하여 충돌을 감지하지 못하는 경우입니다. 이를 해결하기 위해서는 Rigidbody 컴포넌트의 Interpolate 옵션을 적절히 설정하거나, 물리 시뮬레이션의 정확도를 높여야 합니다.
- 물체가 너무 작은 경우
물체의 크기가 작아질수록 Unity Physics Engine에서 물체의 충돌을 감지하기 어려워집니다. 이러한 경우에 Collision Detection을 Discrete로 사용하고 있다면 물체의 충돌을 감지하기가 어렵습니다.
- Collider의 Trigger 속성이 true인 경우
Collider의 Trigger 속성이 true인 경우 해당 오브젝트는 충돌을 감지하지만, 물리적 상호 작용은 발생하지 않습니다. 따라서, 다른 오브젝트와 충돌하더라도 물리법칙에 따라 움직이지 않습니다.
- Collider의 Static 속성이 true인 경우
Collider의 Static 속성이 true인 경우 해당 오브젝트는 고정되어 있다고 간주됩니다. 따라서, 다른 오브젝트와 충돌하더라도 물리법칙에 따라 움직이지 않습니다.
- Collider의 CollisionFlags 속성이 설정되어 있는 경우
Collider의 CollisionFlags 속성을 사용하여 충돌 이벤트를 제어할 수 있습니다. 이 속성을 사용하여 충돌 이벤트를 무시할 수 있으므로, collider가 있는데도 충돌했을 때 물리법칙을 따르지 않는 경우를 만들 수 있습니다.
'Unity > Tip' 카테고리의 다른 글
Unity의 Ray에 찍힌 오브젝트를 검출하지 못하는 조건 (0) | 2023.12.01 |
---|---|
두 Collider의 충돌을 무시하는 방법 (0) | 2023.11.29 |
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 |
Timeline KeyFrame에 관하여... (0) | 2023.11.07 |