Upload
umbra
View
199
Download
0
Tags:
Embed Size (px)
Citation preview
Jan Beneš Remedy, Audio Programmer
Thomas Puha Umbra, Man of all hours
Using Umbra Spatial Data forVisibility and Audio Propagation
in Quantum Break
NEW STUFFUmbra Cloud and the Umbra DebuggerImproved usability and accessibility
UMBRA VIDEODebugger, what is occlusion culling, Umbra Cloud
Debugger
Video of what Umbra does
Explain what occlusion culling, Umbra
debugger and Umbra Cloud during video
EXAMPLESUmbra data is useful for many things
JAN BENEŠRemedy & Quantum Break
REMEDY HISTORY1996 Death Rally
1997 Final Reality
(Futuremark)
2001 Max Payne 1
2003 Max Payne 2
2008 Max Payne Movie
2010 Alan Wake
2011 Death Rally Mobile
2012 Alan Wake’s American
Nightmare
2014 Agents of Storm
2015 Quantum Break
NORTHLIGHT• In-house• Based on AW tech • Open world• Streaming – 2D grid of ’cells’• Relies on key middleware• Xbox One, C++ & D • Renderer• DX11, multithreaded, deferred
lighting
QUANTUM BREAK REQUIREMENTS
• Varying environments(indoors, urban environment, outdoors…)
• Tens of thousands meshes per level
• Dynamic elements• Level permutations• Fast & automatic
incremental builds• Xbox One
UMBRA IN QUANTUM BREAK
• Occlusion culling• Main camera• Directional lights (shadow culling)
• Audio• Environments & reverb• Audio occlusion • Audio propagation
WHY UMBRA?• Long history with Umbra• Good experience using ’previous-gen’
Umbra in AW• New features• Scene hierarchy/voxelization• Raycasts• Bi-dir visibility
• Supports streaming (TomeCollection in Umbra 3)
OCCLUSION CULLING• Main camera and directional light
shadows• Asynchronous queries• Bi-directional visibility• Collaborated on a new culling
feature with Umbra• Store local depth cube maps for each
object• ~ 10% increase in the number of
occluded objects
STATISTICS (GAMESCOM DEMO LEVEL)
• Clean export times (Core-i7, 8 HW threads)• ~ 14 min (3 different permutations)
• Iteration times < 1 min • Runtime stats• Data size: around 20 MB • Camera visibility queries 1-2 ms (on a
worker thread)
QUANTUM BREAK AUDIO TECH
• Two different soundscapes• Wwise, RTPCs• Runtime effects (lot of convolution
reverb)• Custom Wwise plugins (university
collab)• Grain Synth• Geometric distortion in frozen scenes (signal
analysis plugin)
• Sound occlusion & propagation
SOUND ENVIRONMENTS
• Sphere or box areas with effects (reverb), switching weapon assets
• Quick way to query for local environments in game (clusters)
• Smooth transitions, overlaps & blending• Raycasts to prevent the effects from bleeding through
walls
[VIDEO]Sound enviroments
SOUND OBSTRUCTION – RAYCASTS
• Raycasts between sound sources & camera• Umbra raycasts are fast (operating on voxelized
geometry)• Multiple (3x3) raycasts to distinguish
occlusion/obstruction
SOUND OBSTRUCTION – STATISTICS• ~ 2 ms budget for all 3D audio
computations• Only single raycasts for distant objects• Usual raycast count (after): 100-200 per
frame• Updating only a part of the active objects
every frame
UMBRA GATES• Objects with controlled occlusion behavior
(on/off)
• Specific usecase - audio occluders• Marking windows and glass walls that should obstruct
only audio
• Generic dynamic gates• Same system & data used for camera culling & audio
obstruction• Opening doors also opens an Umbra gate
SOUND PROPAGATION
• Propagating obstructed sound through doors and portals (gates!)
• Affects positioning (sound coming from the door)
• Effects – more reverb, filtering, lower volume
• Setup in editor – gate with environments on each side
SOUND PROPAGATION – RUNTIME
• Find environments of the sound and camera (query cluster)• Environments know the gates
connecting them (cached as a graph)
• Gates determine virtual positions of the sounds• Keep distance to preserve
attenuation
Camera
Source Virtual source
Gate
[VIDEO]Sound Occlusion & Propagation
THANKS FOR LISTENING!
QUESTIONS?Umbra3d.com
Remedygames.comTwitter: @umbra3d / @remedygames
Umbra booth at Expo hall #824