Reflective Parallax Specular

One consideration for this shader is that the Base texture's alpha channel will double as both the Reflection Map and the Specular Map.

셰이더(shader)는 자동자, 금속 오브젝트 등과 같은 반사적인 표면을 시뮬레이트 할 것입니다. 여기에는 환경 큐브맵(Cubemap)이 필요한데, 여기서 정확하게 무엇을 반사할 것인지를 정의할 것입니다. 주 텍스처(main texture)의 알파 채널은 해당 오브젝트의 표면에서 반사의 강도를 정의합니다. 모든 씬(scene) 조명은 반사되는 것 위에 추가적으로 빛날 것 입니다.

Parallax Normal mapped은 일반 Normal mapped과 같으나, "depth"에 있어 시뮬레이션이 우월합니다. Height Map을 통하여 추가적이 깊이 효과를 주고 있습니다. 높이 맵(Height Map)은 노멀 맵(Normal map)의 알파 채널이 포함되어 있습니다. 알파에서는, 검은색은 깊이 0이고 흰색은 전체 깊이를 말합니다. 이는 별돌/돌에서 그 들 사이의 갈라진 틈을 더 잘 표현하기 위해 자주 쓰입니다.

시차 매핑의 기술은 단순하지만, 아티팩트(artifacts)와 비정상적인 효과가 있을 수 있습니다. 특히, 높이 맵에는 아주 가파른 높이 변화은 피해야 합니다. Inspector 에서 Height 값을 조정하는 것은 오브젝트를 이상하고 비현실적인 방식으로 변형하게 할 수 있습니다. 이러한 이유로, 점차적은 높이 맵 변환 이행이나 Height 슬라이드를 얕은 끝 쪽으로 유지할 것을 권장합니다.

스페큘러(Specular)는 Diffuse와 같은 단순한 (Lambertian)조명에, 사용자에 따라 다른 스페큘라 하이라이트을 계산합니다. 이는 Blinn-Phong 조명 모델이라 불립니다. 이는 표면의 각도, 조명의 각도, 그리고 시야의 각도에 따라 다른 스페큘러 하이라이트를 가지고 있습니다. 그 하이라이트는 실제로 조명 원천의 흐린 반사를 시뮬레이트 하기 실시간에-적합한 방식입니다. 해당 하이라이트에 대한 흐림의 레벨은 Inspector에서 Shininess 슬라이더에 의해 제어됩니다.

추가적으로, 주 텍스처의 알파 채널은 스페큘러 맵(때로는 "gloss map"이라 불리움) 역할을 하며, 오브젝트의 어떤 부분이 다른 부분보다 더 반사적인지를 정의합니다. 해당 알파의 검은 영역은 0 스페큘러 반사가 되는 반면, 흰색 영역은 완전 스페큘러 반사가 될 것입니다. 이것은 사용자가 자신의 오브젝트의 여러 부분이 다른 레벨의 스페큘러 성질(specularity)을 반사하고자 할 때 매우 유용합니다. 예를 들어, 녹슨 금속은 낮은 스페큘러를 가지는 반면 잘 닦은 금속은 높은 스페큘러를 가질 것 입니다. 립스틱은 피부보다 높은 스페큘러 성질을 가지고, 피부는 면으로 된 천보다 높은 스페큘러 성질을 가집니다. 잘 만든 스페큘러 맵은 플레이어를 표현하는 데 엄청난 차이를 가져 올 것 입니다.

Performance

일반적으로 이 쉐이더는 표현하기에 비용히 많이 드는 렌더링 사이드에 속한다. 더 자세한 정보를 위해서는 Shader Peformance page를 살펴보시기 바란다.

연결문서


unity/shader-reflectiveparallaxspecular.txt · 마지막으로 수정됨 2018/02/22 03:04 저자 127.0.0.1
CC Attribution-Noncommercial-Share Alike 4.0 International 별도로 명시하지 않을 경우, 이 페이지의 내용은 다음 라이선스에 따라 사용할 수 있습니다: CC Attribution-Noncommercial-Share Alike 4.0 International