본문 바로가기

난 이 분야 전문가야!/Unity

Unity :: Ragdoll 머리 흔들림 해결법

최근에 레그돌 효과를 사용해서 연구를 진행하고 있다.

머리의 position, rotation, velocity, angular velocity 데이터를 사용해야 하는데

레그돌이 쓰러진 후 머리가 계속 흔들리는 현상이 발생해서 난감한 상황이었다.

 

 

영상처럼 Agent가 쓰러진 후에도 계속 머리가 흔들리는 이유를 찾아보니까

머리 흔들림을 저지할 마찰이 없기 때문인걸 알 수 있었다.

 

첫 번째 해결방법

보면 머리 부분에 collider가 적용이 안되어 있거나 매우 작게 설정되어 있는 경우가 있다.

이렇게 되면 머리 부분과 지면이 닿았다 라는 것을 인지하지 못하게 되고 마찰 또한 생기지 않는다.

첫 번째 해결방법으로는 collider의 크기를 키우는 것이다.

 

collider의 radius를 키워 지면과 닿게함

 

두 번째 해결방법

머리 회전 각도의 제한 각도를 설정해 주는 것이다.

 

Head joint 부분 object의 Character Joint component를 보면

Edit Angular Limits라는 요소가 있다.

오른쪽 버튼을 누르면 Scene 창에서 제한 각도를 조정할 수 있다.

 

 

 

결과

 

 

Collider 설정

 

Angular Limit 설정

 

728x90