Boosting Frame-rates in Unity Games Using Umbra 3

24
1 SAMPO LAPPALAINEN UMBRA SOFTWARE Boosting Frame-rates in Unity Games with Umbra 3

description

A presentation I gave in the Unity Developer Day during GDC 2014. I explain how you can best use Umbra to improve frame-rates in your Unity games.

Transcript of Boosting Frame-rates in Unity Games Using Umbra 3

Page 1: Boosting Frame-rates in Unity Games Using Umbra 3

1

SAMPO LAPPALAINEN

UMBRA SOFTWARE

Boosting Frame-rates in Unity Games with

Umbra 3

Page 2: Boosting Frame-rates in Unity Games Using Umbra 3

2

UMBRASOFTWARE

OCCLUSION CULLING MIDDLEWAREFOR TRIPLE-A GAMES

RELATIONSHIP WITH UNITYSTARTED IN 2010

FOUNDED IN 2007

14 EMPLOYEES

BASED IN HELSINKI, FINLAND

SUPPORT OFFICE IN SEATTLE, WA

SAME PROBLEM – DIFFERENT SOLUTIONS

“Level artists are there to fill theworld with content. Integrating Umbra saved us not only artist time but the time to create and maintain an efficient visibility culling solution. Umbra’s support provides us with the solutions and features that we need.”

“Umbra’s technology is playing an important rolein the creation of our next universe, by freeing our artists from the burden of manual markups typically associatedwith polygon soup.”

Page 3: Boosting Frame-rates in Unity Games Using Umbra 3

3

Video GamesPowered by Umbra 3

Page 4: Boosting Frame-rates in Unity Games Using Umbra 3

4

CHECK OUR PRESENTATION THURSDAY 2:30PMROOM 301 SOUTH HALL

Page 5: Boosting Frame-rates in Unity Games Using Umbra 3

5

Page 6: Boosting Frame-rates in Unity Games Using Umbra 3

6

Page 7: Boosting Frame-rates in Unity Games Using Umbra 3

7

Page 8: Boosting Frame-rates in Unity Games Using Umbra 3
Page 9: Boosting Frame-rates in Unity Games Using Umbra 3

Occlusion Culling: Why Bother?

Page 10: Boosting Frame-rates in Unity Games Using Umbra 3
Page 11: Boosting Frame-rates in Unity Games Using Umbra 3

Umbra 3in a Nutshell

Page 12: Boosting Frame-rates in Unity Games Using Umbra 3

POLYGON SOUP OCCLUSION DATA

VISIBLE OBJECTS

OCCLUDER

GENERATION

VISIBILITY

QUERY

OVERVIEW

Page 13: Boosting Frame-rates in Unity Games Using Umbra 3

VISIBILITY DATA GENERATION

1. CONVERT INPUT POLYGON SOUP INTO VOXELS2. GROUP EMPTY SPACE VOXELS INTO CELLS3. COLLECT OBJECTS IN CELLS4. GENERATE PORTALS BETWEEN CELLS

TOME OF VISIBILITY

Page 14: Boosting Frame-rates in Unity Games Using Umbra 3

RUNTIME

BASIC OPERATION AS IN A TRADITIONAL PORTALS AND CELLS SYSTEM

1.FIND CELL THAT CAMERA IS IN2.TRAVERSE PORTALS-AND-CELLS GRAPH3.GATHER VISIBLE OBJECTS IN CELLS

GENERATES AN OCCLUSION BUFFER FOR DYNAMIC OBJECT TESTING

Page 15: Boosting Frame-rates in Unity Games Using Umbra 3

Umbra 3 in Practice

Page 16: Boosting Frame-rates in Unity Games Using Umbra 3

WHAT IS NEW UNITY 4.3?

• SIMPLIFIED INTERFACE

• INCREMENTAL BAKE

• POINT LIGHT AND SPOT LIGHT CULLING

• SHADOW CASTER CULLING

• MASSIVE RUNTIME PERFORMANCE OPTIMIZATIONS

Page 17: Boosting Frame-rates in Unity Games Using Umbra 3

SMALLEST HOLE

MORE DETAILED INPUT GEOMETRYSLOWER BAKEHIGHER BAKE MEMORY USAGE

LESS DETAILED INPUT GEOMETRYFASTER BAKE

LOWER BAKE MEMORY USAGE

Page 18: Boosting Frame-rates in Unity Games Using Umbra 3

SMALLEST OCCLUDER

LARGER DATASLOWER QUERYLESS CONSERVATIVE

SMALLER DATAFASTER QUERY

MORE CONSERVATIVE

Page 19: Boosting Frame-rates in Unity Games Using Umbra 3
Page 20: Boosting Frame-rates in Unity Games Using Umbra 3

BACKFACE THRESHOLD

SMALLER OCCLUSION DATALESS VISIBLE BACKFACES IN SCENEMORE UNDEFINED AREAS

LARGER OCCLUSION DATAMORE VISIBLE BACKFACES IN SCENE

LESS UNDEFINED AREAS

Page 21: Boosting Frame-rates in Unity Games Using Umbra 3

VISUALIZATIONS

Page 22: Boosting Frame-rates in Unity Games Using Umbra 3

Further Reading

Page 23: Boosting Frame-rates in Unity Games Using Umbra 3

JASIN’S POSTS AT: BLOGS.UNITY3D.COM

Page 24: Boosting Frame-rates in Unity Games Using Umbra 3

[email protected]

UMBRA3.COM

THANKS JOE & UNITY!