'게임테크 컨퍼런스'에 해당되는 글 2건

  1. 2012.04.03 게임테크 컨퍼런스 2012 (2부)

Forward VS Deferred Rendering

Nikita Kindt

지금 많이 사용하고 있는 포워드방식의 랜더링과 점점 대세로 떠오르고 있는 디퍼드방식에 관한 내용인데..

그냥 일반적인 차이점은 아니고, 하복에서 개발한 비젼 엔진에서의 차이점이죠~

엔진 광고의 스멜~이 나서 간단히 정리만

<포워드>

- 높은 해상도의 환경에서 포워드는 메모리를 절약 할 수 있다.

- 움직이는 물체와 하드웨어의 영향을 크게 받지 않는다.

- 광원의 수가 증가할 때마다 연산을 더 해줘야 하기에 퍼포먼스가 떨어진다.

- 단순한 통합쉐이더를 사용하면 GPU연산으로 속도를 올릴 수 있다.

- 객체가 받는 라이트의 수를 제한 하는 것이 속도 향상에 좋다.

<디퍼드>

- 디퍼드는 하이폴리곤 랜더링에 좋은 속도를 보인다.

- 한번에 많은 양의 빛을 처리할 수 있다.

- 해상도가 증가 할 수록 메모리(G버퍼, Normal버퍼 등..) 또한 증가한다.

- 일정 수준 이상의 하드웨이가 필요하다.

(낮은 성능의 PC에서는 성능 저하가 심함)

- 깊이 버퍼인 G버퍼 등을 이용해 다양한 후 처리를 쉽게 처리 할 수 있다.

게임의 상황에 맞게 포워드 & 디퍼드를 사용하세요.

 

MMO 개발을 위한 애니메이션 기술

Tadahiro Manmoto

MMO를 개발하기 위해서는 점점 복잡해지는 애니메이션을 처리할 수 있는 다양한 툴들이 필요합니다.

이를 처리하기 위해서 우리 하복?은 다양한 툴들을 제공? 한...잠깐~!!!

이건 대놓고 광고잖아..

하복 피직스, 하복 애니메이션, 하복 비에이비어, 하복....... 등

이러한 툴을 하나씩 시연 했으므로 이상 내용은 패스~

조흔 광고였다..

 

대규모 전장의 표현_킹덤언더파이어2에서 사용된 랜더링 기술

김성균

킹덤언더파이어2는 대규모 전투를 구현하기 위해서 새로이 개발한 랜더링 기술을 공개 했습니다.

(자체개발 엔진이라 그냥 이렇다 정도만 보면 될 듯..)

디퍼드를 선택하게 된 다양한 이유..

다양한 광원 타입 도입과 큐브맵으로 스카이 처리

화면에 보이는 그림자를 한번에 랜더링 하기에는 쉐도우 맵이 커져야 하는데 그럼 메모리가 증가되고,

메모리를 줄이기 위해 맵을 작게 제작하면 그림자의 퀄리티가..

다행이 랜더링을 더퍼드 방식으로 하기에 깊이 버퍼를 쉽게 알아 낼 수 있음

그래서 커메라와 물체간의 거리를 4단계로 나눠 쉐도우 맵을 만들었음,

(메모리도 줄이고 퀄리티도 지키고~)

게임 퀄리티 향상을 위해 다양한 후 처리를..

HDR를 사용한 블룸은 2가지 방법으로 처리~ 

빗방울 표현을 위해 블럭형 빗방울을 만듬 (유니티에 3.5에 비슷한 방법의 기능이 있음)

노말 합성을 통한 물 파형을 표현 (부하를 줄이기 위해 G버퍼를 이용해 캐릭터 주변만..)

카메라 앞에 흘러 내리는 물방울을 구현하기 위해 2D 시뮬레이션을 함..;;

안티알리아싱의 속도 향상을 위해 이번에 세로나온 신 기술인 FXAA를 적용

터레인 메쉬를 Clipmap으로 했다는데..

(거리에 따른 지형 퀄리티를 말하는 듯)

64개의 타일이 들어있는 터레인 텍스쳐를 사용

높이에 따른 텍스쳐 밀림을 줄이기 위한 멜랑꼴리 한 공식을 사용..

맵 크기가 400Km^2인 관계로 한번에 로딩할 수 없어서 클립맵 퀄리티에 따라 스트리밍 함

(캐릭터와 가까운 클립일 수록 퀄리티가 높으니 거리에 따른 스트리밍이라 해도 될 듯)

스트리밍을 한다 해도 용량이 커 로딩 타임이 증가함. 그래서 터레인을 클립맵 별로 압축해두고,

필요 시 메모리로 불러들임 --> 메모리 상에서 압축을 풀고 사용해 로딩 속도를 올림

데칼을 박스 형태로 만들어 랜더링 할 때 합성 하는 방법(디퍼드 데칼?) 같음

블록 단위로 풀을 만들어 랜더링 하고, 최대한 인스턴싱해 부하를 감소시키자~

부하가 높은 파티클 먼저 날려?주자

빌보드(대부분 이펙트)처리를 할 때 텍스쳐의 여백이 많을 경우 알파블랜딩 연산 부하가 올라가니..

자동으로 빌보드 크기를 실 사용 이미지 크기로 맞춰 연산 부하를 줄이는 작업을 했음.

텍스쳐 애니메이션이 있는 이펙트 텍스쳐는 아틀라스 텍스쳐를 만들자.

(하나씩 로드하면 드로우 콜이 몇개야!!)  

CPU 부하를 줄이기 위해 레이어 설정에 따른 선택적 랜더링과, 거리에 따른 이펙트 표현

멀티코어를 위한 병렬화 작업.. (병렬 프로그래밍 어렵다고 들었음 ㅋ)

등등.. 부하를 줄이기 위한 폭풍 꼼수~

거리에 따른 인스턴싱? 이 또 한 꼼..

(최적화는 역시 꼼수가 최고에요~b)

원경용 빌보드 나무에 라이트맵을 2D로 적용

이외에 다양한 꼼..들..

그래서 우린 요런 화면을 만들 수 있었다.

향후 과제?

아직 나오려면 멀었다는..

리 아직도 배가 고프다~!

 

애니메이션 작업의 현재와 미래

Simon Mack 

차세대 애니메이션 시스템이란 주제의 폭풍의 스톰~!

어둠의 다크니스 적인 엔진 광고이므로 이하 내용은 엔진 스샷 몇개만 올릴게요.

 

이상 황군의 게임테크 2012~

'이것저것' 카테고리의 다른 글

음성분석 립싱크의 원리..  (0) 2012.08.21
2012 NDC  (1) 2012.05.15
유니티 2012 아시아 부트 캠프 (2부)  (2) 2012.04.12
유니티 2012 아시아 부트 캠프 (1부)  (0) 2012.04.12
게임테크 컨퍼런스 2012 (1부)  (0) 2012.04.03
Posted by Hwanggoon
,