Scalable Audio Propagation for UE5 | Introduction

Demonstration Video

Spoilers!

Overview

This series of blog posts will document the development process of my GAM230 specialist practice project, “Scalable Audio Propagation.” I will break down the steps involved and explain my rationale for key development decisions. Additionally, I will discuss any issues encountered, how I overcame them, or how I plan to address similar problems in future projects.

Two terms used frequently throughout this development log are “Occlusion” and “Obstruction.” Shores (Shores, 2021) defines audio occlusion as the blocking of the path from emitter to listener, resulting in a change in sonic qualities. Obstruction is defined as the calculation of indirect sound waves diffracted around geometry in a space.

Project Contents:

  • Deployable package of blueprints, components and dependencies
  • Documentation for installation and configuration
  • Playable demonstration build

Download links for the project resources and documentation can be found below.

Project Statement

Below is an excerpt from my project statement, outlining the purpose behind Scalable Audio Propagation.

“This project will be focused on creating a demonstrable prototype of an audio propagation system inside Unreal Engine 5. This prototype will be deployable, as a collection of blueprints and components, but is designed as a proof of concept for what could be a future Unreal Engine plugin.

Variable quality system to approximate the occlusion (pre-send, when the direct and indirect sound waves are blocked), and obstruction (post-send, when only the direct sound waves are blocked). Occlusion will be determined through line-casts from emitter to listener, whereas obstruction will be calculated using pathfinding.”

Image demonstrating the difference between Occlusion and Obstruction (Shores, 2021)

In my project statement, I discuss the strengths and weaknesses of similar products to what I will be producing in the coming weeks. As this system is designed to be flexible and relatively simple to implement, all calculations will be performed dynamically at runtime, allowing for rapid iteration when designing and tweaking soundscapes for a game. This approach opposes that proposed by Raghuvanshi et. al. in their paper ‘Precomputed wave simulation for real-time sound propagation of dynamic sources in complex scenes‘ (Raghuvanshi et al., 2010). The method proposed in this article relies on the pre-calculation of wave simulations to model occlusion and obstruction, among other process. Although performant, this pre-calculation approach dramatically increases iteration times, and significantly raises the barrier to entry for smaller developers.

The full statement can be downloaded below:

Documentation:

Resources: