Unity 매뉴얼 - 노멀 맵과 스페큘러
이 문서는 Unity에서 셰이더 사용에 관한 가이드를 제공합니다. 특히 노멀 맵과 스페큘러에 대해 자세히 다루고 있습니다.
1. 노멀 맵
노멀 맵은 그래픽스에서 물체의 표면 세부 사항을 더욱 사실적으로 표현하기 위해 사용되는 텍스처입니다. 노멀 맵을 사용하면 폴리곤 수를 높이지 않고도 디테일을 증가시킬 수 있습니다. 여기서는 노멀 맵의 기능과 생성 방법에 대해 설명합니다.
1.1 노멀 맵의 원리
- 조명 계산: 노멀 맵은 표면의 각도에 따라 조명을 계산합니다. 카메라의 위치 변화에는 영향을 받지 않습니다.
- 표면 디테일: 실제 지오메트리를 변경하지 않고, 노멀 맵을 통해 비주얼을 향상시킵니다.
1.2 노멀 맵 생성
Unity 외부에서 생성된 노멀 맵을 가져오기 위해 일반적인 훌륭한 방식은 다음과 같습니다.
- 임포트: 기본 그레이스케일 이미지부터 노멀 맵으로 변환할 수 있습니다.
- 스탠다드 셰이더: 레거시 셰이더 대신 스탠다드 셰이더를 사용하는 방법에 대한 자세한 정보를 추가로 확인하는 것이 좋습니다.
1.3 기술적 세부 사항
노멀 맵은 보통 탄젠트 공간에서 작동합니다. 탄젠트 공간은 표면을 따라 진행되는 공간으로, Z축은 항상 표면의 바깥쪽을 가리킵니다.
| 구분 | 설명 |
|---|---|
| 변형 모델 사용 | 변형된 표면에서도 동일하게 작동 |
| 재사용 가능 | 다른 모델에 대해 노멀 맵 재사용 가능 |
2. 스페큘러
스페큘러는 표면의 반사광을 계산하여 더 현실적인 비주얼을 만들어냅니다. 조명 각도의 변화에 따라 하이라이트가 다르게 나타납니다.
2.1 스페큘러의 원리
- 램버트 조명 모델: 간단한 조명 계산으로 반사광을 시뮬레이트합니다.
- 하이라이트 조정: 하이라이트의 블러 레벨은 Inspector의 Shininess 슬라이더로 조정할 수 있습니다.
2.2 스페큘러 맵
- 스페큘러 맵은 오브젝트의 알파 채널을 사용하여 다른 영역의 반사 강도를 조정할 수 있습니다.
- 예를 들어, 광택이 있는 금속은 높은 스페큘러 레벨을 필요로 하고, 녹슨 금속은 낮은 스페큘러 레벨을 필요로 합니다.
| 구분 | 설명 |
|---|---|
| 비용 | 일반적으로 렌더링 시 일정한 비용 발생 |
| 사용 예 | 다양한 표면 속성을 반영하여 실감나는 환경 제공 |
3. 활용 및 응용 예제
- 게임 캐릭터의 피부 표현: 피부의 스페큘러 레벨을 낮춰 좀 더 자연스러운 느낌을 줄 수 있음.
- 물체의 질감 강조: 노멀 맵을 활용하여 바위나 나무와 같은 텍스처의 세부 사항을 강조할 수 있음.
- 환경 요소: 나무의 표면이나 금속 구조물의 반사율을 스페큘러 맵으로 조절하여 사실감 향상.
위 내용을 통해 유니티의 노멀 맵과 스페큘러의 기초를 이해하고 활용하는 데 도움이 되길 바랍니다.