물리 작업 방법
조인트 및 래그돌 안정성

래그돌 마법사

Unity는 래그돌을 빠르게 생성할 수 있는 마법사를 제공합니다. 마법사의 각각 프로퍼티에 해당하는 사지 부위를 드래그하고, create를 누르면 Unity가 자동으로 Colliders, Rigidbodies, Joints 를 생성하여 래그돌을 만들어냅니다.

캐릭터 생성

래그돌은 3D 모델링 애플리케이션의 골격에 캐릭터 메시를 릭한 Skinned Meshes 를 사용합니다. 이로 인해 래그돌 캐릭터를 Autodesk® Maya®나 Cinema4D와 같은 3D 패키지로 빌드해야 합니다.

캐릭터를 생성하고 릭한 후, 에셋을 Project Folder 에 저장해야 합니다. Unity로 전환하면 캐릭터 에셋 파일이 보일 것입니다. 그 파일을 선택하면 인스펙터에서 Import Settings 다이얼로그가 나타날 것입니다. Mesh Colliders 가 활성화되지 않았는지 확인해야 합니다.

마법사 사용

실제 소스 에셋을 래그돌로 만드는 것은 불가능합니다. 소스 에셋 파일 자체를 수정해야하기 때문입니다. 캐릭터 에셋의 인스턴스를 래그돌로 만들어, 다시 사용할 수 있도록 Prefab 으로 저장합니다.

캐릭터의 인스턴스를 생성하려면 프로젝트 뷰 에서 Hierarchy 뷰 로 드래그해야 합니다. Transform Hierarchy 를 Hierarchy에서 인스턴스의 이름 왼쪽에 있는 작은 화살표를 클릭해서 확장시켜야 합니다. 이제 래그돌 부분을 할당할 수 있습니다.

메뉴 바에서 GameObject > 3D Object > Ragdoll… 를 선택하여 래그돌 마법사를 열어야 합니다. 이제 마법사가 나타날 것입니다.

래그돌 마법사
래그돌 마법사

마법사에서 사지 부분을 할당하는 것은 어렵지 않습니다. 캐릭터 인스턴스의 서로 다른 트랜스폼을 마법사의 올바른 프로퍼티에 드래그하면 됩니다. 캐릭터 에셋을 직접 생성한 경우 더욱 쉬울 것입니다.

완료한 후 Create Button 을 클릭해야 합니다. 이제 Play Mode 에 진입하면 캐릭터가 래그돌처럼 늘어져있을 것입니다.

마지막 단계는 설정 래그돌을 프리팹으로 저장하는 것입니다. 메뉴 바에서 Assets -> Create -> Prefab 를 선택해야 합니다. 프로젝트 뷰에 새로운 프리팹이 나타날 것입니다. 이 프리팹을 “Ragdoll Prefab”으로 이름을 바꾸어야 합니다. 계층 구조에서 래그돌 캐릭터 인스턴스를 “래그돌 프리팹” 상단으로 드래그해야 합니다. 이로써 게임에서 얼마든지 사용할 수 있는 래그돌 캐릭터가 완벽하게 설정되었습니다.

참고

래그돌 마법사로 만든 캐릭터 조인트의 경우, 조인트의 트위스트 축이 사지의 가장 큰 스윙 축에, 조인트의 스윙 1 축이 사지의 작은 스윙 축에, 조인트의 스윙 2축이 사지 트위스트에 해당하도록 설정되어 있는지 확인해야 합니다. 이렇게 명명하는 이유는 레거시를 유지하기 위함입니다.

물리 작업 방법
조인트 및 래그돌 안정성