참고. Unity 5에는 이 셰이더를 대체하는 스탠다드 셰이더가 도입되었습니다.
이 셰이더를 사용하는 경우, 베이스 텍스처의 알파 채널이 투명 영역과 스페큘러 맵을 정의한다는 점을 고려해야 합니다.
참고: Unity 5에는 해당 셰이더를 대체하는 스탠다드 셰이더가 도입되었습니다.
이 셰이더는 메인 텍스처의 알파 채널을 읽어서 메시 지오메트리를 부분적으로, 또는 완전히 투명하게 만들 수 있습니다. 알파에서 0(검정)은 완전히 투명하고, 255(흰색)는 완전히 불투명합니다. 메인 텍스처에 알파 채널이 없는 경우 오브젝트가 완전히 불투명하게 표시됩니다.
게임에 투명한 오브젝트를 사용하기가 까다로울 수 있는데, 이는 게임에서 정렬 문제를 유발할 수 있는 고질적인 그래픽 프로그래밍 문제가 있기 때문입니다. 예를 들어, 두 개의 창을 동시에 통해서 볼 때 결과가 이상하게 보인다면 투명도를 사용할 때 발생하는 전형적인 문제를 겪고 있는 것입니다. 일반적으로 하나의 투명 오브젝트가 다른 오브젝트 앞에서 비정상적인 방식으로 드로우되는지에 유의해야 합니다. 이 문제는 특히 오브젝트가 교차하거나 서로 둘러싸거나 크기가 매우 다른 경우에 자주 발생합니다. 그러므로 필요하다면 투명 오브젝트를 사용하되 너무 많이 사용해서는 안 됩니다. 또한 디자이너에게 이러한 정렬 문제가 발생할 수 있음을 알리고 디자이너가 이 문제를 우회하기 위해 일부 설계를 변경할 수 있게 준비하도록 해야 합니다.
이 프로퍼티는 디퓨즈 셰이더처럼 단순(램버트) 조명 모델을 계산합니다. 표면에 비추는 조명은 표면과 광원의 각도가 감소할수록 점점 감소합니다. 조명은 각도에 따라서만 달라지고 카메라가 움직이거나 회전할 때 변하지 않습니다.
노멀 매핑 은 실제로 디테일을 생성하기 위해 더 많은 폴리곤을 사용하는 대신 텍스처를 사용하여 작은 표면 디테일을 시뮬레이션합니다. 이 매핑은 오브젝트의 모양을 실제로 변경하지 않지만, 이 효과를 얻기 위해 노멀 맵 이라는 특수한 텍스처를 사용합니다. 노멀 맵에서는 각 픽셀의 컬러 값이 표면 노멀의 각도를 나타냅니다. 그런 다음 지오메트리에서 얻은 값 대신 이 값을 사용하여 조명을 계산합니다. 노멀 맵은 오브젝트 조명을 계산할 때 메시의 지오메트리를 사실상 오버라이드합니다.
Unity 외부에서 생성된 노멀 맵을 임포트거나 일반 그레이스케일 이미지를 임포트하여 Unity에서 노멀 맵으로 전환할 수 있습니다. 이 페이지에서는 스탠다드 셰이더로 대체된 레거시 셰이더를 사용하여 설명하지만, 스탠다드 셰이더에서 노멀 맵을 사용하는 방법을 알아보셔도 좋습니다.
노멀 맵은 노멀 맵의 탄젠트 공간 유형입니다. 탄젠트 공간은 모델 지오메트리의 ‘표면을 따르는’ 공간입니다. 이 공간에서 Z는 항상 표면에서 먼 쪽을 가리킵니다. 탄젠트 공간 노멀 맵은 다른 ‘오브젝트 공간’ 유형의 노멀 맵보다 연산을 조금 더 사용하지만, 몇 가지 장점이 있습니다.
스페큘러는 디퓨즈와 동일한 단순(램버트) 조명과 뷰어에 따라 다른 스페큘러 하이라이트를 계산합니다. 이를 Blinn-Phong 조명 모델이라고 합니다. 스페큘러에는 표면 각도, 광원 각도, 보는 각도에 따라 달라지는 스페큘러 하이라이트가 있습니다. 하이라이트는 광원의 희미한 반사를 실시간에 적합하게 시뮬레이션하는 방식입니다. 하이라이트의 블러 레벨은 인스펙터__의 Shininess__ 슬라이더로 조절합니다.
또한 메인 텍스처의 알파 채널은 스페큘러 맵(때로는 ’글로스 맵’이라고 함) 역할을 하며, 오브젝트의 영역별 반사 정도를 정의합니다. 알파의 검정색 영역은 스페큘러 반사가 영(0)이고, 흰색 영역은 최대 스페큘러 반사입니다. 이는 오브젝트 영역마다 반사하는 스페큘러 레벨을 다르게 설정하고 싶을 때 매우 유용합니다. 예를 들어 녹슨 금속 같은 물체는 낮은 스페큘러 레벨을 사용하고, 광택을 낸 금속은 높은 스페큘러 레벨을 사용할 수 있습니다. 립스틱은 피부보다 스페큘러 레벨이 더 높고, 피부는 면 옷감보다 스페큘러 레벨이 더 높습니다. 잘 만든 스페큘러 맵은 플레이어에게 더욱 현실감 있는 게임 환경을 제공합니다.
일반적으로 이 셰이더는 렌더링하는 데 비용이 적게 듭니다. 자세한 내용은 셰이더 성능 페이지를 참조하십시오.
TransBumpedSpecular