SSUNBORI Archive

3d Generalist를 꿈꾸는 Modeler ssunbori 입니다. 생성형 ai, 모델링 툴, 게임 엔진을 주로 공부하고 있습니다.

Artstation 자세히보기

BLENDER/STUDY

[Blender] 게임 엔진을 위한 리깅 스터디③ - Control Rig 변형하기

ssunbori 2023. 8. 22. 13:00

목차

     

    개요

    이번에는

    • 원하는 대로 Rig 변형(IK, Pole Target 설정)
    • (IK와 Pole Target 뼈들을) Root Bone에 Parent
    • Game Rig를 변형하고 Control Rig에 반영
    • Control Rig의 뼈 설정(Deform)을 비활성화

    하는 과정을 정리해보았습니다.

     

    이 부분은 꼭 필요한 과정은 아니지만, 이후 애니메이팅 과정에서 Control Rig를 좀더 다루기 쉽게 변형한다고 이해하시면 좋을 듯 합니다. Control Rig를 변형하는 과정에서 뼈를 추가하거나, IK를 넣거나, 다양한 추가 Constraint를 넣어도 Game Rig의 Hierarchy(계층구조)가 유지되기 때문에 필요에 맞춰 Control Rig를 다양하게 변형해 사용할 수 있습니다.

     

    Rig 준비

    저번에 가져왔던 캐릭터 리그는 너무 단순해서 따로 IK 작업을 해줄 필요가 없을 듯 하여 다른 캐릭터로 가져왔다.

    여기서 사용한 캐릭터&리깅을 수정해볼 예정

    2023.07.03 - [Blender 블렌더/Tutorial 튜토리얼] - [Blender] 동물 캐릭터 리깅(꼬리, 귀, 코) ① 모델링 준비, FBX로 내보내기

     

    [Blender] 동물 캐릭터 리깅(꼬리, 귀, 코) ① 모델링 준비, FBX로 내보내기

    목차 요약 fbx로 내보내기 mixamo를 이용해 기본적인 humanoid(손가락은 없는 버전)으로 리깅 Blender에서 FBX를 가져와서 Weight Paint 수정 Armature의 뼈를 편집해서 귀, 코, 꼬리 뼈 추가 추가한 꼬리, 귀,

    ssunbori.tistory.com

    리깅 수정 전/후
    리깅 수정 전/후

    1. 기존 리그에서 영상에 나온 Rig와 비슷하도록 Pelvis(골반)뼈들을 지워 주고, 꼬리에 붙어있던 IK뼈 지우기
    2. 귀와 Forearm도 Subdivide해서 뼈를 두개로 분리
    3. 캐릭터 Mesh를 Rig에 Parent 시켜주기(이번에는 Weight Paint를 하지 않고 그냥 With Automatic Weights 옵션사용)
    4. 그 다음 지난번처럼 Game Rig와 Control Rig 두 가지로 리그를 분리하고 Constraint를 걸어주었다.

    Game Rig 복제 후 Control Rig로 이름 변경 / Pose Mode에서 Game Rig의 뼈에 Constraint 추가 / 전체 뼈에 Constraint 복제 후 Script 돌리기

    그리고 Game Rig와 Control Rig를 구분하기 쉽도록 Properties > Object Data Properties > Viewport Display에서 Game Rig는 Stick으로, Control Rig는 Octahedral로 변경해주었다.

    Game Rig / Control Rig / 오브젝트 선택 후 Properties 패널(우측하단) 중 Object Data Properties 창에서 변경할 수 있다.

    원하는 대로 Rig 변형(IK, Pole Target 설정)

    이제 설정 준비를 마쳤으니, Control Rig에 뼈를 추가해서 IK Constraint를 추가해주면 된다.

    1. Control Rig 선택 후 Edit Mode(Tab키 누르기)에서 발 부분 뼈를 선택
    2. E를 눌러 Extrude, Alt+P를 눌러 Parent를 제거해준다.
    3. 그 다음, Pose Mode에서 Shift를 누른 채로 생성한 뼈 > 종아리 뼈 순서대로 선택
    4. Shift+Ctrl+C(Constraint추가 단축키)를 눌러 Inverse Kinetics(줄여서 IK) 추가
    5. 발 뼈도 Edit Mode에서 Alt+P를 눌러 Parent 제거한 뒤 Pose Mode에서 발뼈>종아리뼈 선택 후 

    ik로 사용할 뼈 생성 후 Alt+P를 눌러 Parent 제거
    IK뼈 > 종아리 뼈 순서대로 선택 후 Shift+Ctrl+C > Inverse Kinetics 선택
    발 뼈 Parent 제거 후 종아리뼈>발 뼈 순서대로 눌러준 뒤 Shift+Ctrl+C > Copy Location 추가

    이제 Pole에 사용할 뼈를 추가한다.

    1. Edit Mode(Tab)에서 무릎 뼈 선택 후 E를 눌러 Extrude
    2. Alt + P를 눌러 Parent 제거
    3. G > Y를 눌러 Y축으로 이동
    4. F2를 눌러 이름을 Pole.L(오른쪽 뼈면 Pole.R)로 바꿔준 뒤 Pose Mode 로 변경
    5. 아까 종아리 뼈를 선택한 뒤 아까 추가한 IK Constraint의 Pole Target 에 Pole.L를 넣어준다.
    6. IK 설정에서 Chain Length를 2로 설정해준다.

    무릎 뼈 선택 > E로 Extrude > Alt+P로 Parent 제거 > F2를 누르고 이름 변경(Pole.L 혹은 Pole.R)
    Pose Mode(Tab)에서 종아리 뼈 선택 후 IK에서 Pole Target은 Control Rig, Bone은 Pole.L 지정

    뼈 대칭시키기

    한쪽에만 IK를 설정해 줬으니, 좌우 대칭이 되도록 해줘야 한다.

    대칭시켜줄 뼈들의 이름 끝에 .r / .R / .l / .L이 등 좌우 구분을 올바르게 해줬다면 Edit Mode에서 뼈 선택 > 우클릭 > Symmetrize 기능을 사용해 손쉽게 대칭시켜줄 수 있다.

    Edit Mode에서 뼈 선택 > 우클릭 > Symmetrize

    이제 Pose Mode에서 Pole로 설정한 뼈를 움직여 보면 다리가 따라 움직이는 모습을 볼 수 있다.

    IK 설정 후 다리 IK뼈를 움직이는 모습

    골반뼈 추가

    엉덩이와 가까운 뼈에서 E를 눌러 Extrude, Alt+P를 눌러 Parent 제거

    Root Bone 추가

    Root Bone은 리그 전체를 움직일 수 있도록 하는 뼈.

    Shift+A를 눌러 뼈 생성 후 가로로 누운 형태가 되도록 G키를 이용해 편집

    Transfrom의 Tail에서 Z축 좌표가 0이 되도록 하기

    골반뼈 추가 / Root 뼈 추가한 모습 / Transform에서 Head와 Tail의 좌표가 분리되어 있으니, 필요한 대로 Tranform 값을 편집하면 된다.

    다리와 척추뼈를 골반뼈에 Parent

    Shift를 누른 상태로 양 다리 허벅지 뼈와 척추 중 맨 아래 뼈 3개 선택, 그 다음 골반 뼈 선택

    Ctrl+P를 눌러 골반뼈에 Parent 시켜준다.

    Root Bone에 Parent 시키기

    이제 만든 IK, Pole Target들을 Root Bone에 Parent 시켜줄 것이다.

    Shift를 누른 상태로 골반뼈와 양 발 IK 컨트롤 뼈 선택, Root Bone 선택

    Ctrl+P를 눌러 Root Bone에 Parent 시켜준다.

    골반뼈 / Root Bone에 Parent 시키기
    완성된 Rig