Created By: Game Audio Resource Ltd Date:10/08/2019 Version:2.00
In this guide we will focus on implementing audio asset to Vocalise the player character
We will also suggest a few work around’s for a few hard-coded bugs.
Guide Steps:
- STEP 01: Wwise Hierarchy Structure – Vocal Pain
- STEP 02: Vocal Death
- STEP 03: Vocal Attack Melee
- STEP 04: Vocal Jump & Land
- STEP 05: Test & Integrity Report
Task Time Needed: 1>2 Hours
Video Guide
Written Guide
Chapter 09 A – Step 01
Wwise Hierarchy Structure – Vocal Pain
In this step we will list how to set up a basic vocal exertion type for the player character.
We shall use Pain as the example.
Hierarchy
- Navigate to the Master-Mixer Hierarchy > SFX > Vocal Audio Bus
Then right click the Vocal audio bus, select New Child > Audio Bus
Name it: Vocal_Player - Navigate to the Actor-Mixer Hierarchy > Vocal Work Unit.
Right Click, then select New Child > Actor Mixer.
Name it: Vocal_Player - With the Actor Mixer selected, In the Property Editor > General Settings tab, Assign the new Output bus, we have just created. Vocal_Player
- Right click the New Actor-Mixer, then select New Child > Switch Container.
Name it Vocal_Player_Pain. - Right click the new Switch Container, then select New Child > Random Container.
- Now Copy and paste the new Random Container.
Name each one individually
> Vocal_Player_Pain_AboveWater
> Vocal_Player_Pain_BelowWater
- Now drag in one shot vocal pain audio assets into the Abovewater Random Container.
- Place them under the path SFX > VOCAL > PLAYER > EXERTION
- In the below water Random Container, add a Wwise Silence. This will mean no vocal exertions are played under water when the player takes damage.
- TIP: Having the below water random container, allows you to add unique vocal underwater assets, if you want to add any.
Assigning Switches
- With the Vocal_Player_Pain Switch Container selected, in the Property Editor > General Settings tab > Switch > Group, assign the path: State Groups > Default Work Unit > PlayerInWater
- Then in the Contents Editor add the following
- AboveWater Random container to Assigned Objects None and No
- BelowWater Random container to Assigned Objects Yes
Positioning
In single player, As the character is always in front of the camera, we do not need to assign attenuation’s.
However, if you plan to use the multi-player game mode, assign attenuation’s to any Player Vocal exertion content.
Events
- In the Project Explorer Events tab, navigate to the Vocal Work Unit.
Right Click, then select, New Child > Virtual Folder
Name it: Vocal_Player
- Locate the following events in the unused folder
> Death_Player
> Jump
> Land
> Pain
Move them into the new Vocal_Player Virtual Folder. - Select the Pain event, displaying the Event Properties.
- Then navigate back to the audio tab > Actor-Mixer Hierarchy > Vocal_Player_Pain Switch Container.
Then drag it onto the Pain event Play Action, Target column
Chapter 09 A – Step 02
Vocal Death
We will now duplicate the Vocal_Player_Pain hierarchy. Then modify it to become unique Death vocal hierarchy
Hierarchy
- Copy the Vocal_Player_Pain Switch Container. Then paste it into the same hierarchy location.
- Expand the hierarchy. Then select all of the duplicated Pain Hierarchy.
Right click, then select Batch Rename… - In the Batch Rename Window > settings section, under Replace.
In “Find what” add: _Pain
In “Replace with” add: _Death
Then click the Rename All button.
Close the Batch Rename window
Remove _01 from the switch container name. - Remove the Pain audio assets from the random containers
- Now drag in one shot death vocal audio assets to the AboveWater Random Container.
Place them under the path: SFX > VOCAL > PLAYER > EXERTION
Event
- In the Project Explorer > Events tab, Locate the Death_Player event (under the Vocal_Player Virtual Folder)
- Navigate back to the Actor-Mixer Hierarchy > Vocal_Player_Death Switch Container.
Drag it onto the Death_Player Event Editor, Play Action > Target column - In the event list, right click, then select New Action > States > Set States.
- In the target column assign the path: State Groups > Default Work Unit > Player Life > Dead
- TIP: This Informs the game the player is dead. Stopping all sounds from the Player Character.
Chapter 09 A – Step 03
Vocal Attack Melee
In this step we will assign vocal exertion audio asserts to trigger when the Player Character performs a punch attack.
Hierarchy
- Duplicate all Hierarchy data in Step 01, then rename all hierarchy e.g. Vocal_Player_Attack_Melee via the batch rename tool.
- Drag in one shot vocal grunt audio assets to the AboveWater Random Container.
Place them under the path: SFX > VOCAL > PLAYER > EXERTION
Event
- In the Project Explorer > Events tab, locate and select the event: Fire_Fist_Player.
- In the Event Editor list, right click, then select: New Action > Play
- The change the Probability value to 50
- TIP: This vocal content can get very spammy. Adjust the probability value to your liking, when testing in game.
- Navigate back to the Actor-Mixer Hierarchy Vocal_Player_Attack_Melee Switch Container, then drag it onto the Event Editor new Play Action > Target column.
Chapter 09 A – Step 04
Vocal Jump & Land
Due to the hard-coded event being set up as one event for Jump and Land for all entities. This event is not something we should use, however there is a way round it for single player game to only vocalise the player character.
- TIP: Obviously in a professional environment, you would have access to individual jump and land events for all enemy entity types.
- NOTE: The Land event will only trigger after the player character has been in the air for a certain period of time.
Hierarchy
- Duplicate all Hierarchy data in Step 01 but name all hierarchy e.g. Vocal_Player_Jump
- Duplicate all Hierarchy data in Step 01 but name all hierarchy e.g. Vocal_Player_Land
- Remove the audio assets from the new hierarchies.
- Drag in one shot vocal jump & land grunt audio assets to their associated AboveWater Random Containers.
Place them under: SFX > VOCAL > PLAYER > EXERTIONS - In the Project Explorer > ShareSets tab > Attenuations > Vocal Work Unit.
Right click, then select: New Child > Attenuation
Name it: Vocal_Player_Jump_Land - Open the attenuation
Change the Max Distance to 1
Then in the Graph add points to the red line.
Position one point at Output Bus Volume 0.1 & Distance 0.0
Position the second point at Output Bus Volume 0.101 & Distance -200.00
- TIP: What this does is basically almost make it impossible for an enemy entity to be close enough to the Player Character to trigger Jump sounds.
- Then in the curves list ensure the Low-Pass filter is set to None (this is not needed)
- Now we will assign the new custom attenuation to the Jump and Land hierarchies
Navigate back to the Project Explorer > Audio Tab, Actor-Mixer Hierarchy > Vocal_Player_Jump Switch Container.
Change to the Property Editor > Positioning tab,
Tick override parent
Then under Listener Relative Routing > 3D Spatialization, in the drop-down menu select Position & Orientation.
Then Under Attenuation’s assign the Path: My Cube > Vocal > Vocal_Player_Jump_Land - Now assign the same attenuation to the Vocal_Player_Land Switch Container hierarchy
Event
- In the Project Explorer > Events tab, Locate the event Jump.
- Navigate back to the Actor-Mixer hierarchy > Audio tab > Vocal_Player_Jump Switch Container.
Then drag it onto the Event Editor Play Action Target column (replacing the TEST_VOCAL_01 reference) - Repeat, Event Steps 1 & 2 but for the Land event.
- Once the Land event is set up, select the vocal Play action, then change the Delay Value to 0.1
- TIP: This will allow the vocal to trigger slightly after the player character lands.
- Save your Wwise project updates and generate the sound banks.
Chapter 09 A – Step 05
Test & Integrity Report
In this step we will test all vocal sound events that we have added
- Boot up the game, connect Wwise to the game.
- In Wwise, Solo the Vocal_Player Actor Mixer Hierarchy.
- Then change to the Wwise Profiler layout.
- Then move the player character around the map, performing different actions to trigger each vocal event.
- Add any balancing changes you wish to add.
- Close the game, save your Wwise Project updates. The generate the sound banks.
- Finally, run an integrity report to valid your hierarchy data is setup correctly.
The next part of this chapter will use details in this guide to set up dialogue to trigger for the player character in certain conditions.