'동적오브젝트'에 해당되는 글 1건

  1. 2019.09.27 Unity 물리 효과 최적화 방법

정적 콜라이더를 이동 또는 회전하거나 크기를 조정할 때마다  Unity 씬의  모든 정적 콜라이더의 볼륨을 계산하고 정보를 캐시에 저장한다. 한마디로 성능 저하가 일어나게 된다. 물체를 동적 콜라이더로 설정하면 캐시에 다시 저장하지 않기 때문에 물리 효과를 최적화할 수 있다. 

 

유니티는 콜라이더와 리지드바디 컴포넌트가 포함된 모든 게임 오브젝트는 동적인 것으로 간주한다콜라이더는 있지만 리지드바디 컴포넌트가 없으면 정적인 것으로 간주  

 

콜라이더만 있는 경우(정적 오브젝트)

위에 그림에서 박스콜라이더는 있지만 리지드바디는 없다따라서 유니티는 정적인 콜라이더 캐시를 프레임마다 다시 계산하게 된다다. 해결책은 아래와 같이 리지드바디를 추가하는 것이다. 

 

콜라이더와 리지드바디가 있는 경우(동적 오브젝트)

리지드바디 추가로 정적 콜라이더에서 동적 콜라이더 변경되었다. 추가로 물체가 아래로 떨어지는  

방지하려면 리지드바디의 Use Gravity 해제하면 원하는 결과를 얻을 수 있지만 이것은 부분적인 해결 방법이다이러면 물체가 중력에 반응하지 않더라도 물리력에는 계속 반응한다. 

 

키네마틱 리지드바디

나은 해결책은 Is Kinematic 체크하는 것이다. 이렇게 체크하면 리지드바디 컴포넌트가 키네마틱 리지드바디로 설정된다. 키네마틱 리지드바디는 물리력에 반응하지 않으며, 트랜스폼을 이용해 움직일 있다. 

'게임 엔진 > 유니티 엔진' 카테고리의 다른 글

macOS unitypackage까지 압축 풀리는 문제  (0) 2019.11.26
유니티 ARM64로 빌드하기  (0) 2019.09.18
Apply Root Motion  (0) 2019.09.15
글로벌 일루미네이션  (0) 2019.09.15
Multiple Sprite  (0) 2019.09.12
Posted by 소블리애
,