In this new series, we will look at the implementation of some of the typical interactive audio tasks in AtomCraft, the authoring tool of ADX2. These posts are not meant to be exhaustive references but rather a collection of pointers to put you on the right path. When available, we will link to other posts with more detailed information.
In addition, you can download a demo project that contains an implementation all the examples. This will allow you to get started in no time. The techniques described here will work both with the native CRIWARE SDK and the ADX2 plugin for Unity.
Download the demo project (requires AtomCraft 2.35)
Ready? Ok, let’s see how to…
Randomize a sound
Nothing like a bit of randomization to fight repetition in game audio!
- Create a Cue of type Random No Repeat and add your sound variations on different Tracks.
- In the Selector/Random tab of the Cue, graphically adjust the weight of each sound if needed.
- Select the tracks one by one, in the FX1 and FX2 tabs, click on pitch, envelope, filter cutoff etc and for each parameter move the mouse vertically to adjust the random range.
In the demo project, play the Randomize Cue several times and notice the variations in the sound.
To learn more about AtomCraft’s randomization features, please check this blog post.
Switch the sound played based on the context of the game
Sometimes, you will need to radically change the sound that is played based on what is happening in the game. This can be the case when playing the sound of bullet impacts on different materials or footsteps on various surfaces.
- In the Global Settings, create a Selector (for example, for the footsteps: Surface)
- Create Selector Labels, which are the values the selector can take (e.g. Concrete, Dirt, Grass, and Wood)
- Create a Cue of type Switch. Add a Track for each Selector Label.
- In the Selector/Random tab, specify the Surface Selector and assign each Track of the Cue to a different Selector Label.
You can refer to the “Switch” Cue of the demo project. To test it, open the Session window, drag and drop the “Switch” Cue, chose a Selector Label and play!
To learn more about the selectors, you can watch this tutorial video.
For more details about how to implement footsteps in your game, please check this blog post.
Automatically duck specific sounds
Sometimes you need to put the emphasis on specific sounds by lowering the level of the others. For example, you may want to lower the level of the music when a character starts speaking to make sure that the dialog is intelligible. AtomCraft offers an auto-ducking feature that greatly facilitates this!
- Create Categories (for example “DIALOG” and “MUSIC”) and assign them to your Cues (in the “Cue” tab of the Cue)
- Create a REACT object.
- Assign the triggering category (e.g. DIALOG ) and the modified category (e.g. MUSIC)
- Set other parameters such as the fading times (Change Time and Return Time) and the new level for the sounds of the modified category (Change Level value).
To try the auto-ducking in our demo project, go in in the Session window, start the “BackgroundMusic” Cue and then trigger the “Announcer” Cue. The music will fade-out and fade back in when the voice has finished playing.
For more details about how to implement auto-ducking with REACT in your game, please check this blog post.
You can also watch this video tutorial.
That’s all for this post! In the next installment of this series, we will learn how to implement interactive music, play sounds in sync and control sound from game parameters! We will of course update our sample project. Please do not hesitate to contact us if you think some specific tasks or techniques should be part of this series!