애니메이터

[Unity3d R&D] 아시아 부트캠프 "shadowgun" 발표 자료 중 유용한부분 본문

Game Engine/Unity3D

[Unity3d R&D] 아시아 부트캠프 "shadowgun" 발표 자료 중 유용한부분

욤마핫 2012. 5. 14. 14:24

1. 들어서는 글

Shadowgun의자료는 2011년 Unite 컨퍼런스에서 발표한 자료입니다. 2012년에도 같은 자료로 써먹었네요. 사골 곰탕인가요!? 하여튼 Rendering 및 Optimization 에 관해서 유용할 것으로 보이는 내용들이 있으므로 발췌 합니다.

 

2. Target Hardware

- iPad2
    이 기기를 따로 떼어서 생각하는 이유 : GPU가 기존모델 보다 훨씬 빠르다!
    그렇기 때문에 이 기기에서는 발목을 잡게되는 요소가 있다면 CPU
- Tegra2
- iPhone4, iPad, iPhone 3GS

   이 기기 들은 GPU가 구리다.GPU가 발목을 잡는다.
- Coming Tegra3

   이건 아직 안나왔으니 패스

 

3. Hardware Challenges : GPU

- iPad2 : 4xMSAA 에서 9ms (~ 100FPS) 를 보여준다.
           해상도 : 1024 x 768

- iPhone5 : 동일 조건에서 30ms
           해상도 : 960 x 640
- Tegra2 : 동일 조건에서 30ms

해상도 : 1366 x 600

 

4. Hardware Challenges : GPU/CPU

쉐이더를 직접 제작하여 최적화

불투명 오브젝트에서 렌더링 순서를 다음과 같이 적용
          - Tegra :  앞에서 부터 뒤로(크게 보이는 부분 먼저)

    - iOS    :  쉐이더가 렌더링 순서를 결정

 

5. Memory

- iPad, iPhone3GS, Android Phone들의 경우 사용가능 메모리가 128MB 이하임을 염두해 둘것

- mipLevel 에서 가장 큰 레벨의 텍스쳐는 사용하지 않음

- Tegra의 경우 DXT5 를 씀

 

6. Lighting & Shading

- Static Objects : GI Lightmaps

 한 레벨당 1024 x 1024 사이즈의 라이트 맵(압축하지 않은) 사용

- Dynamic Objects : GI Light Probes

 한 레벨당 500개 이하의 Light Probes 사용 - 3.5m 간격(캐릭터가 두번 엎어지면 코닿을 거리)

데모 영상 : http://www.youtube.com/watch?v=-LWZQXzUnUI

 

7. Crisp Textures(????)

- Anisotropic filtering

- mipMap 보다 빠르다.

-

8. Fake Specular highlights

- 일반적인 스페큘러 하이라이트는 무겁다.

- 2~3배의 메모리가 필요

- 게임 플레이중에 실시간으로 재구성이 되어야 함

- Virtual specular-only light

- 카메라 일정 거리에 붙여 놓는 스페큘러에만 사용되는 라이트

- vertex 레벨의 shading

- 메인 텍스쳐의 알파이미지를 활용해서 glossiness를 마스킹한다.

 

9. Volumetric effects

- Glow

- Ligtht Shafts

- Fog

- Emissive Billboards