14
Umbra, Unity and rendering optimization 10/1/2012 Sampo ”Anvil” Lappalainen & Thomas Puha IGDA Unity evening

Umbra 3 & Unity 3.5 - IGDA Helsinki 2012

Embed Size (px)

DESCRIPTION

A presentation me and mr. Thomas Puha did for IGDA Finland Unity event. We give a quick overview of how Umbra works in Unity.

Citation preview

Page 1: Umbra 3 & Unity 3.5 - IGDA Helsinki 2012

Umbra, Unity and rendering optimization

10/1/2012

Sampo ”Anvil” Lappalainen & Thomas Puha

IGDA Unity evening

Page 2: Umbra 3 & Unity 3.5 - IGDA Helsinki 2012

• Founded in 2006, Helsinki, Finland• 13 full-time employees • In the business of occlusion culling = rendering

performance optimizing• Plenty of shipped games utilizing Umbra’s tech: Alan

Wake, Mass Effect 2-3, Dragon Age 1-2, Age of Conan etcCurrent product

• Umbra 3.1 (CPU, CPU/GPU)

• Available for PlayStation 3, Xbox 360, PlayStation Vita, iOS, pc, Android and future console platforms...

Page 3: Umbra 3 & Unity 3.5 - IGDA Helsinki 2012

Currently working with...

Page 4: Umbra 3 & Unity 3.5 - IGDA Helsinki 2012

Currently working with...

Page 5: Umbra 3 & Unity 3.5 - IGDA Helsinki 2012

What do we offer?“Umbra rendering optimization”• Helping to optimize graphics rendering to enable better

performance

• Only draw what the camera sees - visibility solution

• Basis of a 3D engine – but very difficult problem to solve well

• Umbra’s core engineering team has worked on this since 2000

• More and more technology-driven studios choose our solution

• Mature technology and it works – easy to integrate

Page 6: Umbra 3 & Unity 3.5 - IGDA Helsinki 2012

Umbra tech timeline

• Umbra 1 - 2007– Hierarchical representation of the scene– GPU occlusion queries for visibility testing

• Umbra 2 (OB) - 2009– Multithreaded Umbra 1– Built to work optimally on PS3 / Xbox 360

• Umbra 3 - 2011– Umbra Optimizer for visibility baking– Umbra Runtime for CPU operations

Page 7: Umbra 3 & Unity 3.5 - IGDA Helsinki 2012

Umbra and Unity 3.5 Pro

• Umbra 3.0 pre-integrated• All Unity platforms covered

• Optimizer:– Visibility ”bake”– Take scene, computation parameters as input– Produces a Tome

• Runtime:– Perform occlusion culling using the pre-computed Tome

Page 8: Umbra 3 & Unity 3.5 - IGDA Helsinki 2012

– Incremental Bake•When a change is made to the scene, only the affected areas need to be recomputed•Dramatic reduction in baking times

Upcoming features

– ”Grizzly” culling algorithm• Improved portal culling algorithm• All new, groundbreaking, next-level, way

of doing things!

Page 9: Umbra 3 & Unity 3.5 - IGDA Helsinki 2012

Live Umbra 3 and Unity demo

Recap: Best practices

Page 10: Umbra 3 & Unity 3.5 - IGDA Helsinki 2012

Tip 1: Set tight Occlusion Areas

• Don’t compute the parts of the scene where camera cannot go• Gains:

– Faster computation– Smaller runtime memory footprint

Page 11: Umbra 3 & Unity 3.5 - IGDA Helsinki 2012

Tip 2: Choose the right culling algorithm

• Different data needs to be computed for different algorithms

• PVS– Simple lookup in runtime, fast!

• PVS with dynamic objects– Larger runtime data size

• Portal– More accurate than the PVS test– Fast to test dynamic objects

Page 12: Umbra 3 & Unity 3.5 - IGDA Helsinki 2012

Tip 3: Computation parameters

• Huge impact on both computation time and culling quality

• View Cell Size:– Smaller values take longer to

compute, but produce better occlusion

• Near Clip Plane:– How close to the geometry can

the runtime camera go• Start with default values and tweak

one parameter at a time

Page 13: Umbra 3 & Unity 3.5 - IGDA Helsinki 2012

Thank you for listening (Thanks IGDA and Unity)

Enjoy a free ”Tome” drink on us tonight!

umbra3.com

Page 14: Umbra 3 & Unity 3.5 - IGDA Helsinki 2012