SPLINES // AMBIENCE SUBSYSTEM // AWKWARD SHAPES
Ambience, environment switching, reverb switching and dealing with awkward shapes can be a challenge in FPS games. To handle this, I built an ambience subsystem and various different components that talk to this subsystem, and works with both the player character and AK components that exist within the volumes and splines. On this prioject, I chose not to build a bubble system because that would have made AK propogation via portalling more difficult to leverage.
Box volume/Brush volumes: leveraging AK room and AK late reverb components
Traditional Spline: used for rivers/lakes - anything where we want the sound to immerse the player but not overide the environment
Spline volume: used for awakward shapes like forested areas - we want the environment to be overriden within any awkard shape
Spatialised volume spline: same use case as above, but allows ambient environment to be spatilaised before the player enters that environment
Dynamic ambience: a component attached to the player character that looks at the tag data of data asset for the environment the player is in and dynamically spawns AK components around the player
Environment Data Asset: XV83 data asset that sets AK events, reverb, aux sends, dynamic ambience tags, etc
Efficient AK component: The wrapper I built, (showcased in ‘efficient AK components’) is also used within the spline components. It firstly stops spline voices being virtulized, while also starting/stopping spatialised spline events as necessary