Artoke

언리얼 애님블루프린트·컨트롤릭: 스키닝과 웨이트 페인팅

언리얼 애님블루프린트·컨트롤릭: 스키닝과 웨이트 페인팅 대표 이미지
출처: 스키닝과 웨이트 페인팅

움직이는 3D 캐릭터의 비밀: 스키닝과 웨이트 페인팅

게임 속 캐릭터가 팔을 흔들고, 뛰고, 춤을 춥니다. 그런데 이상하지 않나요? 컴퓨터 속 캐릭터는 사실 수많은 점과 면으로 만든 겉모습(메시)일 뿐인데, 어떻게 진짜 사람처럼 움직일까요? 그 비밀이 바로 오늘 배울 스키닝웨이트 페인팅입니다.

1. 캐릭터 안에는 뼈대가 숨어 있어요

사람이 움직일 수 있는 건 몸속에 뼈가 있기 때문이에요. 3D 캐릭터도 똑같습니다. 겉모습 안쪽에 스켈레톤이라고 부르는 가짜 뼈대를 넣어 줍니다.

뼈대는 관절 인형과 비슷해요. 어깨 뼈, 팔꿈치 뼈, 손목 뼈가 사슬처럼 이어져 있죠. 어깨를 돌리면 팔 전체가 따라오고, 팔꿈치를 접으면 아래팔만 접힙니다.

하지만 뼈대만 있으면 아직 부족해요. 뼈는 뼈대로, 겉모습은 겉모습대로 따로 놀거든요. 뼈를 움직여도 캐릭터의 피부는 그 자리에 가만히 있는 거예요. 마치 옷걸이만 움직이고 옷은 바닥에 떨어져 있는 것처럼요.

2. 스키닝: 뼈대에 피부를 붙이는 일

스키닝(Skinning)은 영어로 '피부(skin)를 다루는 일'이라는 뜻이에요. 원래 이 말은 동물의 가죽을 벗기거나 다루는 일에서 왔어요. 사람들은 아주 옛날부터 가죽으로 옷과 신발을 만들었죠. 3D 그래픽에서는 반대 방향으로 씁니다. 가죽을 벗기는 게 아니라, 뼈대 위에 피부를 입히는 일이거든요.

스키닝을 하면 이런 약속이 생깁니다.

  • "피부의 이 부분은 팔 뼈를 따라다녀!"
  • "이 부분은 다리 뼈를 따라다녀!"

이제 뼈를 움직이면 붙어 있는 피부가 함께 움직입니다. 장갑을 생각해 보세요. 장갑(피부)을 손(뼈)에 끼면, 손가락을 접을 때 장갑도 같이 접히죠? 스키닝이 바로 그 '장갑 끼우기'입니다.

3. 문제 발생! 팔꿈치가 이상해요

그런데 한 가지 어려운 문제가 있어요. 팔꿈치처럼 두 뼈가 만나는 곳은 어느 뼈를 따라가야 할까요?

만약 팔꿈치 근처 피부가 위팔 뼈만 100% 따라간다면, 팔을 접었을 때 피부가 종이처럼 뾰족하게 꺾여 버립니다. 진짜 사람의 팔꿈치는 부드럽게 구부러지는데 말이죠.

진짜 피부는 고무줄 같아서, 위팔의 힘도 조금 받고 아래팔의 힘도 조금 받으면서 부드럽게 늘어납니다. 3D 캐릭터도 그렇게 만들어야 해요.

4. 웨이트 페인팅: 힘의 세기를 색칠해요

그래서 나온 방법이 웨이트 페인팅(Weight Painting)입니다. '웨이트'는 무게, 여기서는 영향력의 세기를 뜻해요.

피부의 점 하나하나에 이렇게 숫자를 정해 줍니다.

  • "이 점은 위팔 뼈의 영향을 70%, 아래팔 뼈의 영향을 30% 받아."
  • "팔꿈치 한가운데 점은 딱 절반씩, 50% 대 50%!"

숫자를 하나하나 쓰면 너무 힘드니까, 붓으로 색을 칠하듯 정합니다. 보통 빨간색은 영향 100%, 초록·노랑은 중간, 파란색은 영향 0%예요. 뼈 하나를 고르고 캐릭터 몸에 붓질을 하면, 색이 진할수록 그 뼈를 강하게 따라가게 됩니다. 마치 물감이 진하게 묻은 곳일수록 자석에 세게 끌려가는 것과 같아요.

언리얼 애님블루프린트·컨트롤릭: 스키닝과 웨이트 페인팅 도식

5. 언리얼 엔진에서는 어떻게 쓰일까요?

스키닝과 웨이트 페인팅이 끝난 캐릭터를 언리얼 엔진이라는 게임 제작 도구에 가져오면, 이제 진짜로 움직이게 할 차례입니다.

애님 블루프린트(Anim Blueprint)는 캐릭터의 '움직임 설계도'예요. "가만히 있을 땐 숨쉬기 동작, 앞으로 갈 땐 걷기 동작, 빨리 갈 땐 뛰기 동작"처럼, 상황에 따라 어떤 동작을 보여줄지 정하는 교통 정리 담당이죠. 이때 모든 동작은 결국 뼈대를 움직이는 것이고, 피부는 우리가 정한 웨이트대로 따라옵니다.

컨트롤릭(Control Rig)은 뼈대에 다는 '리모컨'이에요. 뼈를 하나하나 돌리는 대신, 손잡이(컨트롤)를 잡아당기면 여러 뼈가 자연스럽게 함께 움직입니다. 인형극에서 줄 몇 개로 인형 전체를 움직이는 것과 비슷해요. 언리얼 안에서 직접 동작을 만들거나 고칠 때 아주 편리합니다.

6. 정리해 볼까요?

  1. 스켈레톤 — 캐릭터 안에 숨은 뼈대.
  2. 스키닝 — 뼈대에 피부(메시)를 붙이는 일. 장갑을 손에 끼우는 것과 같아요.
  3. 웨이트 페인팅 — 피부의 각 부분이 어느 뼈를 얼마나 따라갈지 색으로 칠해 정하는 일.
  4. 애님 블루프린트 — 상황에 맞는 동작을 골라 주는 설계도.
  5. 컨트롤릭 — 뼈대를 쉽게 움직이게 해 주는 리모컨.

다음에 게임 캐릭터가 부드럽게 팔을 구부리는 걸 보면 떠올려 보세요. 그 안에는 보이지 않는 뼈대가 있고, 누군가 정성껏 색칠해 둔 웨이트가 피부를 알맞게 당기고 있다는 것을요!

출처

광고

리깅 파이프라인 자동화 도구

반복 작업은 스크립트에게. 현업에서 쓰는 리깅 툴 모음.

리깅 도구 보기