CHAPTER 06 C – Environment: Ambience

Created By: Game Audio Resource Ltd     Date: 18/07/2019    Version: 2.00

This guide will highlight how to implement environment types to each map.
The data and tech available are limited, but we make the most of what we can use.

NOTE: There is no current way (without adding new code) to add a spot emitter to place a unique sound event at unique locations in a map. E.g. only play a waterfall asset in the position of the graphics of the waterfall, then fade volume over distance using attenuation’s.

Guide Steps:

  • STEP 01: Wwise Data
  • STEP 02: Cube Data & Script
  • STEP 03: Test & Integrity Report

Task Time Needed: Around 15> 30 minutes per map.


Video Guide


Written Guide

Chapter 06 C – Step 01
Wise Data

First, we will set up a generic environment type (Desert) and element type (Wind) in Wwise for the generic default map Metl3.

NOTE: The metl3 map (like most other cube maps) really needs to have 2 different environments for different areas in the map. Desert for outside areas and Temple for inside areas. Sadly, we can only generically assign one ambience to play for one whole map.

Desert is the one of most generically fitting environments for the cube game, so will be exampled in this guide.

  • TIP: In a professional studio with an audio coder, you may have different ways to implement environments. Possibly via an engine database for each environment type or possibly tagging environment types directly into a map.

Environment (Desert) Content:
First, we will add wildlife content

  1. Return the Designer Layout (F5)
  2. In the Project explorer under the Audio Tab locate Actor-Mixer > Default Work Unit > select the Environment
    Right click, select New Child > Actor-Mixer.
    Name the actor mixer ENV_Desert.
  3. Next, we will add a container than randomly plays one shot insect assets
    Right click the Environment_Desert actor mixer, select New Child > Random Container
    Name it ENV_Desert_Insect
  4. In the Property Editor > General Settings tab, change the Play mode to Continuous.
    Tick the Loop box, also leave as Infinite,
    Tick the transitions box,
    In Type select Trigger rate,
    Then in Duration change the value to 5.
    Double click Duration randomizer, then in the windowed properties, we will define an offset value.
    Tick enabled,
    Leave Min Offset at 0,
    Then change Max Offset to 4.
    – TIP: These settings allow a one shot to trigger every 5 > 9 seconds
    Close the Randomizer window
  5. Right click the ENV_Desert_Insect Random Container and add 2 new child Random Containers.
    Name them:
    ENV_Desert_Insect_Crickets
    ENV_Desert_Insect_Fly
  • TIP: Feel free to add other insect types, e.g. Beatles, Reptiles = snakes, etc… however note I will not reference any content you add throughout this guide)
  1. Import the audio one shot assets for crickets and fly into the associated container. Place them in new folders under SFX > Environment > Insects.
  2. Now press play.
  3. The play function should stay continuous, triggering an insect asset every 5>9 seconds.
  4. Let us add a mammal type.
    Copy and paste the ENV_Desert_Insect Random Container to the same location under ENV_Desert.
    Rename the Random container ENV_Desert_Bird
    Name the child Random Containers under this container to match the hierarchy + add the mammal type name.
    Example:
    ENV_Desert_Bird_Hawk
    ENV_Desert_Bird_Buzzard
    Then delete the insect audio assets from the duplicated container.
    For now, copy and paste the Placeholder_Silence_One_Shot Test asset under each Random Container.
  • TIP: If you would like to also add a looping generic environment asset. Add a single asset under the Environment_Desert Actor Mixer.
    If you have multiple looping asset variations, add a random container. Then drop the assets under that. (NOTE: I will not reference this extra loop (if you do choice to add it) in the rest of this guide though, you will need to add it yourself.

Element (Wind) Content:
Now we will add a generic wind type element to support the desert ambience

  1. Under the Actor-Mixer Hierarchy > Default Work Unit> Elements WWU add a new Actor Mixer under the wind work unit call ELM_Wind_Warm
  2. Copy the ENV_Desert_Insects Random Container and place it under the ELM_Wind_Warm Actor Mixer. Rename the Random Container
  3. Remove the 2 child Random Containers.
  4. Then import one shot light sand wind gust audio asset.
    Place them in a new folder SFX > Elements > Wind.
  5. Also, let’s import a looping light wind asset under the ELM_Wind_Warm Actor Mixer. Place the loop in the same location as the above wind warm folder
  6. Select the Wind Warm Loop audio asset, then in the property Editor Select the Loop tick box.
  7. Now test the loop and the one-shots that they trigger correctly with the transport control play function.

BUS / MIXER:
Now we need to associate our 2 new Environment & Element Actor-Mixers to an Audio Bus

  1. Select the ELM_Wind_Warm Actor-Mixer
  2. In the Property Editor > General Settings tab > Output Bus, click on the path UI button.
    Then navigate and select the Environment Bus (Mater Audio Bus > SFX > Element)
  3. Then click OK.
  4. Select the ENV_Desert Actor-Mixer
  5. In the Property Editor > General Settings tab > Output Bus, click on the path UI button.
    Then navigate and select the Environment Bus (Mater Audio Bus > SFX > Environment)
  6. Then click OK.

Sound Event:
Lastly, we associated all the new content we have implemented to a single Wwise event.

  • TIP: Usually in a professional environment, each part of an environment / element would be set up to individual unique sound events.
    As the tech behind initial map load is a bit flaky (randomly not loading all associated content), it is best to set up one sound event to call all of the above content.

  1. First, we are going to configure the Wwise windows to be more useful.
    In the Wwise tool bar select Views > Project Explorer > Project Explorer – Sync Group 2
    This bring up a duplicate window of the hierarchy. In this window change to the audio tab and leave this extra window open.
  2. Return to the main Wwise window, right click the Wind Warm Loop audio asset.
    Select New Event > Play.
  3. In the Project Explorer > Events tab, find the new sound event in the Default work unit.
    Remove Play_ at the start of the event name.
  4. Name the sound event SFX_ENV_Desert_Generic.
  • TIP: In a professional environment, the environments or any looping sounds would usually have a Stop event. In the cube, we do not have this option.
    Example:
    ENV_Desert_Generic _Play
    ENV_Desert_Generic _Stop
    These 2 events, Play and Stop events would then be called via a code hook, database table, scripted to a map, etc…
  1. Drag it into the Environment Wwise Work Unit
  2. Now in the events Editor right click, then add 3 New Actions > Play types
  3. In the duplicated Project explorer window that we opened in point 1. Find the ELM_Wind_Warm_Gust_Sand Random Container. Then select and drag it on to the Event Editor Target column of the second Play blank type.
  4. Repeat the process with ENV_Desert_Insect and ENV_Desert_Mammal
    (+ any other containers you add with extra Play events)
  5. Finally, for each of the play events, we need to change a few properties for the looping assets.
    Select the Play Wind Warm Loop Line, in the properties change the fade Time to 0.5.
  • TIP: This allows the looping asset to fade in at the start of the map.
  • TIP: When exiting a map, global sound events are stopped via the Map_Loaded event (which we set up in Chapter 05) This will fade out global assets at 0.5 seconds. Then reloads all assets for the next map loaded.
  1. Select the new SFX_ENV_Desert_Generic Event. Now press play (Space bar).
  2. Hopefully you will hear all the assets implemented, looping & randomly triggering one shots.
    Also note the fade in when the loop is played.
  • TIP: As mentioned at the start of this guide, the tech is flaky.
    You may find that you need to reload a map to get the ambience to trigger or some of the one shots do not appear to be triggering.
  1. Change to the SoundBank layout (F7), drag the new event SFX_ENV_Desert_Generic in the Main sound bank.
  2. Generate the sound bank & Save your Wwise project updates.

Chapter 06 C – Step 02
Cube Data & Script

Now we need to implement the new SFX_ENV_Desert_Generic Wwise Event  to trigger in the default Metl3 map.

  1. Find the metl3 .cfg script file under:
    :\….\Cube\cube\packages\base
  1. In the map script, in a new line add:
    akevent SFX_ENV_Desert_Generic
  • TIP: What this does is tells the game that when the map is loaded play the sound event ENV_Desert_Generic.
  • TIP: From my own tests adding more than one akevent to a script normally results in the second event call not being triggered. This is why we add all Environment content into one event.
  1. Save the script update.
  2. Close the script window.

Chapter 06 C – Step 03
Test & Integrity Report

Finally, let us test the new environment in game.

  1. Boot up the cube.exe, You should hear all Environment_Desert components being triggered. (if not try reloading the map)
  2. Connect Wwise to the game
  3. Change to the Profiler Layout, you should now see a live list of all the components being triggered.
  4. Close the game.
  5. As a final test, run a Wwise integrity report. If any areas are highlighted to the named content we have added in this guide, check the guide again for any missed points.

You have implemented your first environment type.
Take 30 mins to volume balance / mix the components of the desert environment.
Try pitching the fly or cricket assets up a semi-tone or 2, may feel more natural.
Also trying adding a random pitch or Random volume with each asset triggered.
Once you have got to grips with all the above’s process, use this guide to start implementing new environments for different maps.

 

%d bloggers like this:
search previous next tag category expand menu location phone mail time cart zoom edit close