umbra 3 & unity 3.5 - igda helsinki 2012
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.TRANSCRIPT
![Page 1: Umbra 3 & Unity 3.5 - IGDA Helsinki 2012](https://reader033.vdocuments.us/reader033/viewer/2022061209/548c5fb9b4795991268b4596/html5/thumbnails/1.jpg)
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](https://reader033.vdocuments.us/reader033/viewer/2022061209/548c5fb9b4795991268b4596/html5/thumbnails/2.jpg)
• 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](https://reader033.vdocuments.us/reader033/viewer/2022061209/548c5fb9b4795991268b4596/html5/thumbnails/3.jpg)
Currently working with...
![Page 4: Umbra 3 & Unity 3.5 - IGDA Helsinki 2012](https://reader033.vdocuments.us/reader033/viewer/2022061209/548c5fb9b4795991268b4596/html5/thumbnails/4.jpg)
Currently working with...
![Page 5: Umbra 3 & Unity 3.5 - IGDA Helsinki 2012](https://reader033.vdocuments.us/reader033/viewer/2022061209/548c5fb9b4795991268b4596/html5/thumbnails/5.jpg)
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](https://reader033.vdocuments.us/reader033/viewer/2022061209/548c5fb9b4795991268b4596/html5/thumbnails/6.jpg)
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](https://reader033.vdocuments.us/reader033/viewer/2022061209/548c5fb9b4795991268b4596/html5/thumbnails/7.jpg)
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](https://reader033.vdocuments.us/reader033/viewer/2022061209/548c5fb9b4795991268b4596/html5/thumbnails/8.jpg)
– 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](https://reader033.vdocuments.us/reader033/viewer/2022061209/548c5fb9b4795991268b4596/html5/thumbnails/9.jpg)
Live Umbra 3 and Unity demo
Recap: Best practices
![Page 10: Umbra 3 & Unity 3.5 - IGDA Helsinki 2012](https://reader033.vdocuments.us/reader033/viewer/2022061209/548c5fb9b4795991268b4596/html5/thumbnails/10.jpg)
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](https://reader033.vdocuments.us/reader033/viewer/2022061209/548c5fb9b4795991268b4596/html5/thumbnails/11.jpg)
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](https://reader033.vdocuments.us/reader033/viewer/2022061209/548c5fb9b4795991268b4596/html5/thumbnails/12.jpg)
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](https://reader033.vdocuments.us/reader033/viewer/2022061209/548c5fb9b4795991268b4596/html5/thumbnails/13.jpg)
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](https://reader033.vdocuments.us/reader033/viewer/2022061209/548c5fb9b4795991268b4596/html5/thumbnails/14.jpg)