귀인 김수동! ‘CG옥’에 온 걸 환영합니다. 지금부터 처음 보는 세계를 맛보게 될겁니다. 나를 따라오십시오. 하지만 정신은 바짝 차려야 합니다. 그렇지 않으면 이곳에선 뭐가 진짜고 뭐가 가짜인지 알 수 없을 테니까요.
‘신과 함께1’은 남을 구하다가 죽은 소방관 ‘김자홍’이, ‘신과 함께2’는 억울하게 죽은 군인 ‘김수홍’이 각각 저승에서 49일 동안 재판받는 이야기를 담은 영화입니다. 1편에서는 어머니와 가족 사이의 사랑을 다루고, 2편에서는 용서를 주제로 삼아 관객의 눈시울을 붉혔지요. 주제도 다르고 줄거리도 다른 두 영화에 빠질 수 없는 공통점이 있습니다. 바로 남은 평생 착하게 살아야겠다고 다짐하게 만드는 무시무시한 지옥 세계죠!
아무도 가능할 거라 생각 못 했던 영화
원작인 웹툰이 큰 성공을 거뒀는데도 실사 영화화 소식에 다들 걱정이 앞섰어요. “정말 만화 속 지옥을 만들어내는 게 가능할까?”라는 생각이 들었기 때문이죠. 컴퓨터그래픽(CG)을 사용하는 영화는 많이 봤지만 거의 처음부터 끝까지 다 CG로 만들어야 하는 초대형 한국 판타지 영화를 본 적은 없었으니까요.
그런데 웬걸, 베일을 벗은 ‘신과 함께’는 여봐란듯이 원작 속 지옥을 그대로 스크린으로 끌어냈어요. ‘이건 생략하겠지?’ 혹은 ‘이게 될까?’ 싶었던 것들도 모조리 등장했고요. 그림보다 훨씬 더 생생하고 진짜 지옥 같은 모습으로 말이죠.
불가능을 가능으로 만든 일등공신은 CG 기술이에요. ‘신과 함께’는 대략 1900샷 중 1700샷을 CG로 만든 영화예요. 약 90%를 CG로 만든 셈이죠.
심지어 배경뿐만 아니라 배우까지도 ‘휴먼 스캔’ 기술을 이용해 완전히 디지털로 만들어 촬영하기도 했어요. ‘신화 함께’ 1편에서 배우 차태현이 아이를 안고 빌딩에서 떨어지는 장면이 디지털 배우인 CG가 연기한 부분이었죠. 그렇게 자연스러운 표정과 움직임이 모두 CG였다니, 놀랍지 않나요?
‘신과 함께’ CG를 만든 덱스터 스튜디오는 환경을 표현하는 프로그램 ‘ZENV’와 털을 표현하는 프로그램 ‘ZENN’을 개발해 더욱 생생한 지옥을 만드는 데 성공했어요. 그 덕분인지 ‘신과 함께’ 1편은 1000만 관객을 돌파하며 역대 한국 영화 흥행 순위 2위를 차지했죠. 하지만 처음부터 이런 기술을 뚝딱 개발한 건 아니에요. ZENN을 만들 땐 2년이 넘도록 털 만드는 프로그램에만 몰두했다고 해요.
CG가 어떻게 탄생하는 것이길래 간단해 보이는 털도 그렇게 만들기 어려운 걸까요? 또 CG에서 수학은 어떻게 쓰이는 걸까요? CG가 만들어지는 과정을 따라가며 진짜인 듯 가짜 같고, 가짜인 듯 진짜 같은 그래픽의 세계를 파헤쳐 보죠!
어떤 복잡한 그래픽도 출발은 점, 선, 면!
CG에서 가장 기본이 되는 것은 ‘폴리곤 모델’이에요. 폴리곤은 점, 선, 면으로 이뤄진 다면체인데, 만들고 싶은 대상을 다면체 모양으로 만든 걸 폴리곤 모델이라고 하죠. 폴리곤 모델로 틀을 잡았다면 다음은 이 물체를 어떻게 움직일 건지 계산해야 해요.
수많은 폴리곤 모델이 모여 캐릭터 하나가 되거나 나무 한 그루가 되는데, 모든 폴리곤 모델을 장면마다 일일이 제어하려면 너무 힘이 들겠죠? 그래서 무엇을 표현한 폴리곤 모델이냐에 따라 적절한 공식을 적용해 컴퓨터가 알아서 움직임을 계산하게끔 만들어야 해요.
이때 각 점을 좌표로 두고 방정식을 이용하면 조건이 변할 때마다 폴리곤 모델로 만든 물체가 스스로 움직이게 돼요. 예를 들어 물을 표현한 폴리곤 모델이라면 ‘나비에-스토크스 방정식’을 적용해 물의 움직임을 나타내고, 비행기를 만들었다면 베르누이 방정식을 적용해 하늘을 날게 할 수 있죠.
CG 기술은 단순히 멈춰있는 그림을 모은 것이 아니라 컴퓨터가 물체를 움직이게 만드는 작업이라 수학, 물리학, 프로그래밍이 중요해요. 심지어 살아있는 생물을 표현할 때는 해부학까지 공부하기도 한다네요.
머리가 점점 복잡해진다고요? 걱정하지 마세요. 어려울수록 기본을 기억하면 됩니다. 점, 선, 면, 점, 선, 면…. 그럼 점, 선, 면을 떠올리며 아래 그림을 따라 호랑이 털을 한 올만 만들어 보죠.
더 좋은 알고리듬이 CG 효율을 결정한다
이제 털 한 올은 완성했습니다. 생각보다 간단하다고요? 노노, 게임은 지금부터 시작입니다. 온 몸에 털이 한 가닥만 있는 생물은 없으니까요. 이제 이런 털을 수백만 개 만들고 움직임을 제어해야 해요. 게다가 털이 어떤 방향으로 표면에 붙어있게 할 건지, 어떻게 움직이게 할 건지 결정할 또 다른 공식이 필요하죠.
강원철 덱스터 스튜디오 CG 슈퍼바이저는 “털 만드는 게 적분에 가까운 과정이라면 털의 움직임을 설정하는 것은 미분에 가깝다”라며 “표면에서 접선을 구해 그 방향으로 털을 붙이거나 살가죽이 움직일 때 그 위치에 맞춰서 털이 자연스러운 기울기로 움직이게 한다”고 설명했어요. 만든 털을 표면에 아무렇게나 붙이면 팔이 움직일 때 정작 털은 반대 방향으로 휘거나 엉뚱한 모양이 될 수 있다는 말이죠.
움직임에 쓸 알맞은 공식을 생각해냈다 해도 문제는 남아있어요. 수백만 개의 털을 하나하나 계산하고 있다간 한 컷에만 어마어마한 데이터를 쓰게 될 테니까요. 이러다 ‘CG옥’에 갇혀 영원히 렌더링만 반복해야 할 거예요! 데이터가 지나치게 크면 렌더링 자체도 어렵고, 렌더링이 가능하다 해도 너무 시간이 오래 걸리므로 제작비가 어마어마하게 불어나거든요.
그래서 CG에서는 물체를 만드는 것 이상으로 물체를 다루는 기술이 중요해요. 정석희 덱스터 스튜디오 CG 슈퍼바이저는 “‘오브젝트(CG로 만든 대상)’를 잘 다루는 것은 곧 좋은 알고리듬을 쓴다는 말과 같다”며, “같은 계산도 더 빨리 할 수 없는지, 또 아티스트가 사용하기에 더 편하게 만들 수 없는지에 대한 아이디어가 끊임없이 필요하다”고 말했어요. 똑같은 공식을 쓰더라도 과정을 다르게 만드는 좋은 알고리듬을 찾는 게 중요한 거죠.
상상을 현실로 만드는 CG의 미래
이제 곧 ‘CG옥’에서 나갈 텐데 CG에 대해선 좀 알게 됐나요? 예전에는 머릿속에서 상상할 수밖에 없었던 것을 이제는 CG로 좀 더 자유롭게 표현할 수 있게 됐어요. 강 슈퍼바이저는 CG에 대해 “CG는 내가 표현하고 싶은 이미지를 찾아가는 한 방법”이라며, “수학은 그걸 쉽게 만들어주는 언어”라고 말했죠.
의학, 우주, 항공, 건설, 기상관측 분야에서 이미 맹활약 중인 CG 기술이 발전할수록 우리 삶에서 차지하는 자리가 점점 더 커질 거예요. 관심이 생긴다면 수학을 좋아하는 사람이 CG에 도전해 보는 것도 좋을 것 같네요!
‘CG옥’은 진짜 같은 가짜였지만 언젠가 진짜 지옥에 갇힐지도 모르니 ‘신과 함께’ 등장인물들처럼 지옥에서 눈물 콧물 쏟으며 후회하지 말고 남은 생, 우리 모두 착하게 살아요~.
다면체의 그림자 분신술! 누가누가 진짜일까?
염라가 걷는 숲은 수백 그루의 나무로 이뤄져 있다. 이 나무 한 그루에 들어가는 데이터는 몇십 메가바이트에서 몇백 메가바이트에 달한다. 잠깐 스쳐 지나가는 배경으로 수백 메가바이트짜리 나무가 수백 그루나 있다면 렌더링하는 데 얼마나 오랜 시간이 걸릴까?
이런 문제를 해결하기 위해 쓰이는 중요한 CG 기술이 있다. 바로 CG 계의 그림자 분신술 ‘인스턴스 스캐터링’ 기술이다.
인스턴스 스캐터링은 데이터를 모두 지닌 원본 나무는 하나만 두고 그 주변에 CG의 뼈대가 되는 폴리곤 모델의 수치 정보만 여기저기 뿌려두는 기술이다. 질감까지 완전히 입힌 진짜 나무는 몇 개만 있고 나머지는 속에 다면체밖에 없는 분신 나무들이다.
이 방법을 쓰면 데이터를 크게 줄일 수 있다. 게다가 수치 정보만 있어도 각도나 방향을 다르게 움직일 수 있으니 단순한 꼭두각시 인형도 아니다. 제각각 다르게 움직이는 그림자 분신술이라니! 좋은 아이디어 덕에 생생한 CG를 한층 빠르게 만들 수 있게 됐다.
●인터뷰 : ‘신과 함께’ 지옥을 탄생시킨 사람들을 만나다!
Q ‘신과 함께2’에서 특히 힘들었던거나 기억나는 장면이 있나요?
강원철) 물이 나오는 장면입니다. CG에서 물은 표현하기 어렵거든요. 가만히 흐르는 건 그래도 나은 편인데 커다란 물고기가 헤엄친다든가 큰 파도가 친다든가 하는 상호작용이 있을 때는 원하는 모양과 움직임을 만드는 게 무척 어려워요. 컴퓨터가 물의 움직임을 수만, 수백만 개의 입자로 시뮬레이션하기 때문에 계산 시간이 오래 걸리는 데다 원하는 모양을 정확히 제어하기도 힘들기 때문입니다. 그래서 삼도천을 건널 때 등장한 거대 인면어는 특히 손이 많이 갔죠.
Q 덱스터만의 프로그램을 따로 개발하는 이유가 있나요?
정석희) 어느 정도 독립성을 갖기 위해서입니다. 외국 프로그램을 사용하면 아무래도 묶일 수밖에 없거든요. 문제가 생기거나 변형하고 싶을 때 마음대로 바꾸기도 어렵고 외국 회사가 하는 대로 끌려다니거나 업데이트를 손 놓고 기다릴 수밖에 없으니까요. 또 상용 프로그램이 있어도 알고리듬이 구식인 것도 있어요. 더 효율적이고 더 아티스트가 다루기 편한 프로그램을 앞으로도 계속 개발할 겁니다.
Q 노트에 수학 아이디어를 고민하신 흔적이 많은데 따로 수학 공부도 하시나요?
강원철) 대학교에 다닐 때 교양과목으로 수학을 많이 들었습니다. 옛날부터 좋아했거든요. 그때 배운 것들이 전부 기억나진 않지만 수학의 논리는 몸에 배어 있는 것 같아요. 그래서 필요한 것이 있으면 그때마다 공부해서 해결하는 편이고, 심심할 땐 고등학교 때 풀던 수학 문제를 풀기도 합니다.
Q CG 아티스트에 도전하려면 어떤 부분을 갖춰야 하나요?
정석희) 호기심입니다. 정말 특별한 천재가 아니라면 결국 누가 더 알고 싶어 하고 누가 더 새로운 기술에 흥미를 보이느냐가 차이를 만듭니다. 어떻게 만드는지 궁금하니까 빨리 배우게 되고 변화에도 적응이 빠를 수 있는 거죠. 그런 호기심이 열정을 만든다고 생각합니다.
강원철) CG는 미적 감각, 공감각, 수학 능력 등이 고루 필요합니다. 길거리에서 뛰어 다니는 강아지를 만든다고 해보죠. 그럼 강아지처럼 보이게 만들 수 있는 미적 감각, 움직임을 나타낼 수 있는 공감각 및 연기력, 여기에 이 모든 것을 할 수 있도록 도와주는 수학과 프로그래밍 능력이 있어야 합니다. 그래서 서로 다른 능력을 가진 사람이 모두 있어야 비로소 강아지가 거리를 뛰어다닐 수 있습니다