캐릭터 모델링 맛집

블렌더로 완성하는 캐릭터 모델링

Blender

블렌더(Blender) IK 리깅하는 방법

3D SeongJun 2024. 10. 8. 14:52

이번 주제는 블렌더에서 리깅하는 방법 심화편입니다. 이전의 글을 썼던 '블렌더(Blender) 리깅하는 방법'에서는 기본적인 리깅 방법을 소개하고 있으며 제 블로그에서 3D 캐릭터 모델링 관련 글중 가장 많은 조회수를 차지하고 있습니다. 그만큼 입문자 또는 초보자분들이 많이 어려워하고 있다는 증거이겠지요.

기본적인 리깅이 궁금하다면 아래의 주소를 클릭하여 확인하는 것을 권장드립니다.

심화편에서는 기본적인 리깅 지식은 넘어가고 좀 더 발전된 리깅 방법에 대해 소개할 예정입니다.

블렌더(Blender) 리깅하는 방법 (tistory.com)

 

블렌더(Blender) 리깅하는 방법

블렌더에서는 기본적인 'Bone'을 제공합니다. 아니면 이미 만들어져있는 Meta-rig를 생성해서 사용하는 방법이 있습니다. Meta-rig는 이미 인간형 또는 다양한 동물형태로 만들어져있는 Bone을 바로 생

istillfightingitmylife.tistory.com

 

 

그럼 이제부터 블렌더 리깅하는 방법 심화편 시작하겠습니다.

이번 글에서 예시로 해볼 캐릭터입니다. 일단 리깅을 하기 위해선 캐릭터 모델링이 준비되어 있어야 합니다. 저는 리깅을 할 때 EEVEE 렌더 뷰를 사용함과 동시에 솔리드 뷰도 함께 사용합니다. 또한 저는 언어를 영어로 설정해 놓고 작업합니다. 이 부분은 각자 편한 대로 사용하거나 사양에 맞게 사용해도 무방합니다.

 

리깅을 하기 전에 Object Data Properties에서 Viewport Display > Show > In Fornt를 활성화합니다. 이 기능을 활성화하지 않으면 Bone이 모델링에 가려져서 보이지 않게 됩니다. 그렇게 되면 작업하는데 매우 불편하기 때문에 이 기능은 활성화해 놓는 것이 좋습니다. 이 기능을 켜두고 바로 저번 편에 알아봤던 기본적인 인체 리깅을 바로 완성하겠습니다. 앞서 언급했듯 기본적인 리깅은 저번 글을 참고해 주세요.

 

지금은 기본 편과 똑같습니다. 하지만 심화 편에서는 자세한 설명을 생략 하며 진행합니다. Bone을 만들고 척추를 만듭니다.

 

척추를 만들고 이름을 설정합니다. Bone의 이름 기준은 게임엔진 유니티에서 사용하는 이름을 거의 똑같이 사용했습니다. 바로 이다음 글이 될 주제가 '블렌더에서 작업한 모델링을 유니티에서 적용하는 방법'에 대해 설명할 계획을 하고 있기 때문입니다.

 

이미지에서 Leg Bone과 Arm Bone이 살짝 구부러져 있는 것을 확인할 수 있을 텐데요. 이렇게 하는 이유는 나중에 나옵니다. 일단은 이렇게 해야 리깅에 오류가 없다는 것만 알아주시면 됩니다. 골반 부분에 위치하는 UpperLeg Bone은 골반의 정중앙보다 살짝만 골반 바깥 부분으로 위치하는 게 좋습니다. 동작을 제어할 때 더욱더 자연스럽게 제어할 수 있습니다.

 

또한 Toe Bone은 일단 한 개만 설정하여 발가락 전체를 움직이게 할 계획입니다. 만약에 캐릭터의 발가락을 각각 제어해야 한다면 Toe Bone 전체를 제어할 수 있는 컨트롤러를 하나 만들고 Toe Bone을 5개를 생성하여 각각 발가락 한 개씩 할당해 주면 됩니다.

 

이때 Bone Tail, Head Rotation Axis가 틀어져있는 것보다 일정한 방향으로 통일시켜줘야 합니다.

이렇게 비슷한 성격이 띠는 Bone은 같은 축으로 설정해야 합니다. 척추를 보면 모두 동일하게 X축이 오른쪽을 바라보고 있고 어깨와 팔의 Bone은 X축이 아래로 바라보고 있습니다. 다리도 마찬가지로 X축이 왼쪽으로 바라보고 있습니다.

 

마지막으로 손가락의 Bone을 설정합니다. 여러분은 이미지에서 나온 것보다 더 꼼꼼하게 Bone을 작업해야 합니다. 손의 Bone도 마찬가지로 이름을 설정합니다.

그다음은 왼쪽 Bone의 이름 뒤에 자동으로 Left가 붙도록 설정을 합니다. Armature > Names > Auto-Name Left/Right를 설정합니다. 실제로는 Left라고 이름이 붙지는 않고 '. L' 이런 방식으로 자동으로 설정됩니다. 

왼쪽 Bone의 생성과 이름을 모두 설정했다면 Armature > Symmetrize를 선택합니다. 그러면 오른쪽에서 똑같이 Bone이 바로 생성됩니다. 처음부터 양쪽에 Bone을 만들지 않고 왼쪽만 Bone을 만든 이유입니다.

이제 심화 리깅 작업을 위한 작업이 끝났습니다. 이미지에는 Neck, Head Bone이 나와있지 않지만 Neck, Head까지 모두 리깅 합니다.

 

매쉬와 Bone을 Parent 하여 스키닝 하는 방법은 기본 편에서 다뤘기 때문에 간단한 이미지와 함께 바로 넘어가겠습니다.

 

하지만 헤어와 눈, 눈썹, 속눈썹은 Automatic Weights를 사용하면 부자연스러운 경우가 발생합니다. 그래서 Empty Groups를 선택하여 직접 수동으로 Weights를 설정하는 방법이 이습니다. 치아나 혀까지 모델링이 되어 있다면 이것도 역시 Empty Groups를 선택하여 직접 Weight를 설정합니다. 

모델링이 움직일 때마다 헤어가 자연스럽게 움직이게 하는 방법도 있지만 블렌더에서 시뮬레이션 또는 리깅을 통해 제어하는 방법이 있습니다. 최종적인 목표는 게임 엔진에 적용할 것이기 때문에 블렌더에서 자연스럽게 헤어가 움직일 수 있도록 하는 방법은 다음 글에서 자세하게 다뤄보겠습니다.

 

Data Properties > Vertex Groups에서 Head를 Lock 버튼을 활성화합니다. 오른쪽에 자물쇠 아이콘이 있는데 이 부분을 클릭하면 됩니다. 그리고 아래 방향이 표시되어 있는 아이콘을 눌러서 'Delete All Unlocked Groups'를 선택합니다. 이 것을 선택하면 Lock이 걸려있는 Head를 제외하고 모든 Vertex Groups는 삭제됩니다.

Edit Mode에서 헤어 매쉬를 모두 선택(단축키 L)합니다. 그다음 Data Properties > Vertex Groups > Head를 선택한 상태에서 Weights는 1로 설정한 뒤에 Assign 합니다. 이렇게 한 뒤 Weight Paint Mode에서 헤어 매쉬의 Weight 상태를 보면 Head Bone에 헤어 매쉬가 100% 적용되어 있는 것을 확인할 수 있습니다. 

나머지 눈, 눈썹, 속눈썹을 위의 방법대로 적용합니다. 치아가 있다면 마찬가지로 이러한 방법으로 적용합니다. 이 부분은 페이셜 리깅에 속하는데 페이셜 리깅은 매우 복잡하며 전문적인 지식이 없으면 어려운 작업입니다. 그래서 이 부분 역시 블렌더의 에드온을 소개할 때 간단한 작업으로 할 수 있는 글로 소개하겠습니다.

 

블렌더에서 Weight 작업을 하다 보면 아무리 해봐도 모델링 스키닝에 문제가 생기는 경우가 있습니다. 이런 부분을 최대한 잡는 방법이 있습니다. 해결하는 방법은 Dummy 매쉬를 따로 만들어서 Data Trasfer Properties를 사용하는 것입니다. 여기까지가 기본적인 리깅 방법이고 FK 리깅이라고 부릅니다.

 

728x90

 

이제부터 본격적인 IK리깅을 시작합니다. IK리깅을 하는 이유는 간단하게 말해서 좀 더 편하고 자연스러운 애니메이팅을 위해 작업합니다. FK로 작업해도 상관은 없지만 그만큼 애니메이팅을 하는 시간이 오래 걸리고 불편한 단점이 있습니다.

본격적으로 IK리깅을 통해 다리와 팔을 제어해 보겠습니다. Edit Mode에서 Foot Bone을 복사합니다. 단축키는 Shift + D입니다. 그 이후에 마우스 왼쪽 버튼을 누르지 마시고 오른쪽 버튼을 눌러서 원래 자리로 되돌려 놓습니다. 하지만 이렇게 하면 IK Bone이 가려져서 잘 보이지 않습니다. 그래서 Object Data Properties > Viewport Display > Display As > B - Bone으로 설정합니다. B - Bone은 본의 크기를 조절할 수 있어서 IK 작업 시에 편리하게 할 수 있습니다.

 

B - Bone으로 바꾼 상태에서 원하는 Bone을 단축키 Ctrl + Alt + Shift + S를 누르면 Bone의 크기를 조절할 수 있습니다. 추가적으로 Ctrl + Alt + Shift + S키를 입력한 다음 X, Y, Z키를 한번 더 입력한다면 그 축의 방향으로 조절이 가능합니다. 이 처럼 B- Bone으로 다리와 척추, 손, 등 다양한 크기로 조절하여 좀 더 구분을 명확하게 할 수 있습니다. 지금은 IK리깅 설명을 위해 하지 않지만 실제로 더 복잡한 IK리깅을 하게 되면 척추와 다리, 팔 부분에 Bone이 많이 필요하기 때문에 이러한 방법도 좋습니다.

 

IK Bone은 FK Bone에 종속될 필요가 없기 때문에 Parent를 해제합니다. 그다음은 IK를 설정해야 합니다.

 

IK Bone을 먼저 선택하고 Shift키를 누르면서 LowerLeg를 선택합니다. 그 이후에 단축키 Ctrl + Shift + C를 입력하고 Inverse Kinematics를 선택합니다.

IK를 추가했다면 Properites 탭 중에서 Bone Constraints가 생겼을 겁니다. 맨 아래의 파란색 뼈 아이곤이 Bone Constraint아이콘입니다. 이 아이콘을 클릭하면 추가했던 IK정보가 나오고 설정하는 다양한 옵션이 있습니다. 

그중에서 Chain Length를 2로 설정값을 바꿔줍니다. 사람의 다리는 허벅지와 종아리로 구분되기 때문에 Bone이 2개입니다. 그래서 Chan Length도 2로 설정하고 난 뒤 IK 본을 움직이면 자연스럽게 무릎을 굽히게 됩니다. 어떻게 동작되는지 보고 싶으시다면 아래의 영상을 참고해 주세요.

영상처럼 IK Bone을 움직이면 Leg Bone들이 자연스럽게 움직이게 됩니다. 여기서 리깅을 할 때 무릎과 팔꿈치를 살짝 굽히는 이유가 나옵니다. 다리와 팔의 Bone을 일직선으로 곧게 작업하게 되면 IK리깅을 했을 때 상식적인 동작이 나오지 않고 뒤로 꺾이거나 기괴한 동작이 됩니다. 

하지만 Bone을 살짝 굽혔을 때도 이상하게 꺾이는 오류가 생길 수 있습니다. 이러한 이유는 Pole Target이 없기 때문입니다. 새로운 Bone을 만들어서 Pole Target을 지정해 주면 이러한 문제를 해결할 수 있습니다.

 

B-Bone의 모양은 포즈를 잡을 땐 유리하지만 Edit Mode에서 리깅을 할 때는 작업하기 어려울 수 있습니다. 그래서 다시 Octahedral로 변경하여 Bone작업을 합니다. Leg Bone에서 Bone을 생성하면 새로운 Bone이 종속이 되어 있기 때문에 종속을 제거하는 작업이 필요합니다.

새로 Extrude 했던 Bone의 종속을 제거한 뒤에 단축키 G키를 이용하셔 Y축으로 이동합니다. 무조건 앞으로 이동해야 합니다. 그리고 헷갈리지 않게 바로 이름을 설정합니다. 단축키는 F2입니다.

그리고 다시 Pole Target이 될 Bone을 먼저 선택하고 그다음 Hip Bone을 선택하여 단축키 Ctrl + P > Keep Offset을 선택합니다. 그대로 잘 따라오셨다면 UpperLeg Bone과 Pole Target이 될 Bone의 Relationship Line이 위에 있는 이미지와 같이 됩니다.

 

원래는 위의 이미지와 같이 Root Bone을 만들어서 Pole Target을 Root Bone에 종속시키지만 Hip Bone에 종속시켜도 됩니다.

이제는 IK를 설정한 본을 선택한 뒤에 Pole Target을 설정합니다. Pole target에서 Armature를 선택하고 Bone은 방금 이름을 정해두었던 LegPole.L을 선택합니다.

Pole Target을 설정하다 보면 다리의 회전값이 변하는 경우도 있습니다. 이러한 이유는 이때까지 만든 Bone의 축과 Pole Target의 축이 맞지 않아서인데요. 이 문제는 Pole Angle 값을 설정해 주면 해결됩니다. 이미지에서는 90도로 설정했지만 작업하는 사람마다 축 방향이 다르기 때문에 저와 같이 꼭 90일 수 없고 값이 다릅니다. 그래서 -90 또는 90도를 입력하여 올바른 방향으로 잡아줍니다.

 

 

모두 잘 마무리 하셨다면 영상과 같이 다리를 자연스럽게 제어할 수 있습니다. 여기까지 간단한 IK리깅 방법입니다. 이것 외에 Constraint방식은 다양합니다. 이러한 부분도 필요하다면 다음에 소개드리겠습니다. 아래의 링크는 이번 글에서 등장하는 모델링 제작 과정에 대한 소개이며 구매를 유도하는 내용입니다. 이번 글에서 나오는 모델링이 궁금하다면 아래의 링크를 확인해주세요!

3D Chracter Training Girl | Patreon

 

Patreon에서 3D Chracter Training Girl 구매하기 | 3D Seoung Jun

3D Seoung Jun님의 Patreon 스토어 확인하기

www.patreon.com

 

모델링의 제작 과정 영상입니다. 참고해주시면 감사하겠습니다.

Blender 3D Character Modeling 블렌더 3D 캐릭터 모델링 (youtube.com)

 

300x250
반응형