Skip to main content
Summary

리깅은 움직임의 기준을 심는 작업이다

지난 장에서는 오브젝트의 위치, 회전, 크기에 키프레임을 넣어 움직임을 만들었다. 캐릭터나 로봇 팔처럼 관절이 있는 대상은 조금 다르다. 팔 전체를 한 덩어리로 회전하면 어깨, 팔꿈치, 손목이 따로 움직이지 않는다. 이때 필요한 과정이 리깅(Rigging)이다.

리깅은 모델 안에 움직임의 기준이 되는 뼈대를 만들고, 메시가 그 뼈대를 따라 변형되도록 연결하는 작업이다. 사람 캐릭터의 팔과 다리뿐 아니라 로봇 관절, 접히는 문, 회전하는 장치, 케이블처럼 일정한 구조로 움직이는 물체에도 같은 개념을 사용할 수 있다.

블렌더에서 가장 먼저 알아야 할 리깅 용어는 세 가지다.

  • Armature: 여러 Bone을 담는 뼈대 오브젝트이다.

  • Bone: 팔, 다리, 손가락처럼 한 구간의 움직임을 담당하는 뼈이다.

  • Pose Mode: 만든 뼈를 실제로 회전하거나 이동해 자세를 잡는 모드이다.

모델링에서 오브젝트 모드와 에디트 모드를 구분했던 것처럼, 리깅에서도 모드를 구분해야 한다. Armature의 Edit Mode에서는 뼈의 위치와 길이, 부모 관계를 만든다. Pose Mode에서는 이미 만든 뼈를 움직이고 키프레임을 넣는다. 즉, Edit Mode는 뼈대 설계, Pose Mode는 움직임 테스트와 애니메이션 작업이다.

리깅과 캐릭터 움직임 맛보기AI 생성 이미지

메시가 뼈를 따라 움직이는 원리

뼈대를 만든 것만으로 메시가 자동으로 따라오지는 않는다. 메시와 Armature를 연결해야 한다. 이 연결에서 핵심이 되는 개념이 웨이트(Weight)다.

웨이트는 특정 버텍스가 어떤 Bone의 영향을 얼마나 받을지 정하는 값이다. 예를 들어 팔꿈치 위쪽 버텍스는 위팔 뼈의 영향을 많이 받고, 팔꿈치 아래쪽 버텍스는 아래팔 뼈의 영향을 많이 받는다. 팔꿈치 주변 버텍스는 두 뼈의 영향을 조금씩 나누어 받아야 자연스럽게 접힌다.

블렌더에서 메시를 Armature에 연결하면 보통 두 가지가 함께 만들어진다.

  1. 메시 오브젝트에 Armature Modifier가 추가된다.

  2. 메시의 Vertex Groups에 Bone 이름과 같은 그룹이 생긴다.

Vertex Group은 버텍스 묶음이다. 각 Bone 이름의 그룹 안에 어떤 버텍스가 얼마나 포함되는지가 웨이트다. 이 구조 덕분에 Bone을 움직이면 메시 표면이 함께 움직인다.

입문 단계에서는 이 구조를 완벽히 외우기보다 이렇게 이해하면 충분하다.

Bone은 움직임의 손잡이이고, 웨이트는 메시가 그 손잡이를 얼마나 따라갈지 정하는 값이다.

간단한 팔 모델 준비하기

이번 실습에서는 한쪽 팔처럼 생긴 단순한 원통을 만들고, 위팔과 아래팔 뼈를 넣어 팔을 흔들어 본다. 복잡한 캐릭터 전신보다 팔 하나가 리깅의 원리를 보기 쉽다.

먼저 새 파일에서 기본 큐브를 삭제한다.

  1. 큐브 선택

  2. X → Delete

  3. Shift+A → Mesh → Cylinder

  4. 왼쪽 아래 Add Cylinder 옵션에서 Vertices는 16, Radius는 0.18, Depth는 3 정도로 설정

원통이 세로로 서 있다면 그대로 사용한다. 이 원통을 팔이라고 생각하자. 위쪽 끝은 어깨, 가운데는 팔꿈치, 아래쪽 끝은 손목이다.

팔꿈치가 접히려면 중간에 나눠진 면이 있어야 한다. 면이 부족하면 접히는 부분이 종이처럼 찌그러진다.

  1. 원통 선택

  2. Tab으로 Edit Mode

  3. Ctrl+R로 Loop Cut 실행

  4. 마우스 휠을 올려 여러 개의 가로 루프를 만든 뒤 클릭

  5. 특히 가운데 팔꿈치 주변에 3~5개의 루프가 있도록 만든다

  6. Tab으로 Object Mode로 돌아온다

이 단계에서 중요한 것은 예쁜 팔을 만드는 것이 아니다. 뼈가 메시를 변형하려면 충분한 면 분할이 필요하다는 감각을 익히는 것이다. 원통을 만든 뒤 Object Mode에서 크기를 따로 조절했다면, 연결 전에 Ctrl+A → Scale로 스케일을 적용해 두는 편이 좋다. 스케일 값이 남아 있으면 자동 웨이트나 변형 결과가 예상과 다르게 보일 수 있다.

Armature와 Bone 만들기

이제 팔 안에 뼈대를 넣는다.

  1. Shift+A → Armature → Single Bone

  2. Armature 선택

  3. Properties Editor의 Object Data Properties(Armature 아이콘) → Viewport Display → In Front 켜기

In Front를 켜면 뼈가 메시 뒤에 있어도 앞에 표시된다. 리깅 작업에서는 거의 필수에 가깝다.

Armature를 선택한 상태에서 Tab을 눌러 Edit Mode로 들어간다. 기본 Bone 하나가 보인다. 이 뼈를 위팔로 만들고, 아래팔 뼈를 이어서 만든다.

여기서 한 가지를 분명히 해 두자. Bone에는 시작점인 Head와 끝점인 Tail이 있다. 부모에서 자식으로 이어지는 방향을 생각하면, 팔 뼈는 보통 어깨에서 팔꿈치로, 팔꿈치에서 손목으로 내려가도록 만든다. 즉, 위팔 Bone의 Head는 어깨 쪽, Tail은 팔꿈치 쪽에 두는 식이다.

  1. 위팔 Bone의 Head를 어깨 위치에 둔다.

  2. 위팔 Bone의 Tail을 팔꿈치 위치에 둔다.

  3. 팔꿈치에 있는 Tail을 선택한 상태에서 E를 누르고 아래로 Extrude한다.

  4. 새 Bone의 Tail을 손목 위치에 둔다.

이제 뼈는 두 개다. 위쪽 Bone은 위팔, 아래쪽 Bone은 아래팔이다. Bone 이름도 바꿔 두면 이후 웨이트를 확인하기 쉽다.

  1. Bone 선택

  2. Properties Editor → Bone Properties

  3. 이름을 upper_arm, forearm처럼 변경

Bone의 이름은 단순한 표시용이 아니다. 자동 웨이트를 만들면 같은 이름의 Vertex Group이 메시 안에 생긴다. 이름을 알아보기 쉽게 정리하는 습관은 나중에 캐릭터 전신을 리깅할 때 큰 차이를 만든다.

자동 웨이트로 메시와 뼈대 연결하기

이제 메시가 뼈를 따라 움직이도록 연결한다. 선택 순서가 중요하다. 먼저 따라갈 메시를 선택하고, 마지막에 기준이 될 Armature를 선택한다.

  1. Object Mode로 나온다.

  2. 팔 원통 메시 선택

  3. Shift를 누른 채 Armature 선택

  4. Ctrl+P

  5. Armature Deform → With Automatic Weights

Automatic Weights는 블렌더가 Bone과 메시의 거리를 계산해 각 버텍스에 적당한 웨이트를 자동으로 배분하는 기능이다. 준비된 모델은 T 포즈처럼 관절이 펼쳐져 있고, 메시가 뚫리거나 겹치지 않으며, 스케일이 적용되어 있을수록 자동 웨이트 결과가 안정적이다.1

연결이 되었는지 바로 테스트해 보자.

  1. Armature 선택

  2. Ctrl+Tab 또는 모드 메뉴에서 Pose Mode

  3. forearm Bone 선택

  4. R → X 또는 R → Y로 회전

아래팔이 함께 움직이면 연결에 성공한 것이다. 팔꿈치 주변이 약간 찌그러져도 괜찮다. 지금은 리깅의 기본 흐름을 보는 단계다.

테스트가 끝나면 Alt+R로 회전을 초기화한다. Pose Mode에서 Alt+G, Alt+R, Alt+S는 각각 위치, 회전, 크기 포즈값을 초기화할 때 자주 쓴다.

웨이트 페인팅으로 변형 오류 고치기

자동 웨이트는 빠르지만 항상 정확하지는 않다. 아래팔을 회전했는데 위팔의 버텍스가 딸려 내려오거나, 팔꿈치가 지나치게 찌그러질 수 있다. 이때 사용하는 모드가 Weight Paint다.

Weight Paint는 버텍스에 칠하듯 웨이트를 조정하는 모드다. 색은 보통 다음처럼 이해하면 된다.

  • 파란색: 영향이 거의 없음

  • 초록색과 노란색: 중간 정도 영향

  • 빨간색: 영향이 강함

기본 수정 흐름은 다음과 같다.

  1. Object Mode에서 팔 메시 선택

  2. 모드 메뉴에서 Weight Paint 선택

  3. Properties Editor → Object Data Properties → Vertex Groups 확인

  4. upper_arm 또는 forearm 그룹 선택

  5. 브러시의 Weight 값을 조정하며 칠한다

예를 들어 아래팔 Bone을 움직일 때 위팔까지 끌려온다면 forearm 그룹을 선택하고 위팔 영역의 웨이트를 낮춰야 한다. 브러시 Weight를 0에 가깝게 두고 칠하면 영향이 줄어든다. 반대로 손목 근처가 충분히 따라오지 않는다면 forearm 그룹에서 손목 쪽을 Weight 1에 가깝게 칠한다.

팔꿈치 주변은 한쪽 Bone만 100% 영향을 주면 접힘이 딱딱해진다. 위팔과 아래팔의 영향이 부드럽게 섞여야 한다. 그래서 팔꿈치 중앙은 노랑이나 초록처럼 중간 색이 되는 편이 자연스럽다.

수정 후에는 다시 Armature를 Pose Mode로 바꾸고 Bone을 회전해 확인한다. 리깅은 한 번에 끝나는 작업이 아니다. 움직여 보고, 찌그러지는 곳을 찾고, 웨이트를 조금 고친 뒤 다시 움직여 보는 반복 작업이다.

FK와 IK의 차이 이해하기

Pose Mode에서 Bone을 하나씩 회전해 자세를 잡는 방식은 FK(Forward Kinematics)다. 위팔을 돌리고, 아래팔을 돌리고, 손목을 돌리는 식이다. 구조가 단순하고 예측하기 쉽지만, 손의 위치를 정확히 맞추기 어렵다.

반대로 IK(Inverse Kinematics)는 끝 지점을 먼저 움직이면 중간 관절이 자동으로 따라오는 방식이다. 손을 원하는 위치로 옮기면 팔꿈치와 위팔이 함께 계산되는 식이다. 블렌더 공식 매뉴얼도 IK를 뼈 체인의 끝을 배치하면 나머지 Bone이 자동으로 따라오도록 해 애니메이션 작업을 단순하게 만드는 방식으로 설명한다.2

팔과 다리는 IK가 특히 유용하다. 손이 책상 위에 고정되어야 하거나, 발이 바닥에서 미끄러지지 않아야 할 때 FK만으로는 조절이 번거롭다.

블렌더에는 빠르게 테스트할 수 있는 Auto IK도 있다. Pose Mode의 Tool Settings에서 Auto IK를 켜면 선택한 Bone을 이동할 때 연결된 부모 Bone들이 함께 따라온다. 다만 Auto IK는 연결된 부모 Bone을 따라 올라가며 임시 포즈를 빠르게 잡는 기능에 가깝다. 공식 문서에서도 Auto IK를 빠른 포징에 유용하지만, 직접 설정하는 IK Constraint보다 제한적인 기능으로 설명한다.3

IK 컨트롤러 만들기

이번에는 아래팔 끝에 IK 컨트롤러를 만들어 보자. 컨트롤러는 메시를 직접 변형하는 Bone이 아니라, 손목 위치를 잡기 위한 조작용 Bone이다.

  1. Armature 선택

  2. Tab으로 Edit Mode

  3. forearm Bone의 손목 쪽 끝, 즉 Tail 위치 선택

  4. E로 짧은 Bone을 하나 더 Extrude

  5. 새 Bone을 선택하고 Alt+P → Clear Parent

  6. Bone 이름을 hand_IK로 변경

  7. Bone Properties에서 Deform 체크를 끈다

Clear Parent를 하는 이유는 hand_IK가 아래팔에 딸려 움직이는 자식 Bone이 아니라, 별도로 움직일 수 있는 손잡이가 되어야 하기 때문이다. Deform을 끄는 이유도 비슷하다. 이 Bone은 메시를 직접 잡아당기는 뼈가 아니라, IK 계산의 목표점 역할만 한다.

이제 IK Constraint를 건다. IK Constraint는 보통 체인의 마지막 변형 Bone에 추가한다. 여기서는 손목 바로 위에 있는 forearm Bone이 그 대상이다.

  1. Tab으로 Pose Mode

  2. forearm Bone 선택

  3. Properties Editor → Bone Constraint Properties

  4. Add Bone Constraint → Inverse Kinematics

  5. Target에 현재 Armature 오브젝트 지정

  6. Bone에 hand_IK 지정

  7. Chain Length를 2로 설정

Chain Length 2는 아래팔과 위팔, 두 개의 Bone을 IK 계산에 사용하겠다는 뜻이다. 이제 Pose Mode에서 hand_IK Bone을 선택하고 G로 움직여 보자. 손목 위치를 옮기면 위팔과 아래팔이 함께 따라와야 한다.

팔꿈치가 예상과 다른 방향으로 꺾일 수 있다. 실제 캐릭터 리깅에서는 팔꿈치 방향을 제어하기 위해 Pole Target이라는 별도 컨트롤러를 둔다. 다만 첫 실습에서는 IK가 무엇을 해결하는지 보는 것이 먼저다. 손잡이를 움직이면 관절 체인이 따라온다는 원리를 이해하면 충분하다.

팔 흔들기 애니메이션 만들기

마지막으로 이전 장에서 익힌 키프레임을 사용해 간단한 팔 흔들기를 만든다. 이번에는 메시가 아니라 IK 컨트롤러 Bone에 키프레임을 넣는다.

  1. Timeline의 시작 프레임을 1, 끝 프레임을 60으로 설정

  2. Armature를 Pose Mode로 유지

  3. hand_IK Bone 선택

  4. 프레임 1에서 기본 위치를 잡고 I → Location

  5. 프레임 20으로 이동

  6. G로 손목 컨트롤러를 한쪽 위로 이동

  7. I → Location

  8. 프레임 40으로 이동

  9. 반대쪽으로 이동 후 I → Location

  10. 프레임 60에서 처음 위치에 가깝게 돌리고 I → Location

Spacebar로 재생하면 팔이 좌우로 흔들린다. 움직임이 너무 빠르면 키프레임 간격을 넓힌다. 너무 기계적으로 움직이면 Graph Editor에서 보간을 조정한다. 이전 장에서 본 것처럼 키프레임 사이의 속도감은 보간 방식에 따라 달라진다.

로봇 팔처럼 딱딱한 관절을 만들고 싶다면 웨이트를 부드럽게 섞지 않는 편이 낫다. 위팔 부품은 upper_arm에 100%, 아래팔 부품은 forearm에 100% 가깝게 영향을 주면 금속 관절처럼 단단히 움직인다. 캐릭터 팔은 팔꿈치 주변을 부드럽게 섞고, 로봇 팔은 부품별로 명확히 나누는 식으로 목적에 따라 웨이트 전략이 달라진다.

리깅 문제를 확인하는 순서

리깅은 작은 설정 하나가 결과를 크게 바꾼다. 문제가 생기면 다음 순서로 확인하자.

  • 메시가 전혀 움직이지 않는다: 메시를 먼저, Armature를 마지막에 선택했는지 확인한다. 메시의 Modifier 목록에 Armature Modifier가 있는지도 본다.

  • 일부 버텍스가 이상하게 따라온다: Weight Paint에서 해당 Bone의 Vertex Group을 확인한다.

  • 팔꿈치가 심하게 찌그러진다: 팔꿈치 주변 루프가 부족하거나 웨이트가 한 Bone에 너무 몰렸을 가능성이 높다.

  • Auto IK가 기대처럼 이어지지 않는다: 부모 Bone과 자식 Bone이 연결되어 있는지 확인한다. Auto IK는 연결된 Bone 체인에서 더 안정적으로 동작한다.

  • IK가 전체 몸통까지 끌고 간다: IK Constraint의 Chain Length를 확인한다.

  • IK 컨트롤러가 메시를 직접 변형한다: 컨트롤러 Bone의 Deform이 꺼져 있는지 확인한다.

  • 키프레임을 넣었는데 움직이지 않는다: Object Mode가 아니라 Pose Mode에서 올바른 Bone에 키프레임을 넣었는지 확인한다.

리깅은 캐릭터 애니메이션을 위한 전문 기술처럼 보이지만, 기본 원리는 단순하다. 뼈대를 만들고, 메시가 어떤 뼈를 얼마나 따라갈지 정하고, Pose Mode에서 움직임을 만든다. 이 구조를 이해하면 사람 캐릭터뿐 아니라 로봇 팔, 회전문, 접히는 장치, 카메라 크레인 같은 기계 움직임도 설계할 수 있다.

다음 단계에서는 같은 원리를 더 자동화된 방식으로 확장할 수 있다. 반복 구조를 만들고, 규칙으로 형태를 바꾸는 작업에서는 지오메트리 노드가 강력한 도구가 된다.

참고

1Automatic Weights in Blender

2Blender Manual - Inverse Kinematics

3Blender Manual - Pose Mode Tool Settings

책 목록

Blender(블렌더) 사용법: 모델링부터 렌더링까지 배우는 3D 제작 입문

전체 목차 보기

이 노트는 보도·비평·교육·연구 목적으로 작성되었습니다. 저작권 문의가 있으시면 에서 알려주세요.

틸노트는 사용자가 AI를 활용해 노트를 쉽게 작성하거나 편집할 수 있는 서비스입니다.

AI 스퀘어 단톡방에 함께해요

AI 활용과 틸노트 사용 팁을 나누는 오픈채팅방입니다. 입장 비밀번호는 tilnote입니다.

참여하기