SlideShare une entreprise Scribd logo
1  sur  49
Télécharger pour lire hors ligne
Unity3D Environment art
Defense Technica
Post-Mortem
이 상 윤
Defense Technica로 살펴보는 unity3D 엔진을 활용한 게임 환경 제작후기
- Contents -
1. Defense Technica?
2. Unity3D
3. Graphic 관련 issue들
4. Scaleform 적용
5. 기획, 프로그래밍 파트와의 협조사항
6. 마치며
7. Q&A
Defense Technica
㈜쿠노 인터렉티브에서 제작한 3D 디펜스 게임
。 IOS 출시(2013. 6), Android 출시(2013. 8)
Steam (2013. 10)
XBOX live(2014. 4)
PSN(2014. 4)
Sci-fi style의 Tower Defense game
적 유닛의 침입 루트를 변경할 수 있는 길
돌리기, 유닛과 타워의 상성, 속성, 맵변형
등을 부여한 전략성 요소가 강조된 디펜스
게임
。 효율적인 멀티 플랫폼 제작 : 콘솔
에서 모바일까지(KGC2012)
。 Defense techinca mobile
converting 후기(KGC2013)
Unity3D 소개
viewport
Hierarchy
Project
Inspector
장점
。직관적인 인터페이스, 거기다 Drag and Drop으로 자동 import 및 변동 가능
。프리팹 제작이 용이. 리소스 관리도 엄청 편함.
。대부분의 파일 포맷을 지원(DDS 파일 제외, 별도의 import없음)
。그래픽 퀄리티가 가격대비 성능으로써는 매우 훌륭함.
。lightmapping작업이 상당히 빠르고 간편하게 가능.
。간단한 animation 작업은 엔진내부에서 간단하게 작업 가능.
。필요하면 script 소스 가져다 붙여 써도 됨.(게다가 검색하면 리소스도 많이 나옴)
。강력한 profiling 기능(작업중 수시로 확인 가능)
。빌드조차 간단.(프로그래밍 파트 지원을 받으면 리소스 변경후 직접 빌드 후 확인 가능)
Google 검색으로 기본적
인 자료는 서치 가능
Asset store에도 많음
Mono develop
Devtree illu
Animation
material 및 object의 변화를 animation clip으로 간편하게 제어할수 있음
맵변형 및 발광하는 오브젝트의 발광정도, 움직임까지.
퍼포먼스에 크게 영향을 주지 않아 모바일에서 많이 사용.
단점
。PSD 파일 기반의 alpha가 포함된 texture가 제대로 표시 안되는 경우 발생(Specular map)
- Tiff 포맷으로 사용(콘솔), TGA로 별도로 작업(모바일)
。Terrain 무거움. Collision 무거움
。메모리 누수. Unity3D 관련 이슈들 중에 가장 많이 언급되는 부분.
unity3D로 풀3D web MMORPG 만들기 - 정종필유니티가 당신에게 알려주지 않는 것들 - Dustin lee
Sample 동영상
저작권 문제로 공개할 수 없습니다.
Graphic issue들
이 정도면 날로 먹겠는걸…
어차피 메모리 새는건 프로
그래머들이 알아서 할테고…
…라고 생각했습니다..
좌표계가 다르다~!
。Y-up 기반의 좌표계를 가지고 있음(Maya와 동일)
MAX에서 그냥 (0,0,0)으로 export시 x축으로 -90도 돌아간 상태로 import 됨.
맥스에서 export시 축을 90도 돌려서 export
Group 및 오브젝트 모두 이렇게 작업
프로젝트에 따라 TA가 export tool을 MAX에서
script로 구현해서 쓰는 경우도 있음
UV mirroring
UV 미러링의 경우 meshes 옵션을 조정해서 사용.
Normalmap을 쓰지 않으면 고민하지 않아도 될 문제
일정 문제로 이런 방식 선택
리소스 최적화
PS3, XBOX360에서 구동시 문제 발생. 리소스 최적화 필요
폴리싱 작업
Shader 수정(shader 수정으로 전체 shader의 세부 옵션 값 조정. Lightmap 재작업)
Lightmapping 방식 변경. Directional lightmapping >> single lightmaps
불필요한 메쉬 제거.
맨 상부 mesh의 texture 블렌딩 처리(UDK의 Linear Interpolate와 유사)
Fog는 생각보다 퍼포먼스에 영향을 덜 주더라..(모바일도 마찬가지)
모바일 개발의 첫 인상
。 PC에 비해 작은 화면, 낮은 3D 그래픽 성능이라는 인식
。 터치가 가능한 화면과 조작(손가락으로 드래그, 클릭, 핀투줌)
。 가장 좋은 경우는 콘솔 버전의 데이터를 그대로 모바일에 올리고 UI만 바뀌는 경우
☞ 테스트 결과 가능은 했으나 대부분의 기기에서 구동 불가.
(모바일에 올리기엔 너무 무겁다…. 그리고 IOS 타겟 머신중 iphone 4가…)
。 타겟 머신 선정과 기존 DATA의 최적화의 기준에 대한 고민이 필요
IOS
• 비교적 규격화된 해상도
• 제한사항 : iphone 3GS, i-PAD1에서는 낮은
메모리 용량때문에 구동불가(탈옥시 구동가능)
• I-PAD2부터는 비교적 원활한 플레이 가능
(해상도 차이로 3가 2보다 낮은 퍼포먼스)
• iphone4 : 4S부터는 3D 그래픽 성능 또한 비약적으로
상승하였으나 4의 경우 3GS에 비해 늘어난 해상도에
비해 낮은 그래픽 성능으로 퍼포먼스 저하 발생(가장
이슈가 되었던 기기.. 그냥 빼면 안될까요..)
Android
• Android 개발의 가장 큰 이슈
다양한 해상도 지원에 대한 기준 선정
• 낮은 성능의 기기에서부터 고성능 하이엔드 기기
까지 다양한 기기 존재
• 제조사 firmware 업그레이드가 되지 않은 경우 지
원이 되지 않는 경우 존재(Android 2.3 진저브레
드부터 구동) : 일부 최신 기기에서 구동이 되지
않는 상황 발생
• 특정 기기에서 구동되지 않는 문제(Shader 문제 :
통칭 보라돌이).
• Scaleform 사용을 고려하게된 이슈이기도 함
Samsung Galaxy Series resolution
S, S2, K, A, U : 480x800
Note 2, S2 HD LTE, S3 : 720x1280
Note : 800x1280
S4 : 1920x1080
Android
QHD의 등장(2560x1440). 27인치 이상의 LCD 모니
터의 해상도와 동급. 노트4도 비슷한 해상도 예상
iOS
iPad Air, Retina, mini retina : 2048x1536
6에서 1920x1080 or 2272x1280 예상(2014.2)
갈수록 고해상도화 되어가는 기기에 대해 대응 방식
을 결정할 필요성 존재.
Pixel size의 변화
Mobile 해상도가 초기 기기들에 비해 고 해상도화가 진행.(FHD, QHD까지)
(S4의 경우 23, 24인치 모니터와 동일한 해상도를 5인치 정도의 화면에 가진다 – 1920x1080)
화면크기가 1/5 수준으로 줄어들지만 해상도는 변함이 없다.(24인치 기준 0.27mm>>0.05mm)
픽셀의 수가 줄어들어 화면이 작아지는 것이 아닌 pixel 크기 자체가 줄어들었음
작은 화면이라고 Texture resolution을 낮게 작업했다가는 pixel이 다 늘어난 흐릿한 화면을 볼 수 있다.
게임에선 Mipmap이 적용되므로 texture size는 적절하게 작업 후 최종 빌드에서 용량을 맞추기 위해 조절
대부분의 Texture resizing 없이 진행(Normal, illumination map을 쓰지 않아서 전체 맵 숫자는 줄어듬)
15인치 1024x768 : 786,432 pixels
24인치 1920x1080 : 2,073,600 pixels
3.5인치 : 640x960 : 614,400 pixels(iphone 4)
5인치 : 1920x1080 : 2,073,600 pixels(S4)
Graphic 관련 issue들
Shader
• Bumped specular , Blend shader 사용하지 않음
• Illumination이 적용된 shader는 Tower에만 적용
(배경에서는 lightmap으로 대체)
• Diffuse color는 Vertex color 적용 되는 것과 그렇지 않은 것을
구분해 사용(Lightmap, LightmapVertexColor)
Alpha channel이 포함된
texture의 경우 자동으로
RGBA 16bit으로 저장됨
Transparent texture 사용시 품질 저하에 따른 이슈
사용자가 Tegra 같은 어떤 특정 하드웨어를 목표로 하지 않는다면 저희는 ETC1 압축 사용을 권장합니다. 필요할 경우 외부(external) 알파 채널
을 저장할 수 있으면서도 낮은 텍스쳐 종류의 이득을 받을 수 있습니다. 만약 사용자가 반드시 텍스쳐에 알파 채널을 저장하길 원하면 모든 하드
웨어 공급 업체에서 지원하는 압축인 RGBA16 bit을 사용하세요.
사용자 앱이 지원되지 않는 텍스쳐 압축(compression)을 사용하면 그 텍스쳐는 RGBA32로 무압축(uncompressed)되며 압축된 것들과 함께
메모리에 저장이 됩니다. 그래서 이 경우 텍스쳐의 압축을 푸는데 시간을 잃게되며 두번의 저장으로 인해 메모리 손실을 봅니다. 이것은 또한 렌
더링 성능에도 아주 부정적인 영향을 줄 수 있습니다. - Unity 공식문서 中
ETC 4 bits로 저장시
170.7kb  42.7kb
IOS에서는 자동으로 PVRTC 4bits
포맷으로 texture가 compressed
됨
Transparent texture 사용시 품질 저하에 따른 이슈(IOS)
PVRTC는 오로지 2의 n승으로만 texture를 사용되기 때문에 비정방 texture의 경우 IOS 포팅시 이미
지가 제대로 표시 안되는 증상 발생
 매핑 소스의 경우 UV 좌표값에 의해 일그러짐에 상관없이 화면에 그려지나 UI의 경우에 제대로 표
시 안됨
 모든 UI 이미지 소스 재작업
Mobile stage 30
Transparent texture 품질 저하에 대한 해결
기술문서의 가이드대로 alpha channel이 포함된
texture의 경우 alpha channel texture를 따로 제작
(이렇게해도 ETC compressed 된 texture 두장이
RGBA 16bit texture 한장의 용량보다 작음)
Alpha channel을 따로 적용받는 Shader 제작
※ 배경 파티클 소스의 경우, 그냥 사용되었음
Mobile stage 11
Core Unit 수정
Console core unit
• 모바일 염두가 없던 단계에서 제작된 유닛이라 수정하기 힘
든 상태로 모델링/매핑이 되어있음
• 모델링 우선 수정(1/3수준), 매핑 재작업 (Texture, UV)
• Core effect 및 애니메이션 전부 재작업
• 처음부터 모바일 플랫폼을 고려했다면 좀 더 짧은 시간에 작
업이 진행되었을 것으로 생각됨
4006 tris 1450 tris
Mobile core unit
Console Core Unit diffuse texture Mobile Core Unit diffuse texture
Tower Unit 수정
• Poly counter를 줄이는 작업대신 모바일용 타워를 새롭게 제작
• 같은 계열 타워는 하나의 texture 소스로 통합하여 사용(color는 illumination color로 구분)
• 작게 보이는 화면 특성상 유닛 특성을 실루엣으로 보여지도록 디자인
• 높은 단계의 Tower를 먼저 모델링하고 줄여나가는 방식으로 작업
console machine gun tower
mobile machine gun tower
Enemy Unit 수정
• Poly counter는 콘솔단계에서 최적화 작업이 진행 되었기에 별도의 작업을 하지 않음
(콘솔 최적화 관련 이슈)
• Bumped specular shader  Diffuse shader로 변경
• LOD 작업 추가.(작업중에 Unity 버젼업으로 LOD 추가~!)
Animation 수정
Mobile versionConsole version
촉수형태의 Unit이라 가장 많은 joint 개수를
가진 타워(Melee type tower unit :
Electro tentacloid)
Animation Joint 개수 수정
불필요한 모션 간소화.
(심지어 4단계에는 이펙트까지 붙어있음)
그대로 쓰기는 무리라 판단 모든 스테이지를 모바일 퍼포먼스 가
이드에 맞추어 수정 결정(stage당 6,000 poly counter)
Stage 모바일 버전으로 수정
Console stage list
Mobile stage list
메인 스테이지 : 20개
DLC 1차 : 8개
DLC 2차 : 8개
콘솔 작업시 스테이지당 평균 2~3주
모바일 스테이지당 : 평균 2.4일. 중간에 문제 생겼을시
스테이지 하나당 1.5일안에 작업해야 하는 상황
lightmappingUV 직접 펴야 됩니다…!!!
Maya(layout기능), 각종 plug-in, add tool 등..
결론 : 직접 작업하는게 가장 잘나옴…
IOS stage 20 출시 + DLC 1차 패치
Android stage 20 + DLC 1차(8개) 포함 출시
한땀. 한땀. 알지?
오빠 궁서체다.
Lightmapping
Unity는 Beast Engine 내장
Steam : Directional lightmapping
PS3, XBOX360 : Directional lightmapping >> Single
lightmap.로 변경
Generate lightmap UV check로 2nd UV 작업 없이 진
행. DLC만 직접 작업
Android, IOS : Single lightmap
☞ IOS 포팅시 lightmapping UV가 어긋나는 증상을 확
인. 개선 방법을 찾는 것이 일정상 무리 및 적은 사이즈
로 좋은 퀄리티를 내기 위해 직접 작업하기로 결정
※ 이 문제는 Unity3D 버전 업으로 개선되었음
결국 나중에 Steam, PS3, XBOX360 모두
lightmapping은 재작업.(기기별 특성 존재)
Console stage 09
Mobile stage 09
Light mapping texture size의 최적화
Generate lightmap UV option을 사
용하지 않고 맥스에서 직접 lightmap
channel UV 작업후 export
Directional lightmaps
Steam(2048x2048)
Single lightmaps
XBOX, PS3(1024x1024)
Android, IOS(512x512, 512x256)
2nd UV 활용을 위한 Light mapping
Console DLC stage 26
UDK3 에서처럼 resolution 설정만으로는 lightmap scale을 조절할 수 없고 lightmapping menu의 Scale in Lightmap으
로 조절.
Fog의 사용
모바일 콘솔 모두 사용
퍼포먼스에 크게 영향을 미치지 않음
파티클 플랜과 적절히 섞어 사용시 좋
은 효과
Console Stage 24
Blender shader의 대체
Console stage 14 mobile stage 14
콘솔버젼에서 마스킹된 texture를 사용한 blending된 texture로 바닥을 표현하였으나 mobile에서는 사용하지 않기로 결정
분위기에 따라 stage별 수정한 Texture와 수정되지 않은 texture를 모두 사용하여 분위기 연출
Blender shader의 대체(2)
Console stage 17 mobile stage 17
Texture 한장을 더 써서 blending 된 것처럼 처리
Water shader는 Unity3D에서 지원하는 shader 그대로 사용(iphone 4에서는 transparent texture로 작업된 플랜으로 대체)
Illumination shader 대체
스테이지 카메라 각도에 따라 2개 이상은 point
light를 배치하여 연출
Console stage 01 Mobile stage 01
타워와는 달리 배경 Asset에 대해서는 발광하
는 부분에 대해 illumination shader를 사용하
지 않고 point light를 배치하여 lightmapping
texuture에 빛이 그려지도록 하여 발광하는 표
현.
Mobile stage 31
고정된 카메라 각도에 따라 플레이가 이루어지
므로 씬에 따라 라이팅 배치를 조절
Probe lighting
Probe의 배치는 콘솔과 크게 다르지 않음
Probe light에 영향을 받는 prop이 Bumped
specular일때와 diffuse만 받을때 차이가 발생
하기에 적정값을 확인하면서 Light의 세기를 조
절하여 baking
기기 성능에 따라 Use probe lighting 옵션을
제어하여 퍼포먼스 확보(iphone 4)
Mobile stage 01 Console stage 01
Use light probe On Use light probe Off
Lighting 톤 변화를 활용한 stage 연출
Mobile stage 11 Mobile stage 36
Mobile stage 28 Mobile stage 31
Unit Effect 수정
Mobile flame tower effectConsole flame tower effect
파티클 단순화. 파티클
수 최적화
다량의 파티클을 하나의
플랜으로 처리(연출 자체
의 변화로 최적화)
Mobile mortar tower effectConsole mortar tower effect
파티클의 입자 감소/최적화
Core Effect 수정
Console core 파괴 연출 effect
Mobile core 파괴 연출 effect
강렬하게 연출한 effect 효과를 최대한 단순하게 표현. 연출 시간도 간소화
Console과 mobile stats 비교
Steam steage 19 Mobile stage 19
동일해상도 PC에서 play한 화면을 캡쳐
Scaleform 사용 후기(장점)
다양한 해상도의 모바일 기기의 대응을 위한 해결책으로 사용
• 장점
• UI상에서 effect 처리/배치를 UI 디자이너가 프로그래머를 통하지 않고 직접 작업이 가능함
• 검증된 생산성(스케일폼이라는 미들웨어를 통한 UI 작업)
• 모바일 기기의 다양한 해상도에 신경쓸 필요가 없다(약간의 script 설정은 필요)
• 언어(localizing 관련) 작업이 수월
• 프로그래머가 직접 UI 배치를 하지 않아도 되니 좋다
Scaleform 사용 후기(단점)
• 단점
• 모바일에서 제약이 사항이 많다.(PC에서 사용가능하나 쓰지 못하는 기능이 있음)
: 프로그램 안정화가 안되서 생기는 듯(기기별 작동하기도 안하기도 하는 문제)
• 미구현 기능이 많고 예정 기능이 많다.(언제 구현될지 미지수)
• 프로그래머가 도와주지 않으면 디자이너가 직접 scripting을 해야하는 부담
• 작동에 관한 개선/구현에 대해 전달이 명확하지 않으면 프로그래머측에서 혼선을 가질 수 있음
• 화면 비율에 따라서 이상하게 보일 수 있다.(재작업을 통해 보완이 필요)
• 모듈이 불안정. 무비클립을 확실히 제거해 주지 않으면 메모리에 계속 남아있다(메모리 샌다는 이야기가 많음)
기획 파트와의 협조사항
。 Stage level design의 특징과 경험은 유지하면서 size를 줄이는 문제
。 Performance 저하 구간에서 wave time을 조절함으로써 한 화면에 그려지는 mesh양을 조절
(콘솔에서처럼 한 화면에 그려지는 적 유닛의 숫자가 너무 많아 퍼포먼스가 저하되는 이슈에 대한 대응)
。 더불어 난이도 조절(시스템적으로 조절하는게 기준)
。 모바일 유저 특성에 맞추어 난이도 하양 조정(그래도 재미는 있는데 어렵다는 평…)
QA 피드백에 의해 stage에서 조
작에 방해되는 요소의 수정
 Stage 01의 tutorial scene
play화면
프로그래밍 파트와의 협조사항
。 Transparent texture의 사용 조절
(사용된 prop을 따로 관리하여 기기에 따라 켜고 끌수 있게 제어)  iphone 4
。 Unity3D profiler를 활용하여 퍼포먼스 체크
。IOS, Android 각 OS에서 지원하는 profiler를 통해 memory와 frame rate 를 체크해서 적정 Art resource 수준을 결정
Game 화면의 stats창으로 코스트 확인
기기 성능에 따라 FX 를 켜고 끌수 있게 제어
마치며…
• 모바일화 작업은 그냥 DATA를 모바일에 맞게 바꾸는 작업이 아님
멀티 플랫폼 대응을 사전에 충분히 고려한 작업 프로세스를 만들어야 함
: Technical art issue에 대해 TA 혹은 프로그래머와의 긴밀한 협조
• 무조건 간단하게, 최소한으로 작업하기보다 타겟 머신(Target machine)을 분명히 설정하
고 그 기기의 스펙에 맞는 적정 퍼포먼스 코스트를 결정하는 것이 중요
• 실제 게임에서 필요한 퀄리티와 담당 작업자가 원하는 퀄리티 차이에 대해 고려해볼 필요
성(비쥬얼 퀄리티와 퍼포먼스 퀄리티의 차이에 대한 이해)
• Art process상에서 살릴것은 살리고 버릴것은 버리는 과감한 결단성이 필요
게임 3D 배경 아티스트 -
https://www.facebook.com/groups/3Dbackground/
Q & A
이 상 윤(현재 백수)
illustor@gmail.com Special thanks to
적극적으로 ppt 제작에 피드백 해주신 동료 분들
디펜스 테크니카를 응원 해주셨던 많은 분들께 감사 드립니다.
終

Contenu connexe

Tendances

Unity3D로 풀3D web mmorpg 만들기
Unity3D로 풀3D web mmorpg 만들기Unity3D로 풀3D web mmorpg 만들기
Unity3D로 풀3D web mmorpg 만들기JP Jung
 
영웅의 군단의 테크니컬 아트 - 황재철, 유나이트 코리아 2014
영웅의 군단의 테크니컬 아트 - 황재철, 유나이트 코리아 2014영웅의 군단의 테크니컬 아트 - 황재철, 유나이트 코리아 2014
영웅의 군단의 테크니컬 아트 - 황재철, 유나이트 코리아 2014NDOORS
 
2009-2016 기본기(손맵)의 중요성
2009-2016 기본기(손맵)의 중요성2009-2016 기본기(손맵)의 중요성
2009-2016 기본기(손맵)의 중요성Gunho Shin
 
유니티 게임 그래픽스 아트 개발 사례 분석
유니티 게임 그래픽스 아트 개발 사례 분석유니티 게임 그래픽스 아트 개발 사례 분석
유니티 게임 그래픽스 아트 개발 사례 분석SangYun Yi
 
NDC2015 유니티 정적 라이팅 이게 최선인가요
NDC2015 유니티 정적 라이팅 이게 최선인가요  NDC2015 유니티 정적 라이팅 이게 최선인가요
NDC2015 유니티 정적 라이팅 이게 최선인가요 Wuwon Yu
 
[Ndc11 박민근] deferred shading
[Ndc11 박민근] deferred shading[Ndc11 박민근] deferred shading
[Ndc11 박민근] deferred shadingMinGeun Park
 
유니티 Rpg게임배경 스타트업 6번째 스터디자료
유니티 Rpg게임배경 스타트업 6번째 스터디자료유니티 Rpg게임배경 스타트업 6번째 스터디자료
유니티 Rpg게임배경 스타트업 6번째 스터디자료Je Lyoung Kim
 
스크린 스페이스 데칼에 대해 자세히 알아보자(워햄머 40,000: 스페이스 마린)
스크린 스페이스 데칼에 대해 자세히 알아보자(워햄머 40,000: 스페이스 마린)스크린 스페이스 데칼에 대해 자세히 알아보자(워햄머 40,000: 스페이스 마린)
스크린 스페이스 데칼에 대해 자세히 알아보자(워햄머 40,000: 스페이스 마린)포프 김
 
multi plaform Full3D MMO 만들기 "삼국지를 품다"의 테크니컬 아트
multi plaform Full3D MMO 만들기 "삼국지를 품다"의 테크니컬 아트multi plaform Full3D MMO 만들기 "삼국지를 품다"의 테크니컬 아트
multi plaform Full3D MMO 만들기 "삼국지를 품다"의 테크니컬 아트JP Jung
 
NDC2016 프로젝트 A1의 AAA급 캐릭터 렌더링 기술
NDC2016 프로젝트 A1의 AAA급 캐릭터 렌더링 기술NDC2016 프로젝트 A1의 AAA급 캐릭터 렌더링 기술
NDC2016 프로젝트 A1의 AAA급 캐릭터 렌더링 기술Ki Hyunwoo
 
[Kgc2012] deferred forward 이창희
[Kgc2012] deferred forward 이창희[Kgc2012] deferred forward 이창희
[Kgc2012] deferred forward 이창희changehee lee
 
구세대 엔진 신데렐라 만들기 최종본 유트브2
구세대 엔진 신데렐라 만들기 최종본 유트브2구세대 엔진 신데렐라 만들기 최종본 유트브2
구세대 엔진 신데렐라 만들기 최종본 유트브2Kyoung Seok(경석) Ko(고)
 
니시카와젠지의 3 d 게임 팬을 위한 ps4
니시카와젠지의 3 d 게임 팬을 위한 ps4니시카와젠지의 3 d 게임 팬을 위한 ps4
니시카와젠지의 3 d 게임 팬을 위한 ps4민웅 이
 
191019 Forward / Deferred Rendering
191019 Forward / Deferred Rendering191019 Forward / Deferred Rendering
191019 Forward / Deferred RenderingKWANGIL KIM
 
유니티 Rpg게임배경 스타트업 5번째 스터디 자료
유니티 Rpg게임배경 스타트업 5번째 스터디 자료유니티 Rpg게임배경 스타트업 5번째 스터디 자료
유니티 Rpg게임배경 스타트업 5번째 스터디 자료Je Lyoung Kim
 
Igc2016 Technical Artist가 뭐하는 사람이에요?
Igc2016 Technical Artist가 뭐하는 사람이에요?Igc2016 Technical Artist가 뭐하는 사람이에요?
Igc2016 Technical Artist가 뭐하는 사람이에요?SangYun Yi
 
gametech 2012 Gladius project
gametech 2012 Gladius projectgametech 2012 Gladius project
gametech 2012 Gladius projectWuwon Yu
 
게임 개발을 위한 렌더링 기법 한성환
게임 개발을 위한 렌더링 기법   한성환게임 개발을 위한 렌더링 기법   한성환
게임 개발을 위한 렌더링 기법 한성환Yggdrasil610
 
[데브루키/141206 박민근] 유니티 최적화 테크닉 총정리
[데브루키/141206 박민근] 유니티 최적화 테크닉 총정리[데브루키/141206 박민근] 유니티 최적화 테크닉 총정리
[데브루키/141206 박민근] 유니티 최적화 테크닉 총정리MinGeun Park
 
[Kgc2013] 모바일 엔진 개발기
[Kgc2013] 모바일 엔진 개발기[Kgc2013] 모바일 엔진 개발기
[Kgc2013] 모바일 엔진 개발기changehee lee
 

Tendances (20)

Unity3D로 풀3D web mmorpg 만들기
Unity3D로 풀3D web mmorpg 만들기Unity3D로 풀3D web mmorpg 만들기
Unity3D로 풀3D web mmorpg 만들기
 
영웅의 군단의 테크니컬 아트 - 황재철, 유나이트 코리아 2014
영웅의 군단의 테크니컬 아트 - 황재철, 유나이트 코리아 2014영웅의 군단의 테크니컬 아트 - 황재철, 유나이트 코리아 2014
영웅의 군단의 테크니컬 아트 - 황재철, 유나이트 코리아 2014
 
2009-2016 기본기(손맵)의 중요성
2009-2016 기본기(손맵)의 중요성2009-2016 기본기(손맵)의 중요성
2009-2016 기본기(손맵)의 중요성
 
유니티 게임 그래픽스 아트 개발 사례 분석
유니티 게임 그래픽스 아트 개발 사례 분석유니티 게임 그래픽스 아트 개발 사례 분석
유니티 게임 그래픽스 아트 개발 사례 분석
 
NDC2015 유니티 정적 라이팅 이게 최선인가요
NDC2015 유니티 정적 라이팅 이게 최선인가요  NDC2015 유니티 정적 라이팅 이게 최선인가요
NDC2015 유니티 정적 라이팅 이게 최선인가요
 
[Ndc11 박민근] deferred shading
[Ndc11 박민근] deferred shading[Ndc11 박민근] deferred shading
[Ndc11 박민근] deferred shading
 
유니티 Rpg게임배경 스타트업 6번째 스터디자료
유니티 Rpg게임배경 스타트업 6번째 스터디자료유니티 Rpg게임배경 스타트업 6번째 스터디자료
유니티 Rpg게임배경 스타트업 6번째 스터디자료
 
스크린 스페이스 데칼에 대해 자세히 알아보자(워햄머 40,000: 스페이스 마린)
스크린 스페이스 데칼에 대해 자세히 알아보자(워햄머 40,000: 스페이스 마린)스크린 스페이스 데칼에 대해 자세히 알아보자(워햄머 40,000: 스페이스 마린)
스크린 스페이스 데칼에 대해 자세히 알아보자(워햄머 40,000: 스페이스 마린)
 
multi plaform Full3D MMO 만들기 "삼국지를 품다"의 테크니컬 아트
multi plaform Full3D MMO 만들기 "삼국지를 품다"의 테크니컬 아트multi plaform Full3D MMO 만들기 "삼국지를 품다"의 테크니컬 아트
multi plaform Full3D MMO 만들기 "삼국지를 품다"의 테크니컬 아트
 
NDC2016 프로젝트 A1의 AAA급 캐릭터 렌더링 기술
NDC2016 프로젝트 A1의 AAA급 캐릭터 렌더링 기술NDC2016 프로젝트 A1의 AAA급 캐릭터 렌더링 기술
NDC2016 프로젝트 A1의 AAA급 캐릭터 렌더링 기술
 
[Kgc2012] deferred forward 이창희
[Kgc2012] deferred forward 이창희[Kgc2012] deferred forward 이창희
[Kgc2012] deferred forward 이창희
 
구세대 엔진 신데렐라 만들기 최종본 유트브2
구세대 엔진 신데렐라 만들기 최종본 유트브2구세대 엔진 신데렐라 만들기 최종본 유트브2
구세대 엔진 신데렐라 만들기 최종본 유트브2
 
니시카와젠지의 3 d 게임 팬을 위한 ps4
니시카와젠지의 3 d 게임 팬을 위한 ps4니시카와젠지의 3 d 게임 팬을 위한 ps4
니시카와젠지의 3 d 게임 팬을 위한 ps4
 
191019 Forward / Deferred Rendering
191019 Forward / Deferred Rendering191019 Forward / Deferred Rendering
191019 Forward / Deferred Rendering
 
유니티 Rpg게임배경 스타트업 5번째 스터디 자료
유니티 Rpg게임배경 스타트업 5번째 스터디 자료유니티 Rpg게임배경 스타트업 5번째 스터디 자료
유니티 Rpg게임배경 스타트업 5번째 스터디 자료
 
Igc2016 Technical Artist가 뭐하는 사람이에요?
Igc2016 Technical Artist가 뭐하는 사람이에요?Igc2016 Technical Artist가 뭐하는 사람이에요?
Igc2016 Technical Artist가 뭐하는 사람이에요?
 
gametech 2012 Gladius project
gametech 2012 Gladius projectgametech 2012 Gladius project
gametech 2012 Gladius project
 
게임 개발을 위한 렌더링 기법 한성환
게임 개발을 위한 렌더링 기법   한성환게임 개발을 위한 렌더링 기법   한성환
게임 개발을 위한 렌더링 기법 한성환
 
[데브루키/141206 박민근] 유니티 최적화 테크닉 총정리
[데브루키/141206 박민근] 유니티 최적화 테크닉 총정리[데브루키/141206 박민근] 유니티 최적화 테크닉 총정리
[데브루키/141206 박민근] 유니티 최적화 테크닉 총정리
 
[Kgc2013] 모바일 엔진 개발기
[Kgc2013] 모바일 엔진 개발기[Kgc2013] 모바일 엔진 개발기
[Kgc2013] 모바일 엔진 개발기
 

Similaire à Devtree illu

Ndc2013 정리(upload버전)
Ndc2013 정리(upload버전)Ndc2013 정리(upload버전)
Ndc2013 정리(upload버전)Minsu Park
 
Gamebryo LightSpeed (Korean)
Gamebryo LightSpeed (Korean)Gamebryo LightSpeed (Korean)
Gamebryo LightSpeed (Korean)Gamebryo
 
증강현실을 통한 두더지잡기 게임
증강현실을 통한 두더지잡기 게임증강현실을 통한 두더지잡기 게임
증강현실을 통한 두더지잡기 게임Junhee Han
 
전형규, 가성비 좋은 렌더링 테크닉 10선, NDC2012
전형규, 가성비 좋은 렌더링 테크닉 10선, NDC2012전형규, 가성비 좋은 렌더링 테크닉 10선, NDC2012
전형규, 가성비 좋은 렌더링 테크닉 10선, NDC2012devCAT Studio, NEXON
 
에코노베이션 3차 세미나 교안
에코노베이션 3차 세미나 교안에코노베이션 3차 세미나 교안
에코노베이션 3차 세미나 교안Lee Jungpyo
 
20140514 team blender_v01 (Korean)
20140514 team blender_v01 (Korean)20140514 team blender_v01 (Korean)
20140514 team blender_v01 (Korean)Dongho Kim
 
증강현실을 통한 두더지잡기 게임
증강현실을 통한 두더지잡기 게임증강현실을 통한 두더지잡기 게임
증강현실을 통한 두더지잡기 게임Junhee Han
 
증강현실을 통한 두더지잡기 게임
증강현실을 통한 두더지잡기 게임증강현실을 통한 두더지잡기 게임
증강현실을 통한 두더지잡기 게임Junhee Han
 
전형규, M2 클라이언트 스레딩 아키텍쳐, NDC2013
전형규, M2 클라이언트 스레딩 아키텍쳐, NDC2013전형규, M2 클라이언트 스레딩 아키텍쳐, NDC2013
전형규, M2 클라이언트 스레딩 아키텍쳐, NDC2013devCAT Studio, NEXON
 
[1002 조진현]unity3d 소개
[1002 조진현]unity3d 소개[1002 조진현]unity3d 소개
[1002 조진현]unity3d 소개진현 조
 
[IGC 2017] 넥스트플로어 김영수 - Protocol:hyperspace Diver 개발 포스트모템
[IGC 2017] 넥스트플로어 김영수 - Protocol:hyperspace Diver 개발 포스트모템[IGC 2017] 넥스트플로어 김영수 - Protocol:hyperspace Diver 개발 포스트모템
[IGC 2017] 넥스트플로어 김영수 - Protocol:hyperspace Diver 개발 포스트모템강 민우
 
Ndc2010 김주복, v3. 마비노기2아키텍처리뷰
Ndc2010   김주복, v3. 마비노기2아키텍처리뷰Ndc2010   김주복, v3. 마비노기2아키텍처리뷰
Ndc2010 김주복, v3. 마비노기2아키텍처리뷰Jubok Kim
 
모바일웹Ui개발 저자세미나 1부
모바일웹Ui개발 저자세미나 1부모바일웹Ui개발 저자세미나 1부
모바일웹Ui개발 저자세미나 1부NAVER D2
 
이미지와 애니메이션 효과 적용하기
이미지와 애니메이션 효과 적용하기이미지와 애니메이션 효과 적용하기
이미지와 애니메이션 효과 적용하기Devgear
 
[0326 박민근] deferred shading
[0326 박민근] deferred shading[0326 박민근] deferred shading
[0326 박민근] deferred shadingMinGeun Park
 
NDC2011 - 카메라 시스템을 통해 살펴보는 인터랙티브 시스템 개발의 문제점
NDC2011 - 카메라 시스템을 통해 살펴보는 인터랙티브 시스템 개발의 문제점NDC2011 - 카메라 시스템을 통해 살펴보는 인터랙티브 시스템 개발의 문제점
NDC2011 - 카메라 시스템을 통해 살펴보는 인터랙티브 시스템 개발의 문제점Jubok Kim
 
크게, 아름답게,빠르게, 일관되게 만들기: Just Cause 2 개발에서 배운 교훈들 (GPU Pro)
크게, 아름답게,빠르게, 일관되게 만들기: Just Cause 2 개발에서 배운 교훈들 (GPU Pro)크게, 아름답게,빠르게, 일관되게 만들기: Just Cause 2 개발에서 배운 교훈들 (GPU Pro)
크게, 아름답게,빠르게, 일관되게 만들기: Just Cause 2 개발에서 배운 교훈들 (GPU Pro)민웅 이
 
[IGC2017] Protocol:hyperspace Diver 개발 포스트모템
[IGC2017] Protocol:hyperspace Diver 개발 포스트모템[IGC2017] Protocol:hyperspace Diver 개발 포스트모템
[IGC2017] Protocol:hyperspace Diver 개발 포스트모템Young Soo Kim
 
[IGC 2017] 에픽게임즈 최용훈 - 밤낮으로 부수고 짓고 액션 빌딩 게임 만들기 - 포트나이트
[IGC 2017] 에픽게임즈 최용훈 - 밤낮으로 부수고 짓고 액션 빌딩 게임 만들기 - 포트나이트[IGC 2017] 에픽게임즈 최용훈 - 밤낮으로 부수고 짓고 액션 빌딩 게임 만들기 - 포트나이트
[IGC 2017] 에픽게임즈 최용훈 - 밤낮으로 부수고 짓고 액션 빌딩 게임 만들기 - 포트나이트강 민우
 
유니티3D 2017의 UI Sprite Atlas 와 아쉬운 UI 기능들
유니티3D 2017의 UI Sprite Atlas 와 아쉬운 UI 기능들유니티3D 2017의 UI Sprite Atlas 와 아쉬운 UI 기능들
유니티3D 2017의 UI Sprite Atlas 와 아쉬운 UI 기능들Hong-Gi Joe
 

Similaire à Devtree illu (20)

Ndc2013 정리(upload버전)
Ndc2013 정리(upload버전)Ndc2013 정리(upload버전)
Ndc2013 정리(upload버전)
 
Gamebryo LightSpeed (Korean)
Gamebryo LightSpeed (Korean)Gamebryo LightSpeed (Korean)
Gamebryo LightSpeed (Korean)
 
증강현실을 통한 두더지잡기 게임
증강현실을 통한 두더지잡기 게임증강현실을 통한 두더지잡기 게임
증강현실을 통한 두더지잡기 게임
 
전형규, 가성비 좋은 렌더링 테크닉 10선, NDC2012
전형규, 가성비 좋은 렌더링 테크닉 10선, NDC2012전형규, 가성비 좋은 렌더링 테크닉 10선, NDC2012
전형규, 가성비 좋은 렌더링 테크닉 10선, NDC2012
 
에코노베이션 3차 세미나 교안
에코노베이션 3차 세미나 교안에코노베이션 3차 세미나 교안
에코노베이션 3차 세미나 교안
 
20140514 team blender_v01 (Korean)
20140514 team blender_v01 (Korean)20140514 team blender_v01 (Korean)
20140514 team blender_v01 (Korean)
 
증강현실을 통한 두더지잡기 게임
증강현실을 통한 두더지잡기 게임증강현실을 통한 두더지잡기 게임
증강현실을 통한 두더지잡기 게임
 
증강현실을 통한 두더지잡기 게임
증강현실을 통한 두더지잡기 게임증강현실을 통한 두더지잡기 게임
증강현실을 통한 두더지잡기 게임
 
전형규, M2 클라이언트 스레딩 아키텍쳐, NDC2013
전형규, M2 클라이언트 스레딩 아키텍쳐, NDC2013전형규, M2 클라이언트 스레딩 아키텍쳐, NDC2013
전형규, M2 클라이언트 스레딩 아키텍쳐, NDC2013
 
[1002 조진현]unity3d 소개
[1002 조진현]unity3d 소개[1002 조진현]unity3d 소개
[1002 조진현]unity3d 소개
 
[IGC 2017] 넥스트플로어 김영수 - Protocol:hyperspace Diver 개발 포스트모템
[IGC 2017] 넥스트플로어 김영수 - Protocol:hyperspace Diver 개발 포스트모템[IGC 2017] 넥스트플로어 김영수 - Protocol:hyperspace Diver 개발 포스트모템
[IGC 2017] 넥스트플로어 김영수 - Protocol:hyperspace Diver 개발 포스트모템
 
Ndc2010 김주복, v3. 마비노기2아키텍처리뷰
Ndc2010   김주복, v3. 마비노기2아키텍처리뷰Ndc2010   김주복, v3. 마비노기2아키텍처리뷰
Ndc2010 김주복, v3. 마비노기2아키텍처리뷰
 
모바일웹Ui개발 저자세미나 1부
모바일웹Ui개발 저자세미나 1부모바일웹Ui개발 저자세미나 1부
모바일웹Ui개발 저자세미나 1부
 
이미지와 애니메이션 효과 적용하기
이미지와 애니메이션 효과 적용하기이미지와 애니메이션 효과 적용하기
이미지와 애니메이션 효과 적용하기
 
[0326 박민근] deferred shading
[0326 박민근] deferred shading[0326 박민근] deferred shading
[0326 박민근] deferred shading
 
NDC2011 - 카메라 시스템을 통해 살펴보는 인터랙티브 시스템 개발의 문제점
NDC2011 - 카메라 시스템을 통해 살펴보는 인터랙티브 시스템 개발의 문제점NDC2011 - 카메라 시스템을 통해 살펴보는 인터랙티브 시스템 개발의 문제점
NDC2011 - 카메라 시스템을 통해 살펴보는 인터랙티브 시스템 개발의 문제점
 
크게, 아름답게,빠르게, 일관되게 만들기: Just Cause 2 개발에서 배운 교훈들 (GPU Pro)
크게, 아름답게,빠르게, 일관되게 만들기: Just Cause 2 개발에서 배운 교훈들 (GPU Pro)크게, 아름답게,빠르게, 일관되게 만들기: Just Cause 2 개발에서 배운 교훈들 (GPU Pro)
크게, 아름답게,빠르게, 일관되게 만들기: Just Cause 2 개발에서 배운 교훈들 (GPU Pro)
 
[IGC2017] Protocol:hyperspace Diver 개발 포스트모템
[IGC2017] Protocol:hyperspace Diver 개발 포스트모템[IGC2017] Protocol:hyperspace Diver 개발 포스트모템
[IGC2017] Protocol:hyperspace Diver 개발 포스트모템
 
[IGC 2017] 에픽게임즈 최용훈 - 밤낮으로 부수고 짓고 액션 빌딩 게임 만들기 - 포트나이트
[IGC 2017] 에픽게임즈 최용훈 - 밤낮으로 부수고 짓고 액션 빌딩 게임 만들기 - 포트나이트[IGC 2017] 에픽게임즈 최용훈 - 밤낮으로 부수고 짓고 액션 빌딩 게임 만들기 - 포트나이트
[IGC 2017] 에픽게임즈 최용훈 - 밤낮으로 부수고 짓고 액션 빌딩 게임 만들기 - 포트나이트
 
유니티3D 2017의 UI Sprite Atlas 와 아쉬운 UI 기능들
유니티3D 2017의 UI Sprite Atlas 와 아쉬운 UI 기능들유니티3D 2017의 UI Sprite Atlas 와 아쉬운 UI 기능들
유니티3D 2017의 UI Sprite Atlas 와 아쉬운 UI 기능들
 

Plus de 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
 
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
 

Plus de SangYun Yi (9)

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의 이해
 
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
 

Devtree illu

  • 1. Unity3D Environment art Defense Technica Post-Mortem 이 상 윤 Defense Technica로 살펴보는 unity3D 엔진을 활용한 게임 환경 제작후기
  • 2. - Contents - 1. Defense Technica? 2. Unity3D 3. Graphic 관련 issue들 4. Scaleform 적용 5. 기획, 프로그래밍 파트와의 협조사항 6. 마치며 7. Q&A
  • 3. Defense Technica ㈜쿠노 인터렉티브에서 제작한 3D 디펜스 게임 。 IOS 출시(2013. 6), Android 출시(2013. 8) Steam (2013. 10) XBOX live(2014. 4) PSN(2014. 4)
  • 4. Sci-fi style의 Tower Defense game 적 유닛의 침입 루트를 변경할 수 있는 길 돌리기, 유닛과 타워의 상성, 속성, 맵변형 등을 부여한 전략성 요소가 강조된 디펜스 게임 。 효율적인 멀티 플랫폼 제작 : 콘솔 에서 모바일까지(KGC2012) 。 Defense techinca mobile converting 후기(KGC2013)
  • 6. 장점 。직관적인 인터페이스, 거기다 Drag and Drop으로 자동 import 및 변동 가능 。프리팹 제작이 용이. 리소스 관리도 엄청 편함. 。대부분의 파일 포맷을 지원(DDS 파일 제외, 별도의 import없음) 。그래픽 퀄리티가 가격대비 성능으로써는 매우 훌륭함. 。lightmapping작업이 상당히 빠르고 간편하게 가능. 。간단한 animation 작업은 엔진내부에서 간단하게 작업 가능. 。필요하면 script 소스 가져다 붙여 써도 됨.(게다가 검색하면 리소스도 많이 나옴) 。강력한 profiling 기능(작업중 수시로 확인 가능) 。빌드조차 간단.(프로그래밍 파트 지원을 받으면 리소스 변경후 직접 빌드 후 확인 가능)
  • 7. Google 검색으로 기본적 인 자료는 서치 가능 Asset store에도 많음 Mono develop
  • 9. Animation material 및 object의 변화를 animation clip으로 간편하게 제어할수 있음 맵변형 및 발광하는 오브젝트의 발광정도, 움직임까지. 퍼포먼스에 크게 영향을 주지 않아 모바일에서 많이 사용.
  • 10. 단점 。PSD 파일 기반의 alpha가 포함된 texture가 제대로 표시 안되는 경우 발생(Specular map) - Tiff 포맷으로 사용(콘솔), TGA로 별도로 작업(모바일) 。Terrain 무거움. Collision 무거움 。메모리 누수. Unity3D 관련 이슈들 중에 가장 많이 언급되는 부분. unity3D로 풀3D web MMORPG 만들기 - 정종필유니티가 당신에게 알려주지 않는 것들 - Dustin lee
  • 11. Sample 동영상 저작권 문제로 공개할 수 없습니다.
  • 12. Graphic issue들 이 정도면 날로 먹겠는걸… 어차피 메모리 새는건 프로 그래머들이 알아서 할테고… …라고 생각했습니다..
  • 13. 좌표계가 다르다~! 。Y-up 기반의 좌표계를 가지고 있음(Maya와 동일) MAX에서 그냥 (0,0,0)으로 export시 x축으로 -90도 돌아간 상태로 import 됨. 맥스에서 export시 축을 90도 돌려서 export Group 및 오브젝트 모두 이렇게 작업 프로젝트에 따라 TA가 export tool을 MAX에서 script로 구현해서 쓰는 경우도 있음
  • 14. UV mirroring UV 미러링의 경우 meshes 옵션을 조정해서 사용. Normalmap을 쓰지 않으면 고민하지 않아도 될 문제 일정 문제로 이런 방식 선택
  • 15. 리소스 최적화 PS3, XBOX360에서 구동시 문제 발생. 리소스 최적화 필요 폴리싱 작업 Shader 수정(shader 수정으로 전체 shader의 세부 옵션 값 조정. Lightmap 재작업) Lightmapping 방식 변경. Directional lightmapping >> single lightmaps 불필요한 메쉬 제거. 맨 상부 mesh의 texture 블렌딩 처리(UDK의 Linear Interpolate와 유사) Fog는 생각보다 퍼포먼스에 영향을 덜 주더라..(모바일도 마찬가지)
  • 16. 모바일 개발의 첫 인상 。 PC에 비해 작은 화면, 낮은 3D 그래픽 성능이라는 인식 。 터치가 가능한 화면과 조작(손가락으로 드래그, 클릭, 핀투줌) 。 가장 좋은 경우는 콘솔 버전의 데이터를 그대로 모바일에 올리고 UI만 바뀌는 경우 ☞ 테스트 결과 가능은 했으나 대부분의 기기에서 구동 불가. (모바일에 올리기엔 너무 무겁다…. 그리고 IOS 타겟 머신중 iphone 4가…) 。 타겟 머신 선정과 기존 DATA의 최적화의 기준에 대한 고민이 필요
  • 17. IOS • 비교적 규격화된 해상도 • 제한사항 : iphone 3GS, i-PAD1에서는 낮은 메모리 용량때문에 구동불가(탈옥시 구동가능) • I-PAD2부터는 비교적 원활한 플레이 가능 (해상도 차이로 3가 2보다 낮은 퍼포먼스) • iphone4 : 4S부터는 3D 그래픽 성능 또한 비약적으로 상승하였으나 4의 경우 3GS에 비해 늘어난 해상도에 비해 낮은 그래픽 성능으로 퍼포먼스 저하 발생(가장 이슈가 되었던 기기.. 그냥 빼면 안될까요..)
  • 18. Android • Android 개발의 가장 큰 이슈 다양한 해상도 지원에 대한 기준 선정 • 낮은 성능의 기기에서부터 고성능 하이엔드 기기 까지 다양한 기기 존재 • 제조사 firmware 업그레이드가 되지 않은 경우 지 원이 되지 않는 경우 존재(Android 2.3 진저브레 드부터 구동) : 일부 최신 기기에서 구동이 되지 않는 상황 발생 • 특정 기기에서 구동되지 않는 문제(Shader 문제 : 통칭 보라돌이). • Scaleform 사용을 고려하게된 이슈이기도 함 Samsung Galaxy Series resolution S, S2, K, A, U : 480x800 Note 2, S2 HD LTE, S3 : 720x1280 Note : 800x1280 S4 : 1920x1080
  • 19. Android QHD의 등장(2560x1440). 27인치 이상의 LCD 모니 터의 해상도와 동급. 노트4도 비슷한 해상도 예상 iOS iPad Air, Retina, mini retina : 2048x1536 6에서 1920x1080 or 2272x1280 예상(2014.2) 갈수록 고해상도화 되어가는 기기에 대해 대응 방식 을 결정할 필요성 존재.
  • 20. Pixel size의 변화 Mobile 해상도가 초기 기기들에 비해 고 해상도화가 진행.(FHD, QHD까지) (S4의 경우 23, 24인치 모니터와 동일한 해상도를 5인치 정도의 화면에 가진다 – 1920x1080) 화면크기가 1/5 수준으로 줄어들지만 해상도는 변함이 없다.(24인치 기준 0.27mm>>0.05mm) 픽셀의 수가 줄어들어 화면이 작아지는 것이 아닌 pixel 크기 자체가 줄어들었음 작은 화면이라고 Texture resolution을 낮게 작업했다가는 pixel이 다 늘어난 흐릿한 화면을 볼 수 있다. 게임에선 Mipmap이 적용되므로 texture size는 적절하게 작업 후 최종 빌드에서 용량을 맞추기 위해 조절 대부분의 Texture resizing 없이 진행(Normal, illumination map을 쓰지 않아서 전체 맵 숫자는 줄어듬) 15인치 1024x768 : 786,432 pixels 24인치 1920x1080 : 2,073,600 pixels 3.5인치 : 640x960 : 614,400 pixels(iphone 4) 5인치 : 1920x1080 : 2,073,600 pixels(S4)
  • 21. Graphic 관련 issue들 Shader • Bumped specular , Blend shader 사용하지 않음 • Illumination이 적용된 shader는 Tower에만 적용 (배경에서는 lightmap으로 대체) • Diffuse color는 Vertex color 적용 되는 것과 그렇지 않은 것을 구분해 사용(Lightmap, LightmapVertexColor)
  • 22. Alpha channel이 포함된 texture의 경우 자동으로 RGBA 16bit으로 저장됨 Transparent texture 사용시 품질 저하에 따른 이슈 사용자가 Tegra 같은 어떤 특정 하드웨어를 목표로 하지 않는다면 저희는 ETC1 압축 사용을 권장합니다. 필요할 경우 외부(external) 알파 채널 을 저장할 수 있으면서도 낮은 텍스쳐 종류의 이득을 받을 수 있습니다. 만약 사용자가 반드시 텍스쳐에 알파 채널을 저장하길 원하면 모든 하드 웨어 공급 업체에서 지원하는 압축인 RGBA16 bit을 사용하세요. 사용자 앱이 지원되지 않는 텍스쳐 압축(compression)을 사용하면 그 텍스쳐는 RGBA32로 무압축(uncompressed)되며 압축된 것들과 함께 메모리에 저장이 됩니다. 그래서 이 경우 텍스쳐의 압축을 푸는데 시간을 잃게되며 두번의 저장으로 인해 메모리 손실을 봅니다. 이것은 또한 렌 더링 성능에도 아주 부정적인 영향을 줄 수 있습니다. - Unity 공식문서 中 ETC 4 bits로 저장시 170.7kb  42.7kb
  • 23. IOS에서는 자동으로 PVRTC 4bits 포맷으로 texture가 compressed 됨 Transparent texture 사용시 품질 저하에 따른 이슈(IOS) PVRTC는 오로지 2의 n승으로만 texture를 사용되기 때문에 비정방 texture의 경우 IOS 포팅시 이미 지가 제대로 표시 안되는 증상 발생  매핑 소스의 경우 UV 좌표값에 의해 일그러짐에 상관없이 화면에 그려지나 UI의 경우에 제대로 표 시 안됨  모든 UI 이미지 소스 재작업
  • 24. Mobile stage 30 Transparent texture 품질 저하에 대한 해결 기술문서의 가이드대로 alpha channel이 포함된 texture의 경우 alpha channel texture를 따로 제작 (이렇게해도 ETC compressed 된 texture 두장이 RGBA 16bit texture 한장의 용량보다 작음) Alpha channel을 따로 적용받는 Shader 제작 ※ 배경 파티클 소스의 경우, 그냥 사용되었음 Mobile stage 11
  • 25. Core Unit 수정 Console core unit • 모바일 염두가 없던 단계에서 제작된 유닛이라 수정하기 힘 든 상태로 모델링/매핑이 되어있음 • 모델링 우선 수정(1/3수준), 매핑 재작업 (Texture, UV) • Core effect 및 애니메이션 전부 재작업 • 처음부터 모바일 플랫폼을 고려했다면 좀 더 짧은 시간에 작 업이 진행되었을 것으로 생각됨 4006 tris 1450 tris Mobile core unit Console Core Unit diffuse texture Mobile Core Unit diffuse texture
  • 26. Tower Unit 수정 • Poly counter를 줄이는 작업대신 모바일용 타워를 새롭게 제작 • 같은 계열 타워는 하나의 texture 소스로 통합하여 사용(color는 illumination color로 구분) • 작게 보이는 화면 특성상 유닛 특성을 실루엣으로 보여지도록 디자인 • 높은 단계의 Tower를 먼저 모델링하고 줄여나가는 방식으로 작업 console machine gun tower mobile machine gun tower
  • 27. Enemy Unit 수정 • Poly counter는 콘솔단계에서 최적화 작업이 진행 되었기에 별도의 작업을 하지 않음 (콘솔 최적화 관련 이슈) • Bumped specular shader  Diffuse shader로 변경 • LOD 작업 추가.(작업중에 Unity 버젼업으로 LOD 추가~!)
  • 28. Animation 수정 Mobile versionConsole version 촉수형태의 Unit이라 가장 많은 joint 개수를 가진 타워(Melee type tower unit : Electro tentacloid) Animation Joint 개수 수정 불필요한 모션 간소화. (심지어 4단계에는 이펙트까지 붙어있음)
  • 29. 그대로 쓰기는 무리라 판단 모든 스테이지를 모바일 퍼포먼스 가 이드에 맞추어 수정 결정(stage당 6,000 poly counter) Stage 모바일 버전으로 수정 Console stage list Mobile stage list
  • 30. 메인 스테이지 : 20개 DLC 1차 : 8개 DLC 2차 : 8개 콘솔 작업시 스테이지당 평균 2~3주 모바일 스테이지당 : 평균 2.4일. 중간에 문제 생겼을시 스테이지 하나당 1.5일안에 작업해야 하는 상황 lightmappingUV 직접 펴야 됩니다…!!! Maya(layout기능), 각종 plug-in, add tool 등.. 결론 : 직접 작업하는게 가장 잘나옴… IOS stage 20 출시 + DLC 1차 패치 Android stage 20 + DLC 1차(8개) 포함 출시 한땀. 한땀. 알지? 오빠 궁서체다.
  • 31. Lightmapping Unity는 Beast Engine 내장 Steam : Directional lightmapping PS3, XBOX360 : Directional lightmapping >> Single lightmap.로 변경 Generate lightmap UV check로 2nd UV 작업 없이 진 행. DLC만 직접 작업 Android, IOS : Single lightmap ☞ IOS 포팅시 lightmapping UV가 어긋나는 증상을 확 인. 개선 방법을 찾는 것이 일정상 무리 및 적은 사이즈 로 좋은 퀄리티를 내기 위해 직접 작업하기로 결정 ※ 이 문제는 Unity3D 버전 업으로 개선되었음 결국 나중에 Steam, PS3, XBOX360 모두 lightmapping은 재작업.(기기별 특성 존재) Console stage 09 Mobile stage 09
  • 32. Light mapping texture size의 최적화 Generate lightmap UV option을 사 용하지 않고 맥스에서 직접 lightmap channel UV 작업후 export Directional lightmaps Steam(2048x2048) Single lightmaps XBOX, PS3(1024x1024) Android, IOS(512x512, 512x256)
  • 33. 2nd UV 활용을 위한 Light mapping Console DLC stage 26 UDK3 에서처럼 resolution 설정만으로는 lightmap scale을 조절할 수 없고 lightmapping menu의 Scale in Lightmap으 로 조절.
  • 34. Fog의 사용 모바일 콘솔 모두 사용 퍼포먼스에 크게 영향을 미치지 않음 파티클 플랜과 적절히 섞어 사용시 좋 은 효과 Console Stage 24
  • 35. Blender shader의 대체 Console stage 14 mobile stage 14 콘솔버젼에서 마스킹된 texture를 사용한 blending된 texture로 바닥을 표현하였으나 mobile에서는 사용하지 않기로 결정 분위기에 따라 stage별 수정한 Texture와 수정되지 않은 texture를 모두 사용하여 분위기 연출
  • 36. Blender shader의 대체(2) Console stage 17 mobile stage 17 Texture 한장을 더 써서 blending 된 것처럼 처리 Water shader는 Unity3D에서 지원하는 shader 그대로 사용(iphone 4에서는 transparent texture로 작업된 플랜으로 대체)
  • 37. Illumination shader 대체 스테이지 카메라 각도에 따라 2개 이상은 point light를 배치하여 연출 Console stage 01 Mobile stage 01 타워와는 달리 배경 Asset에 대해서는 발광하 는 부분에 대해 illumination shader를 사용하 지 않고 point light를 배치하여 lightmapping texuture에 빛이 그려지도록 하여 발광하는 표 현. Mobile stage 31 고정된 카메라 각도에 따라 플레이가 이루어지 므로 씬에 따라 라이팅 배치를 조절
  • 38. Probe lighting Probe의 배치는 콘솔과 크게 다르지 않음 Probe light에 영향을 받는 prop이 Bumped specular일때와 diffuse만 받을때 차이가 발생 하기에 적정값을 확인하면서 Light의 세기를 조 절하여 baking 기기 성능에 따라 Use probe lighting 옵션을 제어하여 퍼포먼스 확보(iphone 4) Mobile stage 01 Console stage 01 Use light probe On Use light probe Off
  • 39. Lighting 톤 변화를 활용한 stage 연출 Mobile stage 11 Mobile stage 36 Mobile stage 28 Mobile stage 31
  • 40. Unit Effect 수정 Mobile flame tower effectConsole flame tower effect 파티클 단순화. 파티클 수 최적화 다량의 파티클을 하나의 플랜으로 처리(연출 자체 의 변화로 최적화) Mobile mortar tower effectConsole mortar tower effect 파티클의 입자 감소/최적화
  • 41. Core Effect 수정 Console core 파괴 연출 effect Mobile core 파괴 연출 effect 강렬하게 연출한 effect 효과를 최대한 단순하게 표현. 연출 시간도 간소화
  • 42. Console과 mobile stats 비교 Steam steage 19 Mobile stage 19 동일해상도 PC에서 play한 화면을 캡쳐
  • 43. Scaleform 사용 후기(장점) 다양한 해상도의 모바일 기기의 대응을 위한 해결책으로 사용 • 장점 • UI상에서 effect 처리/배치를 UI 디자이너가 프로그래머를 통하지 않고 직접 작업이 가능함 • 검증된 생산성(스케일폼이라는 미들웨어를 통한 UI 작업) • 모바일 기기의 다양한 해상도에 신경쓸 필요가 없다(약간의 script 설정은 필요) • 언어(localizing 관련) 작업이 수월 • 프로그래머가 직접 UI 배치를 하지 않아도 되니 좋다
  • 44. Scaleform 사용 후기(단점) • 단점 • 모바일에서 제약이 사항이 많다.(PC에서 사용가능하나 쓰지 못하는 기능이 있음) : 프로그램 안정화가 안되서 생기는 듯(기기별 작동하기도 안하기도 하는 문제) • 미구현 기능이 많고 예정 기능이 많다.(언제 구현될지 미지수) • 프로그래머가 도와주지 않으면 디자이너가 직접 scripting을 해야하는 부담 • 작동에 관한 개선/구현에 대해 전달이 명확하지 않으면 프로그래머측에서 혼선을 가질 수 있음 • 화면 비율에 따라서 이상하게 보일 수 있다.(재작업을 통해 보완이 필요) • 모듈이 불안정. 무비클립을 확실히 제거해 주지 않으면 메모리에 계속 남아있다(메모리 샌다는 이야기가 많음)
  • 45. 기획 파트와의 협조사항 。 Stage level design의 특징과 경험은 유지하면서 size를 줄이는 문제 。 Performance 저하 구간에서 wave time을 조절함으로써 한 화면에 그려지는 mesh양을 조절 (콘솔에서처럼 한 화면에 그려지는 적 유닛의 숫자가 너무 많아 퍼포먼스가 저하되는 이슈에 대한 대응) 。 더불어 난이도 조절(시스템적으로 조절하는게 기준) 。 모바일 유저 특성에 맞추어 난이도 하양 조정(그래도 재미는 있는데 어렵다는 평…) QA 피드백에 의해 stage에서 조 작에 방해되는 요소의 수정  Stage 01의 tutorial scene play화면
  • 46. 프로그래밍 파트와의 협조사항 。 Transparent texture의 사용 조절 (사용된 prop을 따로 관리하여 기기에 따라 켜고 끌수 있게 제어)  iphone 4 。 Unity3D profiler를 활용하여 퍼포먼스 체크 。IOS, Android 각 OS에서 지원하는 profiler를 통해 memory와 frame rate 를 체크해서 적정 Art resource 수준을 결정 Game 화면의 stats창으로 코스트 확인 기기 성능에 따라 FX 를 켜고 끌수 있게 제어
  • 47. 마치며… • 모바일화 작업은 그냥 DATA를 모바일에 맞게 바꾸는 작업이 아님 멀티 플랫폼 대응을 사전에 충분히 고려한 작업 프로세스를 만들어야 함 : Technical art issue에 대해 TA 혹은 프로그래머와의 긴밀한 협조 • 무조건 간단하게, 최소한으로 작업하기보다 타겟 머신(Target machine)을 분명히 설정하 고 그 기기의 스펙에 맞는 적정 퍼포먼스 코스트를 결정하는 것이 중요 • 실제 게임에서 필요한 퀄리티와 담당 작업자가 원하는 퀄리티 차이에 대해 고려해볼 필요 성(비쥬얼 퀄리티와 퍼포먼스 퀄리티의 차이에 대한 이해) • Art process상에서 살릴것은 살리고 버릴것은 버리는 과감한 결단성이 필요
  • 48. 게임 3D 배경 아티스트 - https://www.facebook.com/groups/3Dbackground/
  • 49. Q & A 이 상 윤(현재 백수) illustor@gmail.com Special thanks to 적극적으로 ppt 제작에 피드백 해주신 동료 분들 디펜스 테크니카를 응원 해주셨던 많은 분들께 감사 드립니다. 終