본문 바로가기

메모장/Unity

UIPanel에 Rigidbody가 붙어있는 이유

Unity에서 UI를 다루면서 Panel에 Rigidbody가 붙어 있는 것을 알 수 있다.

이 Rigidbody는 지우더라도 자동으로 생성된다.

이유는 Unity가 Rigidbody가 있는 움직이는 오브젝트에 최적화 되어있기 때문이다. 움직이는 물체에 Rigidbody가 달려있지 않으면 성능이 떨어진다.

UI는 Panel단위로 움직이는 경우가 많기 때문에 Rigidbody가 없으면 자동으로 생성시켜 주는 것이다. 때문에 UIPanel에 달려있는 Rigidbody는 no gravity에 IsKinematic옵션이 켜져있는것을 볼 수 있다.

Rigidbody는 한 오브젝트가 2개를 가질 수 없기 때문에, 만약 UIRoot에 Rigidbody가 달려있을 경우 UIPanel에는 Rigidbody가 자동으로 생성되지 않는다.