Featured image of post DistortionRim2 쉐이더

DistortionRim2 쉐이더

기본 내장된 물 쉐이더를 조금 개조해서 이펙트용으로 제작해 봤습니다.
물 쉐이더에 있던 디스플레이스먼트 기능 (버텍스 쉐이더에서 버텍스 위치를 이동시켜 출렁임을 표현한 방법) 을 제거하고, 프레넬 공식을 입맛에 맞게 제어할 수 있도록 바꿔봤습니다. 지면 인식해서 투명해지고 다른 텍스쳐가 표현되는 Form 은 이름만 바꿔서 그냥 적용했구요. 굴절과 반사를 적절하게 섞어서 제작되었습니다.

어쨌거나 별칭은 코카콜라 병 쉐이더 ㅋㅋ
 
수중던전이라던가… 뭔가 하여간 물과 연관된 곳에 사용하면 좋을 듯 하네요.
그치만 당연하게도 무거우므로 낭비 금지 ㅋㅋㅋ 큐브맵 까지 합쳐서 4장의 텍스쳐를 사용하는, 3.0 전용 쉐이더입니다.
2.0에서 돌아가는 버전도 추가할 수 있지만 지금은 필요없으므로 안했지유. (2.0으로 하면 기능도 꽤 빼야 하고)
그래도 저사양 옵션에서를 위해 추후 기능을 추가해야 할 것 같긴 합니다.

뒷면 처리 (2face처리) 는 되어 있지 않습니다. 일단은 할 생각 없어유. ㅋ 하려면 pass를 늘여야 해서…


Base texture는 현재 저기 코카콜라 질감을 보이는, 그냥 텍스쳐입니다.
Base Texture Overlay 값을 높이면 불투명해지는게 아니라, 텍스쳐가 진해집니다. 물론 내리면 무색 유리병이 되지요.

Bump 텍스쳐는 노말맵.
Refractivity를 내리면 굴절이 약해져서 사라집니다. 굴절만.

Edge texture는 사물의 경계면과 맞닿는 부분을 인식해서 다른 텍스쳐로 바꿔주는 것입니다. 이 부분 공식 좀 어려워서 아직 이해 안가요… 스승님한테 물어봐 연구할 예정. 일단은 그냥 넣기.

Egde fade를 올리면 지면과 맞닿는 부분의 투명함의 범위가 증가해요.
대충 이 정도가 한계치. 필요하면 범위를 더 올려 드릴 수도 있어요
edge texture의 사용 예. 오브젝트들이 들어 있으면 영향받는다는걸 주의.

큐브 텍스쳐는 반사를 위한 것이므로 적절하게 이용하시면 됩니다.

Ambient는 전체적인 색을 어둡게 하고, 반사와 굴절을 막아 버립니다. 남는건 스페큘러 뿐…
Shiness는 스페큘러의 강도를 결정해 주는데요. 매우 민감하게 반응하니 조심스럽게 사용하세요.
최하 옵션으로 하면 이렇게 됩니다. 좀 오바지만 왠지 이뻐서 결정.


Spec Color 는 스페큘러 칼라니까 굳이 설명할게 없겠고…

Reflect Inverse는 반사의 영역을 뒤바뀌게 해줍니다.
 기본값으로 반사는 Rim light 처럼 프레넬 공식으로 바깥에만 반사재질을 나타내고 있는데 (최하)
 
최상값으로 올리면 뒤집혀서 안에만 반사 재질이 들어가게 됩니다.
물론 그 아래 Reflect power로 넓이를 조정할 수 있구요.

World light Dir은, 이 쉐이더를 사용한 오브젝트만을 위한 가상의 조명 방향입니다. 이 조명은 오직 스페큘러가 생기는 방향을 결정하기 위해 만들어진 가상의 벡터이며, 진짜 조명이 아닙니다. 이 이펙트는 사실 조명 연산이 되지 않기 때문에 현재 지형에 있는 조명값을 가져오지 않으며, 때문에 전용의 조명 방향이 있어야 스페큘러를 만들 수 있는 것입니다. 적절하게 이용하세요.

ADD 버전.
Multi 버전

Hugo로 만듦
JimmyStack 테마 사용 중