gametech 2012 Gladius project

Preview:

DESCRIPTION

'Gladius project' with commercial middleware game engine 'gamebryo lightspeed'

Citation preview

GLADIUS PROJECT 로 본상용엔진 (GAMEBRYO LIGHT-

SPEED) 적용 개발사례

( 주 ) 동양게임즈 유우원 3D Env Artist / TA

Movieclip

[ 프로젝트의 목표 ]I. Gladius Project

I. The Gladius Project - 우리가 목표로 했던 것 -

Arena battle Close-combat-style PvP Based game Resonable art style Productivity & Flexibility

Arena battle 상대적으로 좁은 공간에 디테일 집중 .

관객들이 보도록 만들어진 아레나의 디자인 특성 상 시선차단을 거의 기대할 수 없음 . ( PVS not so much help-ful here )

Close-combat-style PvP Based game 빠른 템포의 근접 전투스타일을 목표

총기등 거리상 이점이 없는 상황에서 넓은 맵은 집중을 흐트림 .

Art & Render style Hardcore & Bloody 실사베이스 아트를 목표 / 장비의 반짝임과 근육의 표현 태양광 SUNLIGHT 을 주광으로 조명 설계

Productivity & Flexibility 물리적인 시간은 쓰되 , 시행착오 최소화 퍼포먼스와 비주얼 간의 합리적인 Deal 다양한 모드 등의 추가게임요소 확장성을 염두에 둠

게임플레이를 검증하기 위한 빠른 프로토타이핑 필요

II. 먼저 해결해야 했던 문제들 - 현실적인 문제에 접근하다 -

II.   해결해야 했던 문제들 .

요구 조건 플레이 검증을 위한 유연한 제작과정 그래픽적으로도 멋지게 보일 것

현실적 문제 아트 인력의 부족 R&D 시간의 상대적인 부족

양립할 수 없는 조건들 ...

요구 조건 플레이 검증을 위한 유연한 제작과정 . 그래픽적으로도 멋지게 보일 것 .

양립할 수 없는 조건들 ... 아트 / 개발 인력의 부족 R&D 시간의 상대적인 부족

양립할 수 없는 조건들 ... 아트 / 개발 인력의 부족 R&D 시간의 상대적인 부족 + @( 비용 )

????

대책 미들웨어로 게임브리오 라이트스피드를 선택 바닐라 -Vanilla 최대한 기본 엔진만의 성능을 살려 개발

(with no serious Modifica-tion)

III. 개발 중 Gamebryo Lightspeed 엔진의 장점

III. 개발 중 Gamebryo Lightspeed 엔진의 장점

Lighting & shadow Easy Material manipulations Flexibility : Rapid Prototyping Flexibility : Various Plugins Flexibility : Instant Feedback

* 명확한 목표가 있었기에 다행이었던 점 .

Lighting & shadow 캐릭터와 애니메이션 기믹 ( 트랩 등 ) : Dynamic Shadow 적용 셀프쉐도우 = 칼 그림자가 아닌 부드러운 Filtered(Soft) Shadow

-> NiPCFShadow Technique 사용 대부분이 해결됨

배경은 Static lighting - Lightmap 적용초기에는 다이나믹 라이팅으로 기본 조명 설계 .

( 이쁜 음영을 위해 )

NO TexturesDynamic Shadow

For Lighting Design

Easy Material manipulation 기존 맥스 매트리얼 적용 방식 그대로 이용할 수 있음 . Mid-

dleware 의 장점 Normal / Gloss / parallax map 슬롯 등을 이용해서

재질표현에 쉽게 적응

Flexibility : Rapid Prototyping 기본 기획서와 사양서에 따른 목업구조 제작 , 바로 설치후 플레이

전평면 스케일로 거리 및 크기 비례 조절 , 원하는 공간에 대한 빠른 피드백

Free ScaleAdjust

Various Plugins

개발을 도와주는 여러가지 플러그인들 . Sun dog 사의 Silverlining 사용 . 차후 여러가지 도움을 줌 .공개된 여러 쉐이더 적용이 쉬웠음 .

BASE

Plugin Module+

◆ 명확한 목표가 있었기에 다행이었던 점 .

터레인 (Terrain/Landscape) 제거

- 시야제한으로 대규모의 터레인이 필요하지 않음 .- Zbrush 로 지형 및 어셋 제작 .  

아레나 방식 스테이지

- 존로딩 방식- 심리스 seamless 월드에 대한 고려 필요하지 않음 .- 동적로딩에 대한 부담 없음

IV. Vanilla 개발의 한계와 트릭

유저가 기대하는 그래픽 SSAO (SSDO) Depth of Field Bloom Effect Tessellation / Displacement mapping Local Reflection Differed Rendering/Lighting DirectX 11 Full Features FXAA Etc…

유저가 기대하는 그래픽 SSAO (SSDO) Depth of Field Bloom Effect Tessellation / Displacement mapping Local Reflection Differed Rendering/Lighting DirectX 11 Full Features FXAA Etc…

유저가 기대하는 그래픽 SSAO (SSDO) Depth of Field Bloom Effect Tessellation / Displacement mapping Local Reflection Differed Rendering/Lighting DirectX 11 Full Features FXAA Etc…

유저가 기대하는 그래픽 SSAO (SSDO) Depth of Field Bloom Effect Tessellation / Displacement mapping Local Reflection Differed Rendering/Lighting DirectX 11 Full Features FXAA Etc…

할 수 있는 것만 .

We are not making the TechDemo.We Just make the GAME!

플레이어에게 - 크게 어필할 수 있는 부분을 선별

Dynamic / Self Shadow SSAO Bloom Effect ( 유사 HDR ) + Lighting Tricks Parallax Map Photonic Tune

HDR AO

Self-Shadow

Dynamic / Self Shadow / Soft Shadow

Dynamic / Self Shadow / Soft Shadow

전적으로 기본 제공되는 NiPCFShadow Technique 사용-> 대부분이 해결됨

Dynamic / Self Shadow / Soft Shadow

전적으로 기본 제공되는 NiPCFShadow Technique 사용-> 대부분이 해결됨

Dynamic / Self Shadow / Soft Shadow

전적으로 기본 제공되는 NiPCFShadow Technique 사용-> 대부분이 해결됨

Dynamic / Self Shadow / Soft Shadow

전적으로 기본 제공되는 NiPCFShadow Technique 사용-> 대부분이 해결됨

Dynamic / Self Shadow / Soft Shadow

전적으로 기본 제공되는 NiPCFShadow Technique 사용-> 대부분이 해결됨

Dynamic / Self Shadow / Soft Shadow

전적으로 기본 제공되는 NiPCFShadow Technique 사용

Dynamic / Self Shadow / Soft Shadow

전적으로 기본 제공되는 NiPCFShadow Technique 사용

Ambient Occlusion Lightmap

GI : Global Illumination?

Global Illimination

천구 (Skydome) 및 모든 물체가 반사체이며 광원이라는 개념

Ambient Occlusion Lightmap

각 경기장별 날씨에 맞는 HDR Image 이용한 GI Lightmap Baking

HDR image for Source of environment lighting

Ambient Occlusion LightmapBleeding 은 최종 Bloom 에서 너무 심하게 나타나는 번아웃 때문에 텍스쳐의 Diffuse 는 반영하지 않고 기본 Grey 로 베이킹 .

Ambient 조명인 하늘색으로 암부를 부드럽게 풀어주듯이 표현하는데 주력

HDR image for source of environ-ment lighting

Ambient Occlusion Lightmap

Lightmap 에 AO 강조해서 Bake함

Ambient Occlusion Lightmap

AO 를 적절히 표현하되 , Falloff 를 적절히 운용해서 너무 지저분한 느낌이 들지 않도록 .

Ambient Occlusion Lightmap

해상도는 어느정도 확보하는 대신 , 용량을 줄이기 위해 DXT1 으로 압축 .

디퓨즈칼라를 반영하지 않아 손실압축에도 부작용 적음 .

DXT1 RGB Compression

Ambient Occlusion Lightmap

Lightmap Quality = Static Light Quality

가능한 256 음영 레인지를 풀로 사용 하도록수많은 테스트를 통해 가장 좋은 값을 선택

3-Point Lighting

3-Point Lighting Fallout 3

3-Point Lighting Fallout 3

GOOD

3-Point Lighting Fallout 3

3-Point Lighting

???

Fallout 3

3-Point Lighting

???

Fallout 3

3-Point Lighting

V = CameraL = LightSrcN = Normal

No light = No spec

3-Point Lighting

Sunlight = Key light 로 사용

+ FillLight (No shadow casting)

+ Silverlight Directional light - As Ambient backlight

(No shadow casting )

3-Point Lighting

Composition

3-Point Lighting

Sun light Only (We do not use Ambient light)

3-Point Lighting

Fill Light Only

3-Point Lighting

Sun + Fill Light

3-Point Lighting

Off / On Fill light

Off On

3-Point Lighting

Silverlining light (as BackLight)

3-Point Lighting

Sun + Silverlight light (as BackLight)

3-Point Lighting

Final Render

3-Point Lighting Front view

Sun Light Only

3-Point Lighting Front view

SUN + Fill Light

3-Point Lighting Front view

Final Render (with Bloom Effect)

3-Point Lighting

OFF Silverlining AmbientLight

3-Point Lighting

ON Silverlining AmbientLight

3-Point Lighting Front view

Sun Light Only

3-Point Lighting Front view

Sun Light + Fill Light

3-Point Lighting Front view

Sun Light

3-Point Lighting Front view

Sun Light + Fill Light

Fresnel Effent

3-Point Lighting Front view

MovieClip

Parallax Map

Parallax Map

Normal map

Parallax Map

Parallax map

Parallax Map

How to assign Parallax map(from Zbrush Extracted)

Bloom effect

Bloom Effect

Bloom Off

Bloom Effect

Bloom ON

Bloom Effect

Bloom Off

Bloom Effect

Bloom Comparison

Bloom Effect

Bloom Comparison

Bright +

Color + (add)

Weather Effect

Weather Effect

Overcast

Weather Effect

Rain

Weather Effect

Filmic Tune

What is Filmic tonemapping?

Filmic Tonemapping• This is with a linear curve.

Filmic Tonemapping• And here is filmic.

Filmic Tonemapping

Filmic Curve• Crisp blacks, saturated dark end, and nice high-

lights.

Filmic Tonemapping• Linear.

Filmic Tonemapping• Fade from Reinhard to filmic.

Filmic Tune

-Can Access Dark, Medium, Highlight

Without adjust Sun & FillLight

세가지 파라메터로 각각의 톤 조절 가능 Ambient dimmer Diffuse dimmer Specular dimmer

Filmic Tune

Ambient dimmer parameter 0.9

Filmic Tune

Ambient dimmer set to 0

Filmic Tune

Basic Ambient Light (Classic)

Bloom Off

Filmic Tune

Contrast/Tone Adjusted

Bloom Off

추가된 부분 / 추가할 부분추가된 부분 .

비네팅 이펙트 Vignetting effect

– 최대한 단순하게 구현 , UI 만 최종으로 그리도록 .

추가할 부분 Depth of Field Radial Blur (for effect)

가장 중점을 두고 접근한 부분

프레임이 납득 되도록 유지되고최종 클라이언트에서 예쁘게 보이면 OK

왜 그렇게 보이는가 이론적으로 분석 ,

어떤 식으로 구현할 수 있는지를 고민

쓸 수 있는 것은 다 쓴다

V. Gamebryo Lightspeed 상용 미들웨어 사용후기

1. Gamebryo Lightspeed 사용후기

신뢰성 있는 Workhorse배경에 사용한 폴리곤 7 만 ~40 만 + 캐릭터 @ +멀티라이트

사용 환경하에 프레임이 납득하도록 유지됨

편리하고 빠른 Feedback 제작 중에도 에러를 쉽게 잡아낼 수 있는 Viewer 별다른 재교육 필요없이 바로 사용할 수 있는 익스포트 마지막까지 최종 클라이언트 켜 놓은 상태에서 실시간 업데이팅 가능

유연성 / 확장성 플러그인이나 셰이더 스크립트등 확장성 용이

2. 상용엔진 사용의 득과 실 PROS

제작비 절감과 빠른 프로젝트 진행기본 지원되는 툴들로 비주얼 프로토타입 제작이 용이

CONS내부제작 엔진만큼 맞춤옷처럼 소통하기는 힘들다 .알수없는 문제가 발생시 원활한 서포트가 없을 경우 지연발생엔진업데이트 / 마이그레이션시 잠재적인 스트레스 .

TIP프로젝트 와 시장 타겟 , 버짓을 고려해 세심하게 미들웨어 선별 .출시당시의 해당 마켓의 Hareware 트렌드등도 고려대상 .

해당 엔진 Reference 숙지 , 기능을 계속 추가하거나 포기하기보다 모듈 내에서 해결될 가능성을 타진 , 가능한 경우 해당 엔진 기능을 백분 활용 , 또는 트릭으로 처리할 수 있는가를 고민 .

그리고…

END감사합니다 .