리깅 파이썬: 언리얼 파이썬 — 에디터 자동화로 리깅 파이프라인 잇기
언리얼 파이썬: 리깅 파이프라인을 자동으로 잇는 다리
게임 캐릭터가 팔을 흔들고 뛰어다니려면, 몸속에 뼈대가 있어야 해요. 이 뼈대를 만들어 주는 일을 리깅이라고 불러요. 인형에 실을 다는 것과 비슷해요. 실을 당기면 인형이 움직이듯, 뼈대를 움직이면 캐릭터가 움직여요.
그런데 문제가 하나 있어요. 리깅은 보통 마야나 블렌더 같은 프로그램에서 만들어요. 하지만 게임은 언리얼 엔진이라는 다른 프로그램 안에서 돌아가요. 언리얼 엔진은 에픽게임즈가 만든 게임 제작 도구예요. 1998년에 나온 '언리얼'이라는 게임을 만들려고 태어났는데, 지금은 게임뿐 아니라 영화와 드라마를 만들 때도 쓰여요.
그러니까 캐릭터는 이사를 해야 해요. 마야라는 집에서 언리얼이라는 집으로요. 이 이사를 사람이 손으로 하면 정말 힘들어요. 캐릭터 한 명 옮기는 데 클릭을 수십 번 해야 하거든요. 캐릭터가 100명이면? 상상만 해도 손목이 아프죠.
여기서 파이썬이 등장해요
파이썬은 쉬운 컴퓨터 언어예요. 언리얼 엔진은 원래 C++라는 어려운 언어로 만들어졌지만, 고맙게도 파이썬으로 말을 걸 수 있는 문을 열어 두었어요. 이 문이 바로 에디터 자동화예요.
쉽게 말하면 이런 거예요. 로봇 심부름꾼에게 쪽지를 써 주는 일이에요.
- "이 폴더에 있는 캐릭터 파일을 전부 가져와."
- "가져온 캐릭터마다 뼈대가 제대로 붙었는지 확인해."
- "이름이 규칙에 안 맞으면 고쳐 놔."
- "끝나면 결과를 표로 정리해 줘."
쪽지 한 장(스크립트 한 개)만 써 두면, 로봇은 캐릭터가 1명이든 100명이든 똑같이 척척 해내요. 사람은 커피 한 잔 마시고 오면 돼요.
파이프라인이란 물이 흐르는 관이에요
파이프라인은 '수도관'이라는 뜻이에요. 수도관에 물이 흐르듯, 캐릭터 데이터가 마야에서 언리얼까지 쭉 흘러가는 길을 말해요. 파이썬은 이 관의 이음새를 이어 주는 접착제예요. 관이 잘 이어져 있으면 물이 새지 않아요. 캐릭터도 뼈 하나 잃어버리지 않고 무사히 도착해요.
실제로는 이런 일을 시켜요
리깅하는 사람들이 언리얼 파이썬에게 자주 시키는 심부름은 이런 거예요.
- 한꺼번에 가져오기 — 캐릭터와 애니메이션 파일 수백 개를 버튼 한 번으로 언리얼 안에 들여와요.
- 뼈대 검사하기 — 뼈 이름이 틀렸거나 뼈가 빠진 캐릭터를 자동으로 찾아내요. 사람 눈으로 찾으면 하루 종일 걸리는 일이에요.
- 설정 붙이기 — 캐릭터마다 물리 설정이나 스켈레톤 연결을 자동으로 붙여요.
- 이름 정리하기 — 폴더와 파일 이름을 회사 규칙에 맞게 싹 바꿔요.
핵심은 이거예요. 같은 일을 두 번 하게 되면, 그때가 자동화할 때예요. 세 번째부터는 로봇이 하게 만드는 거죠.
직접 써 보면 이래요
쓸 때 좋은 점
가장 크게 느끼는 건 "다시 하기"가 무섭지 않다는 거예요. 리깅은 고치고 또 고치는 일이에요. 뼈 하나를 바꾸면 캐릭터를 언리얼에 다시 넣어야 하는데, 스크립트가 있으면 버튼 하나로 끝나요. 예전엔 "고치면 또 옮겨야 하는데…" 하고 한숨부터 나왔다면, 이제는 부담 없이 고쳐요. 그리고 실수가 사라져요. 사람은 50번째 캐릭터쯤에서 꼭 뭔가 빼먹는데, 로봇은 1번째와 100번째를 똑같이 해요.
쓸 때 힘든 점
처음 쪽지를 쓰는 게 생각보다 오래 걸려요. 손으로 하면 10분인 일을, 스크립트로 만드느라 한나절을 쓰기도 해요. 그래서 "이걸 몇 번이나 반복할까?"를 먼저 따져 봐야 해요. 한 번만 할 일이면 그냥 손으로 하는 게 나아요. 또 하나, 언리얼 파이썬은 어떤 명령이 되는지 찾는 게 번거로워요. 문서를 뒤지다 보면 "이 기능은 파이썬으로 안 되네?" 하고 막히는 순간이 와요. 그리고 엔진 버전이 올라가면 잘 돌던 스크립트가 갑자기 멈추기도 해요. 그럴 땐 쪽지를 다시 손봐야 하죠.
정리하면
언리얼 파이썬은 마야와 언리얼 사이에 놓는 자동 다리예요. 리깅한 캐릭터가 이 다리를 건너 게임 속으로 들어가요. 사람은 다리를 한 번만 잘 만들어 두면 돼요. 그다음부터는 캐릭터들이 알아서 줄지어 건너가니까요. 반복되는 클릭이 지겨워지는 순간, 그때가 파이썬 쪽지를 쓸 때예요.
출처
리깅 파이프라인 자동화 도구
반복 작업은 스크립트에게. 현업에서 쓰는 리깅 툴 모음.
리깅 도구 보기