
파이널 게더링(이하 FG)이란 무엇인가?
radiosity 방식 보다 시간을 덜 소비하면서도 극도의 현실적인 쉐이딩 효과를 이끌어낼 수 있는 렌더링 옵션이라 할 수 있다.
심플 레이 트레이싱(simple ray tracing)을 사용하면 광선은 이미지 크기와 이미지의 샘플링에 맞추어 카메라로부터 뿌려진다. 그리고
오브젝트에 부딪친 광선은 scene에 삽입된 라이트를 감안하여 컬러를 계산한다.
FG를 이용하면 첫째 광선(ray)은 라이트로부터 발산된다. 라이트로부터 오브젝트에 닿는 빛을 단 하나의 광선으로 가정했을 때, 그것이 특정
오브젝트에 부딪히면 빛 줄기(series of rays)는 오브젝트 둘레로부터의 빛 에너지를 계산하기 위해 불특정한 방향으로 퍼져나간다. 그 후
photon map은 ray-tracing 과정에서 반사된 빛 효과를 추가하는 데에 이용된다. 이로 인해 기본적으로 모든 오브젝트는 광원으로서의
역할을 한다. 따라서 scene에 포함된 각 오브젝트는 실제 세계처럼, 자신이 갖고 있는 컬러가 주변에 영향을 미친다.
이것은 XSI 1.5에 기반하여 제작된 간단한 튜터리얼이다.(역 : 3.0에서 따라해본 결과 혼동될 부분은 없었습니다.)

Sphere와 cube를 각각 하나씩 꺼낸다. 폴리곤 모델도 상관없지만 넙스가 좀 더 적당하다.
Cube의 크기와 위치를 조정하여 그림자가 생길 테이블을 생성한다.

Scene의 기본 조명을 삭제한다. 새로운 포인트 라이트를 생성하고 컬러를 0으로 조정한다. 파이널 게더링에서 라이트의 위치는 별다른 차이를 만들지 않는다. 다만 라이트를 생성하는
것은 효과를 내기위해 필요한 photons을 생성하기 위함이다.

큐브를 복사하여 위쪽으로 이동시킨다. 이 오브젝트는 광원 역할을 할 것이다. 오브젝트의 material을 constant로 바꾸고 컬러 값을
1로 조정한다. FG로 인해 Scene 내의 모든 모델이 광원 기능을 하지만, 새롭게 만든 cube오브젝트가 가장 밝기 때문에 실제의 광원
역할을 수행한다.

Sphere에 lambert shader를 주고 diffuse와 ambient 수치를 1, 0, 0(red)로 설정한다. 이것을 아래쪽
cube에도 동일하게 적용시키는데 diffuse와 ambient 수치는 1, 1, 0(yellow)로 맞춘다. 이 튜터리얼에서는 효과가 눈에
띄도록 하기위해 ambient를 밝게 설정하였다. 그러나 여러분은 꼭 이렇게 해줄 필요는 없다.

단축키 Q를 눌러 render region을 그리고 마우스 우측 버튼으로 render region 테두리의 노란색 라인을 클릭하여 프로퍼티 창을
띄운다. Photon 탭으로 이동하여 파이널 게더링 옵션을 체크하고 Accuracy를 200으로 높인다.
여러분은 sphere로부터 cube에 발산되어 오렌지 색조를 만들어내는 흩뿌려진 빨간색을 볼 수 있을 것이다. 또한 오브젝트에 광원으로
사용될 텍스처를 더해줄 수도 있을 거이다.
그리고 material shader>indirect illumination 파라미터를 조정하여 오브젝트가 얼마나 밝게 보일지를 조절할 수
있다.
파이널 게더링 세팅
Mental Images 사에 따르면, "Final Gathering과 global illumination 기술은 높은 기술적 정점에 도달해
있고, mental images에서는 이를 위해 더욱 많은 연구를 하고 있다."고 말하고 있다.
Pre-2.0: FG 세팅에 대한 공식적인 언급이 있었던 것은 아니지만, 기본적인 법칙은 Maximum Radius는 대략 씬(scene)
크기(in SI units)의 5%-10%로 맞추어 주어야 한다. 그리고 Minimum Radius 값은 Maximum Radius 값의 10%
정도로 하는 것이 적당하다. 갤러리에 있는
의자 씬의 경우 accuracy를 500, min(Minimum Radius)는 0.5,
max(Maximum Radius)는 5.0으로 맞추었다. 좀 더 나은 결과물을 얻기 위해서는 accuracy값을 높인다.
Mental Images사는 XSI 2.0에 포함된 mental ray v3.0에서 Final Gathering 알고리즘을 새롭게 변화시켰다.
이미지 렌더링이 눈에 띄게 빨라졌을 뿐 아니라 동급의 설정에서 훨씬 부드럽게 보이게 되었다. 또한 자동 설정(automatic compute)
옵션을 두어 씬에 따라 min/max 값을 자동으로 적용시킬 수 있도록 했다.

이제 여러분은 파이널 게더링의 기초를 이해했을 것이다. 이제부터는 좀 더 실사(photo-realism) 같은 이미지를 창조해보도록 하자.

여러분도 느끼는 것처럼 파이널 게더링은 약간 무딘 느낌을 준다. 오브젝트 메터리얼의 밝은 부위(specularity)는 렌더링 되지 않으며,
씬에 있는 라이트가 무시되어 투명도와 반사값도 적용되지 않기 때문이다. 단일 패스 상에서 일반적 ray tracing과 파이널 게더링을
혼용하는 방식을 사용해보자.

계속해서 앞 장에서 제작한 씬에 좀 더 효과를 입혀보도록 한다.(역 : 여기서부터는 효과를 위해 Sphere 오브젝트의 material은 phong을 사용하게 됩니다.)

FG에 있어서 라이트는 단지 포톤을 발산하는 역할만 하기 때문에 위치는 중요하지 않다. 그러나 이 경우에는 라이트를 가장 우선되는 광원인
cube가 있는 곳으로 옮겨놓도록 했다.

일반적으로 FG를 사용할 때, 라이트의 색상을 설정하지 않지만, 이번에는 FG의 느낌을 해치지 않는 선에서 약간의 색상값을 주었다.

specularity는 phong과 같은 머터리얼 상에서 빛을 낸다. 그러나 라이트가 거의 빛나지 않기 때문에 현재는 크게 눈에 띄지 않는다.
빛나는 효과를 내기 위해서는 오브젝트의 specularity 값을 과장되게 높여줄 필요가 있다.

자, 이제 specular가 적용된 것이 보인다.

효과를 좀 더 높이고 라이트 옵션에서 shadows를 활성화하여 그림자도 드리워 보자. 또한 부드러운 라이트 효과를 위해 area lights
옵션을 켜주도록 한다.

양 오브젝트에 reflection값을 조금 추가해준다. 사실적인 느낌을 더하고자 한다면 gloss와 samples 값을 더해준다. Gloss는
현실에서 처럼 거리에 따라 reflection되는 상태를 흐릿하게 만들고, samples는 거친 느낌을 덜어준다.
이곳을 클릭하면 XSI 2.0에서 제작한 씬을 다운로드 할 수 있다.
Tutorial made by:
Manny Papamanos
관련링크
www.finalgathering.com