스크랩/촬영 편집 기술

3D의 전반적인 제작과정

Flyturtle Studio 2013. 2. 3. 22:46
320x100

[3D 프로그램]

마야, 맥스, 블렌더, 오토캐드, 스케치업, 카티아, 라이노 등등 건축, 설계, 인테리어 관련해서 다양하게 쓰이는 것들이 있다.

마야를 포함한 3D 소프트웨어 프로그램으로 작품을 만드는 과정
모델링> 텍스처링> 리깅> 애니메이팅> 라이팅&렌더링> 후반작업> 최종 결과물



1) 모델링Modeling
모델링은 간단하게 애니메이션에 나올 캐릭터나 건물, 사물 등의 오브젝트를 만드는 것. 




모델링은 사람마다 만드는 방법이 다르니 영상처럼 공(Sphere)에서 시작하거나 큐브, 아예 면을 깔아놓고 처음부터 만드는 것 등이 있지만 딱히 무엇이 정답이라고 단정하긴 어렵다. 각자가 편한 방법으로 모델링을 하면 됨. 위에 영상은 프로그램 상에서 큐브 형태를 이용해서 만든 모델링이고 아래에 보여줄 영상은 지브러쉬Z-Brush라는 스컬프팅Sculpting 프로그램을 써서 만든 모델링이야. 타블렛을 가지고 3D 상에서 조소처럼 만드는거지.




얼굴 편



몸통 편


그리고 한가지 덧붙이자면 처음 형태는 첫 번째 영상처럼 처음에 면 수가 적고 각진 로우 폴리곤(Low Polygon)으로 시작한다. 이렇게 만들어진 로우 폴리곤 오브젝트를 가지고 주름이나 흉터, 피부 모공 같은 세세한 묘사는 지브러쉬나 머드박스(MudBox) 같은 스컬프팅 프로그램으로 마무리 하는 경우도 있으니 꼭 무조건 한 가지 방법을 고집하는 것보다는 상황에 맞게 그때 그때 쓰는 것이 좋아. 만약에 게임 업계쪽에 취직할려면 마야 보다는 맥스를 추천하고, 스컬프팅 프로그램도 다룰 줄 아는게 좋긴 한데, 요즘 게임 회사에서는 마야를 쓰는지는 잘 모르겠다.. 






사용 프로그램-maya, max, softimage, cinema4d, sketchup, rino, z-brush, mudbox 등

 


 

2. 텍스쳐링Texturing

텍스쳐링은 위에 본 것처럼 이미 만들어진 모델링 위에 칼라나 재질Material을 입히는 과정이라고 보면 돼. 하지만 칼라나 재질을 입히기 전에 UV를 펴주는 작업을 꼭 해줘야 해. UV가 뭔지 잘 모르는 사들을 위해 간단하게 설명하자면 3D 오브젝트의 전개도라고 보면 됀다. 옛날 초중딩 때 수학에서 정육면체 전개도 기억나지?  전개도의 각 면을 붙이면 정육면체가 되는 것처럼 3D 상에서 UV라는 좌표계를 사용하여 전개도를 만들어야 한다 이말씀이지. 이렇게 말로 하면 잘 모르니까 영상을 첨부해줄게.





이 영상들은 Vadim이라는 불곰국 성님께서 도미넌스 워Dominance war라는 대회에서 만든 nox-2292라는 작품의 제작과정을 공개한 영상이야. 첫 번째 동영상을 보면 얼굴 자르고 늘이고 줄이고 붙이고 그러지?  이게 정육면체 전개도 펴듯이 3D 상 오브젝트의 UV 레이아웃(전개도)을 펴주는 과정이라고 보면 쉬워. UV를 잘 펴주지 않으면 텍스쳐링을 할 때 칼라 고르게 나오지 않거나, 분명 선을 그었는데 중간이 이상하게 나와버려. 그래서 저렇게 체크무늬의 UV맵을 사용해서 균형있게 칼라를 입힐 수 있도록 레이아웃을 잡아가는거야.





이 외에 다른 도미넨스 워수상 작품들을 보고 싶으면

http://www.dominancewar.com


위 영상처럼 UV맵을 펴고 사진이나 텍스쳐를 합성하는 과정을 대개 매핑Mapping으로 부른다. 보았듯이 지브러쉬에서 직접 매핑을 하는 방법도 있지만 게임 분야의 경우 하이 폴리곤으로 제작해서 바로 게임에 적용시키기는 사실상 힘들어.



하이 폴리곤 상태의 모델링, 면이 너무 많아서 까맣게 되어있는거 보이냐? 보기처럼 하이 폴리곤이라는 말 자체가 높은 갯수의 면을 가진 폴리곤이라는 건데, 면 수가 많으면 그만큼 컴퓨터가 계산을 많이 해야 된다는 의미도 돼. 그래서 이대로 게임에 넣기에는 시스템 리소스를 많이 차지하기 때문에 대부분 로우 폴리곤으로 제작하는 거야.



로우 폴리곤, 하이 폴리곤과는 다르게 디테일하지 않고 드문드문 각져보인다. 그런데 로우 폴리곤으로 게임을 만들면 시스템 리소스를 많이 차지 않는 대신에 위에처럼 캐릭터의 외형이 너무 각지고 디테일을 제대로 나타내지 못하는 문제가 생겨. 대부분 이 상태로 게임에 들어간다고 보면 돼. 그런데 정작 캐릭터를 보면 위에서 적은 대로 문제점이 안보이는데 하는 의문을 가지게 될거야. 여기서 로우 폴리곤 상태에서도 하이 폴리곤의 디테일을 뽑을 수 있는 노말맵이라는 게 있어.



위 사진은 흔히 3D 작품 포트폴리오에 보면 나오는 텍스쳐야. Diffuse랑 Specular, Normal 이라고 되어있는게 있지? 이게 저기 오브젝트에 들어가는 맵의 종류고, 프로그램 내에서 저 세 가지를 조합해서 우리가 게임에서 보는 모습이 완성돼. 여기서 간단히 설명하고 넘어가자면, Diffuse는 단순하게 캐릭터의 칼라 부분이라고 보면 되는데 명암 같은 것도 그려줘야해. 안그러면 명암이 없는 밋밋한 캐릭터가 되겠지? Specular는 반사광인데 반사되는 정도를 흑백으로 표현한 맵이라고 보면 돼. 마지막으로 Normal은 명암값을 가진 맵인데, 조금 특별한게 하이 폴리곤 상태에서의 명암값을 가져와서 로우 폴리곤 상태에서도 디테일을 뽑을 수 있게 해주는 점이야. 인터넷에서 잠깐 훑어보니까 노말맵에 관한 내용이 길어서 여기서는 따로 다루진 않으니 양해 바랄게; 그래서 노말맵을 적용시키면 어떻게 보여지는지 다시 한 번 보자.





하이 폴리곤, 로우 폴리곤, 노말맵 적용 순이고, 마지막 짤을 보면 로우 폴리곤의 외형을 가지면서 앞서 밋밋한 몸의 퀄리티가 노말맵 적용으로 인해서 디테일이 살아졌지? 시스템 리소스 때문에 현실적으로 게임에 넣기 힘든 하이 폴리곤 대신 로우 폴리곤에 하이 폴리곤의 명암값을 가진 노말맵을 적용시킨 예야ㅋㅋ 이 외에도 프로그램 자체 기능으로 있는 재질Material 관련 옵션을 이용해서 텍스쳐들을 조합해서 적용 시킬 수 있는 쉐이딩이 있어.



마야 프로그램 내의 HyperShade 메뉴




마야에서 만든 카 쉐이더의 표면 재질 관련 구성도




카 쉐이더 적용샷

사용 프로그램 - maya, max, Z-brush, Mudbox, Photoshop, 기타 드로잉 툴

 

 


3. 리깅Rigging 및 애니메이팅Animating

리깅은 모델링과 텍스처링을 끝낸 오브젝트에 움직일 수 있게끔 뼈나 관절을 달아주는 과정이라고 보면 돼. 주로 곡선을 관절을 조절할 수 있는 컨트롤러로 달거나 상자 같이 단순한 모양의 폴리곤 오브젝트로 만든다.  왜냐하면 그만큼 캐릭터의 움직임을 자연스럽게 만들기 위해서 일일이 수작업을 하게끔 만들어주어야 하거든ㅠ 이것도 나름 고생이다 ㅋㅋ 움직이는 거와 실제 인체에 기반해서 적용해야 되는 부분들도 많고.. 하지만 애니메이션이 가장 고생이지 ㅠㅠ 밑에 LOL 카시오페아 영상을 보면 캐릭터 주변에 화살표, 곡선, 여러 가지 모양이 있지?  이것들이 캐릭터를 움직이게 하는 컨트롤러의 역할을 한다고 보면 돼. 각 부위의 기능에 따라 모양, 색깔로 구분 짓는 경우가 많아. 



우연찮게 LOL 공홈에서 찾은 마야 리깅 동영상


애니메이팅은 위 영상에 보이는 것처럼 후반부에 컨트롤러에 키Key값을 입력해서 캐릭터가 자연스럽게 움직일 수 있도록 움직임에 생명을 불어 넣어주는 것이라고 보면 돼. 보통 캐릭터의 경우 실제 인체에 기반해서 움직임을 주어야 어색하지 않고 자연스럽기 때문에 어느정도 해부학적 지식이 필요하다. 몬스터의 경우 종류에 따라서 동물의 움직임을 참고해야 될 때도 있어. 굳이 캐릭터가 아니더라도 사물의 움직임, 예를 들면 볼 튕기는bounce 애니메이션 같은 경우 약간의 수학, 물리학적인 지식이 요구되지.  깊게 파고 들수록 그만큼 수학과 물리학의 비중이 커지는 걸로 알고 있어.



보이냐? 단순히 볼 튕기는 걸 애니메이팅하는데도 물리학 관련 지식이 나와 ㄷㄷㄷ 저거 원글이 영어라서 구글 번역 돌리고 캡처함. 그렇다고 이쪽 업계에 뛰어들려면 무조건 배워야 되는 건 아니야.  단지 알아두면 적용시키기가 쉬워질 뿐이지, 지레 겁먹을 필요는 없어.
 
사용 프로그램 - maya, max, 애니메이션 기능이 있는 3D 프로그램
 
 



4. 라이팅Lighting 및 렌더링Rendering
 리깅이 캐릭터의 움직임에 생명을 불어 넣어 줬다면, 라이팅은 오브젝트가 있는 공간, 즉 장면Seane에 생명을 불어 넣는 작업이라고 보면 쉬워.



대체로 기본 렌더러로 하나로 뽑기보다는 주광Key Light, 측면광Fill Light, 반사광Specular, 오클루전Occlussion, Z-depth 등 속성별로 레이어를 나눠서 따로 합성하는 경우가 많아.



위에 짤을 보면은 하얀 동그라미 쳐진 곳이 있지? 마야에서 라이트를 설치한 부분인데, 설치하고 나서 렌더링을 걸고 나면 오른쪽처럼 빛이 들어오는게 보일꺼야. 이 라이트들의 역할은 바깥에서 안쪽으로 들어오는 광원이라고 생각하면 됀다. 지금 여기서 실내를 비추는 라이트이 없는데 실내로 들어와서 넓게 퍼지는 라이트를 만들어 줘야겠지?



여기 짤에서 볼 수 있듯 장면 안에 라이트의 종류가 두 가지가 있어. 하나는 넓게 빛을 비추는 구 모양으로 된 포인트 라이트Point Light가 있고, 하나는 직선으로만 나가는 태양광Drectional Light이 있어. 여기서 태양광의 역할은 장면 안의 주된 광원이고, 포인트 라이트는 촛불 각각을 밝혀주는 광원의 역할을 해. 여기서처럼 단순한 장면 안에는 라이트가 많이 필요하지 않은 게 대부분이지만 애니메이션이나 인테리어 같은 경우에는 실내,외 라이트까지 신경 써야하니까 이거 보다는 갯수가 많은 경우가 대부분이야. 간혹 캐릭터의 특정 부위의 질감을 살리기 위해서 전용 라이트를 만드는 경우도 있어. 디지털 라이팅&렌더링 이라고 실무 내용 위주로 간략하게 카메라 피사계 심도나, 빛의 구성, 연출 기법에 대한 내용들이 서술되어 있으니까 관심 있으면 한 번 찾아보는 걸 추천해. 이런 기본적으로 프로그램 내에서 쓰는 라이트 외에 렌더러라고 하는 기본 내장 렌더러가 있고 따로 쓰는 렌더러가 있어. 렌더러는 지금 위에서 보듯이 라이트를 설치한 장면을 실제 적용된 화면을 볼 수 있게 해주는 도구야. 대표적인 렌더러로는 멘탈레이Mental-ray, 브이레이V-ray 등이 있고, 엔진 계열로는 크라이 엔진, 언리얼 엔진, 마모셋 엔진, 유니티 등이 있는데 엔진에 대한 정보는 다른 사람이 올려놓은 것 있으니까 거기서 참고하면 될 거야. (정보/초스압) 게임엔진에 제대로 대하여 알아보자: http://me2.do/FbHtkexG
 
영화같은 VFX 분야 CG작업의 경우 대개 합성 프로그램인 에프터 이펙트AfterEffects, 누크Nuke 등을 쓴다.. +에펙은 실제로 이쪽 분야에선 거의 안쓴다고 해. 자세한 내용은 밑에서 다룰게 그리고 각자 맡은 분야에 따라서 영화 연출 기법이나 빛에 대한 이해, 카메라에 관련된 지식도 필요에 따라서 배워야하는 것을 알아두길 바래.  기법이나 카메라 같은 경우는 3D로 장면을 연출할 때 어느정도 알면 도움이 되지만 대부분 영화 제작 과정을 보면 스토리보드를 통해 장면의 연출, 기법 그런 것들을 미리 정해놓고 들어가는 경우가 허다하니 실제적으로 쓰일려면 소규모 프로젝트나 외주 등을 받을 때나 직접 프로젝트에 참여할 때 필요하지 않을까 조심스레 추측해본다; 빛에 대한 이해는 위에서 설명했듯이 장면을 살리는 라이터Lighter가 되기 위해서는 필수로 배워두어야 해. 특히 혹시나 잘 모르는 사람들이 있을까봐 말해두는데, 3D의 경우 하나의 라이트를 설치한다고 장면 전체의 빛이 만들어지는 건 아니야. 각각 키라이트Key light, 필라이트Fill light, 자연광Day light 등 여러 가지 속성을 가진 라이트들을  빛이 들어오는 구조에 맞게 여러 개 설치해줘야 각각의 라이트가 서로 상호작용을 하면서 하나의 씬이 만들어지는거야. 흔히 사진이나 영상 쪽에 있는 사람들은 삼점 조명이라고 들어본 적 있을꺼야. 3D 상에서도 똑같은 원리를 적용할 수 있어. 외국의 경우 라이팅, 쉐이딩, 모델링 등 제작 전반에 걸친 과정을 세부적으로 파트별로 맡아서 하는 구조가 대부분이라고 알고 있어. 그래서 각각의 분야에 특화된 파트나 직업명이 있지. 라이터나 렌더러, 모델러, 매퍼 등등. 한국은 모델링, 맵핑, 라이팅, 렌더러 등을 거의 혼자서 할 줄 알아야 한다고 하더라. 이거에 대해서 어떤 이유가 있었는데 까먹었다. 쏘리

+추가
이건 외국도 마찬가지랜다.  물론 한국에서 뜻하는 바와 외국에서 뜻하는 바가 다르겠지만, 이 과정을 전반적으로 다 할 줄 알아야 나중에 높은 직책으로 올라갈 때 일을 컨트롤 할 수 있어. 결국 한 프로젝트를 잘 수행하려면 자신의 전문 분야를 포함해서 서로 관계가 있는 다른 분야들을 어느정도 알아야 하는게 필수야. 즉, 모델링만 한다고 다 되는게 아니라 매핑, 애니메이팅, 영화 연출 기법 등등 다양한 지식을 알아야 무리없이 프로젝트를 수행할 수 있다고 보면 돼. 간단하게 비교하자면 세부적으로 나뉘어진 외국 vs 만능 엔터테이너형 한국 으로 보면 쉬울 것 같다. 사용 프로그램 - 3D 기본 탑재 렌더러, 에프터 이펙트나 누크 등의 합성 프로그램, 한 장면의 씬일 경우 포토샵
 


 
5. 후반작업
여기서는 합성 프로그램을 이용해서 불이나 연기, 폭발 등의 효과를 추가하거나 장면과 장면을 합성하는게 주된 작업이야. 거의 마무리 되가는 과정이라고 보면 돼. VFX 관련해서는 내가 잘 몰라서 아는 데까지만 써볼께. 에프터 이펙트는 흔히 방송 CF나, 기업, 방송국 프로그램 등의 모션 그래픽 분야에 자주 쓰인다. 티비에서 간혹 보면 로고 애니메이션이나 특수한 효과들이 날아다니는 거 있지? 해품달과 추노의 오프닝처럼 2D 소스를 가지고 3D 효과를 주거나 하는 그런 부분을 말하는 거야. 그런 것들이 대개 모션 그래픽이라는 분야 안에 해당된다고 보면 돼.





이런 영상들은 대부분 에프터 이펙트를 써서 만든다고 보면 돼. 그렇다고 시네마4디라는 프로그램을 안쓰는 건 아니야. 간단하게 시네마4D를 소개하자면 마야처럼 3D 프로그램인데 우리나라에 와서는 특이하게 방송용 프로그램으로 각광받고 있다고 해.



시네마4디 인터페이스




에프터이펙트 인터페이스


누크는 VFX 분야에서 CG작업에 주로 많이 사용하는 거라고 알고 있어.  에프터 이펙트도 실사 합성하기에는 무리가 없긴 하지만 누크를 더 많이 쓴다고 하는데 확실하진 않아서 생략할께.


+추가

누크의 경우 영상합성 분야의 끝판왕이다. 마야, 지브러쉬, 누크만 다룰 줄 알면 외국에서 취업하는데 큰 무리가 없을 정도라네. 실제로 에펙은 이쪽 분야에선 거의 안쓰고, 대개 일반 2D 영상 합성이면 모를까 3D 기능이 너무 취약하다고 하네? 




누크 인터페이스



쇼릴 영상들


에프터이펙트




누크
 

 


6. 메이킹 필름 및 마야로 제작한 작품들
드디어 막바지에 다 왔네 ㅋㅋ 보느라 고생했고 여기서부터는 흥미 위주로 올려볼께.

 

트랜스포머 메이킹 필름






어벤저스 메이킹 필름





와우 리치킹의 분노 메이킹 필름




7. 맺으며
다시 한 번 적지만 내가 잘못 아는 부분도 있을테고 현재 업계 상황에선 어울리지 않는 정보일 수도 있어.  그래도 3D에 관심 있는 람사람들을 위해서 써본 거니 너무 신뢰는 말고 참고용으로만 봐줬으면 싶다. 그나저나 정보글 쓰는 애들은 레알 대단한듯;  처음 쓰는 정보글인데 하루죙일함 ㅋㅋㅋㅋㅋㅋ +재업하는데도 이미지 순서가 자꾸 바껴서 일일이 사진 넣고 하는데 이것만으로도 오래 걸리네.. ㅜㅜ



 





http://me2.do/xawCkDhF

320x100