본문 바로가기
Blender/Architecture

메테리얼 - 디뷰즈와 스펙큘러 쉐이더 (diffuse & specular shaders)

by Alnilam 2014. 3. 13.


참고 하고 있는 "Architecture, Buildings, and Scenery" 책에도 역시 메테리얼에 대해 이야기 하고 있습니다. 하지만 책이 블렌더 2.49 버전 기준으로 되어 있어 설정이 약간 상이합니다.

그래서 기본적인 사항은 다른 카테고리에서도 다루고 있어서  디뷰즈(diffuse) 와 스펙귤러(specular) 쉐이더(shaders) 에 타입에 따른 특징에 대해서 설명하겠습니다.



쉐이더  (Shaders)

쉐이더는 오브젝트의 표면에 빛이 비추어 어떻게 반사 되는 지에 관한 설정입니다. 모든 물체는 빛이 반사되는 방식이 상이하여 다르게 보이기 때문에 쉐이더 값을 설정하여 다른 재질을 표현 할 수 있습니다.

이런 쉐이더에는 전체적인 명암을 설정하는 디뷰즈 쉐이더와 밝게 빛나는 (하이라이트 또는 양광부) 부분을 설정하는 스펙큘러 쉐이더 설정이 있습니다.


두 쉐이더의 설정 창은 아래 이미지와 같습니다.


두 흰색 상자 부분이 현재 설정되어 있는 반사되는 색상이면 이 부분을 클릭 하여 색상을 변경 할 수 있습니다.

강도(Intensity) 값을 변경하여 반사되는 정도를 변경 할 수 있습니다. 값이 클 수록 빛이 많이 반사 되어 밝게 보입니다.

흰색 상자 옆의 Lambert, CookTorr 은 현재 사용되고 있는 쉐이더 타입 입니다. 쉐이더 타입에 따라 설정이 달라 빛이 반사되는 방식이 다릅니다. 

Ramp 옵션을 사용하면 아래 이미지와 같이 여러 색상을 혼합하여 사용할 수 있습니다.



디뷰즈 쉐이더 (diffuse shaders)

설정에 따라 오브젝트 표면에 빛이 얼마나 반사되는지 결정 됩니다. 일반적인 경우 오브젝트는 자체 발광이 되지 않기 때문에 빛(Lamp)이 있어야 렌더링 할 때 보입니다.   Intensity 가 클 수록 더 밝게 보입니다. 

디뷰즈 쉐이더 타입에는 Lambert, Onren-Nayar, Minnaert, Fresnel , Toon 이 있습니다.


Lambert:

블렌더 표준 디퓨즈 쉐이더이며 설정이 가장 간단 합니다. Lambert 쉐이더는 빛 또는 보는 각도에 상관없아 항상 동일한 세기로 빛을 반사 합니다. Intensity 옵션을 사용하여 빛이 반사되는 크기를 설정 합니다. 이 쉐이더를 사용하면 좋은 재질은 마감 되지 않은 나무나 돌 종류 몇 가지가 있습니다.

다음 이미지들은 Intensity 에 따른 결과 입니다.



Oren-Nayar:

러프(Rough) 설정이 추가 되어 Lamber 에 비해 더 실감나게 빛의 반사를 표현 합니다. 

러프는 부드럽고 거친 표면의 정도를 설정 하는 기능 입니다. 

러프값이 클수록 좀 더 거칠게 렌더링 됩니다. Oren-Nayar는 콘크리트나 나무에 사용하기 좋습니다.

    


Minnaert: 

표면의 일부 중 가운데 부분을 어둡게 하는 기능이 있습니다. 

Darkness 설정을 통해 가운데 부분에 어두운 정도를 조정 할 수 있습니다.

이 쉐이더는 모래, 흙, 녹슨 부분, 금속과 같은 매질을 표현 하는데 사용 할 수 있습니다.

Darkness 값은 1.0 를 기준으로 보다 크면 가운데가 어둡게 되고 보다 작으면 주변이 밝아지게 됩니다.


Fresnel(프레넬) :

반사되는 빛이 표면에 비춰는 각도에 따라 달라지는 쉐이더 입니다.

Intensity 외에 Fresnel 설정과 Factor 설정이 더 있습니다.

Fresnel 설정은 Fresnel 효과의 정도를 설정 할 수 있고 Factor 는 일반적인 반사와 Fresnel 반사의 혼합 정도를 설정 합니다.

벨벳처럼 빛의각도에 따라 다르게 보이는 재질에 사용 할 수 있습니다.


아래 이미지는 Fresnel 값이 0.1 일 때와 1.0 일 때의 결과입니다.


 다음 이미지는 같은 Fresnel 값 0.5에 대해 Factor 가 5.0 일 때와 2.0 일 때의 결과 입니다. Factor 가 끌 수록 Fresnel 효과가 선명합니다.


Toon:

애니메이션 장면처럼 음영의 경계가 선명하게 만듭니다. 

Smooth 값이 작을 수록 경계가 선명해지고 Size 값을 변경하여 밝은 영역의 크기를 조절 할 수 있습니다.

아래 이미지는 Toon 쉐이더를 사용한 결과 입니다.




스펙큘러 쉐이더 (specular shaders)

이 쉐이더를 사용하여 빛이 표면에 비춰는 각도와 시점에 따라 다르게 반사되는 하이라이트를 변경 할 수 있습니다. 

이 쉐이더는 유리와 금속 같은 반사체의 재질을 설정 할 때 매우 중요합니다. 

반사 되는 양의 강도를 설정 하는 Intensity 을 공통적으로 가지고 있습니다.

스펙큘러 쉐이더 타입에은 CookTorr, Phong, Blinn, WardIso 와 Toon 이 있습니다.


CookTorr: 

가장 단순한 스펙큘러 쉐이더로 작은 하이라이트를 만들어 프라스틱 재질에 좋습니다.

Intensity 가 클수록 하이라이트가 밝아 집니다. Intensity 가 0.0 이면 하이라이트가 없습니다.


Hardness 값이 크면 하이라이트가 작아지며 작으면 하이라이트가 커집니다.



Phong: 

CookTorr 와 매우 유사하게 동작 하지만 더 흐릿한 하이라이트를 생성 합니다.

거친 돌이나 나무와 같은 종류의 스펙귤러 반사를 표현 할 때 사용 됩니다. 

Intensity 에 따른 결과입니다. 


Hardness 에 따른 결과 입니다.



Blinn: 

IOR(index of refraction, 굴절률) 를 설정 할 수 있어 Phong 쉐이더 보다 진화된 쉐이더 입니다. 

이전 두 쉐이더와 가시적으로 다른 점은 표면의 하이라이트를 낮은 각도에서 얻을 수 있는 점입니다.

Phong 쉐이더 보다 더 실제와 같으며, Oren-Nayar 와 같이 사용하여 콘크리트나 나무를 표현 하는데 사용 됩니다.

Intensity 에 따른 결과 입니다.


Hardness 에 따른 결과 입니다.


IOR 값에 따른 결과 입니다.



WardIso: 

하이라이트 에지가 선명하여 금속이나 플라스틱에 사용되는 쉐이더 입니다. 

Slope 설정이 있어 하이라이트의 크기를 조정 할 수 있습니다. 

Slope 값이 클 수록 하이라이트 크기가 큽니다.


Toon: 

Toon 디뷰즈 쉐이더 처럼 애니메이션 효과를 위해 하이라이트의 에지가 선명하게 표현됩니다.

Size 설정은 하이라이트의 크기를 설정 하며 같이 클 수록 하이라이트가 커집니다.


Smooth 설정은 하이라이트 에지의 부드러운 정도를 설정하며 값이 클수록 경계가 흐려 집니다.






'Blender > Architecture' 카테고리의 다른 글

UV Mapping  (0) 2014.03.27
텍스처(Texture)  (0) 2014.03.23
소파 모델링  (0) 2014.03.09
의자 만들기  (0) 2014.03.07
외부 모델 가져오기  (1) 2014.03.06