Honours Project Development: Footsteps Walk/Run + GFX Settings
Today I was working on changing footsteps sound for walking and running. I start with figuring out how to use FMOD parameters in UE4. I tried with boosting low frequencies with EQ to add thump to footsteps.
Unfortunately, parameters in UE4 seems to not work even that I followed official tutorial. I suspected that reason for that may be that I’m not using standard single sound assigned to actor and I was somehow right.
Because in my BP, FMOD events are called by Trace Channel and Surface Type Selector I had to add FMOD Event Instance Set Parameter and assign two states to my running system. And it works but in strange way. In my ‘Running System’ player have to press ‘left shift’ key to change player walking speed float (500 walk, 1000 run). So when ‘left shift’ is pressed it turns automation from state 0 to 1 but only for one footstep sound and it backs to default 0. It took me some time and after trying different approaches like checking on ‘Event Tick’ if key is pressed or not, I realized that it’s probably impossible to use parameters in such way. So, I tried different approach: Mixer snapshots – it’s another issue that I had because parameters of mixer can’t be used like parameters in Events. But Snapshot is what I needed. By following official FMOD tutorial I created two snapshots: one with default settings for ‘walk’ and other with modified parameters for ‘run’ state. But instead of doing this in GameLevel BP (which makes access to ‘left shift’ unavailable when used in two blueprints) I did it in Player BP. I added two snapshots to Player BP as components and there I accessed them in BP. Then I set ‘left shift’ to Play/Stop these Snapshots depending on pressed/Released state.
This system works. I created Bus structure in Mixer. One Bus for Player and then Sub-bus for Footsteps. Sub-bus has included EQ with Low frequency at 400Hz and below. While running this frequency range is boosted by 5dB. Then volume is also raised by 2dB and Reverberation is louder [more signal sent to Reverb Return (Send) by 3dB].
These settings will change probably as I still have to record new footsteps for metal surface. I also changed reverb to one based on Impulse and I used IR ‘3 Rooms 12 Large Tiled Room Quad’ that I got for free with free ‘Samplicity M7 IR library’ which use IR from famous M7 Reverb. It’s not perfect but match RT60 that I calculated on website http://www.sengpielaudio.com/calculator-RT60.htm by giving size of the room (approximate values’ set by eye because I don’t know how to calculate distance in meters unit in UE4. The result was 1.3 second. Tile is not metal but it’s closer to it than wood which attenuate more reverberation than tiles. I couldn’t find ‘metal surface room’ IR and I was not satisfied with results of algorithmic reverb.
In future I’ll look at UE4 reverb and if it can use reflections for 3D assets in the game but I think that it’s feature of newest UE4 version which I’m not using.
GRAPHICS SETTINGS: After making Room BP with a lot of nice-looking assets now performance drops while player is rotating camera when is in new room (later performance is ok when it’s done another time). So, I created GFX Settings in Main Menu at the beginning of the game
Settings are: Low (where it looks like first Wolfenstein game), normal, high and epic with different settings for resolution, anti-aliasing, distance view, post-processing, shadows, textue and effects quality.
Pause Menu triggered by key P was added with the same functionality that Main Menu just without instruction text.
OTHER STUFF: Doors now open automatically. I don’t know why I didn’t do it earlier as it’s much simpler to do than system that open doors by pressing a key.