SlideShare une entreprise Scribd logo
1  sur  62
Télécharger pour lire hors ligne
Unity3D 엔진을 활용한 게임 환경
분석 및 3D 그래픽스 기술/제작
사례 공유
(재)부산정보산업진흥원
부산글로벌 게임센터
이상윤 (Yi SangYun)
조이시티 : Technical Artist
Kuno interactive : 리드 아티스트(디펜스 테크니가, 룸즈2)
Guarneri Studio : 배경/TA(야망의 영주님 for Kakao)
인디 프로젝트 : Rooms2 VR : AD/TA
• Kgc2013 디펜스 테크니카 모바일 컨버팅
• GameTech 2015 모바일 플랫폼을 위한 유니티에서 게임환경 구축
• Unite Seoul 2015 라이트프로브를 활용한 모바일 플랫폼에서의 게임환경
구축
• Devtree 라이트맵핑 워크샵
• 비엘북스 : 유니티, 언리얼 그리고 VR : 유니티5로 살펴본 라이트맵핑의 이해
• Facebook 게임 3D 배경 그룹 운영 中
- 개 요 -
Unity3D 엔진을 활용한 모바일 게임 개발 사례를 통해 3D
그래픽스에서 사용되는 용어들의 개념과 적용을 살펴보고
향후 전망을 살펴본다.
야망의 영주님 for Kakao(2015, 과르네리 스튜디오)
디펜스 테크니카(2013, 쿠노 인터렉티브)
모바일 게임환경 분석
- 고해상도 디스플레이, 고사양 모바일 디바이스 기기의 보급 가속
Samsung Galaxy S7
5.1인치 2560x1440(QHD)
엑시노스 8890 8 Core
4x2.3GHz + 4x1.6GHz
ARM Mali T880
4G RAM
Vulkan API 1.0 지원
Android IOS
Apple iphone 6S plus
5.5인치 1920x1080(FHD)
A9 (Dual core – 1.85G +
PowerVR GT7600
2G RAM
정확한 내부 정보는 2015년 9월 23
일 기준으로 불명이나, 기기를 처음으
로 수령한 예약 구매자가 측정한
Geekbench 3 결과에 의해 싱글코
어 점수 약 2500 점, 멀티코어 점수
약 4300 점으로 측정되어 1.8 GHz
클럭의 듀얼코어 CPU가 탑재된 것이
확인되었다. 이러한 수치를 바꿔보면,
단순 연산량만 보면 싱글코어 점수 기
준으로 맥북 에어에 근접한 수치라고
한다.
(나무위키 발췌)
타겟 디바이스
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
VR
Name
Resolution
Refresh Rate
Platform
Field of
Tracking Area
Oculus Rift(CV1)
Resolution 2160 x 1200
Refresh Rate 90Hz
Oculus Home
110 degrees
5x11 feet
HTC Vive
Resolution 2160 x 1200
Refresh Rate 90Hz
SteamVR
110 degrees
15x15 feet
NVIDIA GTX 970 / AMD 290 equivalent or greater
Intel i5-4590 equivalent or greater
8GB+RAM 4GB+RAM
출처 : Read more: http://www.digitaltrends.com/virtual-reality/oculus-rift-vs-htc-vive/#ixzz41ks6wLJH
Follow us: @digitaltrends on Twitter | digitaltrendsftw on Facebook
Gear VR
구글 카드보드
PlayStation VR
해상도 좌우 각 960x1080(향
후 1280x1140까지)
5.7인치 OLED
시야각 100도
디스플레이별 해상도와 픽셀 수의 비교
출처 :삼성 디스플레이 블로그(http://blog.samsungdisplay.com)
디스플레이별 픽셀에 따른 크기 비교
출처 :삼성 디스플레이 블로그(http://blog.samsungdisplay.com)
Android
안드로이드 초기에 비해 비교적 규격
화 되어가는 해상도
IOS에 비해 고해상도화 되어가는 추
세가 QHD에서 늘리지 않는 상황
IOS
비교적 규격화되어있는 해상도.
시장점유율이 낮아 개발에서 우선 고려되
지 않는 플랫폼(단, 글로벌 출시하는 타이틀
은 같이 고려하는 경우도 있음)
게임이 화면에 그려질 때 아트에서 고려해야 할 부분
Game Art
Character
Environmnet
Effect
Game LogicUI
Unity3D
viewport
Hierarchy
Project
Inspector
장점
。 직관적인 인터페이스, 거기다 Drag and Drop으로 별도의 import 없이 사용 가능
。 Componet들이 각각의 독립된 역할로 작동하기에 매우 직관적임
。 프리팹 제작 / 관리 용이. 리소스 관리도 엄청 편함.
。 대부분의 파일 포맷을 지원
。 그래픽 퀄리티가 가격대비 성능으로써는 매우 훌륭함.
。 lightmapping작업이 상당히 빠르고 간편하게 가능.
。 간단한 animation 작업은 엔진내부에서 간단하게 가능.
。 매우 풍부한 Asset Store / 폭넓은 사용자를 바탕으로 한 개발자들의 노하우와 경험
을 찾기 쉬움.
단점
。 Unity5부터 세세한 이슈가 많아짐.
또한, Scene 저장시 라이트맵이 갱신되지 않는 문제 및 light probe 이슈 발생
。 UE의 Martinee에 비해 연출 관련한 지원이 많지 않음(Target Camera 연출을 사용
하려면 약간의 꼼수 필요)
。 일정 퀄리티 이상에서 퍼포먼스 맞추기가 쉽지 않음.
좌표계가 다르다~!
。Y-up 기반의 좌표계를 가지고 있음(Maya와 동일). 국내 대부분의 게임사에서 3DS MAX를 쓰기에 문제.
MAX에서 그냥 (0,0,0)으로 export시 x축으로 -90도 돌아간 상태로 import 됨.
맥스에서 export시 축을 90도 돌려서 export
Group 및 오브젝트 모두 이렇게 작업
프로젝트에 따라 TA가 export tool을 MAX에서 script
로 구현해서 쓰는 경우도 있음
Software별 노멀맵의 방향
Software Red Green Blue
3DS Max X+ Y- Z+
Blender X+ Y+ Z+
CryEngine X+ Y- Z+
Maya X+ Y+ Z+
Modo X+ Y+ Z+
Unity X+ Y+ Z+
Unreal Engine X+ Y- Z+
Drawcall (glDrawArrays() glDrawElements())
Scene에 있는 메쉬를 그리기 위해 CPU가 GPU에게 보내는 요청. 카메라를 통해 한 프레임의 화면을
만들어 내는 동안 1개의 셰이더 패스, 1개의 material로 오브젝트를 한번 그리는 작업의 단위.
그래픽 이슈에서 성능과 직결되는 중요한 요소 중 하나.
Texture
Shader
Mesh
Material
Mesh render
DrawCall
Defense Technica Steam steage 19 Defense Technica Mobile steage 19
야망의 영주님 for Kakao
야망의 영주님 영지전 전투 statics : 스킬 사용시 왼쪽 상단에 영웅에 근접한 카메라를 로드하여 연출하는 씬.
모바일 AP(Application processor) 특징
모바일기기 내 탑재되어 운영체제(OS)와 애플리케이션 등 SW를 실행함과 동시에 여러 시스템 장치를 통제하는 역
할. CPU와 GPU 및 각종 기능들이 하나로 통합된 형태.
- 카메라, 터치패널, 키패드 등 다양한 인터페이스를 통해 외부에서 입력된 정보에 대해 처리명령을 내려 기기를 작
동시킴과 동시에 SW 실행을 개별 부품과 연계하는 중앙통제장치.
- 모바일 AP는 연산·제어, 그래픽, 멀티미디어, 입출력 등 다양한 기술이 단일 칩공간 내 집적화된 부품
- 중앙처리장치인 MPU, 그래픽을 처리하는 GPU, 비디오·이미지 압축, 해제를 처리하는 MMP(Multi-Media
Processor), 오디오 신호를 처리하는 DSP (Digital Signal Processor)가 결합(이는 PC 구성 부품중 핵심 기능을
단일칩으로 축소하여 휴대성을 확보하기 위함)
- 앞으로 발전 방향은 성능보다 저전력, 낮은 발열을 중심으로 개선되고 발전되고 있음.(모바일 VR등 수요에 맞추
어 점점 발전할 것으로 보임)
Server programming
유닛 연산 서버로 전송 결과 산출 디바이스에 전송 결과 반영
클라이언트의 연산을 서버로 가져오는 구조를 취함. 이로 인해 클라이언트에서 연산의 많은 부분을 비쥬얼 퍼포먼
스에서 확보 할 수 있었음
화면에 등장하는 유닛의 숫자가 많기 때문에 클라이언트 연산을 최대한 분산하기 위한 해결책으로 개발(서버쪽 작
업 진행여부에 따라서 수시로 타겟 디바이스에서 퍼포먼스 체크)
연산, 충돌처리, 길찾기 등 전투에서 발생하는 많은 부분을 서버에서 처리 해줌으로 퍼포먼스 확보. 전투에서 서버에
서 처리되는 부분에서 지연되는 현상을 줄이기 위해 여러 방법 고려(패킷 줄이기, 쓰레드 추가 등)
batching
Drawcall을 소비하여 그려진 mesh를 다시 그릴때 연산
을 줄이기 위한 기법
Static Batching(정적배칭)
움직이지 않는 object가 해당되며 300개의 vertex 이하
에서만 처리된다. (GPU 성능에 따라 변동 있을수 있음)
정적배칭 처리를 할 경우 드로우콜은 아낄수 있지만 카메
라의 뷰에 걸리지 않는 오브젝트 역시 계산을 하기 때문에
컬링 영역을 잘 계산해서 배치하는 쪽이 좋다.(scene에 따
라 오히려 끄는 쪽이 퍼포먼스에 좋은 경우도 있다)
Dynamic Batching(동적 배칭)
움직이는 object가 해당. 정적 배칭에 비해 조금 더 무겁게
처리된다.
Project의 batching을 활성화 할 경우 별도로 체크하지
않더라도 자동으로 활성화 된다
Mesh animation
Skinned 되지 않는 mesh에 움직임을 부여하는 작업. unity3D animation 윈도우나 3D tool(3DS MAX or
Maya)에서 작업해서 사용. Unity3D는 vertex animation은 지원하지 않으나 mesh animation은 지원한다.
병사 말의 skinned mesh 숫자를 줄이기 위해 사용하여 dynamic batching을 적용
Unity Animation Window
Mesh, Material animation등을 제어할수 있으며 만들어둔 클립을 object에 드래
그하여 붙임으로 손쉽게 제어할 수 있다. Material에 적용해 사용하는 애니메이션의
경우 가급적 C#으로 작성된 코드를 컴포넌트에 붙여서 사용
영웅유닛용 말
스킨된 메쉬로 구성
Drawcall : 1
Probe light 사용으
로 Batching 불가.
최대 scene에 5unit
등장.
병사유닛용 말
Mesh animation 사
용
Drawcall : 12
동적배칭 사용
Probe light 미사용
결전맵에서 산술적으
로 최대 50unit까지
등장.
Shadow(그림자)
그래픽에서 공간상의 위치를 인지하고 입체감을 더해주는데 있어 중요한 요수중 하나.
그림자를 그리게 되면 아래 설명한 계산이외에도 그려지는 케릭터의 숫자만큼 폴리카운터가 증가합니다.
유니티에서 제공해주는 그림자는 그림자맵(ShadowMap) 기법을 사용하고 있습니다. 이 기법은 모든 굴곡에 대응하고
자기 그림자(self-shadow)가 처리되는 등 높은 퀄리티를 보여주고 있지만 문제는 성능입니다. ShadowMap 기법은
그림자의 깊이를 저장하는 버퍼를 만들고난 뒤 픽셀 셰이더(Pixel Shader)에서 깊이를 비교하는 과정을 거칩니다.
또한, 넓은 영역을 커버하기위해 여러 구역으로 나누기도하고(cascade) 계단 현상을 없애기 위해 여러번 샘플링하여
필터링을 처리하는 등 부가적인 행위들이 추가됩니다.
- 유니티 코리아 오즈라엘님 글 中
NAT Games HIT 플레이 화면
실시간으로 그림자를 그리고 있으나 성능이 낮은 디바이스에서는 그림자를 아예 그
리지 않고 있다.(그외, 블룸 라이트등 몇몇 옵션들이 작동하지 않고 있다)
퍼포먼스에 따라 이렇게 구분해서 적용하는것도 하나의 대안이 될 수 있는 사례
Plan Shadow(평면 그림자)
모바일에서 많이 쓰이는 방식으로 원형의 텍스쳐를 오브젝트 아래에 위치 시키는 방법.
필드의 높낮이가 없고 평면으로 이루어진경우에 많이 사용. 단점은 요철이 있는경우 지형에 그림자가 뚫고 들어가는 경
우가 발생. 또한, 근접해서 보일수 있음. 메쉬 평면 그림자 기법이라 하여 LOD 메쉬를 활용한 좀 더 리얼한 그림자를
그리는 기법도 있으나 같은 문제점 존재(지형의 굴곡이 있으면 파고 들어가는 등)
Lightmapping
Defense Technica
mobile stage list
iphone 4를 제외한 모든 모
바일 디바이스에서 lightmap
을 사용하여 발매
퍼포먼스에 크게 영향을 주지
않으며 scene을 보다 풍부하
게 표현해줄 수 있는 있음. 또
한 probe light와 조합하여
사용할 경우 보다 풍부한 표
현을 할 수 있음
Lighting 조절만으로 각기 다른 stage 연출이 가능.
단순히 stage 분위기만 바뀌는것이 아닌 유닛들도 스테이지 분위기에 어울리는 톤으로 보여줄 수 있다.
LOD(Level of Detail)
poly counter 감소에 따른 프레임 레
이트의 변화가 그리 크지 않고 아트 퀄
리티만 나빠지는 결과가 예상.
많이 생성된 건물 프리팹(건물당 6~10
개 정도의 레벨 디자인)을 제작하게 되
어 스케쥴상 비효율적으로 판단(컨셉+
모델링+TA = 1人)
케릭터 쪽 역시 별도의 LOD 메쉬 제작 및 애니메이션 작업 인원이 부족으로 힘들것으로 판단(애니메이션+이펙트 = 1
人)
좀 더 쾌적한 퍼포먼스 확보를 위해서는 적용시키는 것이 좋았겠지만 타겟 디바이스 구동시 LOD를 적용하지 않더라
도 플레이가 가능한 퍼포먼스가 나와 작업하지 않음
심플리곤(Simplygon)
Material LOD, Terrain LOD, Mesh LOD, Bone LOD 등 여러가지
LOD작업을 그야말로 버튼 몇 개 누르는걸로 생성해주는 툴.
줄인 리소스의 퀄리티가 원래 리소스의 퀄리티를 해치지 않으면서 좋은 결
과물을 생성해줌.
계정당 월 1시간 이용까지는 무료.
섭스탠스 제품군(디자이너, 페인터, B2M)
프랑스 회사. 한국에 지사 있음. 각종 컨퍼런스 및 워크샵에서 꾸
준히 다루어지는 툴이며 국내에서도 해외 유명 아티스트를 초청
한 워크샵 및 교육이 이루어지고 있음
https://www.allegorithmic.com/
섭스탠스 디자이너
절차적 텍스쳐링
(Procedural
Texturing) 기반의 텍
스쳐 생성 및 편집이 가
능하며 이를 엔진에서
직접 활용할수도 작성된
텍스쳐를 추출해서 사용
할 수도 있음.
이미 많은 자료가 섭스
텐스 셰어 및 해외 자료
공유 및 판매 사이트를
통해 올라오는 중
섭스탠스 페인터
절차적 텍스쳐링(Procedural Texturing) 방식 이외에도 뷰포트를 보며 직접 편집할수도 파티클 브러쉬등을 활용하
여 기존에 작성된 데이터 위에 아티스트가 수정/보완할수도 있다.
단점이라면 PC사양을 많이 탄다.(970 이상 권장)
마블러스 디자이너
클로버추얼이라는 국내 회사에서 개발한 패턴 기반의 의류 시뮬레이팅 툴. 자연스러운 옷을 빠른시간에 만들어 낼
수 있기 때문에 점차 사용빈도가 높아지고 있는 추세. (어새신 크리드, 펄어비스의 검은사막, 영화 호빗, 메탈기어
솔리드등)
Shader
Unity에서 기본으로 제공하는 built-in shader의
경우 의도대로 표현하는데는 한계가 있으므로 보통
모바일 프로젝트에서는 Custom shader를 작성하
여 사용하거나 Asset Store에서 Shader를 구매하
여 사용하게 됨.
Unity Surface Shader는 기존의 GLSL, HLSL,
Cg 언어에 비해 작성이 매우 간단한 편으로 접근하
기가 용이.
야망의 영주님 Character
shader 테스트 이미지 스크린 샷
라이트 프로브 활용을 위해 리소스
텍스쳐에서 추가적으로 보완
Texture atlas를 이용해 UV 이동으로 배경 프랍이 작동할때 연출을 표현. (이펙트 없이 텍스쳐 UV 이동만으로 구현)
Prop이 scene에서 서서히 사라지는 효과를 위한 shader
연출
배경 오브젝트 프리팹 제작 예시
ETC1 ETC2/EAC DXT(S3TC) PVRTC(v1) ATITC
-----------------------------------------------------------------------------------------
iOS PowerVR ES 2.0 -- -- -- ◎ --
iOS PowerVR Series6 ES 3.0 ◎ ◎ -- ◎ --
Android PowerVR ES 2.0 ◎ -- -- ◎ --
Android Tegra2/3/4 ES 2.0 ◎ -- ◎ -- --
Android Adreno200 ES 2.0 ◎ -- -- -- ◎
Android Adreno300 ES 3.0 ◎ ◎ -- -- ◎
Android Mali400 ES 2.0 ◎ -- -- -- --
Android Mali600 ES 3.0 ◎ ◎ -- -- --
Mobile Device Texture 포맷
0.5MB 128kb 0.5MB
128kb 1.0MB 250kb
글로벌 서비스를 한다면 아직은
ES 3.0기반의 작업은 좀 이를수
있으나 ES 3.0 지원이 늘어난다
면 ETC2 사용으로 보다 좋은 퀄
리티로 작업이 가능할 것으로 보
임
3.0을 지원하지 않는 모델에서도
그려지기는 하지만 Texture가 압
축된 상태가 아닌 메모리 상에서
모두 압축이 해제된 상태로 그려
지게 된다.
MipMap
원본 텍스쳐를 다양한 크기로 미리 준비해놓아 카메라 거리에 따라 렌더 되는 크기에 맞추어 사용하는 기술. 텍스쳐 사이즈를 줄
여 사용하므로 대역폭을 줄일수 있는 장점이 있으나 밉맵 데이터를 미리 생성하기 때문에 텍스쳐 용량은 증가한다.
Ex) 1024x1024 ETC 포맷의 경우 0.5MB >> 0.7MB
Advanced option을 활성화하면 구체적인 옵션을 제어
할 수 있음
Mipmap 적용시 정보창에서 케릭터 얼굴의 디더링 증상
때문에 케릭터 텍스쳐의 경우는 mipmap을 사용하지 않
음
배경의 경우 mipmap 적용 여부를 개발 중반부까지 고
심하였으나 test 결과 케릭터에 비해 스케일이 다양하게
보이는 점과 전체 유닛들을 모였을때 지글거림이 눈을 피
로하게 한다는 느낌으로 mipmap을 사용하였으나
filtering 방식을 기본 BOX에서 Kaiser 방식으로 변경.(결
과물에 따라 끄거나 옵션이 다르게 셋팅)
Texture 옵션
Character 및 배경은 ETC로 압축된 texture를 기본으로 사용.
타겟 디바이스가 S3(1280x1024)였기 때문에 너무 작은 texture
사용은 지양
ETC로 압축된 texture의 경우 해상도 변경에 따른 용량 증가가 크
게 부담될 수준은 아니라고 판단(1024x1024의 경우 0.7MB)
반면 UI에 사용되는 texture의 경우 RGBA 16bit만으로도 4배의
용량을 차지하게 됨. 알파영역을 가진 PNG파일의 경우 디더링으로
인한 품질저하 때문에 RGBA 32bit를 사용할 경우 8배의 용량을
가지게 됨.
Keijiro 씨의 texture compression
plug-in.
16bit RGBA 이미지의 디더링 현상을
개선시켜준다.(UI 이미지 품질 향상을
위한 테스트)
이미지 자체를 변경 시키므로 롤백이 안된다.
UI 담당 디자이너가 툴을 이해하고 직접 엔
진에 올리면서 작업하지 않을경우 별도의 담
당자 필요.
셀 채색 방식의 이미지는 괜찮은 효과를 보
여주지만 그렇지 않을경우 이미지가 뭉개지
는 현상 발생. 결국 사용하지 못함
모바일 프로젝트 제작 후기
- 프로젝트 중반까지 계속해서 FPS(Frame per second) 체크. 화면에 올려서 구동되는 것 만으로는 안정적으로
구동되는지 확인 할 수 없기 때문에 명확해지는 단계까지는 계속해서 체크, 그리고 이슈 모니터링
- 엔진 버젼업에 따르는 변동 사항 체크. 대규모 마이그레이션은 프로젝트 진행상황에 맞춰서 결정할 것(특정 파트에
서 요구한다고 올렸다가 예상하지 못하는 문제를 겪을수 있음)
- build 용량은 프로젝트 성격에 맞춰서 결정. 가이드가 분명하다면 프로젝트 퀄리티가 떨어지는 부분을 명확히 인지
하고 가이드 라인을 결정. 또한, 국내 및 해외등 다양한 서비스 환경을 고려하여 결정
- 프로젝트 초기 단계에서 리소스 작업 가이드를 분명하게 결정하고 진행(불필요하게 낭비되는 시간/리소스를 최대한
줄여낼 수 있다)
- poly counter, texture size를 줄인다고 퍼포먼스가 무조건 좋아지지 않는다.(타겟 디바이스에서의 프레임 레이
트 체크 및 profiler 활용하여 어디에서 효율이 나오지 않는부분을 체크하고 개선하는데 중점을 둔다. 하지만, 게임에
서의 비중을 생각해 최종적으로 결정한다)
Unreal 4
월 $19의 가격 정책을 취하다 완전 무료화 선언
분기별 게임 또는 애플리케이션당 $3,000(약 310만원 연
간 1200만원 가량)를 초과한 매출의 5%를 지불 혹은 별도
의 라이선싱 계약 체결
Unity 5
대부분 기능은 무료로 개발 가능
Free 버전은 이전 회계연도 기준 연간 총수입이나 예산이
US $10만을 초과하는 기업, 아카데미, 비영릴 또는 정비 기
업의 경우 프로 라이선스 사용 불가.
Pro version 월$75 or 165만원
IOS, Android add-on 각 165만원.
기존라이센스 업그레이드 82만5천원
단점
상용 엔진의 무료버젼 베포로 인해 접근성은 높아졌으나 필요한 인력을 여유있게 구성할 정도로 여력
이 있는 개발사가 많지 않음.(프로젝트에서 멀티 포지션을 소화하는 케이스가 많음)
개발기간을 여유있게 확보하기 힘들기 때문에 프로토 단계에서의 충분한 테스트가 쉽지 않아 중간단
계에서 프로젝트 전체적으로 수정이 가해지는 경우가 많음.
높아진 게임 퀄리티로 인해 시장에서의 요구치는 올라갔으나 수익은 기대하기 쉽지 않은 상황
(MMORPG가 많이 개발되던 시기와 같은 딜레마가 모바일에서도 발생)
매우 빠른 모바일 시장의 트렌드에 따라 개발기간 자체에 대한 압박이 심함.
FireMonkeys Studio
Mint 3D Engine(2013)
Madfinger Games,
ShadowGun
Unity3D Engine(2011)
Midoki, Plunder Pirates(2015)
Chair Entertainment, Infinity Blade
Unreal 3 Engine(2010)
NAT Games, HIT
Unreal 4 Engine(2015)
향후 전망
Metal Vulkan
VR 개발 후기
2013년 런칭한 모바일 게임 룸즈2의 VR 버젼
풀3D 컨셉의 메인 화면에서 2D 기반의 이미지 선택창으로 출시. 초기 게임 디자인에서 의도한 네가지 테마가 어
우러진 건물을 탐험한다는 의도가 반영되지 못한 아쉬움
오리지널 버전 테스트 영상 : https://www.youtube.com/watch?v=a1LbBZTdf38
게임 개발 포인트
게임 디자인이 가지고 있는 컨셉(언덕
위의 봄-여름-가을-겨울 네가지 테마
가 섞여있는 미스테리한 집의 방을 탈
출해 나가는 앤의 이야기) 을 최대한
살리는 아트 스타일
VR로써 개발된 게임이 아니기 때문에
기존의 게임의 디자인을 해치는 VR
컨텐츠 삽입은 배제.
퍼즐게임이라는 제한된 시야를 가진
게임을 VR스러운 느낌을 주기 위해
주변공간은 컨셉 문서에서 초기 고려
한 내용에 충실하게 구현.(전체 리소스
는 새로이 제작)
VR 아트 이슈
대부분의 리소스가 모바일 개발당시 제작된 소스라 퀄리티가 그리 좋지 않다. 다만, 텍스쳐를 줄여서 제작하지 않
고 엔진에서 조절하였기에 텍스쳐 사이즈 이슈가 없었던게 그나마 다행.
유니티3로 시작해 4로 마무리(?) 되었던 프로젝트 였기에 5에서 문제가 되는 부분들이 있었다
프로젝트 아트 수정 이슈가 예상외로 많았던데다 예정보다 출시 일정이 앞당겨져 일정이 빡빡했다.
(아트 멤버 구성 : AD/TA : 1명, 3D 모델러 : 2명, 컨셉 : 1명, 이펙트 : 1명, 그외 텍스쳐링 서포트 1명)
케릭터 쪽은 그대로 사용해도 크게 무리가 없으리라 판단하고 배경에 집중, Standard shader등 PBS를 고민했
으나 일정 및 인원 문제로 불가능하다고 판단 원 소스를 최대한 활용하는 쪽으로 접근
VR 아트 이슈
유저가 바라보는 시선에 옵션역할을
하는 오브젝트를 배치하여 트레킹에
의한 아이콘 활성화 연출
트로피는 Matcap과 rim light를 사용하여 연출하였으나
양안렌더가 되는 VR 플랫폼 특성상 rim light는 제외한채
로 구현.(VR에서 빛 표현에 대한 주의가 필요한 부분)
그외 사소한(?) 유니티5의 예상치 못했던 문제들.
GDC 2016 전시 빌드까지는 테마 구현까지는 완성. 최종 빌드까지 마무리 작업중.
VR은 게임 이외에 체험형 컨텐츠라는 영역도 가능한 영역.
비쥬얼 퀄리티가 좋으면 좋을수록 HMD를 착용했을때 겪을수 있는 체험의 질이 달라 질 수 있다.
섭스탠스 마스터 클래스 VR 스터디. 언리얼4 VR preview 中
Yi SangYun(3D Environment Artist, TA)
illustor@gmail.com
+82 10 9313 0583
Q&A
終

Contenu connexe

Tendances

김동건, 할머니가 들려주신 마비노기 개발 전설, NDC2019
김동건, 할머니가 들려주신 마비노기 개발 전설, NDC2019김동건, 할머니가 들려주신 마비노기 개발 전설, NDC2019
김동건, 할머니가 들려주신 마비노기 개발 전설, NDC2019devCAT Studio, NEXON
 
영웅의 군단의 테크니컬 아트 - 황재철, 유나이트 코리아 2014
영웅의 군단의 테크니컬 아트 - 황재철, 유나이트 코리아 2014영웅의 군단의 테크니컬 아트 - 황재철, 유나이트 코리아 2014
영웅의 군단의 테크니컬 아트 - 황재철, 유나이트 코리아 2014NDOORS
 
[NDC2016] TERA 서버의 Modern C++ 활용기
[NDC2016] TERA 서버의 Modern C++ 활용기[NDC2016] TERA 서버의 Modern C++ 활용기
[NDC2016] TERA 서버의 Modern C++ 활용기Sang Heon Lee
 
[NDC 2014] 던전앤파이터 클라이언트 로딩 최적화
[NDC 2014] 던전앤파이터 클라이언트 로딩 최적화[NDC 2014] 던전앤파이터 클라이언트 로딩 최적화
[NDC 2014] 던전앤파이터 클라이언트 로딩 최적화Jaeseung Ha
 
AAA게임_UI_최적화_및_빌드하기.pptx
AAA게임_UI_최적화_및_빌드하기.pptxAAA게임_UI_최적화_및_빌드하기.pptx
AAA게임_UI_최적화_및_빌드하기.pptxTonyCms
 
NDC2015 유니티 정적 라이팅 이게 최선인가요
NDC2015 유니티 정적 라이팅 이게 최선인가요  NDC2015 유니티 정적 라이팅 이게 최선인가요
NDC2015 유니티 정적 라이팅 이게 최선인가요 Wuwon Yu
 
Igc2016 Technical Artist가 뭐하는 사람이에요?
Igc2016 Technical Artist가 뭐하는 사람이에요?Igc2016 Technical Artist가 뭐하는 사람이에요?
Igc2016 Technical Artist가 뭐하는 사람이에요?SangYun Yi
 
임태현, 게임 서버 디자인 가이드, NDC2013
임태현, 게임 서버 디자인 가이드, NDC2013임태현, 게임 서버 디자인 가이드, NDC2013
임태현, 게임 서버 디자인 가이드, NDC2013devCAT Studio, NEXON
 
Unreal python
Unreal pythonUnreal python
Unreal pythonTonyCms
 
모바일 게임 최적화
모바일 게임 최적화 모바일 게임 최적화
모바일 게임 최적화 tartist
 
[Ndc11 박민근] deferred shading
[Ndc11 박민근] deferred shading[Ndc11 박민근] deferred shading
[Ndc11 박민근] deferred shadingMinGeun Park
 
멀티스레드 렌더링 (Multithreaded rendering)
멀티스레드 렌더링 (Multithreaded rendering)멀티스레드 렌더링 (Multithreaded rendering)
멀티스레드 렌더링 (Multithreaded rendering)Bongseok Cho
 
빠른 렌더링을 위한 오브젝트 제외 기술
빠른 렌더링을 위한 오브젝트 제외 기술빠른 렌더링을 위한 오브젝트 제외 기술
빠른 렌더링을 위한 오브젝트 제외 기술YEONG-CHEON YOU
 
[IGC 2016] 넷게임즈 김영희 - Unreal4를 사용해 모바일 프로젝트 제작하기
[IGC 2016] 넷게임즈 김영희 - Unreal4를 사용해 모바일 프로젝트 제작하기[IGC 2016] 넷게임즈 김영희 - Unreal4를 사용해 모바일 프로젝트 제작하기
[IGC 2016] 넷게임즈 김영희 - Unreal4를 사용해 모바일 프로젝트 제작하기강 민우
 
Ndc2010 전형규 마비노기2 캐릭터 렌더링 기술
Ndc2010 전형규   마비노기2 캐릭터 렌더링 기술Ndc2010 전형규   마비노기2 캐릭터 렌더링 기술
Ndc2010 전형규 마비노기2 캐릭터 렌더링 기술henjeon
 
게임 개발에 자주 사용되는 디자인 패턴
게임 개발에 자주 사용되는 디자인 패턴게임 개발에 자주 사용되는 디자인 패턴
게임 개발에 자주 사용되는 디자인 패턴예림 임
 
게임 프레임워크의 아키텍쳐와 디자인 패턴
게임 프레임워크의 아키텍쳐와 디자인 패턴게임 프레임워크의 아키텍쳐와 디자인 패턴
게임 프레임워크의 아키텍쳐와 디자인 패턴MinGeun Park
 
그럴듯한 랜덤 생성 컨텐츠 만들기
그럴듯한 랜덤 생성 컨텐츠 만들기그럴듯한 랜덤 생성 컨텐츠 만들기
그럴듯한 랜덤 생성 컨텐츠 만들기Yongha Kim
 
테라로 살펴본 MMORPG의 논타겟팅 시스템
테라로 살펴본 MMORPG의 논타겟팅 시스템테라로 살펴본 MMORPG의 논타겟팅 시스템
테라로 살펴본 MMORPG의 논타겟팅 시스템QooJuice
 
C++20에서 리플렉션 기능 구현
C++20에서 리플렉션 기능 구현C++20에서 리플렉션 기능 구현
C++20에서 리플렉션 기능 구현Bongseok Cho
 

Tendances (20)

김동건, 할머니가 들려주신 마비노기 개발 전설, NDC2019
김동건, 할머니가 들려주신 마비노기 개발 전설, NDC2019김동건, 할머니가 들려주신 마비노기 개발 전설, NDC2019
김동건, 할머니가 들려주신 마비노기 개발 전설, NDC2019
 
영웅의 군단의 테크니컬 아트 - 황재철, 유나이트 코리아 2014
영웅의 군단의 테크니컬 아트 - 황재철, 유나이트 코리아 2014영웅의 군단의 테크니컬 아트 - 황재철, 유나이트 코리아 2014
영웅의 군단의 테크니컬 아트 - 황재철, 유나이트 코리아 2014
 
[NDC2016] TERA 서버의 Modern C++ 활용기
[NDC2016] TERA 서버의 Modern C++ 활용기[NDC2016] TERA 서버의 Modern C++ 활용기
[NDC2016] TERA 서버의 Modern C++ 활용기
 
[NDC 2014] 던전앤파이터 클라이언트 로딩 최적화
[NDC 2014] 던전앤파이터 클라이언트 로딩 최적화[NDC 2014] 던전앤파이터 클라이언트 로딩 최적화
[NDC 2014] 던전앤파이터 클라이언트 로딩 최적화
 
AAA게임_UI_최적화_및_빌드하기.pptx
AAA게임_UI_최적화_및_빌드하기.pptxAAA게임_UI_최적화_및_빌드하기.pptx
AAA게임_UI_최적화_및_빌드하기.pptx
 
NDC2015 유니티 정적 라이팅 이게 최선인가요
NDC2015 유니티 정적 라이팅 이게 최선인가요  NDC2015 유니티 정적 라이팅 이게 최선인가요
NDC2015 유니티 정적 라이팅 이게 최선인가요
 
Igc2016 Technical Artist가 뭐하는 사람이에요?
Igc2016 Technical Artist가 뭐하는 사람이에요?Igc2016 Technical Artist가 뭐하는 사람이에요?
Igc2016 Technical Artist가 뭐하는 사람이에요?
 
임태현, 게임 서버 디자인 가이드, NDC2013
임태현, 게임 서버 디자인 가이드, NDC2013임태현, 게임 서버 디자인 가이드, NDC2013
임태현, 게임 서버 디자인 가이드, NDC2013
 
Unreal python
Unreal pythonUnreal python
Unreal python
 
모바일 게임 최적화
모바일 게임 최적화 모바일 게임 최적화
모바일 게임 최적화
 
[Ndc11 박민근] deferred shading
[Ndc11 박민근] deferred shading[Ndc11 박민근] deferred shading
[Ndc11 박민근] deferred shading
 
멀티스레드 렌더링 (Multithreaded rendering)
멀티스레드 렌더링 (Multithreaded rendering)멀티스레드 렌더링 (Multithreaded rendering)
멀티스레드 렌더링 (Multithreaded rendering)
 
빠른 렌더링을 위한 오브젝트 제외 기술
빠른 렌더링을 위한 오브젝트 제외 기술빠른 렌더링을 위한 오브젝트 제외 기술
빠른 렌더링을 위한 오브젝트 제외 기술
 
[IGC 2016] 넷게임즈 김영희 - Unreal4를 사용해 모바일 프로젝트 제작하기
[IGC 2016] 넷게임즈 김영희 - Unreal4를 사용해 모바일 프로젝트 제작하기[IGC 2016] 넷게임즈 김영희 - Unreal4를 사용해 모바일 프로젝트 제작하기
[IGC 2016] 넷게임즈 김영희 - Unreal4를 사용해 모바일 프로젝트 제작하기
 
Ndc2010 전형규 마비노기2 캐릭터 렌더링 기술
Ndc2010 전형규   마비노기2 캐릭터 렌더링 기술Ndc2010 전형규   마비노기2 캐릭터 렌더링 기술
Ndc2010 전형규 마비노기2 캐릭터 렌더링 기술
 
게임 개발에 자주 사용되는 디자인 패턴
게임 개발에 자주 사용되는 디자인 패턴게임 개발에 자주 사용되는 디자인 패턴
게임 개발에 자주 사용되는 디자인 패턴
 
게임 프레임워크의 아키텍쳐와 디자인 패턴
게임 프레임워크의 아키텍쳐와 디자인 패턴게임 프레임워크의 아키텍쳐와 디자인 패턴
게임 프레임워크의 아키텍쳐와 디자인 패턴
 
그럴듯한 랜덤 생성 컨텐츠 만들기
그럴듯한 랜덤 생성 컨텐츠 만들기그럴듯한 랜덤 생성 컨텐츠 만들기
그럴듯한 랜덤 생성 컨텐츠 만들기
 
테라로 살펴본 MMORPG의 논타겟팅 시스템
테라로 살펴본 MMORPG의 논타겟팅 시스템테라로 살펴본 MMORPG의 논타겟팅 시스템
테라로 살펴본 MMORPG의 논타겟팅 시스템
 
C++20에서 리플렉션 기능 구현
C++20에서 리플렉션 기능 구현C++20에서 리플렉션 기능 구현
C++20에서 리플렉션 기능 구현
 

En vedette

Kgc2013 defense technica_converting_이상윤
Kgc2013 defense technica_converting_이상윤Kgc2013 defense technica_converting_이상윤
Kgc2013 defense technica_converting_이상윤SangYun Yi
 
Unite2015 probelight(150417)
Unite2015 probelight(150417)Unite2015 probelight(150417)
Unite2015 probelight(150417)SangYun Yi
 
Devtree lightmapping unity5_2_1stday
Devtree lightmapping unity5_2_1stdayDevtree lightmapping unity5_2_1stday
Devtree lightmapping unity5_2_1stdaySangYun 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
 
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
 
Display color와 Digital texture format의 이해
Display color와 Digital texture format의 이해Display color와 Digital texture format의 이해
Display color와 Digital texture format의 이해SangYun Yi
 

En vedette (9)

Kgc2013 defense technica_converting_이상윤
Kgc2013 defense technica_converting_이상윤Kgc2013 defense technica_converting_이상윤
Kgc2013 defense technica_converting_이상윤
 
Unite2015 probelight(150417)
Unite2015 probelight(150417)Unite2015 probelight(150417)
Unite2015 probelight(150417)
 
Devtree illu
Devtree illuDevtree illu
Devtree illu
 
Gametech2015
Gametech2015Gametech2015
Gametech2015
 
Devtree lightmapping unity5_2_1stday
Devtree lightmapping unity5_2_1stdayDevtree lightmapping unity5_2_1stday
Devtree lightmapping unity5_2_1stday
 
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
 
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
 
Display color와 Digital texture format의 이해
Display color와 Digital texture format의 이해Display color와 Digital texture format의 이해
Display color와 Digital texture format의 이해
 

Similaire à Unity3D 엔진을 활용한 게임환경 분석 및 3D 그래픽스 기술 /제작 사례

유니티 게임 그래픽스 아트 개발 사례 분석
유니티 게임 그래픽스 아트 개발 사례 분석유니티 게임 그래픽스 아트 개발 사례 분석
유니티 게임 그래픽스 아트 개발 사례 분석SangYun Yi
 
Ndc2013 정리(upload버전)
Ndc2013 정리(upload버전)Ndc2013 정리(upload버전)
Ndc2013 정리(upload버전)Minsu Park
 
Project anarchy로 3d 게임 만들기 part_3_움직여라 움직여
Project anarchy로 3d 게임 만들기 part_3_움직여라 움직여Project anarchy로 3d 게임 만들기 part_3_움직여라 움직여
Project anarchy로 3d 게임 만들기 part_3_움직여라 움직여Dong Chan Shin
 
[0326 박민근] deferred shading
[0326 박민근] deferred shading[0326 박민근] deferred shading
[0326 박민근] deferred shadingMinGeun Park
 
[1002 조진현]unity3d 소개
[1002 조진현]unity3d 소개[1002 조진현]unity3d 소개
[1002 조진현]unity3d 소개진현 조
 
20140514 team blender_v01 (Korean)
20140514 team blender_v01 (Korean)20140514 team blender_v01 (Korean)
20140514 team blender_v01 (Korean)Dongho Kim
 
Gamebryo LightSpeed (Korean)
Gamebryo LightSpeed (Korean)Gamebryo LightSpeed (Korean)
Gamebryo LightSpeed (Korean)Gamebryo
 
Unity4 Mecanim 활용
Unity4 Mecanim 활용Unity4 Mecanim 활용
Unity4 Mecanim 활용희운 강
 
에코노베이션 3차 세미나 교안
에코노베이션 3차 세미나 교안에코노베이션 3차 세미나 교안
에코노베이션 3차 세미나 교안Lee Jungpyo
 
파이어몽키 3D 애플리케이션 만들기
파이어몽키 3D 애플리케이션 만들기파이어몽키 3D 애플리케이션 만들기
파이어몽키 3D 애플리케이션 만들기Devgear
 
오픈드론맵 한국어 사용자 지침서
오픈드론맵 한국어 사용자 지침서오픈드론맵 한국어 사용자 지침서
오픈드론맵 한국어 사용자 지침서Byeong-Hyeok Yu
 
June report in korean
June report in koreanJune report in korean
June report in koreannao takatoshi
 
Ndc2010 김주복, v3. 마비노기2아키텍처리뷰
Ndc2010   김주복, v3. 마비노기2아키텍처리뷰Ndc2010   김주복, v3. 마비노기2아키텍처리뷰
Ndc2010 김주복, v3. 마비노기2아키텍처리뷰Jubok Kim
 
[안드앱콘] 1.다양한스크린사이즈
[안드앱콘] 1.다양한스크린사이즈[안드앱콘] 1.다양한스크린사이즈
[안드앱콘] 1.다양한스크린사이즈Neoroid
 
브릿지 Unity3D 기초 스터디 2회
브릿지 Unity3D 기초 스터디 2회브릿지 Unity3D 기초 스터디 2회
브릿지 Unity3D 기초 스터디 2회BridgeGames
 
게임엔진과 공간정보 3D 콘텐츠 융합 : Cesium for Unreal
게임엔진과 공간정보 3D 콘텐츠 융합 : Cesium for Unreal게임엔진과 공간정보 3D 콘텐츠 융합 : Cesium for Unreal
게임엔진과 공간정보 3D 콘텐츠 융합 : Cesium for UnrealKyu-sung Choi
 
전형규, 가성비 좋은 렌더링 테크닉 10선, NDC2012
전형규, 가성비 좋은 렌더링 테크닉 10선, NDC2012전형규, 가성비 좋은 렌더링 테크닉 10선, NDC2012
전형규, 가성비 좋은 렌더링 테크닉 10선, NDC2012devCAT Studio, NEXON
 
나만의 엔진 개발하기
나만의 엔진 개발하기나만의 엔진 개발하기
나만의 엔진 개발하기YEONG-CHEON YOU
 
[박민근] 3 d렌더링 옵티마이징_2
[박민근] 3 d렌더링 옵티마이징_2[박민근] 3 d렌더링 옵티마이징_2
[박민근] 3 d렌더링 옵티마이징_2MinGeun Park
 

Similaire à Unity3D 엔진을 활용한 게임환경 분석 및 3D 그래픽스 기술 /제작 사례 (20)

유니티 게임 그래픽스 아트 개발 사례 분석
유니티 게임 그래픽스 아트 개발 사례 분석유니티 게임 그래픽스 아트 개발 사례 분석
유니티 게임 그래픽스 아트 개발 사례 분석
 
Ndc2013 정리(upload버전)
Ndc2013 정리(upload버전)Ndc2013 정리(upload버전)
Ndc2013 정리(upload버전)
 
Project anarchy로 3d 게임 만들기 part_3_움직여라 움직여
Project anarchy로 3d 게임 만들기 part_3_움직여라 움직여Project anarchy로 3d 게임 만들기 part_3_움직여라 움직여
Project anarchy로 3d 게임 만들기 part_3_움직여라 움직여
 
[0326 박민근] deferred shading
[0326 박민근] deferred shading[0326 박민근] deferred shading
[0326 박민근] deferred shading
 
[1002 조진현]unity3d 소개
[1002 조진현]unity3d 소개[1002 조진현]unity3d 소개
[1002 조진현]unity3d 소개
 
20140514 team blender_v01 (Korean)
20140514 team blender_v01 (Korean)20140514 team blender_v01 (Korean)
20140514 team blender_v01 (Korean)
 
Gamebryo LightSpeed (Korean)
Gamebryo LightSpeed (Korean)Gamebryo LightSpeed (Korean)
Gamebryo LightSpeed (Korean)
 
Unity4 Mecanim 활용
Unity4 Mecanim 활용Unity4 Mecanim 활용
Unity4 Mecanim 활용
 
에코노베이션 3차 세미나 교안
에코노베이션 3차 세미나 교안에코노베이션 3차 세미나 교안
에코노베이션 3차 세미나 교안
 
파이어몽키 3D 애플리케이션 만들기
파이어몽키 3D 애플리케이션 만들기파이어몽키 3D 애플리케이션 만들기
파이어몽키 3D 애플리케이션 만들기
 
오픈드론맵 한국어 사용자 지침서
오픈드론맵 한국어 사용자 지침서오픈드론맵 한국어 사용자 지침서
오픈드론맵 한국어 사용자 지침서
 
June report in korean
June report in koreanJune report in korean
June report in korean
 
Ndc2010 김주복, v3. 마비노기2아키텍처리뷰
Ndc2010   김주복, v3. 마비노기2아키텍처리뷰Ndc2010   김주복, v3. 마비노기2아키텍처리뷰
Ndc2010 김주복, v3. 마비노기2아키텍처리뷰
 
[안드앱콘] 1.다양한스크린사이즈
[안드앱콘] 1.다양한스크린사이즈[안드앱콘] 1.다양한스크린사이즈
[안드앱콘] 1.다양한스크린사이즈
 
브릿지 Unity3D 기초 스터디 2회
브릿지 Unity3D 기초 스터디 2회브릿지 Unity3D 기초 스터디 2회
브릿지 Unity3D 기초 스터디 2회
 
게임엔진과 공간정보 3D 콘텐츠 융합 : Cesium for Unreal
게임엔진과 공간정보 3D 콘텐츠 융합 : Cesium for Unreal게임엔진과 공간정보 3D 콘텐츠 융합 : Cesium for Unreal
게임엔진과 공간정보 3D 콘텐츠 융합 : Cesium for Unreal
 
Designing Apps for Motorla Xoom Tablet
Designing Apps for Motorla Xoom TabletDesigning Apps for Motorla Xoom Tablet
Designing Apps for Motorla Xoom Tablet
 
전형규, 가성비 좋은 렌더링 테크닉 10선, NDC2012
전형규, 가성비 좋은 렌더링 테크닉 10선, NDC2012전형규, 가성비 좋은 렌더링 테크닉 10선, NDC2012
전형규, 가성비 좋은 렌더링 테크닉 10선, NDC2012
 
나만의 엔진 개발하기
나만의 엔진 개발하기나만의 엔진 개발하기
나만의 엔진 개발하기
 
[박민근] 3 d렌더링 옵티마이징_2
[박민근] 3 d렌더링 옵티마이징_2[박민근] 3 d렌더링 옵티마이징_2
[박민근] 3 d렌더링 옵티마이징_2
 

Plus de SangYun 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
 
Game Visual Art Technologies
Game Visual Art TechnologiesGame Visual Art Technologies
Game Visual Art TechnologiesSangYun Yi
 
LCD Monitor 선택 가이드와 Gamma의 이해
LCD Monitor 선택 가이드와 Gamma의 이해LCD Monitor 선택 가이드와 Gamma의 이해
LCD Monitor 선택 가이드와 Gamma의 이해SangYun Yi
 
Unite2015 probelight English version
Unite2015 probelight English versionUnite2015 probelight English version
Unite2015 probelight English versionSangYun Yi
 

Plus de SangYun Yi (7)

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
 
Game Visual Art Technologies
Game Visual Art TechnologiesGame Visual Art Technologies
Game Visual Art Technologies
 
LCD Monitor 선택 가이드와 Gamma의 이해
LCD Monitor 선택 가이드와 Gamma의 이해LCD Monitor 선택 가이드와 Gamma의 이해
LCD Monitor 선택 가이드와 Gamma의 이해
 
Unite2015 probelight English version
Unite2015 probelight English versionUnite2015 probelight English version
Unite2015 probelight English version
 

Dernier

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
 
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
 
캐드앤그래픽스 2024년 5월호 목차
캐드앤그래픽스 2024년 5월호 목차캐드앤그래픽스 2024년 5월호 목차
캐드앤그래픽스 2024년 5월호 목차캐드앤그래픽스
 
Console API (Kitworks Team Study 백혜인 발표자료)
Console API (Kitworks Team Study 백혜인 발표자료)Console API (Kitworks Team Study 백혜인 발표자료)
Console API (Kitworks Team Study 백혜인 발표자료)Wonjun Hwang
 
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
 

Dernier (6)

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
 
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 ...
 
캐드앤그래픽스 2024년 5월호 목차
캐드앤그래픽스 2024년 5월호 목차캐드앤그래픽스 2024년 5월호 목차
캐드앤그래픽스 2024년 5월호 목차
 
Console API (Kitworks Team Study 백혜인 발표자료)
Console API (Kitworks Team Study 백혜인 발표자료)Console API (Kitworks Team Study 백혜인 발표자료)
Console API (Kitworks Team Study 백혜인 발표자료)
 
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)
 

Unity3D 엔진을 활용한 게임환경 분석 및 3D 그래픽스 기술 /제작 사례

  • 1. Unity3D 엔진을 활용한 게임 환경 분석 및 3D 그래픽스 기술/제작 사례 공유 (재)부산정보산업진흥원 부산글로벌 게임센터
  • 2. 이상윤 (Yi SangYun) 조이시티 : Technical Artist Kuno interactive : 리드 아티스트(디펜스 테크니가, 룸즈2) Guarneri Studio : 배경/TA(야망의 영주님 for Kakao) 인디 프로젝트 : Rooms2 VR : AD/TA • Kgc2013 디펜스 테크니카 모바일 컨버팅 • GameTech 2015 모바일 플랫폼을 위한 유니티에서 게임환경 구축 • Unite Seoul 2015 라이트프로브를 활용한 모바일 플랫폼에서의 게임환경 구축 • Devtree 라이트맵핑 워크샵 • 비엘북스 : 유니티, 언리얼 그리고 VR : 유니티5로 살펴본 라이트맵핑의 이해 • Facebook 게임 3D 배경 그룹 운영 中
  • 3. - 개 요 - Unity3D 엔진을 활용한 모바일 게임 개발 사례를 통해 3D 그래픽스에서 사용되는 용어들의 개념과 적용을 살펴보고 향후 전망을 살펴본다. 야망의 영주님 for Kakao(2015, 과르네리 스튜디오) 디펜스 테크니카(2013, 쿠노 인터렉티브)
  • 4. 모바일 게임환경 분석 - 고해상도 디스플레이, 고사양 모바일 디바이스 기기의 보급 가속 Samsung Galaxy S7 5.1인치 2560x1440(QHD) 엑시노스 8890 8 Core 4x2.3GHz + 4x1.6GHz ARM Mali T880 4G RAM Vulkan API 1.0 지원 Android IOS Apple iphone 6S plus 5.5인치 1920x1080(FHD) A9 (Dual core – 1.85G + PowerVR GT7600 2G RAM 정확한 내부 정보는 2015년 9월 23 일 기준으로 불명이나, 기기를 처음으 로 수령한 예약 구매자가 측정한 Geekbench 3 결과에 의해 싱글코 어 점수 약 2500 점, 멀티코어 점수 약 4300 점으로 측정되어 1.8 GHz 클럭의 듀얼코어 CPU가 탑재된 것이 확인되었다. 이러한 수치를 바꿔보면, 단순 연산량만 보면 싱글코어 점수 기 준으로 맥북 에어에 근접한 수치라고 한다. (나무위키 발췌)
  • 5. 타겟 디바이스 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
  • 6. VR Name Resolution Refresh Rate Platform Field of Tracking Area Oculus Rift(CV1) Resolution 2160 x 1200 Refresh Rate 90Hz Oculus Home 110 degrees 5x11 feet HTC Vive Resolution 2160 x 1200 Refresh Rate 90Hz SteamVR 110 degrees 15x15 feet NVIDIA GTX 970 / AMD 290 equivalent or greater Intel i5-4590 equivalent or greater 8GB+RAM 4GB+RAM 출처 : Read more: http://www.digitaltrends.com/virtual-reality/oculus-rift-vs-htc-vive/#ixzz41ks6wLJH Follow us: @digitaltrends on Twitter | digitaltrendsftw on Facebook
  • 7. Gear VR 구글 카드보드 PlayStation VR 해상도 좌우 각 960x1080(향 후 1280x1140까지) 5.7인치 OLED 시야각 100도
  • 8. 디스플레이별 해상도와 픽셀 수의 비교 출처 :삼성 디스플레이 블로그(http://blog.samsungdisplay.com)
  • 9. 디스플레이별 픽셀에 따른 크기 비교 출처 :삼성 디스플레이 블로그(http://blog.samsungdisplay.com)
  • 10. Android 안드로이드 초기에 비해 비교적 규격 화 되어가는 해상도 IOS에 비해 고해상도화 되어가는 추 세가 QHD에서 늘리지 않는 상황
  • 11. IOS 비교적 규격화되어있는 해상도. 시장점유율이 낮아 개발에서 우선 고려되 지 않는 플랫폼(단, 글로벌 출시하는 타이틀 은 같이 고려하는 경우도 있음)
  • 12. 게임이 화면에 그려질 때 아트에서 고려해야 할 부분 Game Art Character Environmnet Effect Game LogicUI
  • 14. 장점 。 직관적인 인터페이스, 거기다 Drag and Drop으로 별도의 import 없이 사용 가능 。 Componet들이 각각의 독립된 역할로 작동하기에 매우 직관적임 。 프리팹 제작 / 관리 용이. 리소스 관리도 엄청 편함. 。 대부분의 파일 포맷을 지원 。 그래픽 퀄리티가 가격대비 성능으로써는 매우 훌륭함. 。 lightmapping작업이 상당히 빠르고 간편하게 가능. 。 간단한 animation 작업은 엔진내부에서 간단하게 가능. 。 매우 풍부한 Asset Store / 폭넓은 사용자를 바탕으로 한 개발자들의 노하우와 경험 을 찾기 쉬움.
  • 15. 단점 。 Unity5부터 세세한 이슈가 많아짐. 또한, Scene 저장시 라이트맵이 갱신되지 않는 문제 및 light probe 이슈 발생 。 UE의 Martinee에 비해 연출 관련한 지원이 많지 않음(Target Camera 연출을 사용 하려면 약간의 꼼수 필요) 。 일정 퀄리티 이상에서 퍼포먼스 맞추기가 쉽지 않음.
  • 16. 좌표계가 다르다~! 。Y-up 기반의 좌표계를 가지고 있음(Maya와 동일). 국내 대부분의 게임사에서 3DS MAX를 쓰기에 문제. MAX에서 그냥 (0,0,0)으로 export시 x축으로 -90도 돌아간 상태로 import 됨. 맥스에서 export시 축을 90도 돌려서 export Group 및 오브젝트 모두 이렇게 작업 프로젝트에 따라 TA가 export tool을 MAX에서 script 로 구현해서 쓰는 경우도 있음
  • 17. Software별 노멀맵의 방향 Software Red Green Blue 3DS Max X+ Y- Z+ Blender X+ Y+ Z+ CryEngine X+ Y- Z+ Maya X+ Y+ Z+ Modo X+ Y+ Z+ Unity X+ Y+ Z+ Unreal Engine X+ Y- Z+
  • 18. Drawcall (glDrawArrays() glDrawElements()) Scene에 있는 메쉬를 그리기 위해 CPU가 GPU에게 보내는 요청. 카메라를 통해 한 프레임의 화면을 만들어 내는 동안 1개의 셰이더 패스, 1개의 material로 오브젝트를 한번 그리는 작업의 단위. 그래픽 이슈에서 성능과 직결되는 중요한 요소 중 하나. Texture Shader Mesh Material Mesh render DrawCall
  • 19. Defense Technica Steam steage 19 Defense Technica Mobile steage 19
  • 21. 야망의 영주님 영지전 전투 statics : 스킬 사용시 왼쪽 상단에 영웅에 근접한 카메라를 로드하여 연출하는 씬.
  • 22. 모바일 AP(Application processor) 특징 모바일기기 내 탑재되어 운영체제(OS)와 애플리케이션 등 SW를 실행함과 동시에 여러 시스템 장치를 통제하는 역 할. CPU와 GPU 및 각종 기능들이 하나로 통합된 형태. - 카메라, 터치패널, 키패드 등 다양한 인터페이스를 통해 외부에서 입력된 정보에 대해 처리명령을 내려 기기를 작 동시킴과 동시에 SW 실행을 개별 부품과 연계하는 중앙통제장치. - 모바일 AP는 연산·제어, 그래픽, 멀티미디어, 입출력 등 다양한 기술이 단일 칩공간 내 집적화된 부품 - 중앙처리장치인 MPU, 그래픽을 처리하는 GPU, 비디오·이미지 압축, 해제를 처리하는 MMP(Multi-Media Processor), 오디오 신호를 처리하는 DSP (Digital Signal Processor)가 결합(이는 PC 구성 부품중 핵심 기능을 단일칩으로 축소하여 휴대성을 확보하기 위함) - 앞으로 발전 방향은 성능보다 저전력, 낮은 발열을 중심으로 개선되고 발전되고 있음.(모바일 VR등 수요에 맞추 어 점점 발전할 것으로 보임)
  • 23. Server programming 유닛 연산 서버로 전송 결과 산출 디바이스에 전송 결과 반영 클라이언트의 연산을 서버로 가져오는 구조를 취함. 이로 인해 클라이언트에서 연산의 많은 부분을 비쥬얼 퍼포먼 스에서 확보 할 수 있었음 화면에 등장하는 유닛의 숫자가 많기 때문에 클라이언트 연산을 최대한 분산하기 위한 해결책으로 개발(서버쪽 작 업 진행여부에 따라서 수시로 타겟 디바이스에서 퍼포먼스 체크) 연산, 충돌처리, 길찾기 등 전투에서 발생하는 많은 부분을 서버에서 처리 해줌으로 퍼포먼스 확보. 전투에서 서버에 서 처리되는 부분에서 지연되는 현상을 줄이기 위해 여러 방법 고려(패킷 줄이기, 쓰레드 추가 등)
  • 24. batching Drawcall을 소비하여 그려진 mesh를 다시 그릴때 연산 을 줄이기 위한 기법 Static Batching(정적배칭) 움직이지 않는 object가 해당되며 300개의 vertex 이하 에서만 처리된다. (GPU 성능에 따라 변동 있을수 있음) 정적배칭 처리를 할 경우 드로우콜은 아낄수 있지만 카메 라의 뷰에 걸리지 않는 오브젝트 역시 계산을 하기 때문에 컬링 영역을 잘 계산해서 배치하는 쪽이 좋다.(scene에 따 라 오히려 끄는 쪽이 퍼포먼스에 좋은 경우도 있다) Dynamic Batching(동적 배칭) 움직이는 object가 해당. 정적 배칭에 비해 조금 더 무겁게 처리된다. Project의 batching을 활성화 할 경우 별도로 체크하지 않더라도 자동으로 활성화 된다
  • 25. Mesh animation Skinned 되지 않는 mesh에 움직임을 부여하는 작업. unity3D animation 윈도우나 3D tool(3DS MAX or Maya)에서 작업해서 사용. Unity3D는 vertex animation은 지원하지 않으나 mesh animation은 지원한다. 병사 말의 skinned mesh 숫자를 줄이기 위해 사용하여 dynamic batching을 적용 Unity Animation Window Mesh, Material animation등을 제어할수 있으며 만들어둔 클립을 object에 드래 그하여 붙임으로 손쉽게 제어할 수 있다. Material에 적용해 사용하는 애니메이션의 경우 가급적 C#으로 작성된 코드를 컴포넌트에 붙여서 사용
  • 26. 영웅유닛용 말 스킨된 메쉬로 구성 Drawcall : 1 Probe light 사용으 로 Batching 불가. 최대 scene에 5unit 등장. 병사유닛용 말 Mesh animation 사 용 Drawcall : 12 동적배칭 사용 Probe light 미사용 결전맵에서 산술적으 로 최대 50unit까지 등장.
  • 27. Shadow(그림자) 그래픽에서 공간상의 위치를 인지하고 입체감을 더해주는데 있어 중요한 요수중 하나. 그림자를 그리게 되면 아래 설명한 계산이외에도 그려지는 케릭터의 숫자만큼 폴리카운터가 증가합니다. 유니티에서 제공해주는 그림자는 그림자맵(ShadowMap) 기법을 사용하고 있습니다. 이 기법은 모든 굴곡에 대응하고 자기 그림자(self-shadow)가 처리되는 등 높은 퀄리티를 보여주고 있지만 문제는 성능입니다. ShadowMap 기법은 그림자의 깊이를 저장하는 버퍼를 만들고난 뒤 픽셀 셰이더(Pixel Shader)에서 깊이를 비교하는 과정을 거칩니다. 또한, 넓은 영역을 커버하기위해 여러 구역으로 나누기도하고(cascade) 계단 현상을 없애기 위해 여러번 샘플링하여 필터링을 처리하는 등 부가적인 행위들이 추가됩니다. - 유니티 코리아 오즈라엘님 글 中
  • 28. NAT Games HIT 플레이 화면 실시간으로 그림자를 그리고 있으나 성능이 낮은 디바이스에서는 그림자를 아예 그 리지 않고 있다.(그외, 블룸 라이트등 몇몇 옵션들이 작동하지 않고 있다) 퍼포먼스에 따라 이렇게 구분해서 적용하는것도 하나의 대안이 될 수 있는 사례
  • 29. Plan Shadow(평면 그림자) 모바일에서 많이 쓰이는 방식으로 원형의 텍스쳐를 오브젝트 아래에 위치 시키는 방법. 필드의 높낮이가 없고 평면으로 이루어진경우에 많이 사용. 단점은 요철이 있는경우 지형에 그림자가 뚫고 들어가는 경 우가 발생. 또한, 근접해서 보일수 있음. 메쉬 평면 그림자 기법이라 하여 LOD 메쉬를 활용한 좀 더 리얼한 그림자를 그리는 기법도 있으나 같은 문제점 존재(지형의 굴곡이 있으면 파고 들어가는 등)
  • 30. Lightmapping Defense Technica mobile stage list iphone 4를 제외한 모든 모 바일 디바이스에서 lightmap 을 사용하여 발매 퍼포먼스에 크게 영향을 주지 않으며 scene을 보다 풍부하 게 표현해줄 수 있는 있음. 또 한 probe light와 조합하여 사용할 경우 보다 풍부한 표 현을 할 수 있음
  • 31. Lighting 조절만으로 각기 다른 stage 연출이 가능. 단순히 stage 분위기만 바뀌는것이 아닌 유닛들도 스테이지 분위기에 어울리는 톤으로 보여줄 수 있다.
  • 32. LOD(Level of Detail) poly counter 감소에 따른 프레임 레 이트의 변화가 그리 크지 않고 아트 퀄 리티만 나빠지는 결과가 예상. 많이 생성된 건물 프리팹(건물당 6~10 개 정도의 레벨 디자인)을 제작하게 되 어 스케쥴상 비효율적으로 판단(컨셉+ 모델링+TA = 1人) 케릭터 쪽 역시 별도의 LOD 메쉬 제작 및 애니메이션 작업 인원이 부족으로 힘들것으로 판단(애니메이션+이펙트 = 1 人) 좀 더 쾌적한 퍼포먼스 확보를 위해서는 적용시키는 것이 좋았겠지만 타겟 디바이스 구동시 LOD를 적용하지 않더라 도 플레이가 가능한 퍼포먼스가 나와 작업하지 않음
  • 33. 심플리곤(Simplygon) Material LOD, Terrain LOD, Mesh LOD, Bone LOD 등 여러가지 LOD작업을 그야말로 버튼 몇 개 누르는걸로 생성해주는 툴. 줄인 리소스의 퀄리티가 원래 리소스의 퀄리티를 해치지 않으면서 좋은 결 과물을 생성해줌. 계정당 월 1시간 이용까지는 무료.
  • 34. 섭스탠스 제품군(디자이너, 페인터, B2M) 프랑스 회사. 한국에 지사 있음. 각종 컨퍼런스 및 워크샵에서 꾸 준히 다루어지는 툴이며 국내에서도 해외 유명 아티스트를 초청 한 워크샵 및 교육이 이루어지고 있음 https://www.allegorithmic.com/
  • 35. 섭스탠스 디자이너 절차적 텍스쳐링 (Procedural Texturing) 기반의 텍 스쳐 생성 및 편집이 가 능하며 이를 엔진에서 직접 활용할수도 작성된 텍스쳐를 추출해서 사용 할 수도 있음. 이미 많은 자료가 섭스 텐스 셰어 및 해외 자료 공유 및 판매 사이트를 통해 올라오는 중
  • 36. 섭스탠스 페인터 절차적 텍스쳐링(Procedural Texturing) 방식 이외에도 뷰포트를 보며 직접 편집할수도 파티클 브러쉬등을 활용하 여 기존에 작성된 데이터 위에 아티스트가 수정/보완할수도 있다. 단점이라면 PC사양을 많이 탄다.(970 이상 권장)
  • 37. 마블러스 디자이너 클로버추얼이라는 국내 회사에서 개발한 패턴 기반의 의류 시뮬레이팅 툴. 자연스러운 옷을 빠른시간에 만들어 낼 수 있기 때문에 점차 사용빈도가 높아지고 있는 추세. (어새신 크리드, 펄어비스의 검은사막, 영화 호빗, 메탈기어 솔리드등)
  • 38.
  • 39. Shader Unity에서 기본으로 제공하는 built-in shader의 경우 의도대로 표현하는데는 한계가 있으므로 보통 모바일 프로젝트에서는 Custom shader를 작성하 여 사용하거나 Asset Store에서 Shader를 구매하 여 사용하게 됨. Unity Surface Shader는 기존의 GLSL, HLSL, Cg 언어에 비해 작성이 매우 간단한 편으로 접근하 기가 용이.
  • 40. 야망의 영주님 Character shader 테스트 이미지 스크린 샷 라이트 프로브 활용을 위해 리소스 텍스쳐에서 추가적으로 보완
  • 41. Texture atlas를 이용해 UV 이동으로 배경 프랍이 작동할때 연출을 표현. (이펙트 없이 텍스쳐 UV 이동만으로 구현) Prop이 scene에서 서서히 사라지는 효과를 위한 shader 연출
  • 43. ETC1 ETC2/EAC DXT(S3TC) PVRTC(v1) ATITC ----------------------------------------------------------------------------------------- iOS PowerVR ES 2.0 -- -- -- ◎ -- iOS PowerVR Series6 ES 3.0 ◎ ◎ -- ◎ -- Android PowerVR ES 2.0 ◎ -- -- ◎ -- Android Tegra2/3/4 ES 2.0 ◎ -- ◎ -- -- Android Adreno200 ES 2.0 ◎ -- -- -- ◎ Android Adreno300 ES 3.0 ◎ ◎ -- -- ◎ Android Mali400 ES 2.0 ◎ -- -- -- -- Android Mali600 ES 3.0 ◎ ◎ -- -- -- Mobile Device Texture 포맷
  • 44. 0.5MB 128kb 0.5MB 128kb 1.0MB 250kb
  • 45. 글로벌 서비스를 한다면 아직은 ES 3.0기반의 작업은 좀 이를수 있으나 ES 3.0 지원이 늘어난다 면 ETC2 사용으로 보다 좋은 퀄 리티로 작업이 가능할 것으로 보 임 3.0을 지원하지 않는 모델에서도 그려지기는 하지만 Texture가 압 축된 상태가 아닌 메모리 상에서 모두 압축이 해제된 상태로 그려 지게 된다.
  • 46. MipMap 원본 텍스쳐를 다양한 크기로 미리 준비해놓아 카메라 거리에 따라 렌더 되는 크기에 맞추어 사용하는 기술. 텍스쳐 사이즈를 줄 여 사용하므로 대역폭을 줄일수 있는 장점이 있으나 밉맵 데이터를 미리 생성하기 때문에 텍스쳐 용량은 증가한다. Ex) 1024x1024 ETC 포맷의 경우 0.5MB >> 0.7MB
  • 47. Advanced option을 활성화하면 구체적인 옵션을 제어 할 수 있음 Mipmap 적용시 정보창에서 케릭터 얼굴의 디더링 증상 때문에 케릭터 텍스쳐의 경우는 mipmap을 사용하지 않 음 배경의 경우 mipmap 적용 여부를 개발 중반부까지 고 심하였으나 test 결과 케릭터에 비해 스케일이 다양하게 보이는 점과 전체 유닛들을 모였을때 지글거림이 눈을 피 로하게 한다는 느낌으로 mipmap을 사용하였으나 filtering 방식을 기본 BOX에서 Kaiser 방식으로 변경.(결 과물에 따라 끄거나 옵션이 다르게 셋팅) Texture 옵션
  • 48. Character 및 배경은 ETC로 압축된 texture를 기본으로 사용. 타겟 디바이스가 S3(1280x1024)였기 때문에 너무 작은 texture 사용은 지양 ETC로 압축된 texture의 경우 해상도 변경에 따른 용량 증가가 크 게 부담될 수준은 아니라고 판단(1024x1024의 경우 0.7MB) 반면 UI에 사용되는 texture의 경우 RGBA 16bit만으로도 4배의 용량을 차지하게 됨. 알파영역을 가진 PNG파일의 경우 디더링으로 인한 품질저하 때문에 RGBA 32bit를 사용할 경우 8배의 용량을 가지게 됨.
  • 49. Keijiro 씨의 texture compression plug-in. 16bit RGBA 이미지의 디더링 현상을 개선시켜준다.(UI 이미지 품질 향상을 위한 테스트) 이미지 자체를 변경 시키므로 롤백이 안된다. UI 담당 디자이너가 툴을 이해하고 직접 엔 진에 올리면서 작업하지 않을경우 별도의 담 당자 필요. 셀 채색 방식의 이미지는 괜찮은 효과를 보 여주지만 그렇지 않을경우 이미지가 뭉개지 는 현상 발생. 결국 사용하지 못함
  • 50. 모바일 프로젝트 제작 후기 - 프로젝트 중반까지 계속해서 FPS(Frame per second) 체크. 화면에 올려서 구동되는 것 만으로는 안정적으로 구동되는지 확인 할 수 없기 때문에 명확해지는 단계까지는 계속해서 체크, 그리고 이슈 모니터링 - 엔진 버젼업에 따르는 변동 사항 체크. 대규모 마이그레이션은 프로젝트 진행상황에 맞춰서 결정할 것(특정 파트에 서 요구한다고 올렸다가 예상하지 못하는 문제를 겪을수 있음) - build 용량은 프로젝트 성격에 맞춰서 결정. 가이드가 분명하다면 프로젝트 퀄리티가 떨어지는 부분을 명확히 인지 하고 가이드 라인을 결정. 또한, 국내 및 해외등 다양한 서비스 환경을 고려하여 결정 - 프로젝트 초기 단계에서 리소스 작업 가이드를 분명하게 결정하고 진행(불필요하게 낭비되는 시간/리소스를 최대한 줄여낼 수 있다) - poly counter, texture size를 줄인다고 퍼포먼스가 무조건 좋아지지 않는다.(타겟 디바이스에서의 프레임 레이 트 체크 및 profiler 활용하여 어디에서 효율이 나오지 않는부분을 체크하고 개선하는데 중점을 둔다. 하지만, 게임에 서의 비중을 생각해 최종적으로 결정한다)
  • 51. Unreal 4 월 $19의 가격 정책을 취하다 완전 무료화 선언 분기별 게임 또는 애플리케이션당 $3,000(약 310만원 연 간 1200만원 가량)를 초과한 매출의 5%를 지불 혹은 별도 의 라이선싱 계약 체결 Unity 5 대부분 기능은 무료로 개발 가능 Free 버전은 이전 회계연도 기준 연간 총수입이나 예산이 US $10만을 초과하는 기업, 아카데미, 비영릴 또는 정비 기 업의 경우 프로 라이선스 사용 불가. Pro version 월$75 or 165만원 IOS, Android add-on 각 165만원. 기존라이센스 업그레이드 82만5천원
  • 52. 단점 상용 엔진의 무료버젼 베포로 인해 접근성은 높아졌으나 필요한 인력을 여유있게 구성할 정도로 여력 이 있는 개발사가 많지 않음.(프로젝트에서 멀티 포지션을 소화하는 케이스가 많음) 개발기간을 여유있게 확보하기 힘들기 때문에 프로토 단계에서의 충분한 테스트가 쉽지 않아 중간단 계에서 프로젝트 전체적으로 수정이 가해지는 경우가 많음. 높아진 게임 퀄리티로 인해 시장에서의 요구치는 올라갔으나 수익은 기대하기 쉽지 않은 상황 (MMORPG가 많이 개발되던 시기와 같은 딜레마가 모바일에서도 발생) 매우 빠른 모바일 시장의 트렌드에 따라 개발기간 자체에 대한 압박이 심함.
  • 53. FireMonkeys Studio Mint 3D Engine(2013) Madfinger Games, ShadowGun Unity3D Engine(2011) Midoki, Plunder Pirates(2015) Chair Entertainment, Infinity Blade Unreal 3 Engine(2010) NAT Games, HIT Unreal 4 Engine(2015)
  • 55. VR 개발 후기 2013년 런칭한 모바일 게임 룸즈2의 VR 버젼
  • 56. 풀3D 컨셉의 메인 화면에서 2D 기반의 이미지 선택창으로 출시. 초기 게임 디자인에서 의도한 네가지 테마가 어 우러진 건물을 탐험한다는 의도가 반영되지 못한 아쉬움 오리지널 버전 테스트 영상 : https://www.youtube.com/watch?v=a1LbBZTdf38
  • 57. 게임 개발 포인트 게임 디자인이 가지고 있는 컨셉(언덕 위의 봄-여름-가을-겨울 네가지 테마 가 섞여있는 미스테리한 집의 방을 탈 출해 나가는 앤의 이야기) 을 최대한 살리는 아트 스타일 VR로써 개발된 게임이 아니기 때문에 기존의 게임의 디자인을 해치는 VR 컨텐츠 삽입은 배제. 퍼즐게임이라는 제한된 시야를 가진 게임을 VR스러운 느낌을 주기 위해 주변공간은 컨셉 문서에서 초기 고려 한 내용에 충실하게 구현.(전체 리소스 는 새로이 제작)
  • 58. VR 아트 이슈 대부분의 리소스가 모바일 개발당시 제작된 소스라 퀄리티가 그리 좋지 않다. 다만, 텍스쳐를 줄여서 제작하지 않 고 엔진에서 조절하였기에 텍스쳐 사이즈 이슈가 없었던게 그나마 다행. 유니티3로 시작해 4로 마무리(?) 되었던 프로젝트 였기에 5에서 문제가 되는 부분들이 있었다 프로젝트 아트 수정 이슈가 예상외로 많았던데다 예정보다 출시 일정이 앞당겨져 일정이 빡빡했다. (아트 멤버 구성 : AD/TA : 1명, 3D 모델러 : 2명, 컨셉 : 1명, 이펙트 : 1명, 그외 텍스쳐링 서포트 1명) 케릭터 쪽은 그대로 사용해도 크게 무리가 없으리라 판단하고 배경에 집중, Standard shader등 PBS를 고민했 으나 일정 및 인원 문제로 불가능하다고 판단 원 소스를 최대한 활용하는 쪽으로 접근
  • 59. VR 아트 이슈 유저가 바라보는 시선에 옵션역할을 하는 오브젝트를 배치하여 트레킹에 의한 아이콘 활성화 연출 트로피는 Matcap과 rim light를 사용하여 연출하였으나 양안렌더가 되는 VR 플랫폼 특성상 rim light는 제외한채 로 구현.(VR에서 빛 표현에 대한 주의가 필요한 부분) 그외 사소한(?) 유니티5의 예상치 못했던 문제들.
  • 60. GDC 2016 전시 빌드까지는 테마 구현까지는 완성. 최종 빌드까지 마무리 작업중.
  • 61. VR은 게임 이외에 체험형 컨텐츠라는 영역도 가능한 영역. 비쥬얼 퀄리티가 좋으면 좋을수록 HMD를 착용했을때 겪을수 있는 체험의 질이 달라 질 수 있다. 섭스탠스 마스터 클래스 VR 스터디. 언리얼4 VR preview 中
  • 62. Yi SangYun(3D Environment Artist, TA) illustor@gmail.com +82 10 9313 0583 Q&A 終