라이팅 | 랜더링

[Maya] 랜더링(1) - AOV , builtin 기능 사용 -

by MoGL3D 2019. 4. 22.

- AOV, builtin 기능사용 -


AOV는 Arbitrary Output Variables의 약자다. 해석하자면, 임의적으로 변경가능한 결과물이란 의미인데, 쉽게 말해서 랜더링 이후에도 조작가능하다는 뜻이다. 마야의 AOV기능은, 멀티패스 랜더링을 좀더 쉽게 할 수 있도록 해준다. Exterior 쉐이더 & 라이팅 예제로 만든 아파트 모델링으로 AOV랜더링을 시작해보자.


1 skyDom 라이팅 설정 』

현재 메인 skyDom카메라 수치가 '0'으로 되어 있다. (검은색 배경). 배경 하늘만 따로 만들기 위해서는 기존의 skyDom 라이트의 radius값을 '1'로 줄이고, 새로운 skyDom라이트를 생성한다. (skyDom라이트는 radius크기와 상관없이 작동)


-> 새로 생성한 skyDom라이트의 illuminates 값과 camera를 제외한 visibility값을 모두 제로세팅(0)한다. (윗 사진의 빨간박스부분 참조)

-> AOV indirect값을 체크해준다. (참조사진의 체크가 안 되어 있는 부분은 Error)


2 『 램프 노드 생성 

램프 노드를 생성하고, V ramp모드로 설정한 후에 레퍼런스 사진을 아래와 같이 갖고 온다.(arnold 랜더러에는 레퍼런스 사진을 불러오는 기능이 있음)


램프의 색을 레퍼런스 사진을 참조하여(스포이드 툴로 색깔 지정) 아래처럼 저녁하늘을 만든다. 램프에 색을 만들었다면, sky 라이트의 칼라맵에 넣어준다.


테스트 랜더링을 해보면, 아래와 같이 나온다. 


3 『 AOV buildin 패스 세팅

render세팅의 AOVs 탭에 보면, 아래처럼 <buildin>, 내장패스기능이 있다. Nuke에서 채널합성할 채널들만 선택하고 ' >> ' 버튼을 선택하여, 아래로 내려준다.


-> Zdepth를 활용하면, 굳이 N, P 채널을 모두 이용할 일은 드물지만 일단 체크를 한다. 

-> background 채널은, 새로 생성한 skyDom 라이트의 AOV indirect에 체크가 되어있지 않으면 랜더링되지 않는다. (하늘 배경을 뽑으려면 체크한다.)


-> diffuse indirect와 direct, specular direct, indirect는 기본이니만큼 반드시 체크하자.

-> transmission은 유리 쉐이더가 있을 때 후반작업에서 조절을 할 수 있다.

-> emission 채널은 발광을 하는 개체가 있을 때 사용한다. (해당 프로젝트에서는 신호등 색)


4 AOV 라이트 그룹 생성

채널에서 라이트를 활용한 custom 채널을 만드려면, AOV 그룹설정을 해야 한다. 아래 사진을 참조하여, 각 라이트를 선택하고 그룹별로 이름을 지정해준다.


(sky => sky, sky_BG => X , sun(directional 라이트) => sun , 기타 area라이트 => fill ) 

각 라이트의 arnold 탭에 보면, AOV 그룹설정 칸이 있다. 그룹명을 지정한다.


랜더세팅의 AOV탭에서, add custom을 클릭하고, AOV 라이트 그룹의 이름을 다음과 같이 지정하여 넣는다.


``RGBA_sky  ,  RGBA_sun  ,  RGBA_fill``

``specular_sky  ,  specular_sun  ,  specular_fill ``


RGBA_ , specular_를 입력하고 뒤에 AOV라이트 그룹명을 넣으면 자동으로 채널이 삽입된다.  (아래 사진 참조)


5 『 랜더 레이어 생성

랜더세팅(톱니바퀴)옆에 있는 랜더 레이어 버튼을 클릭한다. 그리고 아래사진처럼, 레이어를 추가(+버튼)하고, 이름을 지정한다. 레이어를 생성한 이후에는 중간 마우스버튼으로 라이트를 드래그해서 넣어준다.


랜더 레이어에서 마우스 오른쪽을 선택하고, create Collection을 선택한다.(레이어에 지정되는 오브젝트들을 선택)


Collection에 들어갈 개체를 선택해야 하는데, Collection Filters를 'Custom'으로 선택하고, mesh(폴리곤)를 Types란에 넣는다. (아웃라이너에서 shape을 체크하고, 마우스중간버튼으로 shape을 드래그해서 types에 끌어놓으면 자동으로 Type을 인식함)


include 항목에 ' * ' 를 넣고, Select를 클릭한다. ( *는 모두 선택을 의미) *를 넣고 select를 선택하면, 폴리곤 오브젝트들이 모두 레이어에 삽입된다.


bty_pass 레이어에서 마우스 오른쪽을 선택하여, Collection을 하나 더 생성한다.


아웃라이너에서 show DAG Objects Only를 체크한다. (AOV 패스들이 나타남)


AOV패스들이 나타나면, 마우스 중간버튼으로 드레그하여, Collection Types에 끌어놓는다. (자동으로 Type인식, Filter는 custom)


* 로 AOV를 모두 선택한 상태에서, 아무 AOV 패스를 선택해서 Enabled항목을 마우스 중간버튼으로 드래그하여, 아래 표시한 Add Override 역방향 화살표에 끌어놓는다.


해당 랜더 레이어의 눈 표시가 체크돼 있어야 override기능을 볼 수 있다. 다른 레이어에 불을 켜놓고, 활성화가 안 된다고 방황하지 말자.


bty_pass 레이어만 buildin 패스들이 모두 Enabled돼야 하므로 아래처럼 체크한 상태로 둔다.


6 『 테스트 AOV 랜더링

bty_pass의 눈알을 켜놓은 상태에서 (master레이어는 끄기) 테스트 랜더링을 해보자. 아래처럼 builtin 패스들이 모두 랜더링 된다.