블로그 이미지

단편 애니메이션 'Mr.Vending Machine' 제작노트(2)

2010. 5. 8. 13:56
  


Texture Mapping


얼굴과 팔의 Photo Realistic한 텍스쳐 맵을 만들기 위해 피부 소스를 직접 촬영하였다. 촬영 시 소스 자체에 스펙큘러가 맺혀 있으면 곤란하기 때문에 고른 조명이 필요하나, 사정이 여의치 않아 맑은 날 야외의 그늘에서 촬영하였다. 그리고 최대한 왜곡이 없는 평면적인 사진을 얻기 위하여 망원으로 당겨서 촬영하였다. 전체 사진으로는 얼굴의 정면, 30도 측면(left/right), 60도 측면(left/right), 90도 정측면(left/right)을 찍었고, 부분 사진으로는 이마, 볼, 눈, 입, 코, 목, 손, 팔의 클로즈업 사진을 찍어 소스로 사용하였다.

텍스쳐 편집은 우선 Photoshop에서 이루어졌으며, 촬영한 소소 중 필요한 부분들을 잘라 캐릭터의 UVs에 맞게 편집하였다. 캐릭터의 설정상 넒은 모공과 진한 수염자국, 그리고 검버섯이나 점, 기미와 같은 피부 잡티를 두드러지게 표현해야 할 필요가 있었다. 그래서 포토샵에서 소스 편집을 통해 텍스쳐 베이스를 만든 후, 잡티나 수염자국, 모공 등은 Z-brush에서 직접 그려 넣었다. 캐릭터의 눈가 주름이나 피부 굴곡 등의 표현도 지브러시를 사용하였다. 제작한 맵소스는 Clear Color map, Dirty Color map, Bump map, Defuse map의 총 네 가지 이다.

Shading

캐릭터의 피부 질감을 표현하는데 멘탈레이의 SSS Fast Skin Shader(이하 SSS 쉐이더)를 사용하였다. SSS 쉐이더는 실제 단위로 빛을 확산하므로, 피부가 사실적으로 보이기 위해서는 오브젝트의 크기를 실제와 동일하게 설정해야 한다. 만일 오브젝트의 크기가 실제 크기보다 작다면 빛을 많이 투과하게 되고, 크기가 너무 크면 빛은 확산되지 못한다. SSS 쉐이더는 피부의 세가지 층에 해당하는 epidermis, Subdermis, backscatter 요소를 제공한다. epidermis는 피부 맨 위층에 해당하며, 실제로 혈액이 흐르지 않기 때문에 크림색의 채도가 낮다. 따라서 칼라맵의 채도를 50% 낮춘 저채도 칼라맵을 사용하였다. Subdermal은 epidermis 아래층으로 혈액이 흐르는 곳이다. 따라서 칼라 맵의 채도를 높이고, 피를 표현하고자 red 값을 올렸다. Backscatter는 귀 끝처럼 빨갛고 반투명한 피부를 표현하기 위해 사용되었다. 이외에도 테스트 과정을 걸쳐 specular, diffuse, reflection에 적당한 수치를 입력하거나, 추가적인 맵을 사용하여 캐릭터의 피부를 사실감 있도록 표현하고자 하였다.  

                                                               메인 캐릭터 '벤머씨'

Lighting

텍스쳐링이 되지 않은 씬을 가지고 라이팅 셋팅을 시작하였다. 이는 불필요한 렌더링 타임을 낭비하지 않기 위해서다. 씬은 키라이트, 필라이트, 백라이트로 구성된 삼점 조명으로 라이팅되었다. 주로 캐릭터의 활동 범위가 자판기 내부에 한정되었기 때문에 키라이트는 자판기 천장의 전등이 되었다. 그리고 HDRI를 이용한 환경 조명으로 필라이트를 대신하였다. HDRI를 이용한 환경 조명은 지면에서 반사되는 바운스 라이트까지 시뮬레이션하기 때문에 좀더 사실적인 조명을 얻을 수 있다. 또한 매 씬에서 캐릭터의 움직임에 따라 백라이트의 위치를 조금씩 조정해 주었다. 실사와 CG가 합성되는 컷에서는 촬영장에서 얻은 HDRI를 이용하였다. 촬영장에 크롬볼을 설치하고 카메라의 노출 정도를 조절하며 촬영된 사진들은 HDRI Shop 프로그램을 이용하여 편집되었다. 그리고 Light gen mel을 이용하여 수십 개의 조명을 추출하여 3D 소프트웨어 안으로 불러들였다. 이때 제작된 HDRI는 환경 조명으로 사용되었을 뿐만 아니라, 더불어 환경 반사 소스로 활용되었다.  
 


Rendering


렌더링은 기본 Maya software render와 SSS Fast Skin 쉐이더를 위한 Mental ray render가 사용되었다. 최종 이미지는 1920x1080 사이즈로 렌더링 되었으며, 평균 8~10개 정도의 레이어 패스를 사용하였다. 세부 레이어 패스는 diffuse, specular, back scatter, ambient occlusion, bent normal, mask, fur, glow, motion blur 등으로, 각 속성들을 조절하기 용이하도록 분리하였다. diffuse 패스는 텍스쳐와 쉐이딩을 포함하지만 하이라이트와 반사를 제외시켰다. Specular 패스는 오브젝트에서 하이라이트를 분리하였다. Back scatter 패스는 멘탈레이의 SSS Fast Skin Shader에서 back scatter 속성만 뽑아낸 것으로 합성 단계에서 scatter 정도를 조절하였다. Ambient occlusion 패스는 Final Gather 또는 GI(Global Illumination) 계산없이 사실적인 결과물을 얻는데 유용하였다. Bent normal 패스는 색상(RGB)을 방향(XYZ)과 연관 짓는 방법으로, 합성 단계에서 빛의 방향을 조절하는데 사용되었다. 이외에도 나머지 렌더링 패스들은 좀더 사실적인 결과물을 얻기 위해 합성툴 안에서 조절되었다.