SlideShare a Scribd company logo
1 of 33
Download to read offline
리얼타임 환경에서 쉐이더 프로그래밍을 통한 룩디벨롭과 특수효과
김원기
2017.12.15.
유니티코리아 마스터즈 1, 2기
리얼타임 엔진을 이용한 다양한 애니메이션 제작 사례
실시간 그래픽에서는 어떻게 화면을 그려내는가?
“열심히 에셋 작업해서 엔진에 올려봤더니 이래요..”
Albedo, Metallic, Smoothness?
Smoothness Source?
리얼타임 환경에서 쉐이더 프로그래밍을 통한 룩디벨롭과 특수효과
6
CPU / GPU
많은 버텍스와 픽셀을 처리하기 위한 병렬처리 프로세서
https://thebookofshaders.com/01/
리얼타임 환경에서 쉐이더 프로그래밍을 통한 룩디벨롭과 특수효과
7
Shader
GPU 프로그래밍 언어, 병렬처리
화면의 x좌표를 출력했을때 화면의 y좌표를 출력했을때
리얼타임 환경에서 쉐이더 프로그래밍을 통한 룩디벨롭과 특수효과
8
Rendering Workflow of Unity3D
모델링 데이터와 텍스쳐/프로퍼티 값을 셰이더에 전달하여 오브젝트를 Draw
https://www.alanzucconi.com/2015/06/10/a-gentle-introduction-to-shaders-in-unity3d/
리얼타임 환경에서 쉐이더 프로그래밍을 통한 룩디벨롭과 특수효과
9
메쉬(vertex) 데이터가 갖는 값들
버텍스 위치 / 노멀 / UV좌표 등..
리얼타임 환경에서 쉐이더 프로그래밍을 통한 룩디벨롭과 특수효과
10
노멀 Normal, 벡터 Vector
방향(벡터)은 숫자로 표현할 수 있음. (1,0)오른쪽, (0,1)윗쪽…
리얼타임 환경에서 쉐이더 프로그래밍을 통한 룩디벨롭과 특수효과
11
램버트 Lambert
Normal dot LightDirection
Dot Product(내적)

(x1, y1) dot (x2, y2)

= x1*x2 + y1*y2
N(1,0), L(1,0) = 1 + 0 = 1

N(0,1), L(1,0) = 0 + 0 = 0

N(-1,0), L(1,0) = -1 + 0 = -1

N(0.707, 0.707), L(1,0) = 0.707 + 0 = 0.707
1
0.707
0
-1
0
0.707
-0.707-0.707
리얼타임 환경에서 쉐이더 프로그래밍을 통한 룩디벨롭과 특수효과
12
퐁 Phong / 블린퐁 BlinnPhong
ReflectDirection dot View / Half dot Normal
pow(NH,15) pow(NH,75)
리얼타임 환경에서 쉐이더 프로그래밍을 통한 룩디벨롭과 특수효과
13
노멀맵 Normal map
방향의(x,y,z) = 이미지의(r,g,b)
리얼타임 환경에서 쉐이더 프로그래밍을 통한 룩디벨롭과 특수효과
14
Falloff 혹은 Fresnel
Normal dot ViewDirection
리얼타임 환경에서 쉐이더 프로그래밍을 통한 룩디벨롭과 특수효과
15
Add / Multiply
(0,0,0) + (1,0,0) = ? / (1,1,1) * (1,0,0) =?
+
리얼타임 환경에서 쉐이더 프로그래밍을 통한 룩디벨롭과 특수효과
16
뭔가 마구마구 섞입니다
NL*texture + NV + NH + .. + …
뭔가 잘못된 것 같은 느낌..
specular에 텍스쳐를 주고 림라이트에 강약을 주고..
리얼타임 환경에서 쉐이더 프로그래밍을 통한 룩디벨롭과 특수효과
17
PBR셰이더 + PostProcessing
Unity Standard Shader
리얼타임 환경에서 쉐이더 프로그래밍을 통한 룩디벨롭과 특수효과
18
PBR의 특징(1) - 에너지보존법칙
사물이 반사하는 광량은 같다. 표면의 Roughness와 반사굴절률(Metallic)
리얼타임 환경에서 쉐이더 프로그래밍을 통한 룩디벨롭과 특수효과
19
PBR의 특징(2) - IBL(Image Based Lighting)
Specular는 잊으세요. 광원의 반사입니다. 모든 사물은 반사합니다. 청바지도 반사합니다.
리얼타임 환경에서 쉐이더 프로그래밍을 통한 룩디벨롭과 특수효과
20
환경은 미리 큐브맵으로 구워놓습니다.
유니티는 Reflection Probe, 언리얼은 Reflection Capture
리얼타임 환경에서 쉐이더 프로그래밍을 통한 룩디벨롭과 특수효과
21
많은 차세대 텍스쳐링 도구들
Substance Designer, Painter / Mari / Quixel
리얼타임 환경에서 쉐이더 프로그래밍을 통한 룩디벨롭과 특수효과
22
애니메이션 IP Look Development 적용사례(1)
2016 리얼타임 모션캡쳐 애니 연수생 모집 프로젝트
리얼타임 환경에서 쉐이더 프로그래밍을 통한 룩디벨롭과 특수효과
23
애니메이션 IP Look Development 적용사례(2)
2016 리얼타임 모션캡쳐 애니 연수생 모집 프로젝트
리얼타임 환경에서 쉐이더 프로그래밍을 통한 룩디벨롭과 특수효과
24
CaseStudy - StreetFighter의 NPR
Normal맵으로 붓 터치 느낌 추가
http://www.inven.co.kr/webzine/news/?news=157296
리얼타임 환경에서 쉐이더 프로그래밍을 통한 룩디벨롭과 특수효과
25
CaseStudy - Guilty Gear의 셀셰이딩
2D 셀애니메이션 느낌을 위한 노멀 수정
http://se-arts.com/220059340171
리얼타임 환경에서 쉐이더 프로그래밍을 통한 룩디벨롭과 특수효과
26
Cell Shading?
dot의 결과값은 -1~1. n보다 작으면 어두운색, 크면 밝은색
리얼타임 환경에서 쉐이더 프로그래밍을 통한 룩디벨롭과 특수효과
27
CaseStudy - The Gift의 Fur Shader
Shell Texturing과 Flow map 활용
https://www.youtube.com/watch?v=d5XYNRH1nns&feature=youtu.be&t=20m48s
Unite Europe 2016 - Making of THE GIFT: Game Changer in Film Production
https://github.com/marza-realtime/GIFT_PorterDoll
리얼타임 환경에서 쉐이더 프로그래밍을 통한 룩디벨롭과 특수효과
28
Shell Texturing?
여러 겹의 mesh를 덧그려서 털의 깊이 느낌 구현
https://github.com/jose-villegas/FurRendering
리얼타임 환경에서 쉐이더 프로그래밍을 통한 룩디벨롭과 특수효과
29
CaseStudy - Adam의 cloth
Cloth시뮬레이션 결과를 Alembic 시퀀스로 import
리얼타임 환경에서 쉐이더 프로그래밍을 통한 룩디벨롭과 특수효과
30
리얼타임 영상 구현사례(1)
SK티움 전시관에서 운영 중인 홀로렌즈 대응 증강현실 영상
https://vimeo.com/231237563
리얼타임 환경에서 쉐이더 프로그래밍을 통한 룩디벨롭과 특수효과
31
리얼타임 영상 구현사례(2)
지형 스캔 효과 / 트랜지션 효과 / 지형 Clipping 셰이더
https://vimeo.com/227627974
•지형을 스캔하며 서서히 보여지는 효과

•컷 사이의 연결을 위한 리얼타임 트랜지션 효과

•지정영역에만 지형을 보이기 위한 clipping 셰이더
리얼타임 환경에서 쉐이더 프로그래밍을 통한 룩디벨롭과 특수효과
32
리얼타임 애니메이션 제작 관련 참고 영상들
https://youtu.be/tvcu4oIcFuA
Unite 2016 - Unity for Films
https://youtu.be/d5XYNRH1nns
Unite Europe 2016 - Making of THE GIFT: Game Changer in Film Production
https://youtu.be/NSQcBZcvqpg
The Jungle Book Vfx
https://youtu.be/r_A92G47_AI
Unite '17 Seoul Keynote / 7. Baobab Studio
https://blogs.unity3d.com/kr/2017/01/04/adam-vfx-in-the-real-time-short-film/
Adam ­ VFX in the real-time short film
감사합니다.
kimwonky@gmail.com
김원기

More Related Content

What's hot

MMORPG게임엔진의 현재와미래 by 장언일
MMORPG게임엔진의 현재와미래 by 장언일MMORPG게임엔진의 현재와미래 by 장언일
MMORPG게임엔진의 현재와미래 by 장언일drandom
 
유니티의 툰셰이딩을 사용한 3D 애니메이션 표현
유니티의 툰셰이딩을 사용한 3D 애니메이션 표현유니티의 툰셰이딩을 사용한 3D 애니메이션 표현
유니티의 툰셰이딩을 사용한 3D 애니메이션 표현MinGeun Park
 
Unity cookbook 17
Unity cookbook 17Unity cookbook 17
Unity cookbook 17Jihun Soh
 
[Kgc2013] 모바일 엔진 개발기
[Kgc2013] 모바일 엔진 개발기[Kgc2013] 모바일 엔진 개발기
[Kgc2013] 모바일 엔진 개발기changehee lee
 
TA가 뭐예요? (What is a Technical Artist? 블루홀스튜디오)
TA가 뭐예요? (What is a Technical Artist? 블루홀스튜디오)TA가 뭐예요? (What is a Technical Artist? 블루홀스튜디오)
TA가 뭐예요? (What is a Technical Artist? 블루홀스튜디오)valhashi
 
영웅의 군단의 테크니컬 아트 - 황재철, 유나이트 코리아 2014
영웅의 군단의 테크니컬 아트 - 황재철, 유나이트 코리아 2014영웅의 군단의 테크니컬 아트 - 황재철, 유나이트 코리아 2014
영웅의 군단의 테크니컬 아트 - 황재철, 유나이트 코리아 2014NDOORS
 
[2012 대학특강] 아티스트 + 프로그래머
[2012 대학특강] 아티스트 + 프로그래머[2012 대학특강] 아티스트 + 프로그래머
[2012 대학특강] 아티스트 + 프로그래머포프 김
 
[1002 조진현]unity3d 소개
[1002 조진현]unity3d 소개[1002 조진현]unity3d 소개
[1002 조진현]unity3d 소개진현 조
 
KGC 2007 소프트웨어 렌더러 개발
KGC 2007  소프트웨어 렌더러 개발KGC 2007  소프트웨어 렌더러 개발
KGC 2007 소프트웨어 렌더러 개발SeongWan Kim
 
[141015] cedec 2014 참관기 & 강연 리뷰 #2
[141015] cedec 2014 참관기 & 강연 리뷰 #2[141015] cedec 2014 참관기 & 강연 리뷰 #2
[141015] cedec 2014 참관기 & 강연 리뷰 #2MinGeun Park
 
[0108 조진현]출발 소프트웨어 렌더러
[0108 조진현]출발 소프트웨어 렌더러[0108 조진현]출발 소프트웨어 렌더러
[0108 조진현]출발 소프트웨어 렌더러진현 조
 
리얼타임 렌더링에 대해
리얼타임 렌더링에 대해리얼타임 렌더링에 대해
리얼타임 렌더링에 대해필성 권
 
아티스트에게 사랑받는 3DS Max 우버쉐이더
아티스트에게 사랑받는 3DS Max 우버쉐이더아티스트에게 사랑받는 3DS Max 우버쉐이더
아티스트에게 사랑받는 3DS Max 우버쉐이더포프 김
 
프레임레이트 향상을 위한 공간분할 및 오브젝트 컬링 기법
프레임레이트 향상을 위한 공간분할 및 오브젝트 컬링 기법프레임레이트 향상을 위한 공간분할 및 오브젝트 컬링 기법
프레임레이트 향상을 위한 공간분할 및 오브젝트 컬링 기법YEONG-CHEON YOU
 
나만의 엔진 개발하기
나만의 엔진 개발하기나만의 엔진 개발하기
나만의 엔진 개발하기YEONG-CHEON YOU
 
NDC2016 프로젝트 A1의 AAA급 캐릭터 렌더링 기술
NDC2016 프로젝트 A1의 AAA급 캐릭터 렌더링 기술NDC2016 프로젝트 A1의 AAA급 캐릭터 렌더링 기술
NDC2016 프로젝트 A1의 AAA급 캐릭터 렌더링 기술Ki Hyunwoo
 
Kgc2014 jplee allegorithmic
Kgc2014 jplee allegorithmicKgc2014 jplee allegorithmic
Kgc2014 jplee allegorithmicLee Jungpyo
 
[데브루키/141206 박민근] 유니티 최적화 테크닉 총정리
[데브루키/141206 박민근] 유니티 최적화 테크닉 총정리[데브루키/141206 박민근] 유니티 최적화 테크닉 총정리
[데브루키/141206 박민근] 유니티 최적화 테크닉 총정리MinGeun Park
 
셰이더 합성
셰이더 합성셰이더 합성
셰이더 합성JiUng Choi
 
multi plaform Full3D MMO 만들기 "삼국지를 품다"의 테크니컬 아트
multi plaform Full3D MMO 만들기 "삼국지를 품다"의 테크니컬 아트multi plaform Full3D MMO 만들기 "삼국지를 품다"의 테크니컬 아트
multi plaform Full3D MMO 만들기 "삼국지를 품다"의 테크니컬 아트JP Jung
 

What's hot (20)

MMORPG게임엔진의 현재와미래 by 장언일
MMORPG게임엔진의 현재와미래 by 장언일MMORPG게임엔진의 현재와미래 by 장언일
MMORPG게임엔진의 현재와미래 by 장언일
 
유니티의 툰셰이딩을 사용한 3D 애니메이션 표현
유니티의 툰셰이딩을 사용한 3D 애니메이션 표현유니티의 툰셰이딩을 사용한 3D 애니메이션 표현
유니티의 툰셰이딩을 사용한 3D 애니메이션 표현
 
Unity cookbook 17
Unity cookbook 17Unity cookbook 17
Unity cookbook 17
 
[Kgc2013] 모바일 엔진 개발기
[Kgc2013] 모바일 엔진 개발기[Kgc2013] 모바일 엔진 개발기
[Kgc2013] 모바일 엔진 개발기
 
TA가 뭐예요? (What is a Technical Artist? 블루홀스튜디오)
TA가 뭐예요? (What is a Technical Artist? 블루홀스튜디오)TA가 뭐예요? (What is a Technical Artist? 블루홀스튜디오)
TA가 뭐예요? (What is a Technical Artist? 블루홀스튜디오)
 
영웅의 군단의 테크니컬 아트 - 황재철, 유나이트 코리아 2014
영웅의 군단의 테크니컬 아트 - 황재철, 유나이트 코리아 2014영웅의 군단의 테크니컬 아트 - 황재철, 유나이트 코리아 2014
영웅의 군단의 테크니컬 아트 - 황재철, 유나이트 코리아 2014
 
[2012 대학특강] 아티스트 + 프로그래머
[2012 대학특강] 아티스트 + 프로그래머[2012 대학특강] 아티스트 + 프로그래머
[2012 대학특강] 아티스트 + 프로그래머
 
[1002 조진현]unity3d 소개
[1002 조진현]unity3d 소개[1002 조진현]unity3d 소개
[1002 조진현]unity3d 소개
 
KGC 2007 소프트웨어 렌더러 개발
KGC 2007  소프트웨어 렌더러 개발KGC 2007  소프트웨어 렌더러 개발
KGC 2007 소프트웨어 렌더러 개발
 
[141015] cedec 2014 참관기 & 강연 리뷰 #2
[141015] cedec 2014 참관기 & 강연 리뷰 #2[141015] cedec 2014 참관기 & 강연 리뷰 #2
[141015] cedec 2014 참관기 & 강연 리뷰 #2
 
[0108 조진현]출발 소프트웨어 렌더러
[0108 조진현]출발 소프트웨어 렌더러[0108 조진현]출발 소프트웨어 렌더러
[0108 조진현]출발 소프트웨어 렌더러
 
리얼타임 렌더링에 대해
리얼타임 렌더링에 대해리얼타임 렌더링에 대해
리얼타임 렌더링에 대해
 
아티스트에게 사랑받는 3DS Max 우버쉐이더
아티스트에게 사랑받는 3DS Max 우버쉐이더아티스트에게 사랑받는 3DS Max 우버쉐이더
아티스트에게 사랑받는 3DS Max 우버쉐이더
 
프레임레이트 향상을 위한 공간분할 및 오브젝트 컬링 기법
프레임레이트 향상을 위한 공간분할 및 오브젝트 컬링 기법프레임레이트 향상을 위한 공간분할 및 오브젝트 컬링 기법
프레임레이트 향상을 위한 공간분할 및 오브젝트 컬링 기법
 
나만의 엔진 개발하기
나만의 엔진 개발하기나만의 엔진 개발하기
나만의 엔진 개발하기
 
NDC2016 프로젝트 A1의 AAA급 캐릭터 렌더링 기술
NDC2016 프로젝트 A1의 AAA급 캐릭터 렌더링 기술NDC2016 프로젝트 A1의 AAA급 캐릭터 렌더링 기술
NDC2016 프로젝트 A1의 AAA급 캐릭터 렌더링 기술
 
Kgc2014 jplee allegorithmic
Kgc2014 jplee allegorithmicKgc2014 jplee allegorithmic
Kgc2014 jplee allegorithmic
 
[데브루키/141206 박민근] 유니티 최적화 테크닉 총정리
[데브루키/141206 박민근] 유니티 최적화 테크닉 총정리[데브루키/141206 박민근] 유니티 최적화 테크닉 총정리
[데브루키/141206 박민근] 유니티 최적화 테크닉 총정리
 
셰이더 합성
셰이더 합성셰이더 합성
셰이더 합성
 
multi plaform Full3D MMO 만들기 "삼국지를 품다"의 테크니컬 아트
multi plaform Full3D MMO 만들기 "삼국지를 품다"의 테크니컬 아트multi plaform Full3D MMO 만들기 "삼국지를 품다"의 테크니컬 아트
multi plaform Full3D MMO 만들기 "삼국지를 품다"의 테크니컬 아트
 

Similar to 리얼타임 환경에서 쉐이더 프로그래밍을 통한 룩디벨롭과 특수효과

[0326 박민근] deferred shading
[0326 박민근] deferred shading[0326 박민근] deferred shading
[0326 박민근] deferred shadingMinGeun Park
 
Live2D with Unity - 그녀들을 움직이게 하는 기술 (알콜코더 박민근)
Live2D with Unity - 그녀들을 움직이게 하는 기술 (알콜코더 박민근)Live2D with Unity - 그녀들을 움직이게 하는 기술 (알콜코더 박민근)
Live2D with Unity - 그녀들을 움직이게 하는 기술 (알콜코더 박민근)MinGeun Park
 
[박민근] 3 d렌더링 옵티마이징_4 임포스터_인스턴싱
[박민근] 3 d렌더링 옵티마이징_4 임포스터_인스턴싱[박민근] 3 d렌더링 옵티마이징_4 임포스터_인스턴싱
[박민근] 3 d렌더링 옵티마이징_4 임포스터_인스턴싱MinGeun Park
 
[IGC 2016] 엔씨소프트 홍상범 - 3D아티스트 위한 프로그램 연동하여 개발 제작 환경 개선하기
[IGC 2016] 엔씨소프트 홍상범 - 3D아티스트 위한 프로그램 연동하여 개발 제작 환경 개선하기[IGC 2016] 엔씨소프트 홍상범 - 3D아티스트 위한 프로그램 연동하여 개발 제작 환경 개선하기
[IGC 2016] 엔씨소프트 홍상범 - 3D아티스트 위한 프로그램 연동하여 개발 제작 환경 개선하기강 민우
 
2015.12.10 defferd renderring_
2015.12.10 defferd renderring_2015.12.10 defferd renderring_
2015.12.10 defferd renderring_재현 최
 
김혁, <드래곤 하운드>의 PBR과 레이트레이싱 렌더링 기법, NDC2019
김혁, <드래곤 하운드>의 PBR과 레이트레이싱 렌더링 기법, NDC2019김혁, <드래곤 하운드>의 PBR과 레이트레이싱 렌더링 기법, NDC2019
김혁, <드래곤 하운드>의 PBR과 레이트레이싱 렌더링 기법, NDC2019devCAT Studio, NEXON
 
Gamebryo LightSpeed (Korean)
Gamebryo LightSpeed (Korean)Gamebryo LightSpeed (Korean)
Gamebryo LightSpeed (Korean)Gamebryo
 
20140514 team blender_v01 (Korean)
20140514 team blender_v01 (Korean)20140514 team blender_v01 (Korean)
20140514 team blender_v01 (Korean)Dongho Kim
 
게임 개발을 위한 렌더링 기법 한성환
게임 개발을 위한 렌더링 기법   한성환게임 개발을 위한 렌더링 기법   한성환
게임 개발을 위한 렌더링 기법 한성환Yggdrasil610
 
[0107 박민근] 쉽게 배우는 hdr과 톤맵핑
[0107 박민근] 쉽게 배우는 hdr과 톤맵핑[0107 박민근] 쉽게 배우는 hdr과 톤맵핑
[0107 박민근] 쉽게 배우는 hdr과 톤맵핑MinGeun Park
 
06_HDR 소개
06_HDR 소개06_HDR 소개
06_HDR 소개noerror
 
이미지와 애니메이션 효과 적용하기
이미지와 애니메이션 효과 적용하기이미지와 애니메이션 효과 적용하기
이미지와 애니메이션 효과 적용하기Devgear
 
Playground 소개
Playground 소개Playground 소개
Playground 소개승우 백
 
Ndc2013 정리(upload버전)
Ndc2013 정리(upload버전)Ndc2013 정리(upload버전)
Ndc2013 정리(upload버전)Minsu Park
 
gametech 2012 Gladius project
gametech 2012 Gladius projectgametech 2012 Gladius project
gametech 2012 Gladius projectWuwon Yu
 
20140929 vr for_slideshare
20140929 vr for_slideshare20140929 vr for_slideshare
20140929 vr for_slideshareSunghyeon Hwang
 

Similar to 리얼타임 환경에서 쉐이더 프로그래밍을 통한 룩디벨롭과 특수효과 (20)

[0326 박민근] deferred shading
[0326 박민근] deferred shading[0326 박민근] deferred shading
[0326 박민근] deferred shading
 
Live2D with Unity - 그녀들을 움직이게 하는 기술 (알콜코더 박민근)
Live2D with Unity - 그녀들을 움직이게 하는 기술 (알콜코더 박민근)Live2D with Unity - 그녀들을 움직이게 하는 기술 (알콜코더 박민근)
Live2D with Unity - 그녀들을 움직이게 하는 기술 (알콜코더 박민근)
 
[박민근] 3 d렌더링 옵티마이징_4 임포스터_인스턴싱
[박민근] 3 d렌더링 옵티마이징_4 임포스터_인스턴싱[박민근] 3 d렌더링 옵티마이징_4 임포스터_인스턴싱
[박민근] 3 d렌더링 옵티마이징_4 임포스터_인스턴싱
 
Gametech2015
Gametech2015Gametech2015
Gametech2015
 
[IGC 2016] 엔씨소프트 홍상범 - 3D아티스트 위한 프로그램 연동하여 개발 제작 환경 개선하기
[IGC 2016] 엔씨소프트 홍상범 - 3D아티스트 위한 프로그램 연동하여 개발 제작 환경 개선하기[IGC 2016] 엔씨소프트 홍상범 - 3D아티스트 위한 프로그램 연동하여 개발 제작 환경 개선하기
[IGC 2016] 엔씨소프트 홍상범 - 3D아티스트 위한 프로그램 연동하여 개발 제작 환경 개선하기
 
Devtree illu
Devtree illuDevtree illu
Devtree illu
 
2015.12.10 defferd renderring_
2015.12.10 defferd renderring_2015.12.10 defferd renderring_
2015.12.10 defferd renderring_
 
김혁, <드래곤 하운드>의 PBR과 레이트레이싱 렌더링 기법, NDC2019
김혁, <드래곤 하운드>의 PBR과 레이트레이싱 렌더링 기법, NDC2019김혁, <드래곤 하운드>의 PBR과 레이트레이싱 렌더링 기법, NDC2019
김혁, <드래곤 하운드>의 PBR과 레이트레이싱 렌더링 기법, NDC2019
 
Gamebryo LightSpeed (Korean)
Gamebryo LightSpeed (Korean)Gamebryo LightSpeed (Korean)
Gamebryo LightSpeed (Korean)
 
20140514 team blender_v01 (Korean)
20140514 team blender_v01 (Korean)20140514 team blender_v01 (Korean)
20140514 team blender_v01 (Korean)
 
게임 개발을 위한 렌더링 기법 한성환
게임 개발을 위한 렌더링 기법   한성환게임 개발을 위한 렌더링 기법   한성환
게임 개발을 위한 렌더링 기법 한성환
 
Ndc11 이창희_hdr
Ndc11 이창희_hdrNdc11 이창희_hdr
Ndc11 이창희_hdr
 
[0107 박민근] 쉽게 배우는 hdr과 톤맵핑
[0107 박민근] 쉽게 배우는 hdr과 톤맵핑[0107 박민근] 쉽게 배우는 hdr과 톤맵핑
[0107 박민근] 쉽게 배우는 hdr과 톤맵핑
 
06_HDR 소개
06_HDR 소개06_HDR 소개
06_HDR 소개
 
이미지와 애니메이션 효과 적용하기
이미지와 애니메이션 효과 적용하기이미지와 애니메이션 효과 적용하기
이미지와 애니메이션 효과 적용하기
 
Playground 소개
Playground 소개Playground 소개
Playground 소개
 
Ndc2013 정리(upload버전)
Ndc2013 정리(upload버전)Ndc2013 정리(upload버전)
Ndc2013 정리(upload버전)
 
[PandoraCube] 쉐이더 with Unity
[PandoraCube] 쉐이더 with Unity[PandoraCube] 쉐이더 with Unity
[PandoraCube] 쉐이더 with Unity
 
gametech 2012 Gladius project
gametech 2012 Gladius projectgametech 2012 Gladius project
gametech 2012 Gladius project
 
20140929 vr for_slideshare
20140929 vr for_slideshare20140929 vr for_slideshare
20140929 vr for_slideshare
 

Recently uploaded

A future that integrates LLMs and LAMs (Symposium)
A future that integrates LLMs and LAMs (Symposium)A future that integrates LLMs and LAMs (Symposium)
A future that integrates LLMs and LAMs (Symposium)Tae Young Lee
 
Console API (Kitworks Team Study 백혜인 발표자료)
Console API (Kitworks Team Study 백혜인 발표자료)Console API (Kitworks Team Study 백혜인 발표자료)
Console API (Kitworks Team Study 백혜인 발표자료)Wonjun Hwang
 
Continual Active Learning for Efficient Adaptation of Machine LearningModels ...
Continual Active Learning for Efficient Adaptation of Machine LearningModels ...Continual Active Learning for Efficient Adaptation of Machine LearningModels ...
Continual Active Learning for Efficient Adaptation of Machine LearningModels ...Kim Daeun
 
Merge (Kitworks Team Study 이성수 발표자료 240426)
Merge (Kitworks Team Study 이성수 발표자료 240426)Merge (Kitworks Team Study 이성수 발표자료 240426)
Merge (Kitworks Team Study 이성수 발표자료 240426)Wonjun Hwang
 
MOODv2 : Masked Image Modeling for Out-of-Distribution Detection
MOODv2 : Masked Image Modeling for Out-of-Distribution DetectionMOODv2 : Masked Image Modeling for Out-of-Distribution Detection
MOODv2 : Masked Image Modeling for Out-of-Distribution DetectionKim Daeun
 
캐드앤그래픽스 2024년 5월호 목차
캐드앤그래픽스 2024년 5월호 목차캐드앤그래픽스 2024년 5월호 목차
캐드앤그래픽스 2024년 5월호 목차캐드앤그래픽스
 

Recently uploaded (6)

A future that integrates LLMs and LAMs (Symposium)
A future that integrates LLMs and LAMs (Symposium)A future that integrates LLMs and LAMs (Symposium)
A future that integrates LLMs and LAMs (Symposium)
 
Console API (Kitworks Team Study 백혜인 발표자료)
Console API (Kitworks Team Study 백혜인 발표자료)Console API (Kitworks Team Study 백혜인 발표자료)
Console API (Kitworks Team Study 백혜인 발표자료)
 
Continual Active Learning for Efficient Adaptation of Machine LearningModels ...
Continual Active Learning for Efficient Adaptation of Machine LearningModels ...Continual Active Learning for Efficient Adaptation of Machine LearningModels ...
Continual Active Learning for Efficient Adaptation of Machine LearningModels ...
 
Merge (Kitworks Team Study 이성수 발표자료 240426)
Merge (Kitworks Team Study 이성수 발표자료 240426)Merge (Kitworks Team Study 이성수 발표자료 240426)
Merge (Kitworks Team Study 이성수 발표자료 240426)
 
MOODv2 : Masked Image Modeling for Out-of-Distribution Detection
MOODv2 : Masked Image Modeling for Out-of-Distribution DetectionMOODv2 : Masked Image Modeling for Out-of-Distribution Detection
MOODv2 : Masked Image Modeling for Out-of-Distribution Detection
 
캐드앤그래픽스 2024년 5월호 목차
캐드앤그래픽스 2024년 5월호 목차캐드앤그래픽스 2024년 5월호 목차
캐드앤그래픽스 2024년 5월호 목차
 

리얼타임 환경에서 쉐이더 프로그래밍을 통한 룩디벨롭과 특수효과

  • 1. 리얼타임 환경에서 쉐이더 프로그래밍을 통한 룩디벨롭과 특수효과 김원기 2017.12.15. 유니티코리아 마스터즈 1, 2기
  • 2. 리얼타임 엔진을 이용한 다양한 애니메이션 제작 사례
  • 3. 실시간 그래픽에서는 어떻게 화면을 그려내는가?
  • 4. “열심히 에셋 작업해서 엔진에 올려봤더니 이래요..”
  • 6. 리얼타임 환경에서 쉐이더 프로그래밍을 통한 룩디벨롭과 특수효과 6 CPU / GPU 많은 버텍스와 픽셀을 처리하기 위한 병렬처리 프로세서 https://thebookofshaders.com/01/
  • 7. 리얼타임 환경에서 쉐이더 프로그래밍을 통한 룩디벨롭과 특수효과 7 Shader GPU 프로그래밍 언어, 병렬처리 화면의 x좌표를 출력했을때 화면의 y좌표를 출력했을때
  • 8. 리얼타임 환경에서 쉐이더 프로그래밍을 통한 룩디벨롭과 특수효과 8 Rendering Workflow of Unity3D 모델링 데이터와 텍스쳐/프로퍼티 값을 셰이더에 전달하여 오브젝트를 Draw https://www.alanzucconi.com/2015/06/10/a-gentle-introduction-to-shaders-in-unity3d/
  • 9. 리얼타임 환경에서 쉐이더 프로그래밍을 통한 룩디벨롭과 특수효과 9 메쉬(vertex) 데이터가 갖는 값들 버텍스 위치 / 노멀 / UV좌표 등..
  • 10. 리얼타임 환경에서 쉐이더 프로그래밍을 통한 룩디벨롭과 특수효과 10 노멀 Normal, 벡터 Vector 방향(벡터)은 숫자로 표현할 수 있음. (1,0)오른쪽, (0,1)윗쪽…
  • 11. 리얼타임 환경에서 쉐이더 프로그래밍을 통한 룩디벨롭과 특수효과 11 램버트 Lambert Normal dot LightDirection Dot Product(내적) (x1, y1) dot (x2, y2) = x1*x2 + y1*y2 N(1,0), L(1,0) = 1 + 0 = 1 N(0,1), L(1,0) = 0 + 0 = 0 N(-1,0), L(1,0) = -1 + 0 = -1 N(0.707, 0.707), L(1,0) = 0.707 + 0 = 0.707 1 0.707 0 -1 0 0.707 -0.707-0.707
  • 12. 리얼타임 환경에서 쉐이더 프로그래밍을 통한 룩디벨롭과 특수효과 12 퐁 Phong / 블린퐁 BlinnPhong ReflectDirection dot View / Half dot Normal pow(NH,15) pow(NH,75)
  • 13. 리얼타임 환경에서 쉐이더 프로그래밍을 통한 룩디벨롭과 특수효과 13 노멀맵 Normal map 방향의(x,y,z) = 이미지의(r,g,b)
  • 14. 리얼타임 환경에서 쉐이더 프로그래밍을 통한 룩디벨롭과 특수효과 14 Falloff 혹은 Fresnel Normal dot ViewDirection
  • 15. 리얼타임 환경에서 쉐이더 프로그래밍을 통한 룩디벨롭과 특수효과 15 Add / Multiply (0,0,0) + (1,0,0) = ? / (1,1,1) * (1,0,0) =? +
  • 16. 리얼타임 환경에서 쉐이더 프로그래밍을 통한 룩디벨롭과 특수효과 16 뭔가 마구마구 섞입니다 NL*texture + NV + NH + .. + … 뭔가 잘못된 것 같은 느낌.. specular에 텍스쳐를 주고 림라이트에 강약을 주고..
  • 17. 리얼타임 환경에서 쉐이더 프로그래밍을 통한 룩디벨롭과 특수효과 17 PBR셰이더 + PostProcessing Unity Standard Shader
  • 18. 리얼타임 환경에서 쉐이더 프로그래밍을 통한 룩디벨롭과 특수효과 18 PBR의 특징(1) - 에너지보존법칙 사물이 반사하는 광량은 같다. 표면의 Roughness와 반사굴절률(Metallic)
  • 19. 리얼타임 환경에서 쉐이더 프로그래밍을 통한 룩디벨롭과 특수효과 19 PBR의 특징(2) - IBL(Image Based Lighting) Specular는 잊으세요. 광원의 반사입니다. 모든 사물은 반사합니다. 청바지도 반사합니다.
  • 20. 리얼타임 환경에서 쉐이더 프로그래밍을 통한 룩디벨롭과 특수효과 20 환경은 미리 큐브맵으로 구워놓습니다. 유니티는 Reflection Probe, 언리얼은 Reflection Capture
  • 21. 리얼타임 환경에서 쉐이더 프로그래밍을 통한 룩디벨롭과 특수효과 21 많은 차세대 텍스쳐링 도구들 Substance Designer, Painter / Mari / Quixel
  • 22. 리얼타임 환경에서 쉐이더 프로그래밍을 통한 룩디벨롭과 특수효과 22 애니메이션 IP Look Development 적용사례(1) 2016 리얼타임 모션캡쳐 애니 연수생 모집 프로젝트
  • 23. 리얼타임 환경에서 쉐이더 프로그래밍을 통한 룩디벨롭과 특수효과 23 애니메이션 IP Look Development 적용사례(2) 2016 리얼타임 모션캡쳐 애니 연수생 모집 프로젝트
  • 24. 리얼타임 환경에서 쉐이더 프로그래밍을 통한 룩디벨롭과 특수효과 24 CaseStudy - StreetFighter의 NPR Normal맵으로 붓 터치 느낌 추가 http://www.inven.co.kr/webzine/news/?news=157296
  • 25. 리얼타임 환경에서 쉐이더 프로그래밍을 통한 룩디벨롭과 특수효과 25 CaseStudy - Guilty Gear의 셀셰이딩 2D 셀애니메이션 느낌을 위한 노멀 수정 http://se-arts.com/220059340171
  • 26. 리얼타임 환경에서 쉐이더 프로그래밍을 통한 룩디벨롭과 특수효과 26 Cell Shading? dot의 결과값은 -1~1. n보다 작으면 어두운색, 크면 밝은색
  • 27. 리얼타임 환경에서 쉐이더 프로그래밍을 통한 룩디벨롭과 특수효과 27 CaseStudy - The Gift의 Fur Shader Shell Texturing과 Flow map 활용 https://www.youtube.com/watch?v=d5XYNRH1nns&feature=youtu.be&t=20m48s Unite Europe 2016 - Making of THE GIFT: Game Changer in Film Production https://github.com/marza-realtime/GIFT_PorterDoll
  • 28. 리얼타임 환경에서 쉐이더 프로그래밍을 통한 룩디벨롭과 특수효과 28 Shell Texturing? 여러 겹의 mesh를 덧그려서 털의 깊이 느낌 구현 https://github.com/jose-villegas/FurRendering
  • 29. 리얼타임 환경에서 쉐이더 프로그래밍을 통한 룩디벨롭과 특수효과 29 CaseStudy - Adam의 cloth Cloth시뮬레이션 결과를 Alembic 시퀀스로 import
  • 30. 리얼타임 환경에서 쉐이더 프로그래밍을 통한 룩디벨롭과 특수효과 30 리얼타임 영상 구현사례(1) SK티움 전시관에서 운영 중인 홀로렌즈 대응 증강현실 영상 https://vimeo.com/231237563
  • 31. 리얼타임 환경에서 쉐이더 프로그래밍을 통한 룩디벨롭과 특수효과 31 리얼타임 영상 구현사례(2) 지형 스캔 효과 / 트랜지션 효과 / 지형 Clipping 셰이더 https://vimeo.com/227627974 •지형을 스캔하며 서서히 보여지는 효과 •컷 사이의 연결을 위한 리얼타임 트랜지션 효과 •지정영역에만 지형을 보이기 위한 clipping 셰이더
  • 32. 리얼타임 환경에서 쉐이더 프로그래밍을 통한 룩디벨롭과 특수효과 32 리얼타임 애니메이션 제작 관련 참고 영상들 https://youtu.be/tvcu4oIcFuA Unite 2016 - Unity for Films https://youtu.be/d5XYNRH1nns Unite Europe 2016 - Making of THE GIFT: Game Changer in Film Production https://youtu.be/NSQcBZcvqpg The Jungle Book Vfx https://youtu.be/r_A92G47_AI Unite '17 Seoul Keynote / 7. Baobab Studio https://blogs.unity3d.com/kr/2017/01/04/adam-vfx-in-the-real-time-short-film/ Adam ­ VFX in the real-time short film