04 셰이더·머티리얼 - jes79/Unity-AI-Glossary-Playground GitHub Wiki
04 셰이더·머티리얼
렌더 파이프라인(URP/Built-in/HDRP)과 Shader Graph·HLSL 중 무엇으로 만들지 꼭 적으세요.
씬 20개 · 폴더 Assets/00_Scenes/04_Shader
기본 용어
| 번호 | 용어 | 쉽게 말하면 | 씬에서 보여 주는 것 | 구현 방식 |
|---|---|---|---|---|
| 0401 | Shader / Material | 그리는 규칙 / 그 규칙에 값을 넣은 것 | 셰이더 1개로 색만 다른 머티리얼 3개, Hue·셰이더 교체로 공유 관계 확인 | 런타임 데모 |
| 0402 | Shader Graph | 노드를 연결해 셰이더를 만드는 도구 | Shader Graph 노드 레시피 4단계와 대응 HLSL을 단계별로 시연 | 설명 + 대체 구현 |
| 0403 | Lit / Unlit | 조명 영향 받음 / 안 받음 | Lit/Unlit 나란히 조명 슬라이더로 비교, U로 표지판 Unlit 전환 | 런타임 데모 |
| 0404 | Albedo(Base Map) / Normal Map | 기본 색 텍스처 / 울퉁불퉁한 느낌 텍스처 | 생성한 벽돌 Albedo vs Albedo+Normal Map, 도는 점광원·Bump Scale | 런타임 데모 |
| 0405 | Metallic / Smoothness | 금속 느낌 / 매끈함(반사) | Metallic×Smoothness 5x5 구 표, 갑옷 0.9/0.7 | 런타임 데모 |
| 0406 | Emission | 스스로 빛나는 색 | 검 테두리 파란 HDR Emission 강도 3 + Bloom | 런타임 데모 |
| 0407 | Alpha / Transparent / Cutout | 투명도 / 반투명 / 구멍 뚫기 | 잎 텍스처 Opaque/Transparent/Cutout 비교, Cutoff 슬라이더 | 런타임 데모 |
| 0408 | UV / Tiling / Offset | 텍스처 좌표 / 반복 횟수 / 이동 | UV Offset을 시간에 따라 흘려 강·폭포 표현, Tiling 슬라이더 | 런타임 데모 |
| 0409 | MaterialPropertyBlock | 머티리얼 복제 없이 개별 색 변경 | 적 100마리 MaterialPropertyBlock 개별 색 vs material 복제 비교 | 런타임 데모 |
효과 셰이더
| 번호 | 용어 | 쉽게 말하면 | 씬에서 보여 주는 것 | 구현 방식 |
|---|---|---|---|---|
| 0410 | 디졸브 (Dissolve) | 노이즈 모양으로 타들어가며 사라짐 | 1초 디졸브 + 주황 HDR 경계, 아래→위 모드 | 런타임 데모 |
| 0411 | 림 라이트 (Rim Light, Fresnel) | 가장자리만 빛남 | Fresnel 하늘색 림 라이트 ON/OFF 비교 | 런타임 데모 |
| 0412 | 아웃라인 (Outline) | 외곽선 | 마우스 올린 아이템에 노란 아웃라인(inverted hull) | 런타임 데모 |
| 0413 | 피격 플래시 (Hit Flash) | 맞으면 하얗게 번쩍 | 클릭 시 0.1초 하얗게 번쩍(MPB) | 런타임 데모 |
| 0414 | 툰 셰이딩 (Cel Shading) | 만화처럼 단계로 끊긴 명암 | URP 메인 라이트 기준 3단계 툰 셰이딩, Lit 비교 | 런타임 데모 |
| 0415 | 홀로그램 | 스캔라인+깜빡임+반투명 | 위로 흐르는 스캔라인·Fresnel·깜빡임 홀로그램 | 런타임 데모 |
| 0416 | 버텍스 애니메이션 (Vertex Displacement) | 정점을 움직여 흔들림 표현 | 풀잎 5000개를 버텍스 셰이더로 바람에 흔듦 | 런타임 데모 |
| 0417 | 물 셰이더 (Water) | 물결·깊이·거품 | Depth로 얕은 곳 밝고 깊은 곳 어두운 물 + 거품 | 런타임 데모 |
| 0418 | 포스필드 / 쉴드 (Intersection) | 물체와 닿는 경계가 빛나는 보호막 | Depth Intersection으로 닿는 경계가 빛나는 쉴드 | 런타임 데모 |
| 0419 | 트라이플래너 (Triplanar) | UV 없이 지형에 텍스처 입히기 | 회전하는 바위 위쪽에만 트라이플래너 이끼 | 런타임 데모 |
| 0420 | 그레이스케일 / 색상 반전 | 흑백·반전 | 빙결 파란 틴트, 흑백·반전·화면 전체 흑백 | 런타임 데모 |
항목별 상세
0401
Shader / Material — 그리는 규칙 / 그 규칙에 값을 넣은 것
요청 예문: "이 셰이더로 색만 다른 머티리얼 3개를 만드는 법 알려줘."
- 씬:
Assets/00_Scenes/04_Shader/0401_ShaderMaterial.unity - 핵심 스크립트:
ShaderMaterialDemo, SimpleLit.shader - 빌더:
Assets/01_Scripts/Editor/Scenes/04_Shader/Build0401_ShaderMaterial.cs - 구현 방식: 런타임 데모
- 개념: 셰이더는 화면에 어떻게 그릴지 적어 둔 프로그램이고, 머티리얼은 그 셰이더에 색·텍스처 같은 값을 채워 넣은 에셋이다. 셰이더 하나에 머티리얼 여러 개를 만들어 쓰는 것이 기본 구조다.
- 씬에서 보여 주는 것: 셰이더 1개로 색만 다른 머티리얼 3개, Hue·셰이더 교체로 공유 관계 확인
- 확인 포인트: 셰이더 1개로 만든 색만 다른 머티리얼 3개를 보세요. Hue 를 바꾸면 해당 머티리얼만 변하고, 셰이더를 교체하면 세 개가 동시에 바뀝니다. 공유 관계가 이걸로 드러납니다.
0402
Shader Graph — 노드를 연결해 셰이더를 만드는 도구
요청 예문: "URP Shader Graph로 만드는 노드 순서를 단계별로 알려줘."
- 씬:
Assets/00_Scenes/04_Shader/0402_ShaderGraph.unity - 핵심 스크립트:
ShaderGraphRecipeDemo, GraphEquivalent.shader - 빌더:
Assets/01_Scripts/Editor/Scenes/04_Shader/Build0402_ShaderGraph.cs - 구현 방식: 설명 + 대체 구현
- 개념: 노드를 연결해 코드 없이 셰이더를 만드는 비주얼 도구. 결과는 HLSL 코드와 같으므로, 노드 구성을 알면 코드로도 쓸 수 있고 그 반대도 된다.
- 씬에서 보여 주는 것: Shader Graph 노드 레시피 4단계와 대응 HLSL을 단계별로 시연
- 확인 포인트: 노드 레시피 4단계와 각 단계에 대응하는 HLSL 코드를 번갈아 보세요. 같은 결과를 노드와 코드 두 방식으로 만든 것임을 확인할 수 있습니다.
0403
Lit / Unlit — 조명 영향 받음 / 안 받음
요청 예문: "UI처럼 항상 밝게 보이는 Unlit 셰이더로 바꿔줘."
- 씬:
Assets/00_Scenes/04_Shader/0403_LitUnlit.unity - 핵심 스크립트:
LitUnlitDemo - 빌더:
Assets/01_Scripts/Editor/Scenes/04_Shader/Build0403_LitUnlit.cs - 구현 방식: 런타임 데모
- 개념: Lit 는 빛 계산을 하는 셰이더, Unlit 는 빛을 무시하고 지정한 색을 그대로 내는 셰이더. UI, 표지판, 이펙트처럼 조명과 무관해야 하는 것은 Unlit 이 맞고 성능도 싸다.
- 씬에서 보여 주는 것: Lit/Unlit 나란히 조명 슬라이더로 비교, U로 표지판 Unlit 전환
- 확인 포인트: 조명 슬라이더를 움직여 보세요. Lit 구는 밝기가 따라 변하는데 Unlit 구는 그대로입니다. U 로 표지판을 Unlit 으로 바꾸면 어두운 곳에서도 글자가 잘 보입니다.
0404
Albedo(Base Map) / Normal Map — 기본 색 텍스처 / 울퉁불퉁한 느낌 텍스처
요청 예문: "벽에 Normal Map을 넣어서 벽돌 요철이 보이게 해줘."
- 씬:
Assets/00_Scenes/04_Shader/0404_AlbedoNormalMap.unity - 핵심 스크립트:
NormalMapDemo - 빌더:
Assets/01_Scripts/Editor/Scenes/04_Shader/Build0404_AlbedoNormalMap.cs - 구현 방식: 런타임 데모
- 개념: Albedo 는 표면의 기본 색 텍스처, Normal Map 은 표면의 요철 방향을 담아 빛 계산을 속여 입체감을 내는 텍스처. 폴리곤을 늘리지 않고 디테일을 얻는 표준 방법이다.
- 씬에서 보여 주는 것: 생성한 벽돌 Albedo vs Albedo+Normal Map, 도는 점광원·Bump Scale
- 확인 포인트: 도는 점광원 아래에서 Albedo 만 쓴 벽과 Normal Map 을 더한 벽을 비교해 보세요. 같은 평면인데 벽돌 홈에 그림자가 생겨 울퉁불퉁해 보입니다. Bump Scale 을 0 으로 내리면 사라집니다.
0405
Metallic / Smoothness — 금속 느낌 / 매끈함(반사)
요청 예문: "갑옷은 Metallic 0.9, Smoothness 0.7로 설정해줘."
- 씬:
Assets/00_Scenes/04_Shader/0405_MetallicSmoothness.unity - 핵심 스크립트:
MetallicSmoothnessDemo - 빌더:
Assets/01_Scripts/Editor/Scenes/04_Shader/Build0405_MetallicSmoothness.cs - 구현 방식: 런타임 데모
- 개념: Metallic 은 금속처럼 주변을 반사할지, Smoothness 는 표면이 얼마나 매끈한지를 정하는 값. 이 두 값의 조합이 PBR 재질감의 거의 전부다.
- 씬에서 보여 주는 것: Metallic×Smoothness 5x5 구 표, 갑옷 0.9/0.7
- 확인 포인트: Metallic × Smoothness 5x5 구 표를 보세요. 오른쪽 위로 갈수록 거울처럼 되고 왼쪽 아래는 거친 플라스틱처럼 됩니다. 갑옷 구가 0.9/0.7 위치와 비슷한지 확인해 보세요.
0406
Emission — 스스로 빛나는 색
요청 예문: "검 테두리가 파랗게 빛나도록 Emission을 HDR 강도 3으로 넣어줘."
- 씬:
Assets/00_Scenes/04_Shader/0406_Emission.unity - 핵심 스크립트:
EmissionDemo - 빌더:
Assets/01_Scripts/Editor/Scenes/04_Shader/Build0406_Emission.cs - 구현 방식: 런타임 데모
- 개념: 재질이 스스로 빛나는 색. 실제로 주변을 비추지는 않지만 Bloom 과 함께 쓰면 발광처럼 보인다. HDR 색으로 1 이상 값을 주는 것이 핵심이다.
- 씬에서 보여 주는 것: 검 테두리 파란 HDR Emission 강도 3 + Bloom
- 확인 포인트: 검 테두리가 파랗게 빛나는지 보세요. Emission 강도를 0 으로 내리면 평범한 색이 되고, Bloom 을 끄면 번짐만 사라지고 색은 남습니다.
0407
Alpha / Transparent / Cutout — 투명도 / 반투명 / 구멍 뚫기
요청 예문: "나뭇잎 텍스처를 Alpha Clipping(Cutout)으로 바꿔줘."
- 씬:
Assets/00_Scenes/04_Shader/0407_AlphaTransparentCutout.unity - 핵심 스크립트:
AlphaModeDemo - 빌더:
Assets/01_Scripts/Editor/Scenes/04_Shader/Build0407_AlphaTransparentCutout.cs - 구현 방식: 런타임 데모
- 개념: 완전 불투명(Opaque), 반투명(Transparent), 알파 기준으로 잘라내기(Cutout) 세 가지 렌더링 방식. 나뭇잎·철망처럼 구멍이 많은 것은 Cutout 이 정렬 문제도 없고 싸다.
- 씬에서 보여 주는 것: 잎 텍스처 Opaque/Transparent/Cutout 비교, Cutoff 슬라이더
- 확인 포인트: 잎 텍스처를 세 방식으로 비교해 보세요. Opaque 는 배경이 사각형으로 남고, Transparent 는 겹칠 때 정렬이 흔들리고, Cutout 은 깔끔히 잘립니다. Cutoff 슬라이더로 잘리는 기준을 보세요.
0408
UV / Tiling / Offset — 텍스처 좌표 / 반복 횟수 / 이동
요청 예문: "UV Offset을 시간에 따라 움직여서 흐르는 물을 만들어줘."
- 씬:
Assets/00_Scenes/04_Shader/0408_UVTilingOffset.unity - 핵심 스크립트:
UVScrollDemo - 빌더:
Assets/01_Scripts/Editor/Scenes/04_Shader/Build0408_UVTilingOffset.cs - 구현 방식: 런타임 데모
- 개념: UV 는 텍스처를 메시에 붙이는 좌표, Tiling 은 몇 번 반복할지, Offset 은 얼마나 밀지를 정하는 값. Offset 을 시간에 따라 바꾸면 흐르는 물·컨베이어 같은 움직임이 공짜로 나온다.
- 씬에서 보여 주는 것: UV Offset을 시간에 따라 흘려 강·폭포 표현, Tiling 슬라이더
- 확인 포인트: 강물의 텍스처가 계속 흐르는지 보세요. Tiling 을 올리면 물결이 촘촘해지고, Offset 변화 속도를 0 으로 하면 흐름이 멈춥니다.
0409
MaterialPropertyBlock — 머티리얼 복제 없이 개별 색 변경
요청 예문: "적 100마리 색을 MaterialPropertyBlock으로 각각 다르게 바꿔줘."
- 씬:
Assets/00_Scenes/04_Shader/0409_MaterialPropertyBlock.unity - 핵심 스크립트:
PropertyBlockDemo - 빌더:
Assets/01_Scripts/Editor/Scenes/04_Shader/Build0409_MaterialPropertyBlock.cs - 구현 방식: 런타임 데모
- 개념: 머티리얼을 복제하지 않고 오브젝트별로 셰이더 값만 다르게 넘기는 방법. renderer.material 에 값을 쓰면 머티리얼이 인스턴스로 복제되어 배칭이 깨지는데, 이걸 피할 수 있다.
- 씬에서 보여 주는 것: 적 100마리 MaterialPropertyBlock 개별 색 vs material 복제 비교
- 확인 포인트: 적 100마리가 각자 다른 색인데 머티리얼 수가 늘지 않는지 보세요. material 복제 방식으로 바꾸면 같은 화면인데 머티리얼 개수와 Batches 가 치솟습니다.
0410
디졸브 (Dissolve) — 노이즈 모양으로 타들어가며 사라짐
요청 예문: "죽으면 1초 동안 디졸브되고 경계가 주황색으로 빛나게 해줘."
- 씬:
Assets/00_Scenes/04_Shader/0410_Dissolve.unity - 핵심 스크립트:
DissolveDemo, Dissolve.shader - 빌더:
Assets/01_Scripts/Editor/Scenes/04_Shader/Build0410_Dissolve.cs - 구현 방식: 런타임 데모
- 개념: 노이즈 텍스처의 밝기를 기준값과 비교해 잘라내며, 기준값을 시간에 따라 올려 타들어가듯 사라지게 하는 셰이더. 경계에 밝은 색을 더하면 불타는 느낌이 난다.
- 씬에서 보여 주는 것: 1초 디졸브 + 주황 HDR 경계, 아래→위 모드
- 확인 포인트: 디졸브를 실행해 1초 동안 아래에서 위로 사라지는지, 사라지는 경계선이 주황색으로 빛나는지 보세요. 모드를 바꾸면 전체가 균일하게 사라지는 방식과 비교됩니다.
0411
림 라이트 (Rim Light, Fresnel) — 가장자리만 빛남
요청 예문: "Fresnel로 캐릭터 외곽에 하늘색 림 라이트를 넣어줘."
- 씬:
Assets/00_Scenes/04_Shader/0411_RimLight.unity - 핵심 스크립트:
RimLightDemo, RimLight.shader - 빌더:
Assets/01_Scripts/Editor/Scenes/04_Shader/Build0411_RimLight.cs - 구현 방식: 런타임 데모
- 개념: 보는 방향과 표면 방향의 각도 차(Fresnel)를 구해 가장자리만 밝게 만드는 효과. 캐릭터를 배경에서 떼어 보이게 하거나 SF·마법 느낌을 줄 때 쓴다.
- 씬에서 보여 주는 것: Fresnel 하늘색 림 라이트 ON/OFF 비교
- 확인 포인트: 구를 돌려 보며 가장자리만 하늘색으로 빛나는지 확인하고, ON/OFF 로 비교해 보세요. 정면은 거의 변하지 않고 테두리만 밝아지는 것이 Fresnel 특징입니다.
0412
아웃라인 (Outline) — 외곽선
요청 예문: "마우스를 올린 아이템에 노란 아웃라인을 표시해줘."
- 씬:
Assets/00_Scenes/04_Shader/0412_Outline.unity - 핵심 스크립트:
OutlineHoverDemo, Outline.shader - 빌더:
Assets/01_Scripts/Editor/Scenes/04_Shader/Build0412_Outline.cs - 구현 방식: 런타임 데모
- 개념: 물체 외곽에 선을 그리는 기법. 여기서 쓰는 inverted hull 방식은 메시를 조금 부풀려 뒷면만 단색으로 한 번 더 그려 테두리를 만든다. 선택 표시·만화풍 연출에 쓴다.
- 씬에서 보여 주는 것: 마우스 올린 아이템에 노란 아웃라인(inverted hull)
- 확인 포인트: 아이템에 마우스를 올려 노란 테두리가 생기는지 보세요. 테두리 두께는 부풀리는 양이라서 모델이 작을수록 상대적으로 두꺼워 보입니다.
0413
피격 플래시 (Hit Flash) — 맞으면 하얗게 번쩍
요청 예문: "피격 시 0.1초 하얗게 번쩍이는 Hit Flash 셰이더를 만들어줘."
- 씬:
Assets/00_Scenes/04_Shader/0413_HitFlash.unity - 핵심 스크립트:
HitFlashDemo, HitFlash.shader - 빌더:
Assets/01_Scripts/Editor/Scenes/04_Shader/Build0413_HitFlash.cs - 구현 방식: 런타임 데모
- 개념: 피격 순간 재질 색을 짧게 흰색으로 덮어 번쩍이게 하는 연출. 애니메이션이나 파티클 없이도 맞았다는 사실을 즉시 전달해 가성비가 가장 좋다.
- 씬에서 보여 주는 것: 클릭 시 0.1초 하얗게 번쩍(MPB)
- 확인 포인트: 적을 클릭해 0.1초 동안 하얗게 번쩍이고 바로 원래 색으로 돌아오는지 보세요. MaterialPropertyBlock 으로 적용하므로 여러 적을 연달아 때려도 머티리얼이 늘지 않습니다.
0414
툰 셰이딩 (Cel Shading) — 만화처럼 단계로 끊긴 명암
요청 예문: "명암을 3단계로 끊는 툰 셰이더를 URP용으로 만들어줘."
- 씬:
Assets/00_Scenes/04_Shader/0414_CelShading.unity - 핵심 스크립트:
ToonShadingDemo, Toon.shader - 빌더:
Assets/01_Scripts/Editor/Scenes/04_Shader/Build0414_CelShading.cs - 구현 방식: 런타임 데모
- 개념: 빛의 세기를 그대로 쓰지 않고 몇 단계로 끊어 만화 같은 명암을 만드는 셰이더. 단계 수와 경계의 부드러움이 스타일을 결정한다.
- 씬에서 보여 주는 것: URP 메인 라이트 기준 3단계 툰 셰이딩, Lit 비교
- 확인 포인트: 툰 구와 일반 Lit 구를 비교해 보세요. 툰 쪽은 밝음/중간/어두움 3단계로 뚝 끊기고, Lit 쪽은 매끄럽게 이어집니다. 조명을 돌리면 경계선도 함께 돕니다.
0415
홀로그램 — 스캔라인+깜빡임+반투명
요청 예문: "스캔라인이 위로 흐르는 홀로그램 셰이더를 만들어줘."
- 씬:
Assets/00_Scenes/04_Shader/0415_Hologram.unity - 핵심 스크립트:
HologramDemo, Hologram.shader - 빌더:
Assets/01_Scripts/Editor/Scenes/04_Shader/Build0415_Hologram.cs - 구현 방식: 런타임 데모
- 개념: 반투명 + 흐르는 스캔라인 + 가장자리 발광 + 깜빡임을 겹쳐 입체 영상처럼 보이게 하는 셰이더. SF UI, 유령, 미리보기 표시에 쓴다.
- 씬에서 보여 주는 것: 위로 흐르는 스캔라인·Fresnel·깜빡임 홀로그램
- 확인 포인트: 스캔라인이 위로 흐르고 테두리가 밝고 불규칙하게 깜빡이는지 보세요. 뒤쪽 물체가 비쳐 보이는 반투명도 함께 확인해 보세요.
0416
버텍스 애니메이션 (Vertex Displacement) — 정점을 움직여 흔들림 표현
요청 예문: "바람에 풀이 흔들리도록 버텍스 셰이더를 만들어줘."
- 씬:
Assets/00_Scenes/04_Shader/0416_VertexDisplacement.unity - 핵심 스크립트:
GrassWindDemo, GrassWind.shader - 빌더:
Assets/01_Scripts/Editor/Scenes/04_Shader/Build0416_VertexDisplacement.cs - 구현 방식: 런타임 데모
- 개념: 정점 위치를 셰이더에서 밀어 모양을 바꾸는 기법. CPU 가 아니라 GPU 가 처리하므로 풀·깃발·물결처럼 수천 개를 흔들어도 거의 공짜다.
- 씬에서 보여 주는 것: 풀잎 5000개를 버텍스 셰이더로 바람에 흔듦
- 확인 포인트: 풀잎 5000개가 바람에 흔들리는지 보세요. 아래쪽 뿌리는 고정이고 위쪽만 휘는지, 그러면서도 프레임이 떨어지지 않는지 함께 보세요.
0417
물 셰이더 (Water) — 물결·깊이·거품
요청 예문: "Depth로 얕은 곳은 밝고 깊은 곳은 어두운 물 셰이더를 만들어줘."
- 씬:
Assets/00_Scenes/04_Shader/0417_WaterShader.unity - 핵심 스크립트:
WaterDepthDemo, Water.shader - 빌더:
Assets/01_Scripts/Editor/Scenes/04_Shader/Build0417_WaterShader.cs - 구현 방식: 런타임 데모
- 개념: 깊이(Depth)로 물 밑 거리를 알아내 얕은 곳은 밝고 투명하게, 깊은 곳은 어둡게 칠하고 경계에 거품을 더하는 셰이더. 물결은 보통 UV 흐름과 법선 왜곡으로 만든다.
- 씬에서 보여 주는 것: Depth로 얕은 곳 밝고 깊은 곳 어두운 물 + 거품
- 확인 포인트: 물에 들어간 물체 주변에 거품 선이 생기는지, 얕은 가장자리가 밝고 가운데가 어두운지 보세요. 물결이 멈추지 않고 계속 흐르는지도 보세요.
0418
포스필드 / 쉴드 (Intersection) — 물체와 닿는 경계가 빛나는 보호막
요청 예문: "Depth Intersection으로 닿는 부분이 빛나는 쉴드 셰이더를 만들어줘."
- 씬:
Assets/00_Scenes/04_Shader/0418_ForceFieldShield.unity - 핵심 스크립트:
ShieldDemo, Shield.shader - 빌더:
Assets/01_Scripts/Editor/Scenes/04_Shader/Build0418_ForceFieldShield.cs - 구현 방식: 런타임 데모
- 개념: 깊이 비교로 다른 물체와 닿는 경계를 찾아 그 부분만 밝게 칠하는 셰이더. 보호막·결계·마법 장벽처럼 물체와 교차하는 면을 강조할 때 쓴다.
- 씬에서 보여 주는 것: Depth Intersection으로 닿는 경계가 빛나는 쉴드
- 확인 포인트: 쉴드 안으로 물체를 통과시켜 보세요. 쉴드 표면과 물체가 닿는 테두리만 밝게 빛나고, 떨어지면 사라집니다.
0419
트라이플래너 (Triplanar) — UV 없이 지형에 텍스처 입히기
요청 예문: "바위에 트라이플래너 매핑으로 이끼 텍스처를 위쪽에만 입혀줘."
- 씬:
Assets/00_Scenes/04_Shader/0419_Triplanar.unity - 핵심 스크립트:
TriplanarDemo, TriplanarMoss.shader - 빌더:
Assets/01_Scripts/Editor/Scenes/04_Shader/Build0419_Triplanar.cs - 구현 방식: 런타임 데모
- 개념: UV 좌표 대신 월드 좌표를 X/Y/Z 세 방향에서 투사해 텍스처를 입히는 기법. UV 가 없거나 늘어나는 지형·바위에 이음새 없이 텍스처를 바를 수 있다.
- 씬에서 보여 주는 것: 회전하는 바위 위쪽에만 트라이플래너 이끼
- 확인 포인트: 바위를 회전시켜 보세요. 위를 향한 면에만 이끼가 끼고, 회전해도 이끼가 위쪽 면을 따라갑니다. 텍스처가 늘어나거나 이음새가 보이지 않는지도 보세요.
0420
그레이스케일 / 색상 반전 — 흑백·반전
요청 예문: "얼음 상태가 되면 캐릭터를 파란색 계열로 틴트해줘."
- 씬:
Assets/00_Scenes/04_Shader/0420_GrayscaleInvert.unity - 핵심 스크립트:
ColorEffectsDemo, ColorEffects.shader - 빌더:
Assets/01_Scripts/Editor/Scenes/04_Shader/Build0420_GrayscaleInvert.cs - 구현 방식: 런타임 데모
- 개념: 색의 밝기만 남겨 흑백으로 만들거나 색을 뒤집는 간단한 색 변환. 사망·회상·빙결 같은 상태 표현이나 화면 전체 연출에 쓴다.
- 씬에서 보여 주는 것: 빙결 파란 틴트, 흑백·반전·화면 전체 흑백
- 확인 포인트: 흑백·반전·빙결 틴트를 차례로 적용해 보세요. 오브젝트 하나만 바꾸는 경우와 화면 전체에 거는 경우의 차이도 함께 보세요.