Artoke

애니 논문: RigNet — 메시만 보고 뼈와 웨이트를 찍는다

애니 논문: RigNet — 메시만 보고 뼈와 웨이트를 찍는다

논문: RigNet: Neural Rigging for Articulated Characters
저자: Zhan Xu, Yang Zhou, Evangelos Kalogerakis, Chris Landreth, Karan Singh
발표: SIGGRAPH 2020 / ACM TOG 39(4)
링크: arXiv:2005.00559 · 프로젝트 페이지 · 코드

리깅은 왜 자동화가 어려웠나

메시 하나를 받아 리그를 짜는 일에는 두 단계가 있다. 뼈를 어디에 놓을지 정하고, 각 정점이 어느 뼈를 얼마나 따를지 정한다.

기존 자동 리깅은 대부분 사람 형태를 전제했다. 팔 둘, 다리 둘이라는 템플릿에 메시를 맞추는 방식이다. 네 발 짐승이나 문어 같은 형태에서는 무너진다.

RigNet은 그 전제를 버렸다. 형태 종류를 가정하지 않고 메시 자체에서 골격을 예측한다.

구조

입력은 3D 메시 하나다. 출력은 관절 위치와 계층 구조, 그리고 스킨 웨이트까지다. 중간에 사람 손이 들어가지 않는다.

핵심은 세 단계다. 먼저 정점마다 "여기 관절이 있을 것 같다"는 밀도를 예측한다. 그 밀도를 뭉쳐 관절 후보를 만든다. 마지막으로 후보들을 트리로 연결한다.

웨이트 예측에는 정점과 뼈 사이의 볼류메트릭 지오데식 거리를 쓴다. 직선 거리가 아니라 메시 내부를 통과하는 거리다. 팔이 몸통에 붙어 있어도 어깨뼈가 허벅지 정점을 끌어당기지 않는다.

입력 메시 뼈 없음 관절 밀도 정점별 예측 → 군집화 뼈 연결 트리 구성 스킨 웨이트 볼류메트릭 지오데식 거리 완성 리그 형태 종류를 가정하지 않으므로 사람·짐승·가상 생물에 같은 경로가 적용된다
메시에서 관절 후보를 뽑고, 트리로 엮고, 웨이트까지 한 흐름으로 잇는다.

학습 데이터

ModelsResource-RigNetv1 데이터셋을 만들어 썼다. 리깅된 모델 2,703개로 구성된다. 학습 2,163개, 검증 270개, 테스트로 나머지를 쓴다.

모델마다 메시·스켈레톤·스킨 웨이트가 모두 들어 있다. 결과 리그는 텍스트로 저장되고, Maya 스크립트로 FBX까지 뽑을 수 있다.

실무에서 읽을 점

이 논문은 리거를 대체하지 않는다. 예측된 관절은 애니메이터 기대에 가깝지만 그대로 쓰기엔 거칠다.

가치는 다른 데 있다. 배경 캐릭터나 프로토타입처럼 리그 품질보다 속도가 중요한 자산에서 시작점을 준다. Blender 애드온도 커뮤니티에서 나와 있다.

후속 연구도 이어졌다. 같은 그룹의 MoRig는 포인트 클라우드와 모션까지 함께 본다.

쉽게 풀어보기

인형을 움직이려면 안에 뼈대를 넣어야 한다. 뼈대가 없으면 인형은 굳은 덩어리일 뿐이다.

3D 캐릭터도 똑같다. 사람이 일일이 뼈를 놓고, 어느 살이 어느 뼈를 따라갈지 정해준다. 이걸 리깅이라고 한다.

손이 많이 가는 일이라 자동으로 하려는 시도가 많았다. 그런데 대부분 "사람 모양"만 가정해서 강아지나 괴물에는 안 통했다.

RigNet은 모양을 미리 정해두지 않는다. 덩어리를 보고 "여기쯤 관절이 있겠다"를 스스로 찍는다.

그리고 찍은 점들을 뼈로 이어 붙인다. 마지막에 살이 어느 뼈를 따를지도 계산해 준다.

아직 사람이 만든 것만큼 깔끔하지는 않다. 하지만 첫 뼈대를 빨리 만들어 주니까 시간이 많이 줄어든다.

광고

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

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

리깅 도구 보기