Adaptive Reverb in Unreal Engine

Adaptive reverb is one of those tools that are fun to talk about, but lacks practical implementation. For this project, I thought that I would develop several methods for calculating reverb for a simple room, and see which is most efficient.

My first attempt looked something like this:

  • Line trace (Raycast) to surrounding to detect objects with the environment tag (separate script for outdoors) Cast rays forward and behind camera to a set quantity limit Raycasting interval timed to walk/run timer Return distance 3d vector
  • Sum vectors to get room dimensions Calculate room volume
  • Send volume to FMOD Default is lwh, but could potentially add slider for different room types Parameters go to reverb snapshot, which remaps the values to EQ,

Naturally, the quickest way to implement this would be in Blueprints.

Room volume Player location front camera raycasting (rinse/repeat)

This script worked very quickly, and was easy on computation resources. That being said, it doesn’t take most than a few details of the room into account, and is only really accurate for simple, box shaped rooms.

Therefore, I made several more additions for the the second version of my BluePrints script.