유니티 RagDoll 랙돌 설정
게임이나 애니메이션에서 캐릭터가 죽는 모션, 또는 물리적 충돌에 반응하는 모션 등이 자주 사용된다. 이러한 경우 유니티에서 제공하는 Ragdoll 기능을 사용하면 자연스럽게 구현할 수 있다.
믹사모와 같은 무료 캐릭터/애니메이션 모델링 데이터를 제공해주는 사이트를 활용해 T - Pos를 취하고 있는 캐릭터를 유니티상으로 임포트 해줍니다. 캐릭터 소스를 임포트하는데 필요한 절차는 Rig - Animation Type을 Humanoid로, Materials의 Location과 Textures를 Extracte Textures를 해주는 것으로 시작한다.
Avatar - Configure Avatar에 들어가면 다음과 같이 모델링 뼈대부터 각 부위별로 분할되어 있는 상세한 모델링 데이터가 나온다.
캐릭터가 선택된 상태에서 Window - 3D Object - Ragdoll을 선택하면 다음과 같이 Create Ragdoll 창이 생성된다. 모든 캐릭터 모델리의 중심은 Hip이며 Pelvis를 모델링 최상위 오브젝트인 Hips와 연결해준다. 그리고 각각 허벅지/무릎/정강이/팔/팔꿈치/척추 등등 세분화된 모델링 데이터를 각각 알맞은 타겟에 연결해주면 된다.
마지막으로 각 부위마다 추가되어 있는 콜라이더를 몸 부위에 가장 근접하게 조절해주면 된다. 캐릭터가 선택된 상태에서 Window - Anaysis - Physics Debugger을 선택하면 다음과 같이 화살표가 붙어있는 모델링 데이터가 나타난다. 팔이나 다리부분은 Capsule Collider, 몸통 부분은 Box Collider, 머리 부분은 Sphere Collider가 적용되어 있기 때문에 각 부위의 Scale에 맞게 Radius나 Position 값을 알맞게 조정해주면 된다.
캐릭터를 높은곳에서 떨어트렸을 때 바닥에 충돌 후 살짝 튀어 오르기도 하면서 머리/몸통/팔/다리가 자연스럽게 물리적 반응을 일으키며 죽는 모션이 구현되게 된다. 평지 외에 비스듬한 오브젝트나 스피어들을 배치하고 그 위에 떨어트리면 다양한 물리적 충돌 모션을 보여주며 죽는 모션이 구현됩니다. 추가적으로 각 부위별 모델링 데이터에 Physic Material을 추가해 주면 지면에 충돌 후 튀어오르는 듯한 리얼한 연출이 가능해진다. (기존의 캐릭터 모델링에는 이미 지정되어 있음)
'게임 프로그래밍 > 유니티 프로젝트' 카테고리의 다른 글
[Unity]삼각함수를 활용한 미사일 슈팅 구현하기 (0) | 2021.12.28 |
---|---|
유니티 Reflection Light 세팅하기 (0) | 2021.11.15 |
유니티 Render Texture를 사용하여 Scope 만들기 (1) | 2021.10.29 |
유니티 progress 바 설정하기 (0) | 2021.10.28 |
유니티 Line Renderer 설정하기 및 오류 해결 (0) | 2021.10.28 |