The Blend Container can be a powerful sequencing and mixing tool. Simply learning its functions can bring all sorts of new ideas into the mind of a game sound designer. This is especially true when combined with the power of the RTPC, and a good amount of brainstorming with your game designer and programmer.
I am going to share a recent Blend Container idea with you. It can be a great method for “painting” ambient audio zones around a landscape. This developed in two different stages, both of which I will outline.
All of the pictures, audio assets, and approaches I am going to share with you are part of a prototype scenario. Here is an aerial picture of part of a map we are going to use to demonstrate.
A 3D Perspective with a small viewable area
Development Stage 1 of 2
The gameplay of this map takes place mostly while you swim underwater or cruise along at the waterline as a Shark. You are able to access deep parts of the ocean where the waves are several feet high, or you can travel away from the ocean where the inland water is very calm. I started implementing ambient audio with a series of actors to trigger the wave assets, but this was not a good solution as it left the ambient water sounding both static and disconnected from the visuals. Swimming is a fundamental part of this title and it must look, feel, and sound immersive. The waves in this map are dynamic, so the audio events should be as well. Somewhere there was a new RTPC value, and we were going to find it.
It occurred to me that if there were a game value commanding the waves when and how to grow in height, then maybe I could use that value as an RTPC to control the dynamic mix of the wave assets.
I asked our game producer about the ocean wave modulation and he explained how it worked. Then I asked him to explain it in a way that a sound designer might understand, and it began to make sense. Basically, the ocean wave modulation is created by mapping a world space coordinate to a UV coordinate in the HeightMap and then the color information is read from a pixel. The code that influenced the RTPC value we ended up creating is part of an Unreal community project called Ocean Simulation, Weather and Dynamic TOD system.
The RTPC value was named WaveHeight. When the value is 0 there is no wave modulation, and at 1 we have our most dynamic wave modulation. I created a Blend Container with three tracks.
Blend Container and RTPC Value - Stage 1 of 2
The pictured Blend Tracks from top to bottom are Big Waves, Medium Waves, and Light Waves. You can see the Wave Height RTPC controlling Volume in red envelopes across each track.
This scenario worked far better than static ambient actors, but there were two main issues with this setup. The RTPC value would occasionally produce inconsistent value jumps which did not create a reliable or smooth transition. Also, when you were close to the beach the wave height was already at 0. That meant that we would hear the same background water behavior near the beach shore as we would all the way inland in the rivers and canals. As is often the case with implementing game audio with Wwise, there was a more elegant option.
Stage 2 of 2
Converting the values from the HeightMap to an RTPC was the starting point, but using a simple color channel to drive our RTPC was where we ended up. In Photoshop, we were able to “draw” and map out the ambient areas on top of the 2D World Texture.
A 2D World Texture - RTPC Value Stage 2 of 2
The Ocean would be pure white with a Wave Height RTPC Value of 1. The inland water areas would be black with a Wave Height RTPC value of 0. The transition areas near the shore would blend with the intensity of gray from about 0.2 up to 0.8. This ended being very smooth and efficient for processing and voice count, and it offered a lot of control between the 3 zones.
2D World Texture map converted into colors with Photoshop - RTPC Value Stage 2 of 2
This second Blend Container has a 4th Blend Track added at the bottom. This asset was made up of very gentle inland water lapping. The ocean ambience is the Blend Track just above that, which picks up around 0.2 on the Wave Height RTPC value.
“WaveHeight” Blend Container - Stage 2 of 2
This is a video capture of the Stage 2 Blend Container in game. Although it is very small, the Wave Height RTPC value is being printed to the top left-hand corner of the editor screen. in purple text.
This painting of ambient areas method could be used for a variety of audio events. We are currently only utilizing the red channel, but blue and green are just waiting to be painted into a new RTPC value!