목차

반응형

이번 글에서는 래그돌을 만드는 부분에 대해서만 설명하도록 하겠다.

 

목차

1. 모델 rig 휴머노이드 변경해서 본 정보 알아내기

2. 래그돌 생성

3. 충돌 테스트

4. 발생하는 문제

 

 

 

1. 모델 rig 휴머노이드 변경해서 본 정보 알아내기

모델 파일에서 신체 구조에 대한 하이어라키를 잘 알고 있다면 1번은 스킵해도 무방하다.

모델 파일에 대해서 잘 알지 못해서 확인해보고 싶다면 진행을 추천한다.

본인은 동물 모델이라서 구분이 좀 애매해서 진행하였다.

 

프로젝트 탭에서 모델 파일 선택 > Rig 선택

 

애니메이션 타입 > 휴머노이드 선택

 

Configure 클릭

 

그럼 위와 같이 모델과 각 신체에 해당하는 부위에 대하여 나와있다.

만약 왼쪽의 인스펙터 같이 신체의 부위에 대한 할당이 되어 있지 않다면

 

하단의 Pose > Enforce T-Pose로 설정하면 신체 부위가 알아서 할당이 될 것이다.

 

알아야 하는 신체 부위를 인스펙터에서 클릭하면 하이어 라키에서 어디인지 알려준다.

 

래그돌을 생성하기 위해 알아야 하는 신체 부위는 위와 같으니 미리 적어놓던가 하자

 

2. 래그돌 생성

모델을 게임오브젝트로 생성해준다.

 

게임 오브젝트 우클릭 > 3D Object > Ragdoll

 

래그돌 생성을 하기 위해서는 우측의 창에 하이어라키에 해당하는 신체 부위를 끌어다가 놔야 한다.

 

대략적인 설명을 해주자면(나도 모델링은 잘 몰라서 자세한 부분은 모르지만 이렇게 생각하고 작업을 하면 잘 되었다. 틀리거나 이상한 부분에 대한 지적은 환영)

1. Pelvis 골반 - 8의 척추와 헷갈리지만 척추가 조금 더 위에 있다고 생각하면 될 듯하다.

2. Hips 엉덩이

3. Knee 무릎

4. Foot 발

5. Arm 팔(대략 팔꿈치와 어깨 사이 정도를 말하는 듯하다)

6. Elbow 팔꿈치

7. Head 머리

8. Middle Spine 척추

 

정상적으로 넣고 Create를 한다면 위와 같이 모델에 대한 래그돌이 생성될 것이다.

 

3. 충돌 테스트

래그돌을 생성했다면 정상적으로 작동하는지 확인이 필요할 것이다.

 

3D 큐브를 하나 생성하고 그 위에 래그돌을 놓고 게임을 시작하고 위로 들어 올려서 떨어뜨려보면서 정상적으로 충돌이 일어나는지 확인해 보자.

 

4. 발생하는 문제

마구 떨어뜨리다 보면 문제가 이것저것 발생하는데 내가 발생했던 문제를 기재하였다.

 

- 게임을 시작하자마자 신체의 일부가 가만히 있고 연결 부위가 엿처럼 쭈욱 늘어남

래그돌 생성 시 신체 부위를 잘못 매칭 시켜서 그렇다. 목차의 1번 부분을 확인해서 정확한 신체 부위를 확인하고 다시 제대로 매칭 시켜보자

 

- 신체의 일부가 바닥을 뚫고 들어가면서 엄청 흔들거리고 투다다닫갇 거린다.

신체의 일부의 콜라이더가 적합하게 설정이 안 되어있다고 짐작되는데 

위와 같이 염소의 머리에 비해서 Sphere Collider가 작게 지정되어있어서 정상적인 충돌이 일어나지 않았다.

콜라이더가 충분히 염소의 머리를 뒤엎을 정도로 설정하자.

 

또는

Edit -> Project Settings -> Physics -> Solver Iteration Count를 높여주자 10~20으로 바꿔보자

 

- 다 좋은데 래그돌이 너무 빨리 충돌하면 가끔 바닥을 뚫고 들어간다.

물체의 관절마다 달려있을 Rigidbody 컴포넌트의 Collision Detection을 Continuous Dynamic으로 지정해준다.

연속적인 충돌 탐지를 하도록 하면 속도가 너무 빠른 오브젝트가 물체를 뛰어넘어 버리는 현상을 해결해준다.

 

 

유니티 ragdoll 발사하기 글 모음

1. 목차

2. 래그돌 만들기

3. 래그돌 발사하기

4. 래그돌이 날아갈 때 한쪽 축으로만 이동되게 하기

5. 현재 래그돌이 멈췄는지 안멈췄는지 판단하기

6. 래그돌 멈추기

7. 래그돌 고장 방지

반응형