스켈레탈 애니메이션: 캐릭터 몸속에 숨은 뼈다귀 이야기
스켈레탈 애니메이션: 캐릭터 몸속에 숨은 뼈다귀 이야기
게임 속 캐릭터가 뛰고, 손을 흔들고, 칼을 휘두르는 걸 본 적 있죠?
그 캐릭터, 사실 몸속에 뼈가 들어 있어요.
진짜 뼈는 아니에요. 컴퓨터가 만든 가짜 뼈예요. 그런데 이 가짜 뼈가 없으면 캐릭터는 절대 움직이지 못해요.
먼저, 캐릭터는 사실 텅 빈 껍데기예요
이상하게 들리겠지만 사실이에요.
게임 캐릭터는 안이 꽉 찬 인형이 아니에요. 얇은 껍질이에요. 풍선처럼요.
이 껍질을 메시(Mesh)라고 불러요.
메시는 아주 작은 삼각형 수천 개, 수만 개를 이어 붙여서 만들어요. 종이접기로 얼굴을 만든다고 생각해 보세요. 삼각형 종이를 잔뜩 붙이면 사람 모양이 되죠? 그게 메시예요.
그런데 문제가 있어요.
껍질만 있으면 움직일 수가 없어요. 힘없이 축 늘어진 인형 옷처럼요.
그래서 뼈를 넣어요
여기서 스켈레톤(Skeleton), 우리말로 뼈대가 등장해요.
애니메이터(움직임을 만드는 사람)는 캐릭터 안에 막대기 여러 개를 넣어요. 이 막대기 하나하나를 본(Bone)이라고 불러요.
머리뼈, 목뼈, 어깨뼈, 팔뼈, 손뼈... 우리 몸이랑 비슷하게 넣어요.
그리고 이 뼈들을 서로 연결해요.
핵심은 딱 하나예요
뼈를 움직이면 껍질이 따라온다.
이게 전부예요. 정말이에요.
애니메이터는 껍질을 직접 만지지 않아요. 삼각형 수만 개를 하나씩 옮긴다고 상상해 보세요. 팔 한 번 드는 데 하루가 걸릴 거예요.
대신 팔뼈 하나만 위로 돌려요. 그러면 팔 껍질이 알아서 따라 올라가요.
손가락 뼈를 구부리면? 손가락 껍질이 따라 구부러져요.
훨씬 편하죠?
양말 인형으로 이해하기
손에 양말을 끼워 본 적 있나요?
양말은 그냥 천이에요. 혼자서는 아무것도 못 해요.
그런데 손을 넣고 손가락을 움직이면? 양말이 입을 뻐끔뻐끔 벌려요.
여기서 양말이 메시, 내 손이 뼈대예요.
손이 움직이면 양말이 따라 움직이죠. 스켈레탈 애니메이션이 딱 이거예요.
뼈들은 가족처럼 이어져 있어요
중요한 규칙이 하나 더 있어요.
뼈들은 부모와 자식 관계로 연결돼요.
- 어깨뼈는 부모
- 팔뚝뼈는 어깨뼈의 자식
- 손뼈는 팔뚝뼈의 자식
- 손가락뼈는 손뼈의 자식
그래서 어떻게 되냐면요.
부모가 움직이면 자식들이 전부 따라가요.
어깨를 돌려 보세요. 팔도, 손도, 손가락도 전부 같이 움직이죠? 손가락만 남아 있을 수는 없잖아요.
반대로 손가락만 까딱하면? 어깨는 가만히 있어요. 자식이 움직여도 부모는 안 움직이거든요.
껍질은 어떤 뼈를 따라갈지 어떻게 알까요?
좋은 질문이에요.
사람이 하나하나 알려줘야 해요. 이 작업을 스키닝(Skinning)이라고 불러요. 껍질(스킨)을 뼈에 붙인다는 뜻이에요.
예를 들면 이렇게 정해요.
- 손등 부분 삼각형들 → 손뼈를 따라가
- 팔꿈치 아래 삼각형들 → 팔뚝뼈를 따라가
- 이마 부분 삼각형들 → 머리뼈를 따라가
그런데 애매한 곳이 있어요. 바로 관절이에요.
팔꿈치 껍질은 위팔뼈를 따라가야 할까요, 아래팔뼈를 따라가야 할까요?
정답은 둘 다예요.
팔꿈치 껍질은 "위팔뼈 반, 아래팔뼈 반" 이렇게 나눠서 따라가요. 그래야 팔을 굽혔을 때 자연스럽게 접혀요.
만약 딱 하나만 따라가게 하면? 팔을 굽힐 때 종이 접듯이 툭 꺾여요. 로봇처럼 어색해지죠.
그래서 애니메이터들은 이 비율을 아주 꼼꼼하게 조절해요. 웨이트(Weight), 우리말로 가중치라고 불러요. "이 뼈를 몇 퍼센트 따라갈래?"를 정하는 숫자예요.
사람만 이 기술을 쓰는 게 아니에요
여기가 제일 재밌는 부분이에요.
"뼈"라는 이름 때문에 사람이나 동물한테만 쓰는 것 같죠?
전혀 아니에요.
스켈레탈 애니메이션은 모양이 변하는 모든 것에 쓸 수 있어요.
- 문 — 경첩 자리에 뼈 하나. 그 뼈를 돌리면 문이 열려요.
- 숟가락 — 뼈 몇 개를 넣으면 휘어지는 숟가락 마술을 만들 수 있어요.
- 건물 — 무너지는 장면에 뼈를 넣으면 층층이 주저앉게 만들 수 있어요.
- 깃발 — 뼈를 여러 개 넣고 차례로 흔들면 펄럭여요.
- 은하계 — 진짜예요. 나선팔이 도는 모습을 뼈로 만들 수 있어요.
문에는 뼈가 없잖아요? 상관없어요.
여기서 뼈는 진짜 뼈가 아니라 "이 부분을 이렇게 움직여라"는 명령 손잡이일 뿐이거든요.
그리고 사람 몸이 아닐 때는, 뼈들이 꼭 이어져 있을 필요도 없어요. 뿔뿔이 흩어진 뼈 여러 개로도 얼마든지 움직임을 만들 수 있어요.
이 기술이 왜 그렇게 대단할까요?
이유는 세 가지예요.
첫째, 일이 확 줄어요.
삼각형 5만 개를 옮기는 대신 뼈 60개만 움직이면 돼요. 5만 대 60이에요.
둘째, 사람의 직감과 맞아요.
"팔을 든다"는 생각이 "팔뼈를 돌린다"는 동작으로 바로 이어져요. 우리 몸이 실제로 그렇게 움직이니까요.
셋째, 움직임을 재활용할 수 있어요.
이게 진짜 큰 장점이에요.
뼈대 구조만 똑같으면, 한 캐릭터가 뛰는 동작을 다른 캐릭터에게 그대로 줄 수 있어요.
기사가 뛰는 동작을 만들었다면, 그걸 마법사도, 도둑도, 상인도 쓸 수 있어요. 한 번 만들어서 백 번 쓰는 거예요.
게임 회사가 수백 명의 캐릭터를 만들 수 있는 비결이 바로 이거예요.
실제로는 이런 순서로 만들어요
정리하면 이래요.
- 모델링 — 캐릭터 껍질(메시)을 만들어요.
- 리깅 — 껍질 안에 뼈대를 넣고 부모-자식 순서를 정해요.
- 스키닝 — 어느 껍질이 어느 뼈를 얼마나 따라갈지 정해요.
- 애니메이션 — 뼈를 움직여서 걷기, 뛰기, 공격을 만들어요.
2번과 3번을 합쳐서 그냥 리깅(Rigging)이라고 부르기도 해요.
리깅은 "장치를 설치한다"는 뜻이에요. 인형 안에 조종 장치를 심는 거라고 생각하면 딱 맞아요.
기억할 것은 딱 세 줄
어려운 이야기를 많이 했지만, 결국 이거예요.
- 캐릭터는 껍질과 뼈대, 두 부분으로 되어 있어요.
- 뼈를 움직이면 껍질이 따라와요.
- 사람뿐 아니라 문, 깃발, 은하계까지 뭐든 이 방법으로 움직일 수 있어요.
다음에 게임을 할 때 캐릭터를 한번 자세히 보세요.
저 안에서 누군가 정성껏 심어 놓은 뼈들이 지금도 열심히 일하고 있을 거예요.
출처
리깅 파이프라인 자동화 도구
반복 작업은 스크립트에게. 현업에서 쓰는 리깅 툴 모음.
리깅 도구 보기