SlideShare a Scribd company logo
1 of 28
Download to read offline
쉐이더 with
1
프로그래밍 / 아트 - 김규리
Unity
Index
2
쉐이더란?
Unity 쉐이더
ShaderLab
In
Q&A
쉐이더 (Shader) ?
3
4
Cel / Toon Shading 각종 이펙트
스킨 쉐이딩, 메탈 쉐이딩, 애니소트로픽 쉐이딩, 블린… 퐁… 플랫… 스무스… 고러드
5
픽셀 픽셀
6
픽셀픽셀
색 의 색조
명암
농담
7
픽셀픽셀
의 색을 결정하는 함수
최종적으로
출력되는
쉐이더 언어
8
HLSL | Direct X API에서 동작 High Level Shading Language
GLSL | OpenGL API에서 동작 OpenGL Shading Language
CG | nVidia에서 제작 C for Graphics
자체 언어 | For Unity, For Unreal
렌더링 파이프라인
9
렌더링 파이프라인
10
01단계 | 오브젝트 데이터 받아오기
02단계 | 정점 쉐이더 (Vertex shader)
03단계 | 래스터라이져 (Rasterizer)
04단계 | 픽셀 쉐이더 (Pixel shader)
Unity 쉐이더
11
자체 언어 | “ ShaderLab ”
01 | ShaderLab으로만 작성하기
02 | Surface Shader로 작성하기
03 | Vertex & Fragment Shader로 작성하기
ShaderLab Only
12
가볍고 하드웨어 호환성이 높음
고급 효과를 기대하기 힘듬
다른 쉐이더 문법과 호환되지 않음
Surface Shader
13
[ ShaderLab + CG ] • 복잡한 부분은 자동으로 처리
• 고급 기법을 구현하기 어려움
• 빛과 그림자에 영향
• 최적화에는 다소 무리가 있음
Vertex & Fragment Shader
14
• 전부 수동 + 코드 작성량이 많음
• 높은 자유도 : 최적화와 고급 기법
표현
• 이색적인 효과
[ ShaderLab + CG ]
15
ShaderLab의 구조
Properties + SubShader
Shader “쉐이더 분류 / 이름”
{
Properties
{
}
SubShader
{
}
FallBack "Diffuse"
}
16
ShaderLab의 구조
Properties
여러가지 쉐이더의 속성을 기술
Unity의 Inspector 창에서 입력값을
조절할 수 있는 UI 부분을 제작
17
ShaderLab의 구조
SubShader
1. 쉐이더 코드의 핵심을 기술
CGPROGRAM ~ ENDCG 영역
▶ CG 코드
18
ShaderLab의 구조
SubShader
2. 여러 개 추가 가능
SubShader
{/*…*/}
SubShader
{/*…*/}
SubShader
{/*…*/}
FallBack "Diffuse"
최상위 디바이스
하위 디바이스
하위 디바이스
가장 낮은 품질
19
ShaderLab의 구조
Fallback “Diffuse” 가장 낮은 품질로 처리
20
In
With “ Surface Shader ”
21
“ 쉐이더 생성 ”
◀ Shader
22
◀ 기본 뼈대
“ Properties, SubShader 작성”
23
24
“ 메터리얼 생성 ”
▼ Material
25
“ 메터리얼 에
쉐이더 적용”
26
“ 오브젝트 에 메터리얼 적용”
27
Q&A
28
출처
https://darkcatgame.tistory.com/7
https://velog.io/@godori/2018-12-09-2312-
%EC%9E%91%EC%84%B1%EB%90%A8-zvjph00nd7
https://kblog.popekim.com/2011/11/01-part-1.html
https://mingyu0403.tistory.com/112?category=759513
테크니컬 아티스트를 위한 유니티 쉐이더 스타트업 by 정종필(대마왕)

More Related Content

More from PandoraCube , Sejong University

[PandoraCube] 이런 게임에 보안은 필요 없다구요!
[PandoraCube] 이런 게임에 보안은 필요 없다구요![PandoraCube] 이런 게임에 보안은 필요 없다구요!
[PandoraCube] 이런 게임에 보안은 필요 없다구요!PandoraCube , Sejong University
 

More from PandoraCube , Sejong University (20)

2019.12.23 ysj
2019.12.23 ysj2019.12.23 ysj
2019.12.23 ysj
 
[PandoraCube] 의사소통 구현정도
[PandoraCube] 의사소통 구현정도[PandoraCube] 의사소통 구현정도
[PandoraCube] 의사소통 구현정도
 
[PandoraCube] GOG GALAXY 2.0
[PandoraCube] GOG GALAXY 2.0[PandoraCube] GOG GALAXY 2.0
[PandoraCube] GOG GALAXY 2.0
 
[PandoraCube] World of Warcraft
[PandoraCube] World of Warcraft[PandoraCube] World of Warcraft
[PandoraCube] World of Warcraft
 
[PandoraCube] Microsphere Interpolation
[PandoraCube] Microsphere Interpolation[PandoraCube] Microsphere Interpolation
[PandoraCube] Microsphere Interpolation
 
[PandoraCube] 게임 타격감에 대하여
[PandoraCube] 게임 타격감에 대하여[PandoraCube] 게임 타격감에 대하여
[PandoraCube] 게임 타격감에 대하여
 
[PandoraCube] 게임과 법 1
[PandoraCube] 게임과 법 1[PandoraCube] 게임과 법 1
[PandoraCube] 게임과 법 1
 
[PandoraCube] 게임 개발자의 수익
[PandoraCube] 게임 개발자의 수익[PandoraCube] 게임 개발자의 수익
[PandoraCube] 게임 개발자의 수익
 
[PandoraCube] 게임 출시에 대해
[PandoraCube] 게임 출시에 대해[PandoraCube] 게임 출시에 대해
[PandoraCube] 게임 출시에 대해
 
[PandoraCube] 클라우드 게이밍
[PandoraCube] 클라우드 게이밍[PandoraCube] 클라우드 게이밍
[PandoraCube] 클라우드 게이밍
 
[PandoraCube] 오토배틀러 장르 분석
[PandoraCube] 오토배틀러 장르 분석[PandoraCube] 오토배틀러 장르 분석
[PandoraCube] 오토배틀러 장르 분석
 
[PandoraCube] 연쇄 할인마
[PandoraCube] 연쇄 할인마[PandoraCube] 연쇄 할인마
[PandoraCube] 연쇄 할인마
 
[PandoraCube] 모션 캡쳐와 게임
[PandoraCube] 모션 캡쳐와 게임[PandoraCube] 모션 캡쳐와 게임
[PandoraCube] 모션 캡쳐와 게임
 
[PandoraCube] 객체 지향 프로그래밍
[PandoraCube] 객체 지향 프로그래밍[PandoraCube] 객체 지향 프로그래밍
[PandoraCube] 객체 지향 프로그래밍
 
[PandoraCube] 유니티에 광고 넣기
[PandoraCube] 유니티에 광고 넣기[PandoraCube] 유니티에 광고 넣기
[PandoraCube] 유니티에 광고 넣기
 
[PandoraCube] 이야이야이야이야기
[PandoraCube] 이야이야이야이야기[PandoraCube] 이야이야이야이야기
[PandoraCube] 이야이야이야이야기
 
[PandoraCube] '게임메이커'에 대해 알아보자
[PandoraCube] '게임메이커'에 대해 알아보자[PandoraCube] '게임메이커'에 대해 알아보자
[PandoraCube] '게임메이커'에 대해 알아보자
 
[PandoraCube] 게임 프로그래머로 성장하기
[PandoraCube] 게임 프로그래머로 성장하기[PandoraCube] 게임 프로그래머로 성장하기
[PandoraCube] 게임 프로그래머로 성장하기
 
[PandoraCube] 이런 게임에 보안은 필요 없다구요!
[PandoraCube] 이런 게임에 보안은 필요 없다구요![PandoraCube] 이런 게임에 보안은 필요 없다구요!
[PandoraCube] 이런 게임에 보안은 필요 없다구요!
 
[PandoraCube] 게임 데이터 분석: 클러스터링
[PandoraCube] 게임 데이터 분석: 클러스터링[PandoraCube] 게임 데이터 분석: 클러스터링
[PandoraCube] 게임 데이터 분석: 클러스터링
 

[PandoraCube] 쉐이더 with Unity