문제 발생
타일맵으로 바닥 타일을 제작하던 도중,
Tilemap Colider를 사용하니 쓸데없이 많은 콜라이더가 생성되었다.
콜라이더가 많을경우 물리업데이트 필요한 모양수가 많아짐으로, 계산량이 늘어나서 성능 저하가 생길 수 있다.
따라서 방법을 찾던도중 Composite Colider2D를 알게 되어 적용하여 문제를 해결하였다.
해결 방법
사용하고있는 Tilemap Colider 2D 컴포넌트의 Used By Composite 설정을 체크해줘야한다.
큰 차이는 없지만 Max Tile Change Count도 1000개까지는 필요없을 것 같아서 100개로 줄여주었다.
이후 Tilemap2D Colider의 부모 오브젝트에 Composite Colider 2D 컴포넌트를 추가해주면
자동으로 Rigidbody 2D 컴포넌트가 붙으면서 콜라이더가 하나로 합쳐지게 된다.
필자의 경우, Rigidbody의 Type설정을 Static으로 변경해주었는데,
Rigidbody의 경우 세팅에따라 매프레임마다 불필요한 연산이 들어갈 수 있어, 성능이 저하될수있다.
굳이 물리적인 연산이 필요없다면, Static으로 바꿔서 실시간으로 연산이 들어가는 것이 아니라
처음 세팅된 상태에서 변하지 않게되기때문에 성능적으로 이득을 볼 수 있다.
참고자료
https://docs.unity3d.com/kr/2022.3/Manual/class-TilemapCollider2D.html
https://docs.unity3d.com/kr/2022.3/Manual/class-CompositeCollider2D.html
https://www.youtube.com/watch?v=2FRIfqHOd90
'Unity > 2D' 카테고리의 다른 글
유니티 Input system 특정 입력 무시하는 방법 (0) | 2024.12.06 |
---|---|
유니티 2D RuleTile 규칙 유의사항 (0) | 2024.08.15 |
파괴하는 도중에 오브젝트 생성 오류 (0) | 2024.07.03 |
오브젝트가 파괴되었는데 참조하려고한다.. 오류 (0) | 2024.07.03 |
Unity Photon Pun2 연결하는 방법 (0) | 2024.01.15 |