SlideShare ist ein Scribd-Unternehmen logo
1 von 41
Downloaden Sie, um offline zu lesen
를 활용한
모바일 플랫폼에서의
게임 환경 구축
1. Sample project 및 speaker 소개
2. Light Probes ?
3. How to make light probes
4. Project에서 Light Probes의 활용 예시 및 장점
5. Light Probes 작업에서 주의할 사항
6. 총평 및 전망
7. Q & A
Lightmapping은 scene의 입체감을 주지만 비정적인 오브젝트가 덜
조명을 받지 못하는 문제가 있습니다. 이를 보완하기 위해 scene에
배치된 구체에 빛의 정보를 기록하여 오브젝트에 덧씌워 빛이
있는것 처럼 보여주는 방법입니다. 동적 라이팅에 비해 빠르게
동작하기 때문에 가볍게 쓸 수 있습니다.(unity manual 내용에서)
Unity 4.X 에서는 Pro 버전에서만 사용할 수 있었으나 Unity 5. 버전부터는 버전 제약 없이 사용 가능
빈 componet를 생성하고 Light Probe Group을 선택하면 Light Probe Group Component가 추가된다.
Probe가 배치되면 노란색 실선(Cells)으로 각 구체간의 영향을 알 수 있게
나타낸다. (최소 4개가 되어야 동작)
Unity3D 4.x 버전에서는
lightmap display의 show
probes와 Cells를 체크해야
확인 할 수 있었지만,
Unity3D 5.x 버전에서는
probe light를 사용하는
오브젝트를 선택시
자동으로 보여준다.
Mesh의 Use Light Probes 체크를 해주어야만 사용할 수 있다.
Unity 5에서는 Reflection probes option이 추가되었다
Unity5에서는 light probe를 사용하는 오브젝트를
클릭하면 자동으로 활성화 된다.
Scene bake를 위한 lighting prefab
Probe bake를 위한 lighting prefab
scene bake 결과물에 비해 밝게 나오기 때문에 probe
bake를 위해서 별도의 prefab을 만들어 관리
Probe를 배치한 prefab.
의 관리
Lightmapping menu에서 Bake Probes 항목이 제거됨으로 다양한 방법을 고심중
Shader에서 albedo 값을 낮춘다던가 light probe만을 위한 lighting으로 baking후
snapshot 파일 합친다던가…
에서 를 활용한 이유와 장점
Unlit shader를 사용한 고정된 texture 느낌의 scene을 단조롭지 않게 표현 할 수 있지 않을까?
- 50 vs 50의 다대다 전투 컨셉의 게임 디자인에 어울릴 수 있는 방식이라 판단
lightmapping에서 조금만 더 신경을 쓰면 작업할 수 있다(작업 소요가 크지 않음)
- scene을 주-야로 lighting만을 바꾸어서 사용할 경우 같은 배경을 그대로 사용 할 수 있다
- 배경 담당자가 컨셉-모델링-TA까지 해야하는 상황
저사양 모바일 디바이스에서도 퍼포먼스 저하가 크지 않게 구동 가능(Defense Technica에서의 경험)
Lighting 조절만으로 각기 다른 stage 연출이 가능.
단순히 stage 분위기만 바뀌는것이 아닌 유닛들도
스테이지 분위기에 어울리는 톤으로 보여줄 수 있다.
주.야 probe 설정에 따른 유닛의 밝기 변화 비교
Draw call과 batching 포함 최대 1000을 넘는 call이 발생
Skinned mesh가 최대 55 vs 55(말 포함)의 전투
유닛이 말을 탄경우 최대 100 vs 100을 넘는 전투 구현
Target Device
Samsung Galaxy S3
4.8인치 1280x720(HD)
엑시노스 4412
Quad-core 1.4G, MP4
440MHz
2G RAM
(출시 국가 및 세세한 모델이
따라 스펙 차이 존재)
Android IOS
Apple iphone 5
4인치 1136x640
A6(Dual Core – 1.3G +
PowerVR SGX543 3 Gpu
cluster)
1G RAM
다대다(50vs50) 전투가 가능했던 이유
디바이스에 전송 결과 반영유닛 연산 서버로 전송 결과 산출
Game Art
Character
Environment
Effect
UI Game Logict
서버에서 연산의 많은 부분을 처리해주는 구조로 인해 화면에 그려줄 수 있는 코스트에 여유가 생김
타겟 디바이스에 빌드한 Light Probes 테스트에서 무리없이 구동 가능
다양한 shader를 test
작은 유닛의 표현은 톤을 보완하는 정도로도 효과적인데 크게
나오는 경우는 이 정도로는 아쉽다..
>> Rim Light shader 사용.
Wrap Diffuse와 Lambert 두가지 조명방식중 WrapDiffuse 사용
작은 유닛의 표현은 톤을 보완하는 정도로도
효과적인데 크게 나오는 경우는 이 정도로는 아쉽다..
>> Rim Light shader 사용.
좌 : Probe light / Lambert
우 : Probe light + Rim light / Wrapdiffuse
Light를 사용하는 shader를 사용해야 하며(Unlit
기반 shader에서는 활성화 되지 않는다)
CGPROGRAM의 noambient 파라메터가 있을경우
적용을 받지 못한다.
단점 및 주의사항
유사 동적 라이팅
- 빛의 방향에 따른 표현은 아쉽다…
- 빛의 색상(톤)과 강도만으로 분위기를 연출할때 보조하는 역할 정도만…
면의 Normal 방향에 영향을 많이 받는다.
- 면이 아래로 향할경우 ambient color가 어둡게 설정 혹은 bake 되었다면 어둡게 표현
- 조명의 채도를 임의로 강하게 주지 않았을때 티가 잘 나지 않는다.(임의로 조절해줘야 함)
빛의 톤이 변화하거나 음영이 크게 변하는 경우
probe 배치를 보다 밀도있게 해주어야 의도한 빛
변화 및 느낌의 톤을 구현할 수 있다.
X, Y 축으로 움직이는 오브젝트 보다
Z축까지 3차원으로 움직이는
오브젝트에서 주로 발생하는 문제
갑자기 이유없이 Frame rate가
떨어지거나 유닛이 검게 혹은 깜빡이는
증상이 나타난다.
probe가 유닛 경로에 적절히 배치되지
못해 생기는 문제.
유닛을 cells를 켜서 확인할경우 한 줄만
길게 물리는 것처럼 보인다.
Frame rate drop 증상 외
Smoothing group을 제대로 설정하지 않았을경우 normal 값에 영향을 받기 때문에 제대로
표현이 되지 않는다.
(면의 방향에 상관없이 모두 smoothing group을 1로 설정한 경우와 Normal과 Tangent 값을 Calculate로 조절한 경우)
Bake 된 뒤라도 ambient color 값에 영향을 받는다. Light probe bake 이후에 scene에
적합한 ambient color를 조절해줘야 한다.
Unity5 에서는 Ambient color를 변경해도 bake 된 이후에는 영향을 받지 않음.
Light Probe를 사용할 경우 Dynamic batching이 적용되지 않는다.
Scene에 그려지는 Skinned meshes 수를 줄이기 위해서 mesh animation으로 만든 말은 light
probe를 받지 않도록 함(scene lighting에 따라 texture를 교체하는 방법을 사용)
영웅유닛용 말
스킨된 메쉬로 구성
Drawcall : 1
Probe light 사용으로 Batching 불가. 최대 scene에 5unit 등장.
병사유닛용 말
Mesh animation 사용
Drawcall : 12
결전맵에서 최대 50unit까지 등장. Light Probes를 사용하지 않음
유니티 개발자 커뮤니티에 이상원님이 올려주신 스샷
Linear color space에서는 타는 증상이 좀 덜하게 발생함. 단, mobile platform에서는 linear
color space 항목이 활성화 되지 않음
Scene baking을 위한 lighting 값을 그대로 사용할경우 원래
좀 밝게 타는 편이지만 unity5에서는 꽤 심하게 밝게 탐.
Albedo 0.13~0.17 사이 값을 shader에서 곱해줬을때 원하는
결과와 유사하게 나옴.
Lightmapping texture 밝기는 4.X대 결과와 동일하게 bake 됨
실제 육안으로 확인 할 수 있는 구체의 밝기와 scene에서 light probes 에 영향을 받는
Albedo에 곱해지는 값에도 차이가 남.
Standard specular shader에서는 밝기가 제대로 적용 됨
Standard shader에서 specular는 alpha channel의 값을 적용 받음
>> Mobile platform에서는???
저사양 디바이스에서도 충분히 구현할 수 있다.(안무겁다~!!)
- 이전 Target device : Samsung Galaxy S2(Android), iphone 4(IOS)
- 현재 Target device : Samsung Galaxy S3(Android)), iphone 5(IOS)
Resource를 제작하는 담당 개발자에게(3D artist) texture 제작에 주의할 부분에 대해 가이드를 마련해 줄 것.
가이드 scene을 제공하면 더욱 좋고 project가 진행된 뒤에는 scene의 light probe 값을 조절.
Shader를 손볼수 있다면 좀 더 다양한 활용이 가능하지 않을까…
Bake probe 메뉴 부활좀….
Light probe를 scene에 종속시키지 말고 독립적으로 작동이 가능하다면 보다 다양한 연출이 가능할것 같은데..
개발을 마무리 한 이후 총평
사족이지만
Sprite lamp : 2D Dynamic lighting 이 가능하도록
sprite texture의 normal map을 생성(UE4의
imposter와 유사)
2D 게임에서도 라이팅 표현이 가능
영상
게임 3D 배경 아티스트(Game 3D Environment Artist)
http://www.facebook.com/group/3Dbackground
終
Unite2015 probelight(150417)

Weitere ähnliche Inhalte

Was ist angesagt?

NDC2015 광개토태왕 테크니컬 아트
NDC2015 광개토태왕 테크니컬 아트NDC2015 광개토태왕 테크니컬 아트
NDC2015 광개토태왕 테크니컬 아트재철 황
 
2009-2016 기본기(손맵)의 중요성
2009-2016 기본기(손맵)의 중요성2009-2016 기본기(손맵)의 중요성
2009-2016 기본기(손맵)의 중요성Gunho Shin
 
NDC2015 유니티 정적 라이팅 이게 최선인가요
NDC2015 유니티 정적 라이팅 이게 최선인가요  NDC2015 유니티 정적 라이팅 이게 최선인가요
NDC2015 유니티 정적 라이팅 이게 최선인가요 Wuwon Yu
 
유니티 게임 그래픽스 아트 개발 사례 분석
유니티 게임 그래픽스 아트 개발 사례 분석유니티 게임 그래픽스 아트 개발 사례 분석
유니티 게임 그래픽스 아트 개발 사례 분석SangYun Yi
 
[Ndc11 박민근] deferred shading
[Ndc11 박민근] deferred shading[Ndc11 박민근] deferred shading
[Ndc11 박민근] deferred shadingMinGeun Park
 
Unity3D로 풀3D web mmorpg 만들기
Unity3D로 풀3D web mmorpg 만들기Unity3D로 풀3D web mmorpg 만들기
Unity3D로 풀3D web mmorpg 만들기JP Jung
 
유니티 Rpg게임배경 스타트업 6번째 스터디자료
유니티 Rpg게임배경 스타트업 6번째 스터디자료유니티 Rpg게임배경 스타트업 6번째 스터디자료
유니티 Rpg게임배경 스타트업 6번째 스터디자료Je Lyoung Kim
 
구세대 엔진 신데렐라 만들기 최종본 유트브2
구세대 엔진 신데렐라 만들기 최종본 유트브2구세대 엔진 신데렐라 만들기 최종본 유트브2
구세대 엔진 신데렐라 만들기 최종본 유트브2Kyoung Seok(경석) Ko(고)
 
스크린 스페이스 데칼에 대해 자세히 알아보자(워햄머 40,000: 스페이스 마린)
스크린 스페이스 데칼에 대해 자세히 알아보자(워햄머 40,000: 스페이스 마린)스크린 스페이스 데칼에 대해 자세히 알아보자(워햄머 40,000: 스페이스 마린)
스크린 스페이스 데칼에 대해 자세히 알아보자(워햄머 40,000: 스페이스 마린)포프 김
 
NDC2016 프로젝트 A1의 AAA급 캐릭터 렌더링 기술
NDC2016 프로젝트 A1의 AAA급 캐릭터 렌더링 기술NDC2016 프로젝트 A1의 AAA급 캐릭터 렌더링 기술
NDC2016 프로젝트 A1의 AAA급 캐릭터 렌더링 기술Ki Hyunwoo
 
니시카와젠지의 3 d 게임 팬을 위한 ps4
니시카와젠지의 3 d 게임 팬을 위한 ps4니시카와젠지의 3 d 게임 팬을 위한 ps4
니시카와젠지의 3 d 게임 팬을 위한 ps4민웅 이
 
[Kgc2012] deferred forward 이창희
[Kgc2012] deferred forward 이창희[Kgc2012] deferred forward 이창희
[Kgc2012] deferred forward 이창희changehee lee
 
크게, 아름답게,빠르게, 일관되게 만들기: Just Cause 2 개발에서 배운 교훈들 (GPU Pro)
크게, 아름답게,빠르게, 일관되게 만들기: Just Cause 2 개발에서 배운 교훈들 (GPU Pro)크게, 아름답게,빠르게, 일관되게 만들기: Just Cause 2 개발에서 배운 교훈들 (GPU Pro)
크게, 아름답게,빠르게, 일관되게 만들기: Just Cause 2 개발에서 배운 교훈들 (GPU Pro)민웅 이
 
multi plaform Full3D MMO 만들기 "삼국지를 품다"의 테크니컬 아트
multi plaform Full3D MMO 만들기 "삼국지를 품다"의 테크니컬 아트multi plaform Full3D MMO 만들기 "삼국지를 품다"의 테크니컬 아트
multi plaform Full3D MMO 만들기 "삼국지를 품다"의 테크니컬 아트JP Jung
 
[1023 박민수] 깊이_버퍼_그림자_1
[1023 박민수] 깊이_버퍼_그림자_1[1023 박민수] 깊이_버퍼_그림자_1
[1023 박민수] 깊이_버퍼_그림자_1MoonLightMS
 
191019 Forward / Deferred Rendering
191019 Forward / Deferred Rendering191019 Forward / Deferred Rendering
191019 Forward / Deferred RenderingKWANGIL KIM
 
게임 개발을 위한 렌더링 기법 한성환
게임 개발을 위한 렌더링 기법   한성환게임 개발을 위한 렌더링 기법   한성환
게임 개발을 위한 렌더링 기법 한성환Yggdrasil610
 
gametech 2012 Gladius project
gametech 2012 Gladius projectgametech 2012 Gladius project
gametech 2012 Gladius projectWuwon Yu
 
9강 camera advanced light2
9강 camera advanced light29강 camera advanced light2
9강 camera advanced light2JP Jung
 
Ndc17 - 차세대 게임이펙트를 위해 알야아할 기법들
Ndc17 - 차세대 게임이펙트를 위해 알야아할 기법들Ndc17 - 차세대 게임이펙트를 위해 알야아할 기법들
Ndc17 - 차세대 게임이펙트를 위해 알야아할 기법들Dae Hyek KIM
 

Was ist angesagt? (20)

NDC2015 광개토태왕 테크니컬 아트
NDC2015 광개토태왕 테크니컬 아트NDC2015 광개토태왕 테크니컬 아트
NDC2015 광개토태왕 테크니컬 아트
 
2009-2016 기본기(손맵)의 중요성
2009-2016 기본기(손맵)의 중요성2009-2016 기본기(손맵)의 중요성
2009-2016 기본기(손맵)의 중요성
 
NDC2015 유니티 정적 라이팅 이게 최선인가요
NDC2015 유니티 정적 라이팅 이게 최선인가요  NDC2015 유니티 정적 라이팅 이게 최선인가요
NDC2015 유니티 정적 라이팅 이게 최선인가요
 
유니티 게임 그래픽스 아트 개발 사례 분석
유니티 게임 그래픽스 아트 개발 사례 분석유니티 게임 그래픽스 아트 개발 사례 분석
유니티 게임 그래픽스 아트 개발 사례 분석
 
[Ndc11 박민근] deferred shading
[Ndc11 박민근] deferred shading[Ndc11 박민근] deferred shading
[Ndc11 박민근] deferred shading
 
Unity3D로 풀3D web mmorpg 만들기
Unity3D로 풀3D web mmorpg 만들기Unity3D로 풀3D web mmorpg 만들기
Unity3D로 풀3D web mmorpg 만들기
 
유니티 Rpg게임배경 스타트업 6번째 스터디자료
유니티 Rpg게임배경 스타트업 6번째 스터디자료유니티 Rpg게임배경 스타트업 6번째 스터디자료
유니티 Rpg게임배경 스타트업 6번째 스터디자료
 
구세대 엔진 신데렐라 만들기 최종본 유트브2
구세대 엔진 신데렐라 만들기 최종본 유트브2구세대 엔진 신데렐라 만들기 최종본 유트브2
구세대 엔진 신데렐라 만들기 최종본 유트브2
 
스크린 스페이스 데칼에 대해 자세히 알아보자(워햄머 40,000: 스페이스 마린)
스크린 스페이스 데칼에 대해 자세히 알아보자(워햄머 40,000: 스페이스 마린)스크린 스페이스 데칼에 대해 자세히 알아보자(워햄머 40,000: 스페이스 마린)
스크린 스페이스 데칼에 대해 자세히 알아보자(워햄머 40,000: 스페이스 마린)
 
NDC2016 프로젝트 A1의 AAA급 캐릭터 렌더링 기술
NDC2016 프로젝트 A1의 AAA급 캐릭터 렌더링 기술NDC2016 프로젝트 A1의 AAA급 캐릭터 렌더링 기술
NDC2016 프로젝트 A1의 AAA급 캐릭터 렌더링 기술
 
니시카와젠지의 3 d 게임 팬을 위한 ps4
니시카와젠지의 3 d 게임 팬을 위한 ps4니시카와젠지의 3 d 게임 팬을 위한 ps4
니시카와젠지의 3 d 게임 팬을 위한 ps4
 
[Kgc2012] deferred forward 이창희
[Kgc2012] deferred forward 이창희[Kgc2012] deferred forward 이창희
[Kgc2012] deferred forward 이창희
 
크게, 아름답게,빠르게, 일관되게 만들기: Just Cause 2 개발에서 배운 교훈들 (GPU Pro)
크게, 아름답게,빠르게, 일관되게 만들기: Just Cause 2 개발에서 배운 교훈들 (GPU Pro)크게, 아름답게,빠르게, 일관되게 만들기: Just Cause 2 개발에서 배운 교훈들 (GPU Pro)
크게, 아름답게,빠르게, 일관되게 만들기: Just Cause 2 개발에서 배운 교훈들 (GPU Pro)
 
multi plaform Full3D MMO 만들기 "삼국지를 품다"의 테크니컬 아트
multi plaform Full3D MMO 만들기 "삼국지를 품다"의 테크니컬 아트multi plaform Full3D MMO 만들기 "삼국지를 품다"의 테크니컬 아트
multi plaform Full3D MMO 만들기 "삼국지를 품다"의 테크니컬 아트
 
[1023 박민수] 깊이_버퍼_그림자_1
[1023 박민수] 깊이_버퍼_그림자_1[1023 박민수] 깊이_버퍼_그림자_1
[1023 박민수] 깊이_버퍼_그림자_1
 
191019 Forward / Deferred Rendering
191019 Forward / Deferred Rendering191019 Forward / Deferred Rendering
191019 Forward / Deferred Rendering
 
게임 개발을 위한 렌더링 기법 한성환
게임 개발을 위한 렌더링 기법   한성환게임 개발을 위한 렌더링 기법   한성환
게임 개발을 위한 렌더링 기법 한성환
 
gametech 2012 Gladius project
gametech 2012 Gladius projectgametech 2012 Gladius project
gametech 2012 Gladius project
 
9강 camera advanced light2
9강 camera advanced light29강 camera advanced light2
9강 camera advanced light2
 
Ndc17 - 차세대 게임이펙트를 위해 알야아할 기법들
Ndc17 - 차세대 게임이펙트를 위해 알야아할 기법들Ndc17 - 차세대 게임이펙트를 위해 알야아할 기법들
Ndc17 - 차세대 게임이펙트를 위해 알야아할 기법들
 

Ähnlich wie Unite2015 probelight(150417)

120216 ch 12_creating_elements
120216 ch 12_creating_elements120216 ch 12_creating_elements
120216 ch 12_creating_elementsCARROTCG
 
Unity cookbook 17
Unity cookbook 17Unity cookbook 17
Unity cookbook 17Jihun Soh
 
[Shader study] the rendering technology of lords of the fallen - 발표메모(14.06.23)
[Shader study] the rendering technology of lords of the fallen - 발표메모(14.06.23)[Shader study] the rendering technology of lords of the fallen - 발표메모(14.06.23)
[Shader study] the rendering technology of lords of the fallen - 발표메모(14.06.23)해강
 
[143]알파글래스의 개발과정으로 알아보는 ar 스마트글래스 광학 시스템
[143]알파글래스의 개발과정으로 알아보는 ar 스마트글래스 광학 시스템 [143]알파글래스의 개발과정으로 알아보는 ar 스마트글래스 광학 시스템
[143]알파글래스의 개발과정으로 알아보는 ar 스마트글래스 광학 시스템 NAVER D2
 
Gamma and linear color-space
Gamma and linear color-spaceGamma and linear color-space
Gamma and linear color-space민웅 이
 
Depth buffershadow
Depth buffershadowDepth buffershadow
Depth buffershadowMoonLightMS
 
[1023 박민수] 깊이_버퍼_그림자
[1023 박민수] 깊이_버퍼_그림자[1023 박민수] 깊이_버퍼_그림자
[1023 박민수] 깊이_버퍼_그림자MoonLightMS
 
Ue4 에서의 환경변화 구현
Ue4 에서의 환경변화 구현Ue4 에서의 환경변화 구현
Ue4 에서의 환경변화 구현kyuil choi
 
김혁, <드래곤 하운드>의 PBR과 레이트레이싱 렌더링 기법, NDC2019
김혁, <드래곤 하운드>의 PBR과 레이트레이싱 렌더링 기법, NDC2019김혁, <드래곤 하운드>의 PBR과 레이트레이싱 렌더링 기법, NDC2019
김혁, <드래곤 하운드>의 PBR과 레이트레이싱 렌더링 기법, NDC2019devCAT Studio, NEXON
 
유니티 Rpg게임배경 스타트업 5번째 스터디 자료
유니티 Rpg게임배경 스타트업 5번째 스터디 자료유니티 Rpg게임배경 스타트업 5번째 스터디 자료
유니티 Rpg게임배경 스타트업 5번째 스터디 자료Je Lyoung Kim
 
리얼타임 렌더링 - 조명 입문편 -
리얼타임 렌더링 - 조명  입문편 -리얼타임 렌더링 - 조명  입문편 -
리얼타임 렌더링 - 조명 입문편 -Sukwoo Lee
 
파이어몽키 3D 애플리케이션 만들기
파이어몽키 3D 애플리케이션 만들기파이어몽키 3D 애플리케이션 만들기
파이어몽키 3D 애플리케이션 만들기Devgear
 
Lighting in Stingray
Lighting in StingrayLighting in Stingray
Lighting in StingrayJaehoon Lee
 
Gpu Gems 1 Chapter 6
Gpu Gems 1 Chapter 6Gpu Gems 1 Chapter 6
Gpu Gems 1 Chapter 6yong gyun im
 
[IGC 2016] 넷게임즈 김영희 - Unreal4를 사용해 모바일 프로젝트 제작하기
[IGC 2016] 넷게임즈 김영희 - Unreal4를 사용해 모바일 프로젝트 제작하기[IGC 2016] 넷게임즈 김영희 - Unreal4를 사용해 모바일 프로젝트 제작하기
[IGC 2016] 넷게임즈 김영희 - Unreal4를 사용해 모바일 프로젝트 제작하기강 민우
 
7강 shader basic lighting_배포용 삭제버전
7강 shader basic lighting_배포용 삭제버전7강 shader basic lighting_배포용 삭제버전
7강 shader basic lighting_배포용 삭제버전JP Jung
 
[0326 박민근] deferred shading
[0326 박민근] deferred shading[0326 박민근] deferred shading
[0326 박민근] deferred shadingMinGeun Park
 
[0107 박민근] 쉽게 배우는 hdr과 톤맵핑
[0107 박민근] 쉽게 배우는 hdr과 톤맵핑[0107 박민근] 쉽게 배우는 hdr과 톤맵핑
[0107 박민근] 쉽게 배우는 hdr과 톤맵핑MinGeun Park
 

Ähnlich wie Unite2015 probelight(150417) (20)

120216 ch 12_creating_elements
120216 ch 12_creating_elements120216 ch 12_creating_elements
120216 ch 12_creating_elements
 
Ndc11 이창희_hdr
Ndc11 이창희_hdrNdc11 이창희_hdr
Ndc11 이창희_hdr
 
Unity cookbook 17
Unity cookbook 17Unity cookbook 17
Unity cookbook 17
 
Uncharted4 part1
Uncharted4 part1Uncharted4 part1
Uncharted4 part1
 
[Shader study] the rendering technology of lords of the fallen - 발표메모(14.06.23)
[Shader study] the rendering technology of lords of the fallen - 발표메모(14.06.23)[Shader study] the rendering technology of lords of the fallen - 발표메모(14.06.23)
[Shader study] the rendering technology of lords of the fallen - 발표메모(14.06.23)
 
[143]알파글래스의 개발과정으로 알아보는 ar 스마트글래스 광학 시스템
[143]알파글래스의 개발과정으로 알아보는 ar 스마트글래스 광학 시스템 [143]알파글래스의 개발과정으로 알아보는 ar 스마트글래스 광학 시스템
[143]알파글래스의 개발과정으로 알아보는 ar 스마트글래스 광학 시스템
 
Gamma and linear color-space
Gamma and linear color-spaceGamma and linear color-space
Gamma and linear color-space
 
Depth buffershadow
Depth buffershadowDepth buffershadow
Depth buffershadow
 
[1023 박민수] 깊이_버퍼_그림자
[1023 박민수] 깊이_버퍼_그림자[1023 박민수] 깊이_버퍼_그림자
[1023 박민수] 깊이_버퍼_그림자
 
Ue4 에서의 환경변화 구현
Ue4 에서의 환경변화 구현Ue4 에서의 환경변화 구현
Ue4 에서의 환경변화 구현
 
김혁, <드래곤 하운드>의 PBR과 레이트레이싱 렌더링 기법, NDC2019
김혁, <드래곤 하운드>의 PBR과 레이트레이싱 렌더링 기법, NDC2019김혁, <드래곤 하운드>의 PBR과 레이트레이싱 렌더링 기법, NDC2019
김혁, <드래곤 하운드>의 PBR과 레이트레이싱 렌더링 기법, NDC2019
 
유니티 Rpg게임배경 스타트업 5번째 스터디 자료
유니티 Rpg게임배경 스타트업 5번째 스터디 자료유니티 Rpg게임배경 스타트업 5번째 스터디 자료
유니티 Rpg게임배경 스타트업 5번째 스터디 자료
 
리얼타임 렌더링 - 조명 입문편 -
리얼타임 렌더링 - 조명  입문편 -리얼타임 렌더링 - 조명  입문편 -
리얼타임 렌더링 - 조명 입문편 -
 
파이어몽키 3D 애플리케이션 만들기
파이어몽키 3D 애플리케이션 만들기파이어몽키 3D 애플리케이션 만들기
파이어몽키 3D 애플리케이션 만들기
 
Lighting in Stingray
Lighting in StingrayLighting in Stingray
Lighting in Stingray
 
Gpu Gems 1 Chapter 6
Gpu Gems 1 Chapter 6Gpu Gems 1 Chapter 6
Gpu Gems 1 Chapter 6
 
[IGC 2016] 넷게임즈 김영희 - Unreal4를 사용해 모바일 프로젝트 제작하기
[IGC 2016] 넷게임즈 김영희 - Unreal4를 사용해 모바일 프로젝트 제작하기[IGC 2016] 넷게임즈 김영희 - Unreal4를 사용해 모바일 프로젝트 제작하기
[IGC 2016] 넷게임즈 김영희 - Unreal4를 사용해 모바일 프로젝트 제작하기
 
7강 shader basic lighting_배포용 삭제버전
7강 shader basic lighting_배포용 삭제버전7강 shader basic lighting_배포용 삭제버전
7강 shader basic lighting_배포용 삭제버전
 
[0326 박민근] deferred shading
[0326 박민근] deferred shading[0326 박민근] deferred shading
[0326 박민근] deferred shading
 
[0107 박민근] 쉽게 배우는 hdr과 톤맵핑
[0107 박민근] 쉽게 배우는 hdr과 톤맵핑[0107 박민근] 쉽게 배우는 hdr과 톤맵핑
[0107 박민근] 쉽게 배우는 hdr과 톤맵핑
 

Mehr von SangYun Yi

Rooms2 vr ArtWorks
Rooms2 vr ArtWorksRooms2 vr ArtWorks
Rooms2 vr ArtWorksSangYun Yi
 
Unite Seoul 2017 Yi SangYun
Unite Seoul 2017 Yi SangYunUnite Seoul 2017 Yi SangYun
Unite Seoul 2017 Yi SangYunSangYun Yi
 
Unity Surface Shader for Artist 04
Unity Surface Shader for Artist 04Unity Surface Shader for Artist 04
Unity Surface Shader for Artist 04SangYun Yi
 
Unity Surface Shader for Artist 03
Unity Surface Shader for Artist 03Unity Surface Shader for Artist 03
Unity Surface Shader for Artist 03SangYun Yi
 
Unity Surface Shader for Artist 02
Unity Surface Shader for Artist 02Unity Surface Shader for Artist 02
Unity Surface Shader for Artist 02SangYun Yi
 
Unity Surface Shader for Artist 01
Unity Surface Shader for Artist 01Unity Surface Shader for Artist 01
Unity Surface Shader for Artist 01SangYun Yi
 
Display color와 Digital texture format의 이해
Display color와 Digital texture format의 이해Display color와 Digital texture format의 이해
Display color와 Digital texture format의 이해SangYun Yi
 
Igc2016 Technical Artist가 뭐하는 사람이에요?
Igc2016 Technical Artist가 뭐하는 사람이에요?Igc2016 Technical Artist가 뭐하는 사람이에요?
Igc2016 Technical Artist가 뭐하는 사람이에요?SangYun Yi
 
Unite seoul 2016 Rooms2 mobile to VR
Unite seoul 2016 Rooms2 mobile to VRUnite seoul 2016 Rooms2 mobile to VR
Unite seoul 2016 Rooms2 mobile to VRSangYun Yi
 
Unite2015 probelight English version
Unite2015 probelight English versionUnite2015 probelight English version
Unite2015 probelight English versionSangYun Yi
 

Mehr von SangYun Yi (10)

Rooms2 vr ArtWorks
Rooms2 vr ArtWorksRooms2 vr ArtWorks
Rooms2 vr ArtWorks
 
Unite Seoul 2017 Yi SangYun
Unite Seoul 2017 Yi SangYunUnite Seoul 2017 Yi SangYun
Unite Seoul 2017 Yi SangYun
 
Unity Surface Shader for Artist 04
Unity Surface Shader for Artist 04Unity Surface Shader for Artist 04
Unity Surface Shader for Artist 04
 
Unity Surface Shader for Artist 03
Unity Surface Shader for Artist 03Unity Surface Shader for Artist 03
Unity Surface Shader for Artist 03
 
Unity Surface Shader for Artist 02
Unity Surface Shader for Artist 02Unity Surface Shader for Artist 02
Unity Surface Shader for Artist 02
 
Unity Surface Shader for Artist 01
Unity Surface Shader for Artist 01Unity Surface Shader for Artist 01
Unity Surface Shader for Artist 01
 
Display color와 Digital texture format의 이해
Display color와 Digital texture format의 이해Display color와 Digital texture format의 이해
Display color와 Digital texture format의 이해
 
Igc2016 Technical Artist가 뭐하는 사람이에요?
Igc2016 Technical Artist가 뭐하는 사람이에요?Igc2016 Technical Artist가 뭐하는 사람이에요?
Igc2016 Technical Artist가 뭐하는 사람이에요?
 
Unite seoul 2016 Rooms2 mobile to VR
Unite seoul 2016 Rooms2 mobile to VRUnite seoul 2016 Rooms2 mobile to VR
Unite seoul 2016 Rooms2 mobile to VR
 
Unite2015 probelight English version
Unite2015 probelight English versionUnite2015 probelight English version
Unite2015 probelight English version
 

Unite2015 probelight(150417)

  • 1.
  • 3. 1. Sample project 및 speaker 소개 2. Light Probes ? 3. How to make light probes 4. Project에서 Light Probes의 활용 예시 및 장점 5. Light Probes 작업에서 주의할 사항 6. 총평 및 전망 7. Q & A
  • 4.
  • 5.
  • 6. Lightmapping은 scene의 입체감을 주지만 비정적인 오브젝트가 덜 조명을 받지 못하는 문제가 있습니다. 이를 보완하기 위해 scene에 배치된 구체에 빛의 정보를 기록하여 오브젝트에 덧씌워 빛이 있는것 처럼 보여주는 방법입니다. 동적 라이팅에 비해 빠르게 동작하기 때문에 가볍게 쓸 수 있습니다.(unity manual 내용에서) Unity 4.X 에서는 Pro 버전에서만 사용할 수 있었으나 Unity 5. 버전부터는 버전 제약 없이 사용 가능
  • 7. 빈 componet를 생성하고 Light Probe Group을 선택하면 Light Probe Group Component가 추가된다.
  • 8. Probe가 배치되면 노란색 실선(Cells)으로 각 구체간의 영향을 알 수 있게 나타낸다. (최소 4개가 되어야 동작) Unity3D 4.x 버전에서는 lightmap display의 show probes와 Cells를 체크해야 확인 할 수 있었지만, Unity3D 5.x 버전에서는 probe light를 사용하는 오브젝트를 선택시 자동으로 보여준다.
  • 9. Mesh의 Use Light Probes 체크를 해주어야만 사용할 수 있다. Unity 5에서는 Reflection probes option이 추가되었다
  • 10.
  • 11. Unity5에서는 light probe를 사용하는 오브젝트를 클릭하면 자동으로 활성화 된다.
  • 12. Scene bake를 위한 lighting prefab Probe bake를 위한 lighting prefab scene bake 결과물에 비해 밝게 나오기 때문에 probe bake를 위해서 별도의 prefab을 만들어 관리 Probe를 배치한 prefab. 의 관리
  • 13. Lightmapping menu에서 Bake Probes 항목이 제거됨으로 다양한 방법을 고심중 Shader에서 albedo 값을 낮춘다던가 light probe만을 위한 lighting으로 baking후 snapshot 파일 합친다던가…
  • 14. 에서 를 활용한 이유와 장점 Unlit shader를 사용한 고정된 texture 느낌의 scene을 단조롭지 않게 표현 할 수 있지 않을까? - 50 vs 50의 다대다 전투 컨셉의 게임 디자인에 어울릴 수 있는 방식이라 판단 lightmapping에서 조금만 더 신경을 쓰면 작업할 수 있다(작업 소요가 크지 않음) - scene을 주-야로 lighting만을 바꾸어서 사용할 경우 같은 배경을 그대로 사용 할 수 있다 - 배경 담당자가 컨셉-모델링-TA까지 해야하는 상황 저사양 모바일 디바이스에서도 퍼포먼스 저하가 크지 않게 구동 가능(Defense Technica에서의 경험)
  • 15. Lighting 조절만으로 각기 다른 stage 연출이 가능. 단순히 stage 분위기만 바뀌는것이 아닌 유닛들도 스테이지 분위기에 어울리는 톤으로 보여줄 수 있다.
  • 16. 주.야 probe 설정에 따른 유닛의 밝기 변화 비교
  • 17. Draw call과 batching 포함 최대 1000을 넘는 call이 발생 Skinned mesh가 최대 55 vs 55(말 포함)의 전투 유닛이 말을 탄경우 최대 100 vs 100을 넘는 전투 구현
  • 18. Target Device Samsung Galaxy S3 4.8인치 1280x720(HD) 엑시노스 4412 Quad-core 1.4G, MP4 440MHz 2G RAM (출시 국가 및 세세한 모델이 따라 스펙 차이 존재) Android IOS Apple iphone 5 4인치 1136x640 A6(Dual Core – 1.3G + PowerVR SGX543 3 Gpu cluster) 1G RAM
  • 19. 다대다(50vs50) 전투가 가능했던 이유 디바이스에 전송 결과 반영유닛 연산 서버로 전송 결과 산출 Game Art Character Environment Effect UI Game Logict 서버에서 연산의 많은 부분을 처리해주는 구조로 인해 화면에 그려줄 수 있는 코스트에 여유가 생김 타겟 디바이스에 빌드한 Light Probes 테스트에서 무리없이 구동 가능
  • 20. 다양한 shader를 test 작은 유닛의 표현은 톤을 보완하는 정도로도 효과적인데 크게 나오는 경우는 이 정도로는 아쉽다.. >> Rim Light shader 사용. Wrap Diffuse와 Lambert 두가지 조명방식중 WrapDiffuse 사용
  • 21. 작은 유닛의 표현은 톤을 보완하는 정도로도 효과적인데 크게 나오는 경우는 이 정도로는 아쉽다.. >> Rim Light shader 사용.
  • 22. 좌 : Probe light / Lambert 우 : Probe light + Rim light / Wrapdiffuse
  • 23. Light를 사용하는 shader를 사용해야 하며(Unlit 기반 shader에서는 활성화 되지 않는다) CGPROGRAM의 noambient 파라메터가 있을경우 적용을 받지 못한다.
  • 24. 단점 및 주의사항 유사 동적 라이팅 - 빛의 방향에 따른 표현은 아쉽다… - 빛의 색상(톤)과 강도만으로 분위기를 연출할때 보조하는 역할 정도만… 면의 Normal 방향에 영향을 많이 받는다. - 면이 아래로 향할경우 ambient color가 어둡게 설정 혹은 bake 되었다면 어둡게 표현 - 조명의 채도를 임의로 강하게 주지 않았을때 티가 잘 나지 않는다.(임의로 조절해줘야 함)
  • 25. 빛의 톤이 변화하거나 음영이 크게 변하는 경우 probe 배치를 보다 밀도있게 해주어야 의도한 빛 변화 및 느낌의 톤을 구현할 수 있다.
  • 26. X, Y 축으로 움직이는 오브젝트 보다 Z축까지 3차원으로 움직이는 오브젝트에서 주로 발생하는 문제 갑자기 이유없이 Frame rate가 떨어지거나 유닛이 검게 혹은 깜빡이는 증상이 나타난다. probe가 유닛 경로에 적절히 배치되지 못해 생기는 문제. 유닛을 cells를 켜서 확인할경우 한 줄만 길게 물리는 것처럼 보인다. Frame rate drop 증상 외
  • 27. Smoothing group을 제대로 설정하지 않았을경우 normal 값에 영향을 받기 때문에 제대로 표현이 되지 않는다. (면의 방향에 상관없이 모두 smoothing group을 1로 설정한 경우와 Normal과 Tangent 값을 Calculate로 조절한 경우)
  • 28. Bake 된 뒤라도 ambient color 값에 영향을 받는다. Light probe bake 이후에 scene에 적합한 ambient color를 조절해줘야 한다.
  • 29. Unity5 에서는 Ambient color를 변경해도 bake 된 이후에는 영향을 받지 않음.
  • 30. Light Probe를 사용할 경우 Dynamic batching이 적용되지 않는다. Scene에 그려지는 Skinned meshes 수를 줄이기 위해서 mesh animation으로 만든 말은 light probe를 받지 않도록 함(scene lighting에 따라 texture를 교체하는 방법을 사용) 영웅유닛용 말 스킨된 메쉬로 구성 Drawcall : 1 Probe light 사용으로 Batching 불가. 최대 scene에 5unit 등장. 병사유닛용 말 Mesh animation 사용 Drawcall : 12 결전맵에서 최대 50unit까지 등장. Light Probes를 사용하지 않음
  • 31. 유니티 개발자 커뮤니티에 이상원님이 올려주신 스샷
  • 32. Linear color space에서는 타는 증상이 좀 덜하게 발생함. 단, mobile platform에서는 linear color space 항목이 활성화 되지 않음
  • 33. Scene baking을 위한 lighting 값을 그대로 사용할경우 원래 좀 밝게 타는 편이지만 unity5에서는 꽤 심하게 밝게 탐. Albedo 0.13~0.17 사이 값을 shader에서 곱해줬을때 원하는 결과와 유사하게 나옴. Lightmapping texture 밝기는 4.X대 결과와 동일하게 bake 됨
  • 34. 실제 육안으로 확인 할 수 있는 구체의 밝기와 scene에서 light probes 에 영향을 받는 Albedo에 곱해지는 값에도 차이가 남.
  • 35. Standard specular shader에서는 밝기가 제대로 적용 됨 Standard shader에서 specular는 alpha channel의 값을 적용 받음 >> Mobile platform에서는???
  • 36. 저사양 디바이스에서도 충분히 구현할 수 있다.(안무겁다~!!) - 이전 Target device : Samsung Galaxy S2(Android), iphone 4(IOS) - 현재 Target device : Samsung Galaxy S3(Android)), iphone 5(IOS) Resource를 제작하는 담당 개발자에게(3D artist) texture 제작에 주의할 부분에 대해 가이드를 마련해 줄 것. 가이드 scene을 제공하면 더욱 좋고 project가 진행된 뒤에는 scene의 light probe 값을 조절. Shader를 손볼수 있다면 좀 더 다양한 활용이 가능하지 않을까… Bake probe 메뉴 부활좀…. Light probe를 scene에 종속시키지 말고 독립적으로 작동이 가능하다면 보다 다양한 연출이 가능할것 같은데.. 개발을 마무리 한 이후 총평
  • 37. 사족이지만 Sprite lamp : 2D Dynamic lighting 이 가능하도록 sprite texture의 normal map을 생성(UE4의 imposter와 유사) 2D 게임에서도 라이팅 표현이 가능
  • 39. 게임 3D 배경 아티스트(Game 3D Environment Artist) http://www.facebook.com/group/3Dbackground
  • 40.