Ragdoll 사용하기 - 커스텀 본에 Ragdoll 적용하기
이전 섹션들에서는 기본적인 인체 형태(Humanoid)의 본 구조에 대해 래그돌을 적용하고 거기에 사용되는 Character Joint 컴포넌트의 상세한 옵션에 대해서 알아보았다. 이번 섹션에서는 지난 섹션에서 본 Character Joint를 이용해서 일반적인 인체 구조의 외의 다른 형태의 본에 대해서 래그돌을 적용하는 법에 대해서 알아보게 될 것이다.
새로운 응용법을 배우게 될 것이지만 준비물은 전과 같다. 유니티 짱 캐릭터 하나면 충분하다.
유니티 짱 캐릭터의 모델링은 기본적인 인체 구조를 약간 벗어나 머리카락 부분에도 본이 심어져 있다. 이번 예제에서는 이 머리카락의 본 부분에 Character joint를 적용해서 래그돌이 되었을때 머리카락 역시 움직임을 보이도록 만들것이다.
뒷 머리카락의 본은 Head에 연결된 HairTail에서 시작된다.
이 두개의 본을 선택하고 Character Joint와 Sphere Collider를 생성한다. Rigidbody 컴포넌트의 경우는 Character Joint를 생성하면 자동으로 생성된다. Sphere Collider는 머리카락의 충돌을 처리하기 위해 생성한다.
다음은 Character Joint의 Connected Body 프로퍼티에 Head의 Rigidbody를 넣어준다. 그러면 머리카락의 조인트는 머리에 연결된다.
그 다음엔 추가한 Collider의 크기를 조절해야 한다.
만약 그렇지 않으면 이런 장면을 보게 될 것이다.
Collider의 설정을 적절히 수정해서 아래와 같은 모습이 되도록 하자.
그리고 머리카락의 무게가 너무 무거우면 이상한 움직임을 보일 수 있으므로 적절하게 수정해주어야 한다.
위와 같은 과정을 머리카락 끝까지 반복하여 이미지처럼 만들면 된다.
설정을 끝낸 후에 머리카락의 본에 Character Joint를 심은 모델과 심지 않은 모델을 비교해보면 그 차이를 확실하게 느낄 수 있다. 머리카락에도 래그돌이 적용된 캐릭터의 머리카락은 자연스럽게 바닥에 떨어져 모양이 잡히는 반면에 적용되지 않는 캐릭터의 머리카락은 뻣뻣하게 되어 있는 것을 볼 수 있다.
이렇듯이 인간형이 아니거나 인간형에서 확장된 모델의 경우에도 적절하게 Character Joint를 심고 형태에 맞는 Collider를 넣어주는 것 만으로 래그돌을 적용할 수 있다.
[유니티 어필리에이트 프로그램]
아래의 링크를 통해 에셋을 구매하시거나 유니티를 구독하시면 수익의 일부가 베르에게 수수료로 지급되어 채널의 운영에 도움이 됩니다.
[투네이션]
[Patreon]
[디스코드 채널]
'Unity3D > Physics' 카테고리의 다른 글
[Unity3D] 게임 오브젝트에 Collider 컴포넌트를 추가하지 않고 한번만 충돌체를 찾아내는 Physics의 Cast 계열 함수들의 사용법 (2) | 2017.09.07 |
---|---|
[Unity3D] Character Joint - 캐릭터에 물리효과를 받는 본 추가하기 (0) | 2017.07.26 |
[Unity3D] Ragdoll 사용하기 - 게임에서 자연스럽게 적용하기 (0) | 2017.07.25 |
[Unity3D] Ragdoll 사용하기 - Character Joint의 옵션과 조정(5.6) (5) | 2017.07.23 |
[Unity3D] Ragdoll 사용하기(5.6기준) (0) | 2017.07.21 |