모션 매칭과 애니메이션 블렌딩: 그림이 부드럽게 움직이는 비밀

모션 매칭과 애니메이션 블렌딩: 그림이 부드럽게 움직이는 비밀
만화 영화 속 인물이 뛰어갈 때, 우리는 그 움직임을 자연스럽게 느낍니다. 하지만 사실 그건 그림 여러 장을 아주 빠르게 넘긴 것일 뿐입니다. 오늘은 그 그림들 사이의 빈틈을 컴퓨터가 어떻게 메우는지 알아봅시다.
1. 애니메이션은 사실 '그림 넘기기'다
공책 구석에 그림을 여러 장 그린 다음, 빠르게 촤르륵 넘겨본 적 있나요? 그림이 살아 움직이는 것처럼 보입니다. 이걸 플립북이라고 합니다.
애니메이션도 똑같습니다. 1초 동안 24장에서 60장쯤 되는 그림이 지나갑니다. 이 그림 한 장 한 장을 프레임(frame)이라고 부릅니다.
그런데 문제가 있습니다. 그림 장수가 적으면 어떻게 될까요? 움직임이 뚝뚝 끊겨 보입니다. 마치 로봇처럼요.
2. 빈칸을 채우는 마법: 모션 인터폴레이션
여기서 컴퓨터가 등장합니다. 컴퓨터는 이렇게 생각합니다.
"1번 그림에서 공이 왼쪽에 있고, 2번 그림에서 공이 오른쪽에 있네? 그럼 그 사이에 공은 가운데에 있었겠구나!"
그래서 컴퓨터가 없던 중간 그림을 스스로 만들어냅니다. 이것이 바로 모션 인터폴레이션(motion interpolation), 우리말로는 '움직임 사이 채우기'입니다.
조금 더 어려운 이름으로는 MCFI(움직임 보정 프레임 보간)라고도 하고, 요즘 게임에서는 프레임 생성이라고 부르기도 합니다. 이름은 달라도 하는 일은 같습니다. 있는 그림 사이에 없는 그림을 지어내기.
3. 왜 이런 걸 만들까?
이유는 크게 세 가지입니다.
① 더 부드럽게 보이려고
그림이 많아질수록 움직임은 매끄러워집니다. 계단을 오를 때, 계단 수가 많고 낮으면 걷기 편한 것과 같습니다.
② 화면의 흐릿함(잔상)을 줄이려고
TV 화면에서 빠르게 움직이는 물체가 번져 보인 적 있죠? 이걸 '모션 블러'라고 합니다. 중간 그림을 넣으면 이 번짐이 줄어듭니다.
③ 가짜 슬로우 모션을 만들려고
느린 화면을 만들려면 그림이 아주 많아야 합니다. 원래 없던 그림을 컴퓨터가 지어내면, 촬영을 다시 하지 않고도 슬로우 모션을 만들 수 있습니다.
4. 그럼 '블렌딩'은 뭘까?
블렌딩(blending)은 '섞기'라는 뜻입니다. 믹서기에 딸기와 우유를 넣고 갈면 딸기우유가 되죠. 애니메이션에서도 똑같은 일이 벌어집니다.
캐릭터가 걷기에서 달리기로 바뀐다고 해봅시다. 갑자기 툭 바뀌면 어색합니다. 그래서 컴퓨터는 이렇게 합니다.
- 처음: 걷기 90% + 달리기 10%
- 조금 뒤: 걷기 50% + 달리기 50%
- 마지막: 걷기 0% + 달리기 100%
이렇게 두 동작을 조금씩 섞어가며 자연스럽게 넘어가는 것이 애니메이션 블렌딩입니다.
5. '모션 매칭'은 또 뭐지?
게임 속 캐릭터는 우리가 조종하는 대로 움직여야 합니다. 왼쪽으로 갔다가, 갑자기 멈췄다가, 뒤로 돌기도 합니다. 이 모든 동작을 미리 다 만들어 둘 수는 없습니다.
그래서 모션 매칭이라는 방법을 씁니다. 컴퓨터가 동작 창고를 가지고 있다고 상상해 보세요. 그 창고에는 사람이 실제로 움직인 동작이 수천 개 들어 있습니다.
플레이어가 조이스틱을 움직이면, 컴퓨터는 매 순간 이렇게 묻습니다.
"지금 캐릭터 자세는 이렇고, 앞으로 가야 할 방향은 이쪽이야. 창고에 있는 수천 개 동작 중에서 지금 상황과 가장 비슷한 것은 뭐지?"
가장 잘 맞는(matching) 동작을 골라서 이어 붙입니다. 그리고 이어 붙이는 순간의 어색함은 블렌딩으로 부드럽게 문질러 줍니다.
도서관에서 사서가 "이 책과 가장 비슷한 책"을 찾아주는 것과 비슷합니다. 다만 사서가 1초에 수십 번 책을 찾아준다고 생각하면 됩니다.
6. 세 가지를 한 줄로 정리하면
| 이름 | 하는 일 | 비유 |
|---|---|---|
| 모션 인터폴레이션 | 그림과 그림 사이에 없던 그림을 만들어 넣기 | 징검다리 사이에 돌 놓기 |
| 애니메이션 블렌딩 | 두 동작을 비율로 섞어 자연스럽게 넘어가기 | 딸기와 우유를 섞어 딸기우유 만들기 |
| 모션 매칭 | 동작 창고에서 지금 상황에 가장 맞는 동작 고르기 | 사서가 알맞은 책을 찾아주기 |
7. 완벽하지는 않아요
컴퓨터가 만든 중간 그림은 진짜가 아니라 추측입니다. 그래서 가끔 이상한 일이 벌어집니다.
- 물체가 너무 빨리 움직이면, 중간 그림이 흐물흐물 녹아 보입니다.
- 물체가 다른 물체 뒤에 숨었다 나오면, 컴퓨터가 헷갈려서 이상한 자국을 남깁니다.
- 영화팬들은 이걸 "드라마 촬영장처럼 보인다"며 비눗방울 드라마 효과라고 놀리기도 합니다. 너무 부드러워서 오히려 영화 같지 않다는 뜻이죠.
그래서 만드는 사람들은 늘 고민합니다. 얼마나 부드럽게 만들어야 자연스러울까?
8. 마무리: 부드러움은 공짜가 아니다
우리가 게임과 영화에서 보는 매끄러운 움직임 뒤에는, 그림 사이의 빈칸을 채우고, 동작을 섞고, 알맞은 동작을 골라내는 수많은 계산이 숨어 있습니다.
다음에 캐릭터가 부드럽게 달리는 걸 보면, 이렇게 생각해 보세요.
"지금 저 사이사이에, 원래는 없던 그림들이 몰래 끼어 있구나."
출처
리깅 파이프라인 자동화 도구
반복 작업은 스크립트에게. 현업에서 쓰는 리깅 툴 모음.
리깅 도구 보기