- Nuke 아웃포커싱 & 태양만들기 -


지난 포스팅에서는 depth채널을 활용한 안개를 만들었다. Nuke에서 채널합성방식의 원리는 shuffle이나 shuffle-copy나 거의 비슷하다. 로토 스코핑이나 명암대조와 같은 노드들을 통해 어떻게든 알파맵을 생성한다. 그리고 생성된 알파채널을 마스크 파이프로 따로 뽑아준다. 이렇게 형성된 채널값들은 작업 목적에 맞는 노드에 연결시킨 후에 색상값이나 합성을 한다. 


태양 만들기나 아웃포커싱도 합성의 기본원리를 응용한 맥락에서 이해할 수 있다. 먼저, 아웃포커싱을 해야 하는 부위 혹은 태양이 생성될 위치를 설정하고, 알파채널을 형성한다. 이후 마스크를 활용해서 해당 지역에 아웃포커싱 효과와 태양을 만든다.

___

1 keyer(luminance)노드 생성

keyer노드를 생성하고, 키를 조절해서 아래처럼 아웃포커싱이 들어갈 알파채널로 만든다.

keyer노드는 색상의 밝기(명도)차를 이용해서 알파맵을 간단하게 만들어주는 기능을 제공한다. 주로 동적 이미지 시퀸스의 특정 부위를 알파맵으로 만들 때 사용한다. 


premult 이후, grade노드로 키 노드의 마스크를 추출한다. (grade로 특정 부위의 광도를 조절) 여기서 premult를 해주는 이유는, keyer노드로 만든 알파채널값과 r,g,b를 곱함으로써, 검은색인 부위(수치값:0)가 검정색 여백으로 변하기 때문이다. 


검은색으로 변한 부위는, 마스크를 적용하더라도 아무런 영향을 받지 않는다. (plus계열 제외) 왜냐하면 수치 0(검은색)과 곱하면 모두 0(검은색)이 되기 때문이다.


___

2 Blur처리

blur노드를 생성하여, size를 조절한다. premult를 한 상태이므로 keyer노드로 뺀 흰색부분이 모두 blur처리가 된다. (검은색은 0가 되어서 어떤 효과도 적용되지 않는다)


Merge노드를 over방식으로 합성한다. 


___

3 태양 만들기

태양은 이미지를 합성하면 쉽게 생성할 수 있지만, 구태여(?) 한번 생성해보자. Roto노드를 생성하고, 아래 사진처럼 elipse(타원)방식으로 태양모양을 만든다. ( output: rgba 설정 )


___

4 Volume Ray노드 생성

roto노드 아래에 volume ray노드를 연결하고, 빨간색 volume ray포인트를 roto노드가 그린 타원 안으로 이동시킨다. (아래사진 참고)


volume ray 포인트를 마우스로 이리저리 움직여보자. 타원 안에서의 point 위치에 따라 빛이 새어나가는 방향이 달라진다. 이는 마치 태양빛의 진행방향을 보는 것과 비슷한 효과를 낸다. Volume Ray노드의 설정값은 아래 사진을 참고하자. 목적에 맞게끔 여러기능들을 조절해서 최대한 씬에 어울리는 태양느낌을 만들 수 있다.


grade노드를 연결하고, gain 색감과 수치를 조절해서 붉게 타는 저녁노을 태양을 만든다.


___

5 멀티플 노드적용

volume ray노드와 grade노드 그리고 merge노드를 각각 두개씩 만든다. 위에서 진행한 과정과 똑같은 노드구조를 2개 만드는 식이다.


여기서 grade노드가 핵심이다. 하나의 grade노드는 multply수치를 올려서 둥근 태양이 아닌 퍼져나가는 석양빛을 만든다. 나머지 grade노드는 gain값(색 조절)만 조절해서 태양을 만든다. 즉, 하나의 태양은 퍼져나가는 느낌을 내고, 나머지는 색만 갖고 있는 느낌만 연출한다.


roto노드만 재활용하고, volue ray 노드는 태양과 석양빛 각각 1개씩을(총 2개) 만들어서 아래 사진처럼 연결한다. merge노드 2개 중의 한개는 석양빛을 만든 grade노드와 기존 채널값과 합성하고, 나머지 한개는 석양빛 merge노드와 태양을 plus방식으로 합성한다. (아래사진 참고)


멀티플 volume ray노드를 적용하고 나면, 안개 속에서 타는 저녁노을을 보는듯한 석양의 태양을 만들 수 있다.