제4장 블렌더 3D 실전 제작기
MSS(최소 만족 장면) 두 번째 제작에 들어섰습니다. 이번 핵심은 ‘키키의 고백 장면’. 연필꽃이 통 속에서 나와 키키와 마주하는 순간이죠.
오늘의 첫 번째 탐구는 Shape Key입니다.
Shape Key란 무엇일까요? Shape Key는 3D 모델의 형태를 저장하고 변형하는 기능입니다. 모델의 각 버텍스(Vertex) 위치를 기억해, 그 차이를 기반으로 형태를 바꾸는 방식이죠.
이 기능은 얼굴 표정뿐 아니라 물체 변형, 변신, 모핑 등 다양한 상황에서 활용됩니다. 이번 장면에서는 그중에서도 표정 표현에 초점을 맞춰 적용했습니다. 기본 형태(Base Shape)를 기준으로 얼굴 표정이나 입 모양처럼 특정 부위를 움직인 상태를 새로운 키(Key)로 저장할 수 있습니다.
예를 들어,
“Smile” 키 → 입꼬리를 위로
“Blink” 키 → 눈꺼풀 닫기
“Angry” 키 → 눈썹 찌푸리기
이렇게 여러 Shape Key를 혼합(Blend)하면, 자연스럽고 생동감 있는 표정을 만들 수 있습니다.
장점은 리깅이 필요 없어 가볍고 단순하다는 것과 고해상도 모델에도 적용 가능하며, 눈,코,입 등 세밀한 제어에 유리하다는 것입니다.
단점은 자동 움직임이 어려워 수동 키프레임 작업이 필요하고, 립싱크 자동화나 대사 연동을 위해선 추가 연결 세팅이 필요합니다.
Shape Key의 기본 원리는
“모델의 각 버텍스(Vertex) 위치를 기억해 두는 방식” 입니다. 쉽게 말해, 모델의 형태를 특정 시점에 저장해두고 그 차이를 기준으로 변형을 만들어내는 기능이죠.
기본 얼굴 형태는 Basis(기준형) 입니다. 이 상태에서는 모든 버텍스가 원래 위치에 있습니다.
Surprise를 예로 들어보겠습니다.
입모양을 만들어 얼굴을 변형하면, 그 변형된 형태를 ‘Surprise’라는 이름으로 저장할 수 있습니다.
이때 Value(값) 슬라이더를 조절하고, Basis에서 Surprise로의 변형 정도를 숫자로 제어할 수 있습니다.
Value = 0 → 기본 상태 (Basis)
Value = 1 → 완전히 놀란 얼굴 (Surprise)
즉, Blender는 Surprise 상태에서 움직인 모든 버텍스의 좌표를 기억하고, Value 값을 조절할 때마다 그 좌표로 점점 이동시키는 구조입니다. Shape Key는 이렇게 버텍스 단위로 작동하는 변형 데이터입니다.
그외에 블렌더에서 사용하는 다른 방법도 알아보겠습니다.
Bone-based Facial Rig (본 리그 방식)
Shape Key보다 한 단계 높은 수준의 얼굴 제어 방식입니다. 얼굴의 각 부위(눈썹, 입, 뺨, 턱 등)에 작은 본(Bone) 을 배치하여, 이 본을 움직이면 얼굴 메시가 따라 변형되는 구조입니다. 아래 예시처럼, 본이 입가나 눈 주변에 연결되어 있고 이를 조작함으로써 표정을 직접 제어할 수 있습니다.
장점으로는 컨트롤러를 이용한 실시간 조작 가능하고, 립싱크·눈동자·감정 변화 등 동적 연출에 유리하며, Pose Library로 표정 프리셋 저장 가능합니다.
단점은 설정 과정이 복잡하고, Weight Paint나 Constraint 세팅이 필요하다는 것, 세밀한 표정(예: 미묘한 입술 주름)은 Shape Key보다 표현이 제한이 있습니다.
다음으로는 혼합 방식(Hybrid Facial Rig) 입니다. 이 방식은 Shape Key와 Bone을 함께 사용하는 프로덕션용 구조로, Pixar, DreamWorks, Disney 등 대부분의 스튜디오에서도 널리 활용되고 있는 방식입니다.
보통 큰 움직임(입 벌리기, 턱, 눈꺼풀 등) 은 Bone으로 제어하고, 섬세한 감정 표현(웃음, 찡그림, 눈꼬리 움직임 등) 은 Shape Key로 보정하는 형태입니다. 저 역시 이 방식을 병행해서 사용하고 있습니다. 사실, 프로젝트마다 상황에 맞게 두 방식을 조합해 사용하는 것이 가장 현실적인 방법이죠. 특정한 방식을 고정해서 쓰기보다는, 캐릭터의 상황과 감정선에 따라 유연하게 적용하게 되는 것 같습니다.
마지막으로 요즘은 AI와 외부 툴을 활용해 표정이나 립싱크를 자동화하는 방법도 많이 사용되고 있습니다.
예를 들어,FaceIt Add-on은 비디오나 웹캠을 통해 얼굴 움직임을 추적하고, 그 데이터를 Blender 리그에 자동으로 반영해 애니메이션을 생성할 수 있습니다. 다만, 제 캐릭터들은 일반적인 사람 얼굴 구조가 아니기 때문에, 이러한 자동화 툴을 활용하기가 사실상 어렵습니다. 현재로서는 이 방식을 사용하지 않고, 더 직접적인, 수동적인 방식으로 작업을 진행하고 있습니다.
두번째 탐구 성우
민망하게도 제가 직접 상황 연출을 위해 음향을 녹음하고, 대사도 덧붙여 작업을 진행 중입니다. 하지만 작업 파일을 영상으로 올리려니, 제 목소리를 그대로 공개하기가 쉽지 않았습니다. 혼자 듣고 있어도 많이 무안한 상황이거든요. 그래서 진행 상황 영상을 만들기 위해 AI 성우를 활용해 테스트를 진행하게 되었습니다.
Typecast(AI Voice Actor) 를 이용해 대사 녹음을 진행했습니다. 테스트 과정이라 완벽하지는 않지만(감정의 방향은 맞추기가 어려웠음), 대사의 타이밍을 잡는 데에는 충분히 도움이 되었습니다.
최종 버전에서는 제가 직접 감정을 담아 녹음한 뒤, 그 음성을 성우의 목소리로 변환해보는 방식을 시도해볼 계획입니다. 찾아보니 이미 많은 분들이 이 방식을 사용 중이였습니다. 사용법을 조금 더 익힌 뒤(영상에 적용시켜본 후), 립싱크와 대사 녹음은 다음 글에서 자세히 다뤄보겠습니다. 이번 테스트 영상이 궁금하시다면 아래 링크에서 확인하실 수 있습니다.
다음 주에는 립싱크와 대사 녹음의 실제 작업 과정을 정리해볼 예정입니다. 조금씩 형태를 갖춰가는 ‘몽땅이의 세계’를 함께 지켜봐 주세요