스크립트 언어라는 것 — 맥스스크립트·멜과 파이썬은 뭐가 다를까?

스크립트 언어라는 것 — 맥스스크립트·멜과 파이썬은 뭐가 다를까?
3D 프로그램에서 캐릭터를 움직이게 만드는 일을 "리깅"이라고 해요. 뼈대를 심고, 관절을 만들고, 손잡이를 붙이는 일이에요.
그런데 이 일을 손으로 하나하나 하면 정말 오래 걸려요. 뼈 200개를 일일이 만든다고 생각해 보세요. 하루가 다 가요.
그래서 사람들은 컴퓨터에게 시켜요. 이때 쓰는 게 스크립트예요.
스크립트는 "심부름 쪽지"예요
엄마가 여러분에게 쪽지를 줬다고 해봐요.
1. 슈퍼에 간다
2. 우유 하나 산다
3. 집에 온다
이게 바로 스크립트예요. 짧고, 순서가 있고, 원래는 사람이 손으로 하던 일을 대신 시키는 글이죠.
컴퓨터에게 주는 심부름 쪽지를 쓰는 언어를 스크립트 언어라고 불러요. 쪽지를 쓰는 행동은 스크립팅이라고 하고요.
3D 프로그램마다 자기 말이 있어요
여기서 재밌는 일이 생겨요.
3ds Max라는 프로그램은 맥스스크립트(MAXScript)라는 말을 써요.
Maya라는 프로그램은 멜(MEL)이라는 말을 써요.
둘 다 스크립트 언어인데, 서로 말이 통하지 않아요.
왜 이렇게 됐을까요? 아주 오래전에 각 프로그램을 만든 회사가 "우리 프로그램만 쓸 말"을 따로 만들었기 때문이에요. 마치 옆 마을과 사투리가 완전히 다른 것처럼요.
파이썬은 "여러 마을이 함께 쓰는 말"이에요
그러다 파이썬이 들어왔어요.
파이썬은 3D 프로그램 전용으로 만든 말이 아니에요. 원래 세상 어디서나 쓰는 말이에요. 웹사이트, 게임, 인공지능… 다 파이썬을 써요.
그런데 3D 프로그램 회사들이 생각했어요. "다들 쓰는 말인데, 우리 프로그램도 알아듣게 하자."
그래서 지금은 3ds Max도, Maya도, 블렌더도, 후디니도 파이썬을 알아들어요.
그럼 이제 파이썬만 쓰면 되나요?
그건 아니에요. 리깅하는 사람들은 지금도 두 가지를 같이 써요.
비유를 들어볼게요.
여러분이 외국 친구 집에 놀러 갔어요. 그 집에는 그 집만의 규칙이 있어요. "신발은 여기 벗어두고, 리모컨은 저기 있고…" 이런 건 그 집 사람이 제일 잘 알죠.
맥스스크립트와 멜이 바로 그 집 사람이에요. 자기 프로그램 안에서 벌어지는 일은 누구보다 잘 알아요. 어떤 버튼이 어디 숨어 있는지, 옛날 기능은 어떻게 부르는지 다 알고 있어요.
파이썬은 여러 집을 오가는 친구예요. 파일을 옮기고, 엑셀 표를 읽고, 다른 프로그램과 이야기하고, 인터넷에서 자료를 받아오는 건 파이썬이 훨씬 잘해요.
실제 리깅 현장에서는 이렇게 나눠요
뼈대를 만들고 관절을 이어붙이는 일 — 프로그램 안에서만 벌어지는 일이니까 그 프로그램 말로 하면 빨라요.
캐릭터 100개를 폴더에서 꺼내 순서대로 검사하고, 결과를 표로 정리해 팀에게 보내는 일 — 이건 파이썬이 압도적으로 편해요.
그래서 실무자들은 파이썬으로 큰 흐름을 짜고, 꼭 필요한 순간에만 멜이나 맥스스크립트를 불러다 써요. 파이썬 안에서 멜 명령을 실행할 수도 있거든요. 통역사를 부르는 셈이죠.
파이썬을 쓸 때 좋은 점
한 번 배우면 오래 써요. 회사를 옮겨서 프로그램이 바뀌어도 파이썬 지식은 그대로 따라와요. 멜만 알던 사람이 3ds Max 팀으로 가면 처음부터 다시 배워야 해요.
남이 만든 걸 갖다 쓸 수 있어요. 파이썬은 쓰는 사람이 워낙 많아서, 이미 만들어진 도구가 산더미처럼 쌓여 있어요. 엑셀 읽기, 이미지 자르기, 서버에 파일 올리기… 직접 만들 필요가 없어요.
물어볼 곳이 많아요. 막혔을 때 검색하면 답이 나와요. 멜은 검색해도 10년 전 글 몇 개가 전부일 때가 많아요.
파이썬을 쓸 때 힘든 점
느릴 때가 있어요. 뼈 5000개를 하나씩 만지면 파이썬은 눈에 띄게 버벅여요. 같은 일을 멜로 하면 훨씬 빨리 끝나기도 해요. 통역을 한 단계 거치는 셈이라 그래요.
버전이 안 맞아서 속 터져요. 어제 잘 돌던 코드가 프로그램을 새 버전으로 올리자마자 안 돌아가요. 파이썬 2에서 3으로 넘어가던 시절에는 회사마다 코드를 갈아엎느라 몇 달을 썼어요.
옛날 기능은 파이썬으로 못 부를 때가 있어요. 아주 오래된 기능은 멜로만 열려요. 그럴 땐 어쩔 수 없이 파이썬 안에서 멜을 불러야 하는데, 코드가 지저분해져요.
설치가 성가셔요. 좋은 도구를 발견해도 회사 컴퓨터에 깔려면 절차가 복잡할 때가 많아요.
정리하면
스크립트는 원래 사람이 손으로 하던 일을 대신 시키는 짧은 심부름 쪽지예요.
맥스스크립트와 멜은 각 프로그램의 집주인 말이에요. 그 안에서는 빠르고 정확해요.
파이썬은 세상 공통어예요. 밖으로 나가는 일, 여러 프로그램을 이어붙이는 일에 강해요.
둘 중 하나를 고르는 게 아니라, 어디까지가 집 안 일이고 어디부터가 바깥 일인지 나눠서 맡기는 게 리깅 실무의 요령이에요.
처음 배운다면 파이썬부터 시작하세요. 그리고 필요할 때 그 프로그램의 말을 조금씩 익히면 돼요.
출처
리깅 파이프라인 자동화 도구
반복 작업은 스크립트에게. 현업에서 쓰는 리깅 툴 모음.
리깅 도구 보기