[제페토 크리에이터] 리깅과 웨이트 개념 뿌시기

안녕하세요. 오늘은 제페토 아이템을 만들 때 중요한 요소 중 하나인 리깅과 웨이트의 개념을 정리해보는 시간을 갖도록 하겠습니다. 리깅과 웨이트 작업은 초보 크리에이터분들이 가장 어려워하는 부분 중 하나인데요, 개념에 대한 이해를 잘 잡아둔 후 웨이트 작업을 반복해서 연습하다보면 실력이 훨씬 늘어날 것입니다.

 

리깅과 웨이트

리깅과 웨이트

리깅이란 단어는 보트에서 돛대나 돛을 지지하는데 사용하는 줄의 용어에서 파생되었습니다. 3D 애니메이션에서 이 리깅이라는 단어는 '3D 모델링 캐릭터의 뼈대를 만들어 심거나 뼈대를 할당하여 캐릭터가 움직일 수 있는 상태로 만드는 일'을 뜻합니다. 

즉, '리깅 = 뼈' 라고 생각하시면 됩니다.

인체에 있어서 뼈가 있어야 움직일 수 있는 것 처럼 3D 오브젝트도 리깅이 되어있어야 그에 따라 움직임을 부여할 수 있습니다. 

 

웨이트란 물건의 무게 혹은 무거운 기구를 드는 것과 같은 행위를 통해 근력을 강화시키는 트레이닝 용어로도 쓰이지만, 3D 애니메이션에서는 각각의 버텍스, 즉 오브젝트 내의 '점'들이 어느 뼈에 얼만큼 영향을 받는지를 표시해주는 것을 의미합니다.

아까 리깅을 뼈로 비유했다면, '웨이트 = 근육'에 가깝습니다.

뼈에 붙어있는 근육의 범위에 따라 우리의 몸이 움직이는 것 처럼 리깅만 되어있다고 움직이는 것이 아니고, 웨이트 페인팅을 통해 각 뼈에 해당하는 영향력을 표시해주어야 움직일 수 있습니다. 뼈에 해당하는 부분의 범위와 영향력의 정도는 0~1로 표시해 줄 수 있습니다. 1에 가까울수록 빨간색으로 표시되고 그 뼈의 움직임에 따라 100% 영향을 받습니다. 0에 가까울 수록 파란색으로 표시되며 그 뼈의 움직임에 0%의 영향을 받습니다. 한 버텍스가 여러개의 뼈에 영향을 받고 있다면 다른 뼈의 영향력 정도에 따라 움직임 정도 또한 영향을 받게됩니다.

 

계층 구조에 대한 이해 (부모 - 자식 관계)

3D 프로그램에서는 '부모 - 자식 관계'로 계층 구조를 표현하고 있습니다.

 

부모 - 자식 관계로 묶어주면 부모의 움직임, 회전, 크기 변화는 자식 관계에 있는 오브젝트에도 영향을 줍니다. 부모는 여러 자식을 둘 수 있지만 자식은 여러 부모를 둘 수 없는 것 처럼 상위는 여러 하위로의 연결이 가능하지만 하위는 하나의 부모로 밖에 연결할 수 없습니다.

 

부모 - 자식 관계는 오브젝트와 오브젝트 사이에도 적용가능하고, 뼈와 오브젝트 사이에도 적용할 수 있습니다. 뼈와 오브젝트를 계층 구조로 연결시켜주는 것을 마야에서는 binding이라고 표현하며, 블렌더에서는 parenting이라고 표현하므로 제페토 크리에이터 가이드에서 binding 해준다는 표현이 있다면 뼈와 오브젝트를 연결해준다는 의미로 해석하시면 됩니다. 

 

FK 방식과 IK 방식

리깅에는 두 가지 방식이 있습니다. 바로 FK(forward kinematics) 방식과 IK(inverse kinematics) 방식입니다. 두 가지 방식에 대한 차이를 간단히 설명드리겠습니다.

 

1. FK(forward kinematics) 방식

FK 방식은 한국어로 번역해보자면 '순 운동학', '전진 운동학' 입니다. FK 방식은 계층 구조의 원리에 따라 순차적으로 자식 관계를 맺고, 움직이는 방식을 말합니다. 예를 들면 어깨(부모)를 들면 팔(자식)이 따라 움직이고, 팔(부모)을 움직이면 또 손(자식)이 따라 움직이는 것 처럼 하위가 상위의 영향을 받습니다. 그러나 손(자식)을 회전해도 팔(부모)은 회전하지 않습니다.

 

2. IK(inverse kinematics) 방식

 

IK(inverse kinematics) 방식은 '역 운동학'으로, FK 방식과 반대로 생각하시면 됩니다. 하위의 움직임에 따라 상위 관절들이 따라서 움직이는 방식을 말합니다. IK 방식의 움직임은 마리오네트를 연상하시면 더 이해가 쉬울 것 같습니다.

 

제페토 뼈구조에 대한 이해

 

 

제페토는 'FK 방식'을 사용하여 캐릭터의 움직임을 주고 있습니다.  '제페토 베이스 셋'을 보시면 점선으로 부모-자식 관계로 각 뼈들이 순차적으로 연결되어있는 모습을 볼 수 있습니다. 

 

모든 뼈의 root 가 되는 뼈는 'hips bone' 으로 hips bone 을 움직여보시면 몸 전체가 따라서 움직이는 것을 볼 수 있습니다. hips bone을 기준으로 spine, pelvis bone으로 상체와 하체로 나누어집니다. 쉽게 말하면 hips bone이 뼈의 조상님 급이 되는 것입니다. 우리가 아이템을 익스포트 하기 전 뼈 갯수 100개 미만을 맞추기 위해 뼈를 삭제할 때 hips bone을 삭제하면 안되는 이유가 여기에 있습니다.

 

제페토 뼈의 특이한 점은 바로 'scale bone'과 'twist bone'이 있다는 것입니다. scale bone은 해당 부위의 크기를 키웠다 줄였다 해주는 'scale'에 관련한 bone 입니다. 제페토에서는 캐릭터를 여러 가지 체형으로 커스텀 할 수 있는데 거기에 대응하기 위해 scale bone 을 넣어둔 것입니다. scale bone은 head, hand, foot을 제외한 상지, 하지, 몸통쪽에 있습니다. upper arm_L_scale bone은 upper arm_L의 자식 관계로 설정되어있으나 위치는 그 upper arm bone과 겹쳐져 있습니다. 헷갈릴 수도 있는 데 잘 알아두어야하는 것은 scale bone 이 있는 곳에는 본 뼈가 아닌 'scale bone' 에 웨이트 페인팅을 해주어야합니다.

 

일반적으로 우리 몸의 관절이 어깨에서부터 손목까지 3개의 관절이 있는 것과 달리 제페토의 뼈에서는 관절과 관절 사이에 비틀기 역할을 해주는 뼈가 하나 더 존재합니다. 이 twist bone들도 각각의 scale bone을 가지기 때문에 웨이트 페인팅은 항상 scale bone에 해주셔야합니다.

 

제페토 베이스 셋에는 리깅과 웨이트 페인팅이 잘 적용되어져 있는 캐릭터를 기본으로 제공해 주고 있기 때문에 우리가 웨이트 페인팅을 할 때는 웨이트 페인팅이 잘 적용된 캐릭터의 웨이트 값을 우리가 만든 아이템에 카피해주면 됩니다. 기본적으로 웨이트 페인트는 아이템 메쉬 내의 '점'들에 적용하는 것이라 움직일 때 영향을 주는 버텍스가 많이 없다면 그만큼 움직임이 자연스럽지 못하게 됩니다. 그래서 제페토 가이드에서 특히 접히는 관절부분에서는 엣지를 세 개 이상 사용하여 달라고 하는 것이 자연스러운 움직임을 주기 위해서 그렇게 하도록 권장하고 있는 것입니다.

 

오늘은 이렇게 리깅과 웨이트의 개념을 알아보고 제페토의 뼈구조에 대해 알아보았습니다. 웨이트 페인팅을 보다 쉽게 하는 방법과 웨이트 페인팅 관련 애드온은 조만간 포스팅하도록 하겠습니다.