컴퓨터 그래픽스
1. 개요
Computer Graphics(CG)
컴퓨터 화상처리. 보통 컴퓨터를 사용하는 모든 회화적 작업을 말한다. 이는 컴퓨터가 하는 일이 워낙 많은 탓. 소프트웨어 쪽에서는 정말 빠르게 발전한 분야 중의 하나이다. CG를 사용하면 애니메이션이든 광고든 뭐든 간에 비용은 절감되면서 질은 높일 수 있다는 장점이 있기 때문이다. 사실 그보다도 제일 중요한 이유는 다른 소프트웨어 분야와는 달리 '''연구하면 그만큼 결과물이 금방 보인다'''는 부분.
할리우드에서는 터미네이터 2: 심판의 날과 쥬라기 공원이 CG 기술의 시대를 연 대표적인 작품이다. 2010년대에 와서는 굉장히 큰 발전을 이루어서, 사실상 현실하고 차이가 없어 보이는 수준까지 왔다. [1] 다만 그 정도 그래픽을 원하려면 컴퓨터 살 돈이 좀 많이 깨져서 예산이 부족한 프로덕션에서는 클라우드 컴퓨팅을 활용하고 있다. 계산량을 효율적으로 줄이기 위한 알고리즘도 많이 개발되었다.
영화나 광고 등 영상 쪽에 한해 현재는 보통 시각효과(Visual Effects, 줄여서 VFX)라고 부른다.[2] 블록버스터 영화 스태프롤을 보면 이 분야를 시각효과로 정의한다. 해외에서는 CGI(Computer-Generated Imagery)라는 말도 많이 쓴다.[3]
노골적으로 CG인 것이 티가 나는 장면은 발 CG라고 하기도 한다. 사람 혹은 동물이 죽거나 높은 곳에서 떨어지는 장면 및 죽는 장면 등 실제로 행할 경우 윤리적인 문제가 발생할 수 있는 장면들은 논란의 소지를 줄이기 위해 아예 CG인 것이 티나게 만들기도 한다.
2. 예시
위 장면은 CG 기술의 발전의 대표적인 예시이다. 왼쪽이 2015년 터미네이터 제니시스의 CG로 만든 아놀드 슈워제네거이고, 오른쪽이 1984년 터미네이터에서의 장면이다.[4]
대디 양키의 Limbo (림보) 뮤직비디오도 CG가 사용되었다. 촬영된 장소는 오토미 예배당이고, 실제 이곳에서는 가깝게는 히키필코 (Jiquipilco), 멀리는 익스틀라와카 데 라욘 (Ixtlahuaca de Rayón) 시내를 내려다볼 수 있어야 정상이지만 뮤비 시작부에 치첸 이트사를 심어놓고 그 뒤에 산들이 있어서 CG가 사용되었음을 알 수 있다. 따라서 림보 뮤직비디오에서 보는 풍경은 실제로 오토미 예배당에 가면 절대로 볼 수 없다. 실제로 오토미 예배당에서 치첸 이트사까지 하루 정도 걸려 가야되며, 수도고속도로를 타고 가야하는 건 덤이다.
3. 종류
3.1. 2차원 컴퓨터 그래픽스
가로와 세로, x와 y라는 두 가지 좌표만을 가지는 평면의 그림을 컴퓨터로 그려내는 것. 2D 애니메이션, 일러스트, 문자 디자인 등이 그 예이다. 여기서 세부 분류로 래스터 그래픽과 벡터 그래픽이 나눠진다.
비주얼 노벨 계열에서는 이벤트로 뜨는 일러스트를 CG라고 부르기도 한다.
아래 3D 그래픽에 밀려 사용 빈도가 줄어들고 있다고 생각하겠지만 인쇄물, 영상 편집, 일러스트, 만화, 애니메이션 등 아직도 수요는 차고 넘친다. 3D그래픽의 텍스처를 만드는 기술이 2D그래픽이고 애니메이션에 3D기술이 대거 사용된다고 하지만 2D가 완전히 배제된 애니메이션은 실험적인 작품을 빼고는 전무하다. 심지어 디즈니 픽사 애니메이션일지라도 배경이나 잡다한 소품들까지 일일이 3D로 모델링하지는 않는다.
특히 비사실적 그림체인 만화/애니메이션 분야에서 2D기술을 완전히 배제하고 생각하기는 어렵다. 3D그래픽은 컴퓨터가 계산하는 거라서 데포르메를 전혀 허용하지 않는데 이것이 불쾌한 골짜기로 작용하기 때문이다. 현대의 3D애니메이션에서는 인위적으로 데포르메 알고리즘을 적용하거나 처음부터 데포르메가 가능한 모델링을 해서 위화감을 제거하고 있다.
2차원 컴퓨터 그래픽스의 최고 난이도를 자랑하는 분야 중에서 일러스트와 더불어서 컬러 그레이딩이 최근 들어서는 상당한 중요성을 차지하고 있다. 영화 및 드라마 분야에서는 VFX 작업 등 3차원 컴퓨터 그래픽스 기법을 많이 이용하지만 영상 색감을 구현하는 데에 있어서는 여전히 2차원적인 작업이 필요한 편이다. 그리고 컬러 그레이딩은 VFX 작업 못지않게 영화의 분위기를 좌우하는 큰 요소이기 때문이다.
3.2. 3차원 컴퓨터 그래픽스
CG의 진수. 3가지 좌표를 가지는 공간, 물체 등을 모델링 및 렌더링하는 것이다. 여러 모델, 수학적 물리학적 이론등을 근간으로 질감, 양감, 명암를 표현해내고 폴리곤(드물지만 다른 방식도 쓴다)을 이용해 물체들을 렌더링한다.모든 현상은 3차원 공간에 존재하는 단순정량자와 몇 가지의 법칙에 지배되는 운동에 의한다. - 르네 데카르트
특히 3차원 CG 애니메이션의 역사는 곧 픽사의 역사라고 해도 과언이 아니다. 현 픽사의 CEO인 에드윈 캣멀이 CGI 제작의 핵심 개념을 정립한 인물 중 하나이기 때문이다. CG 애니메이션 문서 참조.
3D그래픽스 분야에도 2D의 래스터 방식과 벡터 방식 비슷하게 세부 분류가 존재하는데 크게 복셀 그래픽과 폴리곤 그래픽으로 나눠진다.[5] 복셀 그래픽은 지나치게 높은 연산부하 때문에 의료영상 등 극히 한정된 분야에 사용되고, 대부분의 사람들이 접할 수 있는 것은 폴리곤 그래픽이다. 폴리곤 그래픽도 하이폴리곤과 로우폴리곤으로 나눠지는데 하이폴리곤은 그래픽의 퀄리티는 뛰어나지만 프레임 하나 그리는데 몇 시간이 걸릴 정도로 연산량이 많아 오프라인 렌더링이 가능한 애니메이션 등에 주로 사용되고, 로우폴리곤은 적당한 성능의 연산 보조장치(GPU)만으로도 초당 수십 수백장을 그릴 수 있기 때문에 게임 등에 주로 사용된다.[6] 현대에는 연산카드의 성능이 매우 향상되어 초창기 하이폴리곤 모델 정도는 실시간으로 그려낼 수 있기 때문에 게임 같은 실시간 렌더링 분야에도 부분적으로 복셀 그래픽이 사용되고 있다.
4. 한국의 CG 제작 환경
2010년대까지만 해도 충무로의 CG 기술이 곧 우리나라 CG 기술이라고 해도 무방했다. 현재는 영화 VFX 업체들은 대부분 일산, 파주, 광주, 부산 등 각지로 이전되어 있다.(서울에도 남아있다) 그 이유는 각 지방자치 단체의 다양한 지원(장비 지원이나 세금 혜택 등)을 해주었기 때문에 굳이 유지비가 비싼 서울에 있을 이유가 없어졌기 때문이다.
요즘 한국 영화의 CG 기술력 자체는 예전에 비해 많이 발전된 편이다. 그러나 할리우드 블록버스터는 전체 예산의 30%, 많으면 50% 가량이 CG 제작에 투입되는데 비해 한국 영화는 CG 제작비가 차지하는 비중이 전체 예산의 10%에도 못 미칠 때가 많다. 이는 마켓 사이즈에서 비롯된 차이로, 개봉 후 기대할 수 있는 수익 이상은 투자될 수 없는게 당연한지라 어쩔 수 없는 부분이다. 국내 개봉과 전 세계 개봉은 시장규모의 차원이 다르다. 최근에는 CG의 중요성이 많이 부각되어, 점차 많은 금액으로 늘어나긴 했다. 다만, CG에 몰빵한 영화들이 크게 망한 경우가 많은 것이 안습. CG를 많이 사용한 영화들이 크게 흥행을 해야 CG 분야에 대한 투자도 커질 것이라는 점을 생각하면 아쉬운 부분이다.
게다가 부실한 프리프로덕션(사전기획) 및 테스트 촬영 부족도 CG 퀄리티를 낮추는 커다란 요인으로 꼽힌다. 대표적으로, 7광구에 등장하는 괴물의 외형은 포스트프로덕션(후반작업) 단계에 가서야 정해졌다고 한다.[7] 컴퓨터 그래픽의 특성상 투자 시간이 길어질수록 그 질이 향상된다는 점을 생각해 보면 아쉬운 부분. 그리고 할리우드는 정교한 미니어처와 애니매트로닉스를 동원하여 CG의 완성도를 보완하지만 한국은 그 두 분야에서 상당히 뒤처지는 모습을 보이고 있다. 이와 같은 이유는 할리우드는 제작비가 어마어마하게 들어가는 경우가 많아 흥행 실패 시 그에 따른 리스크가 엄청나므로, 리스크를 줄이는 차원에서 더욱 사전에 철저하게 검증하기 때문이기도 하다.
또 하나는 조명의 문제이다. 밝은 장면에서 CG 합성을 하는 것과 어두운 부분에서 합성을 하는 것 사이에는 시간과 예산 면에서 큰 차이가 있다. CG 기술이 많이 발전하지 않았던 초창기 할리우드 영화들이 주로 밤 씬에서 CG를 넣은 것은 다 그런 이유 때문이다. 따라서 CG를 넣을 장면의 조명을 어떻게 세팅할지, 그 장면을 다른 장면들과 조화되게 하려면 전체적인 영화의 색을 어떻게 맞춰야 할지를 차근차근 계획해야 하는데, 빛과 색을 완벽하게 통제하는 할리우드에 비하면 한국 영화계는 이 부분에서 많은 취약점을 가지고 있다.
CG 작업에서 선택되는 제품은 주로 어떤 업계냐에 따라 다르다. Autodesk Max는 게임 및 영화, Maxon Cinema4D는 주로 모션그래픽, 광고, Autodesk Maya는 영화 및 애니메이션 제작업, Foundary Modo는 제품 디자인 및 광고에 많이 사용되는 추세다. 여기서 캐드류는 제외한다.
간단한 그래픽 툴을 사용하는 경우도 매우 많다.
5. 대학 과목
말 그대로 컴퓨터 그래픽스. 컴퓨터공학과 학생이라면 전공 선택 과목으로 접할 수 있다. 대부분은 그래픽 라이브러리 OpenGL로 배우게 된다. 이론으로는 이전에 배운 선형대수나 공학수학이 쓰이고(특히 고등학교때 배운 기하와 벡터가 쓰인다..) 이런 수학적 지식이나 원리를 바탕으로 한 GL의 기능과 원리들을 주로 배운다. 흔히 고등학교, 대학교 교재에 나오는 3차원 공간좌표계와는 x, y, z축이 살짝 다른 좌표계를 쓴다.[8] DirectX도 z축이 반대일 뿐 마찬가지다. 축이 다른 이유는 x가 모니터 스크린상의 가로축이고, y가 세로 축이라면, z축은 깊이를 표현 할 때 쓰기 때문이다. 그래서 open GL의 옵션중에 GL_DEPTH_TEST를 이용해 z 축을 표시할수 있다.
대체로 컴퓨터공학과 학생들이 처음에 공학수학을 듣다가 점점 이산 계열 수학/통계학 등으로 넘어가다 접하게 되면 꽤나 까다롭다. 컴퓨터 그래픽스의 본질을 배우는 과목으로, OpenGL로는 함수 몇개 쓰면 그려질 것들의 원리를 배우게 된다. 어파인 공간이라는 공간을 이용해 점벡터들을 표현하거나, x, y, z 축 기준으로 회전/반사/전단시키는 행렬을 다루거나, 컴퓨터로 그려진 영상이 모니터로 출력되면서 거치는 여러 변환의 공식이나 원리, 색 채우기 알고리즘 등이 나오며, 그 중에서 힘든 부분들로 뽑히는 건 조명 반사/흡수 공식이나 3차원 카메라 회전(삼각함수를 써야 한다), 원근법 perspective 시점 다루기, 극좌표, 법선벡터 등이다. 교수님 성향에 따라서 시험문제도 얼마든지 다르게 나올 수 있다. OpenGL 코딩을 물어볼 수도 있고, 심한 경우는 공간도형/벡터(행렬)/삼각함수/극좌표 문제로 계산/증명을 해야 하는 경우도 있다. 만만하게 본 학생들은 뒤로 갈수록 멘붕하게 된다.
실습으로는 보통 OpenGL을 이용해 뭔가 프로그램을 만든다. 점벡터들로 물체를 그린다거나, 조명을 다루거나 콜백 함수와 시점 카메라 공식을 이용해 물체를 여러 방향에서 바라보게 하는 등.
6. 외부 링크
<명량> 흥행에 가려진 CG 업계의 비극
헐리우드 특수효과는 누가 어떻게 만드나?
7. 관련 문서
[1] 사실 이론상으로는 현실과 아무런 차이 없이 구현 가능하다. 물리학도 수학의 언어로 짜여 있고, 결국 그것을 컴퓨터로 수치해석하기 때문이다.[2] 폭약이나 특수분장 같은 것들을 이르는 특수효과(Special Effects, SFX)와는 다르다.[3] CGI는 3D 그래픽으로 만들어진 일러스트에 많이 쓰이는 단어이고 영화쪽은 VFX라는 단어를 더 많이 쓴다. VFX는 CG가 아닌 시각효과 또한 포함하는 단어이므로 CGI보다 상위 개념이라고 볼 수 있다.[4] 오히려 뼈대 상태인 '엔도 스켈레톤'에서 CG 티가 많이 난다.[5] 더 찾아보면 NURBS 같은 것도 있다. Autodesk Maya, Rhino 같은 곳에서 주로 쓰인다.[6] 실시간 그래픽을 구현하려면 최소한 0.03초 안에 프레임 하나를 그려내야 한다. 그래야 겨우 30FPS가 나온다. 60FPS를 구현하려면 0.016초 안에 한 장을 그려야 한다. 더 나아가서 144FPS는 0.006초 안에 한 장을 그려야 한다.[7] 할리우드에선 5~6개월 가량의 프리프로덕션 기간을 거치며, 포스트프로덕션 기간도 이와 비슷하다.[8] 고등학교/대학교 교재에서는 비스듬히 바라보며 z축이 위로 솟아있는 좌표계를 주로 그리나, 그래픽스에선 모니터의 방향이 바로 z축에 대응되도록 하며 모니터 화면 상에 xy축 평면이 있는 것과 마찬가지다.