멘탈레이를 사용하여 글로벌 일루미네이션용 씬 설정하기

By: Ed Harriss


이 튜토리얼에서 여러분은 아래와 같은 씬을 취하는 방법에 대해 배우게 되며:




최종적으로 다음과 같이 보이도록하는 글로벌 일루미네이션과 Final Gathering을 위해 씬을 설정하는 방법에 대해 배우게 된다:




튜토리얼을 따라하기 위해 GlobalScenezip (3.6meg) 데이타베이스를 다운로드하라.

이 데이타베이스에는 두개의 씬이 있다: Global and GlobalFinished. 맨 먼버 시작할 씬은 "Global" 이며 "GlobalFinished" 씬은 이 튜토리얼에 있는 모든 과정을 마친 후의 씬이다. 

File 메뉴를 통해 불러 "Global" 씬을 연다. 
씬은 하나의 조명, 창문이 있는 큐브(방)와 공 하나로 구성되어 있다. 
시간을 절약하고 튜토리얼에서의 불필요한 복잡함을 줄이기 위해 이 씬에 몇가지 것을은 이미 해놓았다: 

1. 조명이 놓여있고 그림자가 생기도록 설정되어졌다. 
2. Ambient Light 가 Zero로 낮추어졌다. 
3. Environment 는 텍스쳐로 주어졌다.
4. 공에는 이미 텍스쳐가 주어져 있다.

씬을 불러오고나서 뷰포트 드롭다운 메뉴에서 Cameras>Camera를 선택하여 뷰포트 B를 카메라 뷰로 바꾼다. 

글로벌 일루미네이션이 작업되도록 하기위해서는 3가지가 필요하다. 포톤을 방출하는 조명, 방출된 포톤과 상호작용될 오브젝트, 렌더러에서의 글로벌 일루미네이션 효과. 

1 단계 : 포톤 방출기(조명) 정의하기

1. 조명(글로벌 일루미네이션 소스)를 선택하고 Render 툴바에서 Modify>Shader를 선택한다. 이렇게 하면 선택된 조명의 프로퍼티 페이지가 열린다. 
2. Photon tab 을 클릭하여 조명의 포톤 프로퍼티들을 디스플레이한다. 
3. Global Illumination check box 를 체크하여 글로벌 일루미네이션 소스로 조명을 정의한다. 이렇게 하면 조명이 포톤을 방출하게 된다. 
4. 조명에 대한 Energy Intensity140000 으로 설정한다. Intensity 는 글로벌 일루미네이션 효과가 얼마나 강할 것인가를 결정하은 옵션이다. 숫자가 클수록 효과는 더 밝아지게 된다. 조명으로 부터 멀리 있는 오브젝트는 더 많은 에너지를 필요로 하게 된다. 에너지 값은 렌더링 시간에 영향이 없다. 단지 글로벌 일루미네이션 효과의 밝기만을 증폭시킨다. 
5.Number of Emitted Photons 을 Global Illumination에 대해 20000 으로 설정한다. 이 값은 조명이 방출하는 포톤의 수를 나타낸다. 값이 낮을 수록 조명이 희미하게 범벅이 되게 하지만 렌더링은 빨리된다. 따라서 테스트를 위해서 좋다. 높은 값은 매끄러운 글로벌 일루미네이션 효과를 만들게 되지만 많이 느려지며 최종 렌더링을 위해 적당하다.

2 단계 : Transmitters 와 Receivers, 방출된 포톤과 상호작용할 오브젝트 설정하기

1. 공을 선택한다.
2. Selection 판넬에서 Property 버튼을 오른쪽-클릭한다. 
3. 드롭다운 메뉴에서 elect Viewing Properties 를 선택한다. Visibility 프로퍼티 에디터가 열린다. 
4. Visibility 탭을 선택한다. render-visibility 옵션이 디스플레이된다. 
5. transmittersreceivers 체크박스를 선택한다. 이것은 오브젝트가 빛을 반사할 뿐 아니라 반사된 빛을 받도록 만든다. 

Environment 에 대해 과정 반복.

1. Room(큐브)를 선택한다.
2. Selection 판넬에서 Property 버튼을 오른쪽-클릭한다.  
3. 드롭다운 메뉴에서 Select Viewing Properties 를 선택한다. 이렇게 하면 Visibility 프로퍼티 에디터가 열린다.
4. Select the Visibility 탭을 선택한다. 이렇게 하면 render-visibility 옵션이 열린다.
5. transmitters receivers 체크박스를 선택한다. 이렇게 하면 오브젝트가 빛을 반사시킬뿐 아니라 반사된 빛을 받도록 한다.

3 단계 : 렌더링 영역을 위해 글로벌 일루미네이션과 Final Gathering 켜기.

1. 카메라뷰를 보여주는 뷰포트에서(뷰포트 B) 렌더링 영역을 그린다. 키보드에서 q를 누륵 왼쪽에서 오른쪽으로 가로질러 드래깅한다. 이렇게 하면 렌더링의 결과를 볼 수 있게 해준다. 

Note: 글로벌 일루미네이션 효과는 렌더링하는데 오랜 시간이 걸린다. 옛날 컴퓨터를 가지고 있다면 렌더링 영역에 대하여 auto refresh를 끈다. 이렇게 하면 슬라이더를 움직이거나 버튼을 클릭할 때마다 업데이트되는 것을 방지한다.

이렇게 하려면 render region 버튼을 누르고 Auto Refresh 를 끈다.


렌더링 옵션을 수정하려면:




2. Render 툴바로부터 Render > Region > Options 을 선택하고 View Rendering Options 프로퍼티 에디터를 연다. 


또는


렌더링 영역의 프레임을 오른쪽-클릭하여 팝업 메뉴를 디스플레이시키고 Properties 를 선택하여 View Rendering Options 프로퍼티 에디터를 연다.



3. Optimization tab 을 클릭한다.
4. Acceleration MethodGrid를 선택한다. 
Changing the acceleration method 를 Grid 로 바꾸는 것은 글로벌 일루미네이션을 사용하는 렌더링의 속도를 빠르게 한다. 


5. Photon tab 을 클릭한다.
6. Global Illumination 체크박스를 선택한다.
선택된 효과가 이제부터 렌더링 영역에 보인다. 
(auto refresh를 껐다면, refresh 버튼을 클릭하여 렌더링 영역을 업데이트시킨다.)

이미지가 다음과 같아 보여야 한다:

그렇게 좋지는 않다.
글로벌 일루미네이션 효과를 조정할 필요가 있고, Final Gathering 이 추가될 필요가 있다. 

씬을 미세 조정하기.

글로벌 일루미네이션 효과가 여러분의 씬에 설정되었다. 그러나 좋은 결과를 내기에는 충분하게 조정되지 않았다. 

global illumination 체크박스 아래에 두가지 조정 설정요소가 있다:
Accuracy 와 Radius.

 Accuracy: 렌더러가 Radius(아래 참조)에 의해 명시된 영역내에서 찾을 포톤의 수를 나타낸다. 낮은 Accuracy 숫자는 거친 이미지를 만들고, 높은 Accuracy 숫자는 더 매끄럽고 더 정밀한 결과를 주게되지만 렌더링하는데 더 오랜 시간이 걸리게 된다. accuracy 값을 씬안의 모든 조명에서부터 방출되는 포톤의 수보다 더 큰 값으로 설정하면 포톤 계산이 끝나게 되지 않으므로 이미지는 결코 렌더링되지 않는다.

Radius: 이것은 포톤이 오브젝트를 칠 때 만드는 효과의 크기(in Softimage units)이다. 값이 클수록 더 큰 효과를 만들지만 통상 덜 정밀한 결과를 만든다(여러분의 씬이 아주 크게 스케일링되고 정말로 큰 accuracy 설정을 사용하지 않았다면). 낮은 accuracy 값과 합쳐진 큰 radius 값은 여러분의 씬이 어떻게 보일 것인가를 빠르고 대충 가상해보는데 좋을 수 있다(테스트 렌더링에 좋다). 높은 accuracy 값과 합쳐진 낮은 radius 값은 최종 이미지를 가장 정밀하게 표현하게 되지만 렌더링하는데 훨씬 시간이 더 걸린다. 

radius 에 대한 디폴트 값은 0이다. 이 값에 속지말라. 이것은 radius 가 0인 포톤을 정말로 만들어내지 않는다. 실제로는 raius 가 1.3에 가깝다. 이것이 디폴트이기 때문에 0 설정은 radius 의 크기를 정밀하게 나타내지 않는 유일한 것이다.

글로벌 일루미네이션 하나로도 훌륭한 품질의 이미지를 만들 수 있다. 그러나 글로벌 일루미네이션과 Final Gathering 의 파워를 합치면, 결과는 글로벌 일루미네이션 하나만 사용할 때보다 훨씬 더 사실적일 수 있다.

7. Final Gathering 체크박스를 클릭하여 Final  Gathering 효과를 켠다. 

Final gathering은 씬안에서 조명보다는 오브젝트에 의해 드리워진 빛을 사용하여 일루미네이션을 계산한다. 글로벌 일루미네이션처럼 이것도 역시 accuracy 설정을 갖고 있다. 이 값은 이미지안의 각 픽셀이 얼마나 많은 빛을 발사하여 씬의 전반적인 모습에 기여하는 지를 정의한다. Radius 값은 직간접 일루미네이션을 위해 샘플링된 각 픽셀 주위의 영역을 정의한다. 큰 값을 사용하는 것은 Final Gathering 효과가 씬안의 오브젝트를 치게될 기회를 증가시킨다. 그러나 방출된 빛에 의해 더 많은 오브젝트들이 부딪히게 되므로 렌더링은 더 느려진다. 낮은 Min Radius 값과 높은 Max Radius 값을 잘 조합하면 아주 좋은 결과를 얻을 수 있다. 개인적으로는 최종 렌더링시 두 값을 모두 낮게 설정하는 것을 좋아한다.

여러분의 이미지는 다음과 같아야 한다:

점점 근접하여가지만 이미지가 인위적인 가공물들로 채워져 있다. 약간 더 조정하면 훨씬 더 좋아질 것이다.

8. Global Illumination Accuracy50 으로 올린다.

9. Global Illumination Radius0.5 로 내린다.

10. Final Gathering Accuracy 200 으로 한다.

11. Final Gathering Min Radius 0.05 로 한다.

12. Final Gathering Max Radius 0.5 로 한다.

컴퓨터의 성능에 따라 이 이미지를 렌더링하는데 오랜 시간이 걸릴지 모른다.

이미지는 다음과 같아 보여야 한다:



괜찮아 보인다. 이미지를 크게 렌더링하면 약간의 인공적인 가공물들이 보일 수 있는데 이럴때는 Final Gathering을 조정하고 조명이 방출하는 포톤의 수를 올리면 가공물을 깨끗이 할 수 있고 문제를 해결할 수 있다.