Created By: Game Audio Resource Ltd Date: 24/07/2019 Version: 2.00
In this guide, we will script material types to texture tiles, so the game engine can inform Wwise which footstep material type is being moved on by any entity in game.
This guide will fix:
- Different material types not playing correctly
- Help you identify texture tiles with no audio material type association
- suggest a good (hacky) alternative fix for the broken hardcoded water material type.
- STEP 01: Wwise Identify Missing Material Types
- STEP 02: Cube Material Type Script & Data
- STEP 03: Cube Addressing The Water Material Type Bug
Task Time Needed: 4 hours.
Chapter 07 B – Step 01 Wwise
Identify Missing Material types
This is not a needed step but will increase your knowledge of how to debug the game for errors.
Sadly, due to how the data has been default implemented, not all errors will be shown in the Wwise profiler.
- Boot up the game, Loading the Default map Metl3
- Connect Wwise to the game. Then Change Wwise to the Profiler Layout.
- As you walk over certain tiles in this map you will see red error entries appear in the Wwise Profiler stating “Missing material for …”
- TIP: This means the texture tile the character moved over does not have an audio material associated with it, so the previous audio material last called will stay being triggered.
This is why footsteps are not consistently changing through all game maps when the player character moves onto different texture tiles.
Now we have identified the missing tile we will go about fixing the issue.
For now, we will focus on any texture tile that is not water.
We will use the error Missing material for ikbase\ikbase\ik_wtrimh_32b.jpg as the example (as displayed in the video) to be fixed in this guide – step 02
Chapter_07 B – Step 02 Cube
Material Type Script & Data
In this step we will script in a .cfg files audio material types to be associated to cube texture tiles.
- In your local directory where the game data is kept, navigate to this file …/Cube/cube/data/default_map_settings.
Open the file in Notepad++
- In this file is a list of all model, sky maps and texture types. Have a quick look around the file to understand the formatting.
From line 143 are a list of all texture tiles used by the game.
- CTRL + F to bring up the search box. Type wtrimh_32B
One entry will be found on line 209
texture 0 “ikbase/ik_wtrimh_32b.jpg” this has no association to an audio material type.
- TIP: If you look at line 193
texturematerial 0 “ikbase/ik_floor_met128f.jpg” “Metal”
This has an audio material type assigned to it.
– Texturematerial – Allows the texture to have a material type associated.
– “Metal” – Informs Wwise the audio material type to play via the Wwise switch
- To add an audio material to this texture tile change it from this
texture 0 “ikbase/ik_wtrimh_32b.jpg”
texturematerial 0 “ikbase/ik_wtrimh_32b.jpg” “Metal”
- Save the File (CTRL + S)
- TIP: But wait how did I know this texture tile is Metal?
You can find the actual tile graphic in this directory:
Search the folder for ik_wtrimh_32b
- Boot up the game and connect Wwise to the game
Change to the Wwise Profiler layout
Move the player character over the same texture tile again that caused the error to be displayed, that we highlighted in Step 01.
- You should now find no error are displayed in the Wwise profiler.
These above steps will now allow you to fix all none water related texture tiles to be associated with Audio material types.
Chapter 07 B – Step 03 Cube
Addressing the Water Material Type Bug
When any entity is in water code should switch the footsteps to play water assets. Sadly, the code appears to be broken.
To compensate for this we will add water texture tiles to a map, where ever water is shallow.
- Boot up the game up. Then connect Wwise to the game.
Change to the Wwise Profiler Layout
Load the “map aquae”
In the middle of this map is a water small stream. If you move the player character through the water and watch the Wwise Profiler you will notice water does not get called.
A solution for this, without adding new code is to retag the map with the correct texture tile.
Close the game.
- TIP: You will notice that no missing material error message are displayed in the Wwise profiler for footstep on Water.
This makes it hard to identify what texture tile we are walking on,
However, as we are replacing the texture it does not matter.
- First let’s update the default_map_settings file.
Find this texture tile in the file
texture 0 “golgotha/water2.jpg” (Line 144)
Change the line to
texturematerial 0 “golgotha/water2.jpg” “Water”
- Save the file updates and close the file.
- Boot up the game. Then load the map aquae, then move the player character to the water stream in the middle of the map.
- Press E to enter map edit mode.
- Drag Select tile boxes that are 100% under the water level.
- With the mouse wheel roll it either towards you or away from you. Raise the selected area above the water level. This helps see the texture tile graphic.
- Press the command line button ¬ and type /edittex D 50
The texture tile will now change.
- To cycle 1 tile at a time, press Delete until you find the water tile.
- Use the mouse wheel to move the selected tiles back under the water line again.
- Exit map edit mode by Pressing E
- Now move the player character across the new water texture tile. Water footsteps should now trigger.
- Repeat the process along the entire stream, until all underwater tiles are changed to the correct water tile.
- TIP: the texture tile is now set to the water tile, so you should be able to drag select a few tiles, press delete to change the selected tiles to water. This will speed up the process.
- If you are happy with the results Save the map, press the command line button ¬ the type save map.
A message will display stating that the map has been updated. (wrote map file packages\base\aquae)
This is a good point to go through all maps and start tagging up the water material type where every shallow water is found.
You can use the Environment tracker document (highlighted in Chapter 06 A to highlight which maps need doing.