공부용으로 작성되는 페이지입니다. 틀린 부분이나 환경에 따라 오류가 발생할 수 있습니다.
Unite Seoul 영상을 천천히 보면서 한 번 다시 정리해보고 싶은것들 중심으로 내용을 정리해본다
Vfx Graph 관련은 따로 작성하지 않았따
Shader Graph
1. Default Shaders
- Lit Shader(= PBR)
- Unlit Shader : 조명이 필요없는 시각 효과나 고유 오브젝트에 사용 (= 저사양 하드웨어 적합)
2. Vertex Shader
- 정점 단위 계산 : 객체의 공간적 변형, mesh 왜곡, 애니메이션 효과 등 처리 (=position)
- 법선(Normal) 벡터 변환
- 텍스쳐 좌표 조작
- output은 Interpolator에 저장되어 Fragment Shader로 전달됨
3. Fragment
- 요즘에는 GPU 성능이 좋아져서 Fragment에서만 작업하는 경우도 많아짐
- 스크린 픽셀 단위로 계산함 : 화면에 보여지는 그래픽을 처리는 모든 작업 처리
- 병렬 처리 규모 : 화면에 표시될 픽셀 수
Example
Vertex Shader : 휘날리는 깃발 - (Shader Graph)
Vertex 좌표를에 Sin 파형을 적용하여 제작. 이 때 pivvot을 이동하는 것을 잊지 말아야함
1. Split : 흔들릴 좌표(X)만 따로 추출
2. Time : 변수
3. Add : 1,2 연산
4. Sine : 파형에 따른 변화 Color로 표현
5. Multiply(split, time) : Sin 간격을 좁히는 역할
6. Multiply : 깃발 구현을 위해 원점 pivot은 0으로 고정하고 x 좌표가 커질수록 sin 부여
7. Normal : 보간
7. Combine to Vertex Shader
픽셀 셰이더 : Dissolve 효과
Dissolve 효과는 Pixel의 Alpha 값을 조작하여 제작한다.
자주 사용하는 노드들
input
- Scene Color : Post Process 등에서 자주 사용
Math
- Divide는 0이 입력되면 오류가 나니 주의
- Clamp보다는 Saturate : 실제로 경험상 0~1로 범위를 한정시키면 충분해서 Saturate가 나은듯
Channel
RGBA(색상) XYZW(좌표) 등 잘 나누고 합쳐 정점(Vertex)을 작업하기 수월하다
- Flip : 뒤집어주는 역할. ex) -1은 1이 된다.
UV
텍스쳐를 다룰 때 필수인 부분
- Flipbook : UV 입력에 제공된 UV의 플립북(텍스처 시트 애니메이션)을 생성
- Tiling And Offset : 뭔가 했더니 타일링하는 녀석
Procedural
노이즈는 이미 자주 쓰고 있었는데 Procedural라고 따로 카테고리가 있는 줄은 몰랐다
참고자료
만약 이 글을 보고도 뭔지 잘 모르는 분이라면 요 아래 블로그에서 기본 개념을 보는걸 추천!
초보자를 위한 쉐이더 개념 간단 정리
요약 쉐이더 : 3D 모델링의 정점 데이터로부터 화면에 출력하기 위한 픽셀의 위치와 색상을 계산하는 함수
rito15.github.io
'Unity > Shader' 카테고리의 다른 글
[Shader] Bubble Shader (0) | 2025.06.18 |
---|---|
[Shader] Post Processing : Tint Effect (2) | 2025.06.11 |
[Shader] Depth Map (0) | 2025.06.03 |
[Shader] Dithering Shader (0) | 2025.05.09 |
[Shader] Fog with SkyBox (0) | 2025.05.08 |