LAVIFV Infantry Fighting Vehicle

Unreal & Wwise Project Breakdown

The aim of this project was to design the movement and weapon audio systems for a military-style vehicle. I wanted to focus on utilising Wwise’s Switch, State and RTPC functionality to create an interactive system where the player can switch between and fire various weapons, and have the tank’s movement audio correspond with the action on screen. The demo utilises the ‘LAVIFV Infantry Fighting Vehicle’ Unreal Engine asset and is set in a desert environment, where the player can drive the vehicle around the landscape and shoot at a crowd of unfortunate NPCs.

Weapon Switching

Firstly, the tank’s weapon type must be selected, the ‘Set Switch’ function is used to set the ‘WeaponType’ Switch Group to either ‘Gun’ or ‘Smoke’.

Firstly, the tank’s weapon type must be selected, the ‘Set Switch’ function is used to set the ‘WeaponType’ Switch Group to either ‘Gun’ or ‘Smoke’.

A Switch Container is then created in Wwise, with two switch states: ‘Gun’ & ‘Smoke’. The ‘Set Switch’ function in Unreal sets the Switch State in Wwise.

A Switch Container is then created in Wwise, with two switch states: ‘Gun’ & ‘Smoke’. The ‘Set Switch’ function in Unreal sets the Switch State in Wwise.

Firing Weapons

When the ‘FirePrimaryWeapon’ input is pressed, the ‘StartFire’ event is posted on the Actor Component. Likewise, when the input is released, the ‘StopFire’ event is posted,

When the ‘FirePrimaryWeapon’ input is pressed, the ‘StartFire’ event is posted on the Actor Component. Likewise, when the input is released, the ‘StopFire’ event is posted,

When the ‘StartFire’ event is posted in Unreal, and the machine gun is selected, Wwise cycles through five gunshot sounds in a loop; each with randomised volumes, and a randomiser on the group’s pitch, both to create variation in the loop. Once the …

When the ‘StartFire’ event is posted in Unreal, and the machine gun is selected, Wwise cycles through five gunshot sounds in a loop; each with randomised volumes, and a randomiser on the group’s pitch, both to create variation in the loop. Once the ‘StopFire’ event is posted, the loop is stopped using the ‘Break’ action in Wwise - this ensures the final gunshot rings out realistically, rather than stopping dead as soon as the event is posted.

The smoke grenade is made with a Blend Container, consisting of three elements: the initial pop of the smoke grenade launcher, the bang of the grenade exploding, and the billowing smoke that it emits. Wwise’s delay function is used here to sequence …

The smoke grenade is made with a Blend Container, consisting of three elements: the initial pop of the smoke grenade launcher, the bang of the grenade exploding, and the billowing smoke that it emits. Wwise’s delay function is used here to sequence the sounds one after the other. Each component has randomised elements to ensure each time the grenade launcher is used, the sound is never the same.

Engine

The forward speed of the tank is measured using the ‘GetForwardSpeed’ function. This function returns a float value, which then sets the ‘Speed_01’ RTPC value using the ‘SetRTPCValue’ function.

The forward speed of the tank is measured using the ‘GetForwardSpeed’ function. This function returns a float value, which then sets the ‘Speed_01’ RTPC value using the ‘SetRTPCValue’ function.

In Wwise, the ‘Speed_01’ RTPC is used to control the pitch and volume of the ‘Engine’ Blend Container.

In Wwise, the ‘Speed_01’ RTPC is used to control the pitch and volume of the ‘Engine’ Blend Container.

Other layers, such as a high engine whine, are contained in the ‘Engine’ Blend Container. These are also controlled by the ‘Speed_01’ RTPC value, and increase in volume as the tank’s speed increases. Other elements such as the chassis rattling and t…

Other layers, such as a high engine whine, are contained in the ‘Engine’ Blend Container. These are also controlled by the ‘Speed_01’ RTPC value, and increase in volume as the tank’s speed increases. Other elements such as the chassis rattling and the tyre sounds are controlled in a similar way

Braking

The brakes utilise a simple ‘on-off’ state system, triggered by the brake lights of the tank switching on and off respectively.

The brakes utilise a simple ‘on-off’ state system, triggered by the brake lights of the tank switching on and off respectively.

The brake sound plays constantly in a loop under the sound of the engine, but is only revealed when the ‘Brakes’ state is set to ‘on’.

The brake sound plays constantly in a loop under the sound of the engine, but is only revealed when the ‘Brakes’ state is set to ‘on’.

In order to achieve a smooth transition, the states fade between each other at an interval of half a second.

In order to achieve a smooth transition, the states fade between each other at an interval of half a second.