Today I Learned
[TIL][Unity] 트러블슈팅 - 같은 레이어 개체 간 충돌 무시
twotop6357
2024. 5. 28. 20:50
트러블슈팅 - 같은 레이어 개체 간 충돌 무시
그림과 같은 맵에서 도로에 차량이 돌아다닐 때, 교차로에서 서로 충돌할 경우 오브젝트의 Rotation값이 뒤틀려 하늘로 올라가 버리는 현상이 발생했다. 이를 해결하기 위해
Rigidbody의 Freeze Rotation을 이용하였으나, 이 경우 Position 값이 변하여 문제가 지속되었다.
문제 : 오브젝트가 서로 충돌 시, Rotation 값 및 Position 값이 강제 변경되는 현상
이 문제의 원인을 기존에는 Rotation 값의 변화를 강제로 제어하는 옵션이 미적용된 것으로 규정하고자 하였으나 Position 값의 변화에도 동일한 현상이 발생하기에 서로 충돌하는 것 자체를 원인으로 규정하고자 하였다.
원인 : 같은 개체인 오브젝트가 서로 충돌함
이를 해결하기 위해 차량 오브젝트의 Layer를 Vehicle로 설정 후 Physics 옵션에서 Vehicle 레이어 간 충돌을 무시하여 문제를 해결하였다.
실제로 규모가 있는 게임을 제작하게 될 경우 수많은 오브젝트가 끊임없이 움직이는 일이 잦아질텐데, 이 때마다 서로 간의 충돌로 인해 골머리를 앓지 않고 꼭 알고 넘어갈만한 기능이다.