On this page
요즘 만들고 있는 rig-c 대문에 오늘 트레일러를 하나 걸었습니다. 그림 한 장 넣었더니 그네에 앉은 캐릭터가 고개를 갸웃하고, 다리를 흔들고, 폴짝 뛰고, 손까지 흔들어 줍니다. 저는 뼈 하나 안 심었습니다. Spine 전문가도 아니고요. 오늘은 그 얘기를 해 보려고 합니다.
에이전트가 만든 리그를 검사하기
rig-c는 2D 캐릭터 리깅용 오픈소스 툴체인입니다. 그림 레이어를 리깅용 파츠로 조립하는 도구, 리그를 컴파일하는 도구, 브라우저에서 돌리는 플레이어, 이렇게 셋입니다. 좀 별난 점이 있다면 이걸 쓰는 주체가 사람이 아니라 AI 에이전트라는 겁니다.
문제는 숫자를 써넣고 파서가 받아 줬다고 해서 움직임까지 자연스러운 건 아니라는 겁니다. 빌드는 통과했는데 영상을 보면 어색한 부분이 남아 있었습니다.
그래서 rig-c에는 오류를 잡고 원인을 알려 주는 검사를 넣었습니다. 단계마다 잰 값을 그대로 찍어 주고, 확인 못 한 건 이름을 콕 집어서 거부합니다. 검사를 못 넘기면 파일이 아예 안 나옵니다.
이 검사로 잡힌 문제도 여럿 있었습니다. 오늘 얘기는 검사를 통과하고도 남아 있던 문제들입니다.
"트레일러는 네가 직접 만들어 봐"
이 트레일러는 평소 프로젝트 살림을 맡고 있는 로아(Claude)가 만들었습니다. 그림은 별도로 준비하고, 레이어로 쪼개고, rig-c로 리그 설정 쓰고, 그네를 아예 캐릭터 뼈대에 붙여 버리고, 머리카락 가닥마다 물리 걸고, 연기 짜고, 영상 합성까지. 저는 "귀엽게 좀 만들어 봐" 한마디 던져 놓고 딴 일 하러 갔습니다.
자기가 만든 도구를 손님 입장에서 써 보게 했더니 효과가 바로 나왔습니다. 하루 만에 도구 결함을 다섯 개나 밟더라고요. 등 뒤로 늘어뜨린 긴 머리가 조립하다 슬쩍 빠져 버린다든가, 검사기가 "캐릭터는 당연히 서 있겠지" 하고 넘겨짚고 있다든가. 그중 셋은 그날 바로 고쳐서 릴리스까지 나갔습니다. 덕분에 지금 공개된 제작 과정은 명령 한 줄이면 끝납니다.
여기까지는 도구가 걸러 줬거나 로아가 자기 보고서를 읽다가 찾은 것들입니다. 진짜 재미있는 건 제가 영상을 보다가 찾은 쪽이었습니다.
검사는 다 통과했는데 그림이 이상합니다
그날 제가 한 피드백을 다 모아도 이게 전부입니다.
- "눈 모양이 얼굴 기울기랑 안 맞는데?"
- "가슴이 안 움직여. 종이인형 같아."
- "손이 너무 작아. 쫙 편 손은 얼굴 크기에 맞춰야지."
- "손 흔들 때 손목 부러지는데?"
어떻게 리그를 고쳐야 하는지까지 알려 준 피드백은 아니었습니다. 전문가였다면 "눈 뼈 24도 돌려" 했겠죠. 저는 그런 말은 못 합니다. 어디가 이상해 보이는지만 말할 뿐입니다. 그런데 이 네 가지, 전부 검사를 멀쩡히 통과한 상태였습니다.

눈부터 볼까요. 이 캐릭터는 고개를 기울인 채로 그려져 있습니다. 나중에 재 보니 23.7도였습니다. 그런데 눈 뼈는 종이 방향 그대로 똑바로 서 있었습니다. 깜빡임은 눈을 뼈의 위아래로 납작하게 누르는 동작인데, 뼈가 종이 기준으로 서 있으니 눈도 얼굴이 아니라 종이 기준으로 눌린 겁니다. 그래서 눈을 감으면 기울어진 얼굴에 가로줄 두 개가 반듯하게 그어졌습니다. 로아는 제 한마디를 듣고 각도를 찾아내더니, 눈·눈썹·입 뼈 다섯 개를 두 눈을 잇는 선에 맞춰 돌려놓고 전후 사진을 가져왔습니다.
제가 제일 마음에 들었던 건 그다음입니다. 트레일러만 고치고 끝낼 줄 알았는데, "이거 다른 캐릭터에서도 터지는 거 아니야?"를 따져 보더라고요. 따져 보니 고개를 기울여 그린 캐릭터는 전부 해당이었습니다. 저녁쯤엔 이슈가 두 개 올라가 있었습니다. 하나는 도구가 애초에 얼굴 방향대로 뼈를 세우게 고치자는 것, 또 하나는 어떤 리그든 이걸 지키는지 검사하는 규칙을 새로 넣자는 것. 검사 규칙은 그날 바로 머지됐습니다. 제 잔소리가 검사 항목이 된 겁니다.
손목은 실수 두 개가 겹친 거였습니다. 손바닥에 달린 팔뚝이 소매랑 14도 어긋나 있었고, 손 전체가 소매 끝을 축으로 팔과 엇박자로 ±15도씩 덜렁거리고 있었습니다. 지금은 팔뚝이 소매를 따라 곧게 이어지고, 손만 손목에서 살짝, 반 박자 늦게 따라옵니다. 물론 저는 이런 건 하나도 몰랐습니다. 부러져 보인다는 것만 알았죠.
사람의 검수와 AI의 수정
사실 그날 저는 "내가 비전문가라 오더가 좀 어설프다"고 미안해하면서 시작했습니다. 하지만 이 도구는 그런 피드백으로도 쓸 수 있게 만들고 싶었습니다. 저는 어디가 이상한지 말하고, 리그를 어떻게 고칠지는 에이전트가 찾는 거죠. 뼈의 각도까지 직접 지정하지 않아도 수정할 수 있어야 하니까요.
움직이는 걸 보니 자동 검사가 놓친 문제들이 보였습니다. 로아가 원인을 찾고 나면, 기울어진 얼굴을 고쳤을 때처럼 다음부터 검사할 수 있는 규칙으로 남길 수 있었습니다.
직접 돌려 보세요
트레일러를 만든 재료는 전부 공개해 뒀습니다. 그림, 분해한 레이어, 설정 파일, 짧은 스크립트 세 개입니다.
git clone https://github.com/rig-c/trailer && cd trailer pip install -r requirements.txt ./build.sh
공개된 패키지만 가지고 그림에서 영상까지 그대로 다시 만들어집니다. 제 컴퓨터에서는 8분이 채 안 걸렸고, 결과물은 바이트 하나 안 틀리고 똑같이 나왔습니다. GPU도 필요 없습니다. README에 "리뷰가 잡은 것"이라는 표가 있는데, 제가 뭐라고 했고, 진짜 원인이 뭐였고, 어떻게 고쳤고, 어느 이슈로 넘어갔는지를 정리해 둔 겁니다. 하나만 보신다면 그 표를 추천합니다.
하늘, 불빛, 자막은 렌더 뒤에 별도로 합성했습니다. 리그가 담당하는 것은 캐릭터의 움직임입니다.
rig-c는 MIT 라이선스로 공개되어 있습니다. github.com/rig-c
