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

62
Unity3D 엔진을 활용한 게임 환경 분석 3D 그래픽스 기술/제작 사례 공유 ()부산정보산업진흥원 부산글로벌 게임센터

Upload: sangyun-yi

Post on 12-Jan-2017

3.072 views

Category:

Technology


6 download

TRANSCRIPT

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

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

사례 공유

(재)부산정보산업진흥원 부산글로벌 게임센터

Page 2: 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 배경 그룹 운영 中

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

- 개 요 -

Unity3D 엔진을 활용한 모바일 게임 개발 사례를 통해 3D

그래픽스에서 사용되는 용어들의 개념과 적용을 살펴보고

향후 전망을 살펴본다.

야망의 영주님 for Kakao(2015, 과르네리 스튜디오)

디펜스 테크니카(2013, 쿠노 인터렉티브)

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

모바일 게임환경 분석

- 고해상도 디스플레이, 고사양 모바일 디바이스 기기의 보급 가속

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가 탑재된 것이

확인되었다. 이러한 수치를 바꿔보면,

단순 연산량만 보면 싱글코어 점수 기

준으로 맥북 에어에 근접한 수치라고

한다.

(나무위키 발췌)

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

타겟 디바이스

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

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

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

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

Gear VR

구글 카드보드

PlayStation VR

해상도 좌우 각 960x1080(향

후 1280x1140까지)

5.7인치 OLED

시야각 100도

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

디스플레이별 해상도와 픽셀 수의 비교

출처 :삼성 디스플레이 블로그(http://blog.samsungdisplay.com)

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

디스플레이별 픽셀에 따른 크기 비교

출처 :삼성 디스플레이 블로그(http://blog.samsungdisplay.com)

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

Android

안드로이드 초기에 비해 비교적 규격

화 되어가는 해상도

IOS에 비해 고해상도화 되어가는 추

세가 QHD에서 늘리지 않는 상황

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

IOS

비교적 규격화되어있는 해상도.

시장점유율이 낮아 개발에서 우선 고려되

지 않는 플랫폼(단, 글로벌 출시하는 타이틀

은 같이 고려하는 경우도 있음)

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

게임이 화면에 그려질 때 아트에서 고려해야 할 부분

Game Art

Character Environmnet

Effect

Game Logic UI

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

Unity3D

viewport

Hierarchy

Project

Inspector

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

장점

。 직관적인 인터페이스, 거기다 Drag and Drop으로 별도의 import 없이 사용 가능

。 Componet들이 각각의 독립된 역할로 작동하기에 매우 직관적임

。 프리팹 제작 / 관리 용이. 리소스 관리도 엄청 편함.

。 대부분의 파일 포맷을 지원

。 그래픽 퀄리티가 가격대비 성능으로써는 매우 훌륭함.

。 lightmapping작업이 상당히 빠르고 간편하게 가능.

。 간단한 animation 작업은 엔진내부에서 간단하게 가능.

。 매우 풍부한 Asset Store / 폭넓은 사용자를 바탕으로 한 개발자들의 노하우와 경험

을 찾기 쉬움.

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

단점

。 Unity5부터 세세한 이슈가 많아짐.

또한, Scene 저장시 라이트맵이 갱신되지 않는 문제 및 light probe 이슈 발생

。 UE의 Martinee에 비해 연출 관련한 지원이 많지 않음(Target Camera 연출을 사용

하려면 약간의 꼼수 필요)

。 일정 퀄리티 이상에서 퍼포먼스 맞추기가 쉽지 않음.

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

좌표계가 다르다~!

。Y-up 기반의 좌표계를 가지고 있음(Maya와 동일). 국내 대부분의 게임사에서 3DS MAX를 쓰기에 문제.

MAX에서 그냥 (0,0,0)으로 export시 x축으로 -90도 돌아간 상태로 import 됨.

맥스에서 export시 축을 90도 돌려서 export

Group 및 오브젝트 모두 이렇게 작업

프로젝트에 따라 TA가 export tool을 MAX에서 script

로 구현해서 쓰는 경우도 있음

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

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+

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

Drawcall (glDrawArrays() glDrawElements())

Scene에 있는 메쉬를 그리기 위해 CPU가 GPU에게 보내는 요청. 카메라를 통해 한 프레임의 화면을

만들어 내는 동안 1개의 셰이더 패스, 1개의 material로 오브젝트를 한번 그리는 작업의 단위.

그래픽 이슈에서 성능과 직결되는 중요한 요소 중 하나.

Texture

Shader

Mesh

Material

Mesh render

DrawCall

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

Defense Technica Steam steage 19 Defense Technica Mobile steage 19

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

야망의 영주님 for Kakao

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

야망의 영주님 영지전 전투 statics : 스킬 사용시 왼쪽 상단에 영웅에 근접한 카메라를 로드하여 연출하는 씬.

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

모바일 AP(Application processor) 특징

모바일기기 내 탑재되어 운영체제(OS)와 애플리케이션 등 SW를 실행함과 동시에 여러 시스템 장치를 통제하는 역

할. CPU와 GPU 및 각종 기능들이 하나로 통합된 형태.

- 카메라, 터치패널, 키패드 등 다양한 인터페이스를 통해 외부에서 입력된 정보에 대해 처리명령을 내려 기기를 작

동시킴과 동시에 SW 실행을 개별 부품과 연계하는 중앙통제장치.

- 모바일 AP는 연산·제어, 그래픽, 멀티미디어, 입출력 등 다양한 기술이 단일 칩공간 내 집적화된 부품

- 중앙처리장치인 MPU, 그래픽을 처리하는 GPU, 비디오·이미지 압축, 해제를 처리하는 MMP(Multi-Media

Processor), 오디오 신호를 처리하는 DSP (Digital Signal Processor)가 결합(이는 PC 구성 부품중 핵심 기능을

단일칩으로 축소하여 휴대성을 확보하기 위함)

- 앞으로 발전 방향은 성능보다 저전력, 낮은 발열을 중심으로 개선되고 발전되고 있음.(모바일 VR등 수요에 맞추

어 점점 발전할 것으로 보임)

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

Server programming

유닛 연산 서버로 전송 결과 산출 디바이스에 전송 결과 반영

클라이언트의 연산을 서버로 가져오는 구조를 취함. 이로 인해 클라이언트에서 연산의 많은 부분을 비쥬얼 퍼포먼

스에서 확보 할 수 있었음

화면에 등장하는 유닛의 숫자가 많기 때문에 클라이언트 연산을 최대한 분산하기 위한 해결책으로 개발(서버쪽 작

업 진행여부에 따라서 수시로 타겟 디바이스에서 퍼포먼스 체크)

연산, 충돌처리, 길찾기 등 전투에서 발생하는 많은 부분을 서버에서 처리 해줌으로 퍼포먼스 확보. 전투에서 서버에

서 처리되는 부분에서 지연되는 현상을 줄이기 위해 여러 방법 고려(패킷 줄이기, 쓰레드 추가 등)

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

batching

Drawcall을 소비하여 그려진 mesh를 다시 그릴때 연산

을 줄이기 위한 기법

Static Batching(정적배칭)

움직이지 않는 object가 해당되며 300개의 vertex 이하

에서만 처리된다. (GPU 성능에 따라 변동 있을수 있음)

정적배칭 처리를 할 경우 드로우콜은 아낄수 있지만 카메

라의 뷰에 걸리지 않는 오브젝트 역시 계산을 하기 때문에

컬링 영역을 잘 계산해서 배치하는 쪽이 좋다.(scene에 따

라 오히려 끄는 쪽이 퍼포먼스에 좋은 경우도 있다)

Dynamic Batching(동적 배칭)

움직이는 object가 해당. 정적 배칭에 비해 조금 더 무겁게

처리된다.

Project의 batching을 활성화 할 경우 별도로 체크하지

않더라도 자동으로 활성화 된다

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

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#으로 작성된 코드를 컴포넌트에 붙여서 사용

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

영웅유닛용 말

스킨된 메쉬로 구성

Drawcall : 1

Probe light 사용으

로 Batching 불가.

최대 scene에 5unit

등장.

병사유닛용 말

Mesh animation 사

Drawcall : 12

동적배칭 사용

Probe light 미사용

결전맵에서 산술적으

로 최대 50unit까지

등장.

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

Shadow(그림자)

그래픽에서 공간상의 위치를 인지하고 입체감을 더해주는데 있어 중요한 요수중 하나.

그림자를 그리게 되면 아래 설명한 계산이외에도 그려지는 케릭터의 숫자만큼 폴리카운터가 증가합니다.

유니티에서 제공해주는 그림자는 그림자맵(ShadowMap) 기법을 사용하고 있습니다. 이 기법은 모든 굴곡에 대응하고

자기 그림자(self-shadow)가 처리되는 등 높은 퀄리티를 보여주고 있지만 문제는 성능입니다. ShadowMap 기법은

그림자의 깊이를 저장하는 버퍼를 만들고난 뒤 픽셀 셰이더(Pixel Shader)에서 깊이를 비교하는 과정을 거칩니다.

또한, 넓은 영역을 커버하기위해 여러 구역으로 나누기도하고(cascade) 계단 현상을 없애기 위해 여러번 샘플링하여

필터링을 처리하는 등 부가적인 행위들이 추가됩니다.

- 유니티 코리아 오즈라엘님 글 中

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

NAT Games HIT 플레이 화면

실시간으로 그림자를 그리고 있으나 성능이 낮은 디바이스에서는 그림자를 아예 그

리지 않고 있다.(그외, 블룸 라이트등 몇몇 옵션들이 작동하지 않고 있다)

퍼포먼스에 따라 이렇게 구분해서 적용하는것도 하나의 대안이 될 수 있는 사례

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

Plan Shadow(평면 그림자)

모바일에서 많이 쓰이는 방식으로 원형의 텍스쳐를 오브젝트 아래에 위치 시키는 방법.

필드의 높낮이가 없고 평면으로 이루어진경우에 많이 사용. 단점은 요철이 있는경우 지형에 그림자가 뚫고 들어가는 경

우가 발생. 또한, 근접해서 보일수 있음. 메쉬 평면 그림자 기법이라 하여 LOD 메쉬를 활용한 좀 더 리얼한 그림자를

그리는 기법도 있으나 같은 문제점 존재(지형의 굴곡이 있으면 파고 들어가는 등)

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

Lightmapping

Defense Technica

mobile stage list

iphone 4를 제외한 모든 모

바일 디바이스에서 lightmap

을 사용하여 발매

퍼포먼스에 크게 영향을 주지

않으며 scene을 보다 풍부하

게 표현해줄 수 있는 있음. 또

한 probe light와 조합하여

사용할 경우 보다 풍부한 표

현을 할 수 있음

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

Lighting 조절만으로 각기 다른 stage 연출이 가능.

단순히 stage 분위기만 바뀌는것이 아닌 유닛들도 스테이지 분위기에 어울리는 톤으로 보여줄 수 있다.

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

LOD(Level of Detail)

poly counter 감소에 따른 프레임 레

이트의 변화가 그리 크지 않고 아트 퀄

리티만 나빠지는 결과가 예상.

많이 생성된 건물 프리팹(건물당 6~10

개 정도의 레벨 디자인)을 제작하게 되

어 스케쥴상 비효율적으로 판단(컨셉+

모델링+TA = 1人)

케릭터 쪽 역시 별도의 LOD 메쉬 제작 및 애니메이션 작업 인원이 부족으로 힘들것으로 판단(애니메이션+이펙트 = 1

人)

좀 더 쾌적한 퍼포먼스 확보를 위해서는 적용시키는 것이 좋았겠지만 타겟 디바이스 구동시 LOD를 적용하지 않더라

도 플레이가 가능한 퍼포먼스가 나와 작업하지 않음

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

심플리곤(Simplygon)

Material LOD, Terrain LOD, Mesh LOD, Bone LOD 등 여러가지

LOD작업을 그야말로 버튼 몇 개 누르는걸로 생성해주는 툴.

줄인 리소스의 퀄리티가 원래 리소스의 퀄리티를 해치지 않으면서 좋은 결

과물을 생성해줌.

계정당 월 1시간 이용까지는 무료.

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

섭스탠스 제품군(디자이너, 페인터, B2M)

프랑스 회사. 한국에 지사 있음. 각종 컨퍼런스 및 워크샵에서 꾸

준히 다루어지는 툴이며 국내에서도 해외 유명 아티스트를 초청

한 워크샵 및 교육이 이루어지고 있음

https://www.allegorithmic.com/

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

섭스탠스 디자이너

절차적 텍스쳐링

(Procedural

Texturing) 기반의 텍

스쳐 생성 및 편집이 가

능하며 이를 엔진에서

직접 활용할수도 작성된

텍스쳐를 추출해서 사용

할 수도 있음.

이미 많은 자료가 섭스

텐스 셰어 및 해외 자료

공유 및 판매 사이트를

통해 올라오는 중

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

섭스탠스 페인터

절차적 텍스쳐링(Procedural Texturing) 방식 이외에도 뷰포트를 보며 직접 편집할수도 파티클 브러쉬등을 활용하

여 기존에 작성된 데이터 위에 아티스트가 수정/보완할수도 있다.

단점이라면 PC사양을 많이 탄다.(970 이상 권장)

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

마블러스 디자이너

클로버추얼이라는 국내 회사에서 개발한 패턴 기반의 의류 시뮬레이팅 툴. 자연스러운 옷을 빠른시간에 만들어 낼

수 있기 때문에 점차 사용빈도가 높아지고 있는 추세. (어새신 크리드, 펄어비스의 검은사막, 영화 호빗, 메탈기어

솔리드등)

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

Shader

Unity에서 기본으로 제공하는 built-in shader의

경우 의도대로 표현하는데는 한계가 있으므로 보통

모바일 프로젝트에서는 Custom shader를 작성하

여 사용하거나 Asset Store에서 Shader를 구매하

여 사용하게 됨.

Unity Surface Shader는 기존의 GLSL, HLSL,

Cg 언어에 비해 작성이 매우 간단한 편으로 접근하

기가 용이.

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

야망의 영주님 Character

shader 테스트 이미지 스크린 샷

라이트 프로브 활용을 위해 리소스

텍스쳐에서 추가적으로 보완

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

Texture atlas를 이용해 UV 이동으로 배경 프랍이 작동할때 연출을 표현. (이펙트 없이 텍스쳐 UV 이동만으로 구현)

Prop이 scene에서 서서히 사라지는 효과를 위한 shader

연출

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

배경 오브젝트 프리팹 제작 예시

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

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 포맷

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

0.5MB 128kb 0.5MB

128kb 1.0MB 250kb

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

글로벌 서비스를 한다면 아직은

ES 3.0기반의 작업은 좀 이를수

있으나 ES 3.0 지원이 늘어난다

면 ETC2 사용으로 보다 좋은 퀄

리티로 작업이 가능할 것으로 보

3.0을 지원하지 않는 모델에서도

그려지기는 하지만 Texture가 압

축된 상태가 아닌 메모리 상에서

모두 압축이 해제된 상태로 그려

지게 된다.

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

MipMap

원본 텍스쳐를 다양한 크기로 미리 준비해놓아 카메라 거리에 따라 렌더 되는 크기에 맞추어 사용하는 기술. 텍스쳐 사이즈를 줄

여 사용하므로 대역폭을 줄일수 있는 장점이 있으나 밉맵 데이터를 미리 생성하기 때문에 텍스쳐 용량은 증가한다.

Ex) 1024x1024 ETC 포맷의 경우 0.5MB >> 0.7MB

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

Advanced option을 활성화하면 구체적인 옵션을 제어

할 수 있음

Mipmap 적용시 정보창에서 케릭터 얼굴의 디더링 증상

때문에 케릭터 텍스쳐의 경우는 mipmap을 사용하지 않

배경의 경우 mipmap 적용 여부를 개발 중반부까지 고

심하였으나 test 결과 케릭터에 비해 스케일이 다양하게

보이는 점과 전체 유닛들을 모였을때 지글거림이 눈을 피

로하게 한다는 느낌으로 mipmap을 사용하였으나

filtering 방식을 기본 BOX에서 Kaiser 방식으로 변경.(결

과물에 따라 끄거나 옵션이 다르게 셋팅)

Texture 옵션

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

Character 및 배경은 ETC로 압축된 texture를 기본으로 사용.

타겟 디바이스가 S3(1280x1024)였기 때문에 너무 작은 texture

사용은 지양

ETC로 압축된 texture의 경우 해상도 변경에 따른 용량 증가가 크

게 부담될 수준은 아니라고 판단(1024x1024의 경우 0.7MB)

반면 UI에 사용되는 texture의 경우 RGBA 16bit만으로도 4배의

용량을 차지하게 됨. 알파영역을 가진 PNG파일의 경우 디더링으로

인한 품질저하 때문에 RGBA 32bit를 사용할 경우 8배의 용량을

가지게 됨.

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

Keijiro 씨의 texture compression

plug-in.

16bit RGBA 이미지의 디더링 현상을

개선시켜준다.(UI 이미지 품질 향상을

위한 테스트)

이미지 자체를 변경 시키므로 롤백이 안된다.

UI 담당 디자이너가 툴을 이해하고 직접 엔

진에 올리면서 작업하지 않을경우 별도의 담

당자 필요.

셀 채색 방식의 이미지는 괜찮은 효과를 보

여주지만 그렇지 않을경우 이미지가 뭉개지

는 현상 발생. 결국 사용하지 못함

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

모바일 프로젝트 제작 후기

- 프로젝트 중반까지 계속해서 FPS(Frame per second) 체크. 화면에 올려서 구동되는 것 만으로는 안정적으로

구동되는지 확인 할 수 없기 때문에 명확해지는 단계까지는 계속해서 체크, 그리고 이슈 모니터링

- 엔진 버젼업에 따르는 변동 사항 체크. 대규모 마이그레이션은 프로젝트 진행상황에 맞춰서 결정할 것(특정 파트에

서 요구한다고 올렸다가 예상하지 못하는 문제를 겪을수 있음)

- build 용량은 프로젝트 성격에 맞춰서 결정. 가이드가 분명하다면 프로젝트 퀄리티가 떨어지는 부분을 명확히 인지

하고 가이드 라인을 결정. 또한, 국내 및 해외등 다양한 서비스 환경을 고려하여 결정

- 프로젝트 초기 단계에서 리소스 작업 가이드를 분명하게 결정하고 진행(불필요하게 낭비되는 시간/리소스를 최대한

줄여낼 수 있다)

- poly counter, texture size를 줄인다고 퍼포먼스가 무조건 좋아지지 않는다.(타겟 디바이스에서의 프레임 레이

트 체크 및 profiler 활용하여 어디에서 효율이 나오지 않는부분을 체크하고 개선하는데 중점을 둔다. 하지만, 게임에

서의 비중을 생각해 최종적으로 결정한다)

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

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천원

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

단점

상용 엔진의 무료버젼 베포로 인해 접근성은 높아졌으나 필요한 인력을 여유있게 구성할 정도로 여력

이 있는 개발사가 많지 않음.(프로젝트에서 멀티 포지션을 소화하는 케이스가 많음)

개발기간을 여유있게 확보하기 힘들기 때문에 프로토 단계에서의 충분한 테스트가 쉽지 않아 중간단

계에서 프로젝트 전체적으로 수정이 가해지는 경우가 많음.

높아진 게임 퀄리티로 인해 시장에서의 요구치는 올라갔으나 수익은 기대하기 쉽지 않은 상황

(MMORPG가 많이 개발되던 시기와 같은 딜레마가 모바일에서도 발생)

매우 빠른 모바일 시장의 트렌드에 따라 개발기간 자체에 대한 압박이 심함.

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

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)

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

향후 전망

Metal Vulkan

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

VR 개발 후기

2013년 런칭한 모바일 게임 룸즈2의 VR 버젼

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

풀3D 컨셉의 메인 화면에서 2D 기반의 이미지 선택창으로 출시. 초기 게임 디자인에서 의도한 네가지 테마가 어우러진 건물을 탐험한다는 의도가 반영되지 못한 아쉬움 오리지널 버전 테스트 영상 : https://www.youtube.com/watch?v=a1LbBZTdf38

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

게임 개발 포인트

게임 디자인이 가지고 있는 컨셉(언덕

위의 봄-여름-가을-겨울 네가지 테마

가 섞여있는 미스테리한 집의 방을 탈

출해 나가는 앤의 이야기) 을 최대한

살리는 아트 스타일

VR로써 개발된 게임이 아니기 때문에

기존의 게임의 디자인을 해치는 VR

컨텐츠 삽입은 배제.

퍼즐게임이라는 제한된 시야를 가진

게임을 VR스러운 느낌을 주기 위해

주변공간은 컨셉 문서에서 초기 고려

한 내용에 충실하게 구현.(전체 리소스

는 새로이 제작)

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

VR 아트 이슈

대부분의 리소스가 모바일 개발당시 제작된 소스라 퀄리티가 그리 좋지 않다. 다만, 텍스쳐를 줄여서 제작하지 않

고 엔진에서 조절하였기에 텍스쳐 사이즈 이슈가 없었던게 그나마 다행.

유니티3로 시작해 4로 마무리(?) 되었던 프로젝트 였기에 5에서 문제가 되는 부분들이 있었다

프로젝트 아트 수정 이슈가 예상외로 많았던데다 예정보다 출시 일정이 앞당겨져 일정이 빡빡했다.

(아트 멤버 구성 : AD/TA : 1명, 3D 모델러 : 2명, 컨셉 : 1명, 이펙트 : 1명, 그외 텍스쳐링 서포트 1명)

케릭터 쪽은 그대로 사용해도 크게 무리가 없으리라 판단하고 배경에 집중, Standard shader등 PBS를 고민했

으나 일정 및 인원 문제로 불가능하다고 판단 원 소스를 최대한 활용하는 쪽으로 접근

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

VR 아트 이슈

유저가 바라보는 시선에 옵션역할을

하는 오브젝트를 배치하여 트레킹에

의한 아이콘 활성화 연출

트로피는 Matcap과 rim light를 사용하여 연출하였으나

양안렌더가 되는 VR 플랫폼 특성상 rim light는 제외한채

로 구현.(VR에서 빛 표현에 대한 주의가 필요한 부분)

그외 사소한(?) 유니티5의 예상치 못했던 문제들.

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

GDC 2016 전시 빌드까지는 테마 구현까지는 완성. 최종 빌드까지 마무리 작업중.

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

VR은 게임 이외에 체험형 컨텐츠라는 영역도 가능한 영역.

비쥬얼 퀄리티가 좋으면 좋을수록 HMD를 착용했을때 겪을수 있는 체험의 질이 달라 질 수 있다.

섭스탠스 마스터 클래스 VR 스터디. 언리얼4 VR preview 中

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

Yi SangYun(3D Environment Artist, TA) [email protected] +82 10 9313 0583

Q&A 終