Global Illumination 튜토리얼

 여러분이 이 튜토리얼을 하기위해서는 Softimage3.8 SP2 이나 3.9 Mental Ray 2.1이 필요합니다.

 튜토리얼 씬 다운로드(1.5MB)

따라 하시다가 안되는 부분이 있거나 질문이 있으시면 Q&A 게시판을 통해서 문의하시기 바랍니다.

개요

이 버젼의 소프트이미지는 멘탈레이 렌더러를 사용하여 여러분의 씬들에 글로벌 일루미네이션(래디오시티)을 추가하게 한다.

이 튜토리얼은5개의 조명을 사용하여 다음 그림과 같은 것을 

다음과 같은 것으로 될 수 있게 하는 방법을 알려준다.

다운로드 받은 씬 데이타베이스에는 clean-sceneglobal-room 2개의 씬이 있다.

clean-scene 은 기본 씬만을 갖고 있다(글로벌 일루미네이션 세팅이 없다).

global-room  씬은 튜토리얼을 끝냈을 때 완성되어야 하는 것을 갖고 있다.

시작

clean-scene 씬으로 시작하자.

1. clean-scene 을 불러온다.
2. 씬을 프리뷰해보라.

다음과 같을 것이다.

퀄리티가 아주 안좋고 많은 작업이 필요하다.

가장 먼저 해야할 것은 Ambient 조명을 끄는 것이다.

1. Matter > Atmosphere > Ambience.
2. 모든 값을 0으로 한다.
3. Ok 를 클릭한다.

Preview 해보라.

아직도 좋아보이지 않는다. 그리고 이번에는 천정이 보이지 않는다(나중에 바로 잡을 것이다)

그림자 추가하기

Sunlight라는 것을 제외하고 모든 조명이 soft shadows를 갖도록 만든다. Sunlight에는 대신 ray traced shadows를 준다.

1. 각 조명을 한번에 하나씩 선택하고 Light > Edit 를 선택한다.
2. 각 조명의 Shadow type을 조정한다.
3. Ok를 클릭한다.


다시 프리뷰해본다. 다음과 같아 보일 것이다.

그림자 조정하기

이제 그림자를 갖게 되었지만 너무 밝다.


1. 각 조명을 선택하고 Light > Edit 를 클릭한다.

2. Art 라는 조명을 제외한 모든 조명에서 Umbra Intensity를 0으로 바꾼다.

3. Art  조명의 Umbra Intensity를 1.00으로 설정한다. 

프리뷰해보면 다음과 같을 것이다.

이번에는 그림자가 아주 엉망이지만 적어도 작업하기에는 충분하게 어둡다. 약간 부드럽게 할 필요가 있다.

부드럽게 하려면 다음 3개의 파라미터를 조정한다.

Map Resolution , Filter Size , Filter Step.


아래 나열한 파라미터에 따라 각 조명을 조정한다.

1. Outside라는 조명을 선택하고 Light > Edit 를 클릭하고, 그림자 파라미터를 다음과 같이 바꾼다. 

Map resolution 500
Filter Size 100
Filter Step 100


2. Art 라는 조명을 선택하고 Light > Edit 를 클릭하고, 그림자 파라미터를 다음과 같이 바꾼다. 

Map resolution 500
Filter Size 50
Filter Step 50

3. Fluorescent 라는 조명을 선택하고 Light > Edit 를 클릭하고 그림자 파라미터를 다음과 같이 바꾼다.

Map resolution 500
Filter Size 50
Filter Step 50

4. Hallway라는 조명을 선택하고 Light > Edit 를 클릭하고 그림자 파라미터를 다음과 같이 바꾼다.

Map resolution 500
Filter Size 50
Filter Step 50

5. Sunlight는 부드럽게 만들 필요가 없다. 여기에서와 같이 직사광선은 거의 대부분 뚜렷한 그림자를 만들기 때문이다.

다시 프리뷰해보면 다음과 같을 것이다.

이제 부드러운 그림자를 갖게 되었지만 실내가 너무 어둡다..

글로벌 일루미네이션 작업 시작


여러분이 하여야 할 첫번째는 글로벌 일루미네이션에 의해 영향을 받게될 리스트에 오브젝트들과 조명들을 추가하는 것이다.

Photon Director에 오브젝트들을 추가하기

1. Light>Photon Director+ 를 선택하면 Photon Director 대화상자가 나타난다.

2. 대화상자의 드롭다운 리스트로부터 Object를 선택하면, 씬에 있는 오브젝트들의 리스트가 나타난다.

3. small_table이라는 단어를 하일라이트시킨다.
힌트 : Photon Director 대화상자를 옆으로 이동하면, 방금 선택한 오브젝트가 씬에서 하일라이트된다는 것을 알 수 있다.


4. Add Props 버튼을 클릭한다.

모델들 리스트 아래를 보면, 대화상자의 Object Properties 부분이 더 이상 사용할 수 없는 상태로 뿌옇게 되어있지 않음을 알 수 있을 것이다. 이제 이 오브젝트에 글로벌 일루미네이션 속성을 줄 수 있다.


5. Receiver 와 Transmitter 체크 박스를 클릭한다. 이렇게 하면 small_table 오브젝트가 다른 소스로부터 글로벌 일루미네이션 효과를 받게할 뿐 아니라, 자신의 반사 조명도 씬에 추가하게 된다.


이번에는 s_tablelegs 가 글로벌 일루미네이션에 의해 영향을 받도록 만들고자 하는데, transmitters로 사용하기에는 너무 작다(많은 차이도 없이 씬이 렌더링되는데 더 오래 걸리게만 한다). 따라서 이것들은 그냥 Receivers로 만든다. 

1. s_tablelegs-1 단어를 하일라이트한다. Photon Director 대화상자가 옆으로 밀려있다면, 선택된 small_table 의 다리들중 하나를 볼 수 있을 것이다. 

2. Add Props 버튼을 클릭한다.

3. Receiver 체크박스를 클릭한다.

이제 s_tablelegs_2, s_tablelegs_3, s_tablelegs_4에 대해 과정을 반복하여 Receiver only로 만든다.

쓸만한 결과를 얻기 전에 Photon Director 에 더 많은 props를 추가할 필요가 있다. 

마루, 벽, 천정등을 추가하기

이러한 오브젝트들중 일부는 Transmitters 또는 Receivers 또는 둘 다가 될 것이다. 

오브젝트들의 리스트와 오브젝트들에 주여야 할 속성들은 다음과 같다.
 

오브젝트

글로벌 일루미네이션
Receiver

글로벌 일루미네이션
Transmitter

Room(Ceiling)

yes

yes

Ceiling_light

no

yes

Right_wall_hall

yes

yes

Left_wall_hall

yes

yes

*Floor_bounce

no

yes

Door

yes

yes

Window

yes

yes

Door_frame

yes

yes

Frame

yes

yes

*Floor

yes

no

Right_wall

yes

yes

Left_wall

yes

yes

F_art

yes

yes

*외부로부터 오는 빛에 대해 바닥에 적절하게 반사되도록 두개 오브젝트가 필요하다. floor 오브젝트는 나무 텍스쳐 맵이 입혀진 단순한 그리드이며 Receiver only가 될 것이다(이것은 모두가 보게되는 것이다). floor_bounce 는 회색 재직이 주어진 평평한 그리드이다(floor 밑에 놓여져 있다). 이것은 멋진 바운스 조명 효과를 주게 될 것이다. 왜 이것이 transmitter 만인지 하는 이유이다. 나무 텍스쳐를 갖고 있는 floor 오브젝트를 transmitter 로 사용하였다면, 전체 실내가 나무 색으로된 빛으로 가득 채워져 바르게 보이지 않는다.  또한 shadow casting 이 floor 오브젝트상에서 꺼져 있어 아래에서부터 실내를 밝히기위한 floor_bounce 오브젝트의 기능과 간섭하지 않는다.

조명들을 Photon Director에 props 로 추가하기

글로벌 일루미네이션의 효과를 보려면, 조명들을 Photn Director 에 Props로 추가하여야 한다. 

1. 드롭다운 리스트로부터 Lights를 선택한다.
2. Fluorescent 라는 조명을 선택한다. 
3. Add Props 버튼을 클릭한다. 
4. Global Illumination 체크박스를 클릭한다.
5. 다른 4개의 조명에 대해 위 단계를 반복한다(Sunlight, Art, Outside, Hallway.)

글로벌 일루미네이션 켜기

렌더링하기전에 마지막으로 하여야 할 한가지는, Photn Director에게Render Settings 에서 Global Illumination을 켜서 이러한 값들을 모두 사용하고자 한다고 알려주는 것이다. 

1. Photon Director 대화상자에서 Render Settings 버튼을 클릭한다. 
2. 대화상자의 아래에 있는 Global Illumination 옆의 체크박스를 클릭한다.
3. Render Settings 대화상자에서 Ok를 클릭하고나서 다시 Photon Director 대화상자로 간다. 

주 : 어떤 컴퓨터에서느 이부분의 튜토리얼에서 이 씬이 프리뷰되지 않는다는 것을 발견하였다(preview 버튼을 클릭할 수 있으나 아무것도 일어나지 않고 CPU 싸이클만 멘탈레이에 의해 잠식당한다). 따라서 결과를 보기위해서는 Preview 대신에 Render를 사용해야만 할지도 모른다. 씬을 렌더링하여야 한다고 결론이 나면, verbose 옵션을 켠다(Mattter > Render > Options에 있다). 이렇게 하면 멘탈레이가 무엇을 하고 있는가를 소프트이미지 인터페이스의 아래에 있는 현황 표시영역에서 모니터링할 수 있다. 


Render 또는 Preview 해보면 다음과 같을 것이다. 

이번에는 일부 오브젝트들이 너무 밝고 일부는 너무 어둡게 보인다. 

첫째는 Receiver/Transmitter 이 되어야만 하는 모든 오브젝트들을 Photon Director 에 추가하지 않았다. 

둘째는 조명들을 전혀 조정하지 않았다(명백하게 너무 밝다). 

Photon Director에 Receiver/Transmitter 추가하기

주 : 똑같은 글로벌 일루미네이션 값을 사용할 오브젝트들의 계층구조를 갖고 있다면(chair와 columns과 같이), 부모 오브젝트를 하일라이트하고 Propagate Values 체크 박스를 클릭하여 시간을 절약할 수 있다. 이것은 부모 오브젝트에 대해 설정한 값들을 계층구조를 통해서 오브젝트의 자손들에 카피하게 된다. 

나머지 오브젝트들을 Photon Director 에 추가하고 올바른 값들을 주자. 

오브젝트의 이름과 그것들의 글로벌 일루미네이션 설정값에 대한 내용은 다음과 같다. 

오브젝트

글로벌 일루미네이션
Receiver

글로벌 일루미네이션
Transmitter

Table

yes

yes

Tableleg_1

yes

no

Tableleg_2

yes

no

Tableleg_3

yes

no

Tableleg_4

yes

no

Track_light

yes

no

Light_pole

yes

no

Base

yes

no

Column1

yes

yes

Column2

yes

yes

Column3

yes

yes

Column4

yes

yes

Chair

yes

no

Chairleg_1

yes

no

Chairleg_2

yes

no

Chairleg_3

yes

no

Chairleg_4

yes

no

Chairleg_5

yes

no

주 : sky 오브젝트는 prop으로 추가하지 말라. 이것은 constant 재질로 글로벌 일루미네이션과는 문제를 일으킨다. 

실수로 하늘을 추가하였다면 다음과 같이 한다. 

1. Remove Props 버튼으로 없앤다. 
2. 씬을 저장한다. 
3. 소프트이미지를 끝낸다. 
4. 소프트이미지를 다시 시작한다. 
5. 씬을 다시 불러들인다.

작업을 계속하기전에 이 모든 것을 한다. Photon Director 는 가끔 일단 한번 props였던 오브젝트들을 무시하는 것을 잊어먹는다. 그러나 리스트로부터는 제거되었다.  이것이 Photon Director가 Prop 리스트로부터 제거된 오브젝트를 계속 가도록 하는 유일한 방법이라는 것을 가끔 알게 되었다. .

씬을 프리뷰 또는 렌더링하면 아래와 같을 것이다.  

 

아직도 너무 밝다. 조명을 낮출 필요가 있다. 

각 조명의 Photon/Energy를 조정하기 

조명들을 조정할 때 명심하여야 할 몇가지 

1. 조명의 luminance나 칼라는 효과의 밝기를 콘트롤하지 않는다-이것은 Photon Energy에 의해 콘트롤된다(잠시후에 조정할 것이다). 조명의 칼라는 직접 발광체에 대해서만 사용된다. 

2. 씬에서 selective 조명의 사용을 계속할 수 있는 반면에 글로벌 일루미네이션은 이러한 설정을 무시한다. 

1. 드롭다운 리스트로부터 Lights를 선택한다. 
2. Photon Director 에서 Sunlight를 선택한다. 
3. 그것에 100,000의 Photon value를 준다. 
4. 5.00의 Exponent value 를 준다. 
5. 모든 Energy values(R, G, B)를 0.5로 만든다. 

같은 방법으로 아래에 나열한 값들을 주어 나머지 조명들을 조정한다. 

조명

Photons

Energy (R,G,B)

Exponent

Art

30,000

0.6

3.00

Outside

100,000

0.6

2.00

Hall_spot

8,000

0.2

2.00

Fluorescent

15,000

0.5

2.00

씬을 프리뷰 또는 렌더링하면 다음과 같이 보일 것이다. 

앞에서처럼 밝지는 않고 모든 것이 얼룩들로 덮여져 있다. 조명들은 올바르게 설정하였으나 충분히 정밀하지가 않다. 얼룩들을 없애기위해 정밀도를 더 올릴 필요가 있다. 

조명들의 정밀도 조정하기 

조명 정밀도를 조정하는데에는 많은 방법이 있다: 씬에 더 많은 포톤을 추가하기, Global Illumination Accuracty 변수 올리기, 반경 조정하기, Final Gatiering 켜기, photon depth 올리기등등..

먼저 Final Gathering을 켤 필요가 있다. 

Final Gathering 은 렌더링을 느리게 만들기 때문에 이 부분의 튜토리얼에서 Anti-aliasing을 끄는 것이 좋다(최종 렌더링을 할 때까지). 

1. Photon Director 에서 Render Settings 버튼을 클릭한다. 
2. 대화상자의 가운데 있는 Final Gathering 옆의 체크박스를 클릭한다. 
3. Final Gathering 아래의 Accuracy를 100으로 설정한다. 
4. MinimumMaximum Radius 에 대한 체크박스들을 클릭한다. 
5. Minimum Radius를 0.5로 설정한다. 
6. Maximum Radius를 12로 설정한다. 

이미지를 렌더링하면 다음과 같을 것이다. 

훨씬 좋아졌다(벽에 있는 가공물을 제외하고는)

벽에 있는 가공물을 없애기위해 Final Gathering아래의 Accuracy 변수를 더 큰 수로 올린다. 500정도로 해보라. 값이 클수록 더 좋아 보일 것이다(하지만 렌더링을 더 오래 걸린다). 

Accuracy를 500으로 설정하였을 때 이미지는 아래와 같아 보일 것이다. 

Photon Map 저장하기 

이미지에 만족스러우면 General Rendering Settings 대화상자에서 Rebuild Photon Map 옵션의 체크를 없앨 필요가 있다. 이 옵션은 named Photon Map 과 함께 사용하라. 이것은 Photon Map을 특정한 화일에 저장하게 한다. 이것은 렌더링의 속도를 빠르게 하는데, 왜냐하면 멘탈레이는 그 지점으로부터 포톤의 dispersal을 계산할 필요가 없기 때문이다. Photon Director 설정을 수정하면, Rebuild Photon Map 박스를 체크하여 바뀐 것을 반영하는 새로운 맵을 다시 구축하여야만 한다. 다시 렌더링하고나면 이 옵션의 체크를 취소한다.

수고하셨습니다. 혹시 따라하는 도중에 잘 안되는 부분, 이해가 안되는 부분, 더 알고 싶은 부분이 있으면 Q&A 게시판을 통해서 문의하시기 바랍니다.