본문 바로가기
Blender/Lighting & Rendering

주변광(Ambient Lighting)

by Alnilam 2014. 2. 26.


사진에서 주변광(Ambient Lighting)은 스포트 라이트나 플레쉬와 같이 사진을 찍기 위해 설치한  조명이 아닌 피사체 주변에 자연적(태양이나 달 또는 주변 불빛)으로 비치는 광을 의미 합니다.


이와 유사하게 블렌더에서도 주변광을 지원 합니다. 주변광을 사용하면 조명(Lamp)를 설치 하지 않아도 주변 빛에 의해 오브젝트에서 빛이 반사되는 것과 같은 효과를 낼 수 있습니다. 


블렌더에서는 3 종류(Ambient occlusionEnvironment Lighting and Indirect Lighting)의 주변광을 지원 하며 World 속성(지구모양 아이콘)에서 설정 할 수 있습니다.


아래 이미지는 기본 Spot 조명 하나만 사용하여 렌더링 한 영상입니다.



여기에 Ambient Occlusion  Factor 0.8, Gather의 Raytrace 방법을 적용하여 렌더링 하였습니다.  기존 조명 효과에 주변광 효과가 더해져(Add 옵션) 오브젝트가 더 밝아 졌습니다.



아래 이미지는 Factor를 0.3 으로 설정하고 렌더링 했습니다. Factor가 작을 수록 주변광 효과는 줄어 듭니다.



Factor 옆의 Add 대신 Multiply 옵션을 사용한 경우의 렌더링 결과로 Add에 비해 화면이 어둡게 표현됩니다.



아래 이미지는 Falloff 기능을 비교하기 위해 Factor 1.0 에 Falloff 를 끄고 렌더링 한 이미지 입니다.



Falloff를 활성화 하고 Strength를 2.0 으로 설정하여 빛의 감쇠되는 효과를 줄여 더 밝은 렌더링 결과를 얻었습니다.



Sampling 알고리즘은 일반적으로 Constant QMC를 사용하며 Samples 값은 높을 수록 화면에 보이는 노이즈 효과를 줄일 수 있지만 렌더링 시간이 오래 걸리는 단점이 있습니다. 


Raytrace 방법은 밝은 이미지를 얻을 수 있지만 화면에 노이즈로 인해 애니메이션을 만들면 화면에 노이즈가 깜빡이는 문제가 있습니다. 그래서 추가된 방법이 Approximate 방법입니다.


Approximate 방법은 Raytrace 방법보다 계산시간이 적게 소요되면서 노이즈 현상이 없습니다. 이 방법은 Open Source Movie , Big Buck BUNNY 제작 하면서 추가된 알고리즘 이라고 합니다. 하지만 뒤에 있는 면이 같은 방향을 가지는 경우 over-occlusion이 발생하는 경우가 있습니다. (아래 Big Buck BUNNY 그림의 나무 아래 가운데 구멍 )



아래 이미지는 Approximate 방법을 사용하여 렌더링 한 이미지 입니다. 

Approximated ambient occlusion 은 새로운 설정을 사용합니다.  Passes는 렌더링 전에 전처리  과정을 몇 번 할 것인지 설정 합니다.  Error 는 에러 허용 오차 값으로 작을 수록 좋은 결과를 얻을 수 있지만 이미지를 렌더링 하는데 시간이 더 소요 됩니다.


Environment Lighting 은 이전 설정한 빛에 의한 장면에 주변 빛에 의한 효과를 Energy 값을 사용하여 추가 합니다.

주변 빛의 종류는 White, Sky Color 와 Sky Tesxture 입니다.

White 는 빛으로 흰색을 사용하여 Ambient Occlusion 를 사용하여 렌더링 한 이미지와 결과가 유사 합니다. 

다음은 Environment Lighting Energy 1.0  White를 사용한 렌더링 결과 입니다.


Sky Color 나 Sky Texture 의 색상을 변경 하기 위해  Word 탭의 색상을 사용 합니다.

Environment Light의 Sky Color 를 선택하고 World 탭의 Horizon Color를 파란색으로 변경 하여 렌더링 하면 주변 빛이 설정한 파란색으로 아래와 같이 렌더링 됩니다.  Horizon color는 배경색을 변경 하여 배경색이 오브젝트에 반사되는 효과를 줍니다.



World 탭의 Ambient Color 를 변경 하면 물체의 색상이 설정한 색으로 다음과 같이 렌더링 됩니다.



Zenith Color는 하늘 천정(Zenith)의 색상으로 Blend Sky 를 활성화 하면 Horizon Color 와 혼합되어 배경 색으로 사용 됩니다.



Sky Texture는 주변 빛으로 Texture 를 사용합니다.

Sky Texture를 선택 하고 Texture 버튼을 클릭 합니다.  ( Texture버튼은 이전 속성창에 따라 다르게 동작 합니다. 이전 속성창이 World 였으면 World Textuer 속성이 표시되고 Material 이었으면 Material Texture 속성창이 표시 됩니다.)


Type 를 Image or Movie 를 선택하고 Open 를 클릭 하여 배경으로 사용할 이미지를 선택합니다.



Mapping Coordinates를  View 로 하고 Influence의 Horizon를 선택 합니다.


오브젝트에 메테리얼을 추가 하고 Mirror를 활성화 하고 Reflectivity 값을 설정 합니다.



그리고 렌더링 하면 아래 이미지와 같이 배경의 텍스처가 오브젝트의 주변광으로 사용됩니다.


sky_texture.blend



Indirect Lighting 은 물체에서 나오는 빛을 사용하여 주변광으로 사용하는 방법입니다.

블렌더는 오브젝트의 텍스처를 추가 하고 Shading의 Emit 값을 키우면 물체에서 빛이 나오는 재질을 만들 수 있습니다.

구체에 embit를 설정 하고 색상을 빨간색으로 변경했습니다.



Indirect  Lighting 를 설정 하지 않은 경우 빨간색 구가 빛을 발하는 것처럼 렌더링 되었지만 주변 물체에 빛이 반사 되지는 않습니다.



하지만 Indirect Lighting 를 활성화 하고  Factor 1.0, Bounces 1 로 설정한 결과 오브젝트의 빛이 주변 오브젝트에 영향을 줍니다.



다음은 Bounces 값을 10 으로 키웠을 때의 렌더링 결과 입니다.

indirect.blend



마지막으로 이전에 전에 작업한 3점 조명이 설치된 자전거에 주변광을 추가하여 렌더링한 결과 입니다.  (  Ambient Occlusion , Factor 0.6, Approximate)


exterior_env.blend


'Blender > Lighting & Rendering' 카테고리의 다른 글

메테리얼 추가하기  (0) 2014.03.12
메테리얼  (0) 2014.03.05
3점 조명 설치 방법  (0) 2014.02.20
렌더링 (Rendering)  (0) 2014.02.18
3점 조명  (0) 2014.02.12