What is Project Acoustics?
Project Acoustics is a wave acoustics engine for 3D interactive experiences. It models wave effects like occlusion, obstruction, portaling and reverberation effects in complex scenes without requiring manual zone markup or CPU intensive raytracing. It also includes game engine and audio middleware integration. Project Acoustics' philosophy is similar to static lighting: bake detailed physics offline to provide a physical baseline, and use a lightweight runtime with expressive design controls to meet your artistic goals for the acoustics of your virtual world.
Using wave physics for interactive acoustics
Ray-based acoustics methods can check for occlusion using a single source-to-listener ray cast, or drive reverb by estimating local scene volume with a few rays. But these techniques can be unreliable because a pebble occludes as much as a boulder. Rays don't account for the way sound bends around objects, a phenomenon known as diffraction. Project Acoustics' simulation captures these effects using a wave-based simulation. The acoustics are more predictable, accurate and seamless.
Project Acoustics' key innovation is to couple real sound wave based acoustic simulation with traditional sound design concepts. It translates simulation results into traditional audio DSP parameters for occlusion, portaling and reverb. The designer uses controls over this translation process. For more details on the core technologies behind Project Acoustics, visit the research project page.
Video Presentation from GDC 2019
Project Acoustics Unity integration is a Unity package containing both editor scripts for design and runtime scripts with an audio spatializer plugin.
Project Acoustics Unreal integration includes an editor plugin for design and game plugin with a Wwise mixer plugin for audio playback support.
- Pre-bake: Start with setting up the bake by selecting which geometry responds to acoustics by, for example, ignoring light shafts. Then edit material assignments and select navigation areas to guide listener location sampling. There's no required markup for reverb/portal/room zones. Debug displays help show which data will be included in the bake process before performing the bake.
- Bake: The acoustic simulation requires intensive computational power. The data files produced by the prebake are sent to Azure to accelerate the simulation process. Once completed, the resulting acoustics information is downloaded into your project as a game asset.
- Runtime: Load the acoustics game asset into the Project Acoustics plugin. Design the acoustics live in editor using granular per-source controls, either via UI controls or code.
The Project Acoustics runtime plugins can currently be deployed to the following platforms:
The Project Acoustics editor plugin is available for the following platforms:
- MacOS (Unity only)
- Project Acoustics Unity plugin and samples
- Project Acoustics Unreal & Wwise plugins and samples
- For Xbox binaries and other support, contact us via the forum.
For source licensing information, contact your Microsoft Gaming representative and ask for the "GDK addendum agreement for the Game Development Kit Repository."