Table of Contents
A sample game containing the Wwise UE4 Integration is available to download in the Wwise Launcher. In order to build the demo game, you'll need to install the Wwise SDK and modify the Wwise integration in the sample game. Please refer to the Wwise Launcher for further details.
The game's map provides several demonstration stations.
Generate SoundBanks for this project from the WwiseDemoGame Unreal Editor.
- Open the WwiseDemoGame in the Unreal Editor.
- From the toolbar, click the arrow next to Build and select Generate SoundBanks... from the Audiokinetic category.
- Select all the SoundBanks and the desired platforms and click OK.
On completion, the resulting content is visible in .../WwiseDemoGame/Content/WwiseAudio.
An Animation Notify can be used to post AkEvents to the SoundEngine. A demonstration of its use can be seen in the FPP_Fire animation.
This area of the map demonstrates the use of the AkAmbientSound actor. The
AmbientNoise_Spatialized ambient emitter in the level is started by a Start All Ambient Sounds node in the Level Blueprint. To help locate the actor, its attenuation sphere is drawn in yellow when playing the game.
The Event used by this emitter is part of the
AmbientBank SoundBank, which is automatically loaded thanks to the Auto Load flag set on its AkAudioBank asset.
This area also helps to demonstrate the occlusion feature. By navigating the player pawn behind the wall situated close to the ambient sound (making sure to stay within the yellow zone), or behind the big box in the sphere, the effects of occlusion on the sound can be heard. Occlusion is enabled on the sound by setting it in the in the "Ambient Sound handling" (red) section of the Blueprint level.
This section of the map demonstrates the use of Event and RTPC tracks in the WwiseDemoSequence asset. Opening the level sequence in the Sequencer editor shows that the Event track plays a drum beat targeting the moving cube, while the
DrumKitModulation game parameter is driven by the RTPC track.
This section of the map demonstrates use of the Set RTPCValue node targeting an actor, in the Level Blueprint (in the green comment sections). The mouse scroll wheel (the up and down D-pad buttons on a gamepad, and a two-finger swipe on a touch screen) is tied to a variable that is fed as the "Velocity" Game Parameter, which controls the pitch of the
VelocityLoop sound in the Wwise project.
The "Create RTPC button Event dispatchers" section of the level Blueprint also shows how to manually load and unload the VelocityBank (whose Auto-Load is unselected), using the Load Bank and Unload Bank Blueprint nodes. It also demonstrates how to post an Event that targets an actor, using the Post Event node.
This section of the map demonstrates use of
AkReverbVolume. Inside the spherical cave, an
AkReverbVolume is used to add a Reverb Effect to the weapon sound. Note that the actor emitting the sound can be set to ignore the reverb volumes feature. This can be done by unselecting "Use Reverb Volume" on the
WeaponAkComponent in the
This section of the map demonstrates how to set a Switch using blueprints (in the "Switch Logic" section of the Blueprint level). Using the button (see instructions on the wall in front of the button) posts the Event to the SoundEngine. Pressing L or H on the keyboard (D-Pad left and right on a gamepad, three and four finger taps on a touch screen) changes the switch value.
This section of the map demonstrates use of event callbacks from Blueprint.
The Event starts playing a sound file containing WAV markers. Registering the marker callbacks associated with the Event allows the updating of the subtitle on the wall in front of the button. To achieve this, in the Level Blueprint the
Callback mask input pin was set to
Marker. Then, the
PostEventCallback input pin was linked to a custom Blueprint Event, named
HandleSubtitles. Looking at
HandleSubtitles's implementation, it can be seen that the custom Event function is simply reading the subtitles from a predefined text array using the
Identifier field as an index, and then applying that text to the TextRenderActor on the wall.
For more information on using callbacks in Blueprint, see Using Callbacks in Blueprint.
This section of the map demonstrates how to use the WAAPI UMG Widgets to control Wwise directly from your game.
The demo on the left wall illustrates how to use Unreal Engine's built-in widgets along with Blueprint scripting to control Wwise. The keyboard in step 1 changes the text in the Editable Text Box. When that text is changed, a WAAPI Call is made using WAAPI Blueprint Functions to search for items in Wwise matching the entered text (as can be seen in step 2), as is shown in the "Search for an item" section in the Widget's Graph. WAAPI returns the list of matching items in a JSON objects, which is then parsed to populate the combo box found in step 3. Once an item is selected, it is possible to play or stop it using the buttons. The Blueprint script to control this behaviour is found in the "Play/Stop" the selected item section of the Widget's Graph.
Due to an Unreal Engine known issue on the Mac platform, updating ComboBox values in a 3D widget does not work. You can still experience the demo using the 2D version of these widgets, available by pressing "P" in game.
The demo on the back wall demonstrates how the Ak Wwise Tree and Ak Item Bool Properties widgets can be used to control a Ak Check Box. The tree can be used to find a Wwise object to control. That item can be dragged & dropped onto the UE Checkbox or the Ak Checkbox to set the item the checkbox controls. The same has to be done with the Bool Properties picker. Once the item and the property have been set on the checkboxes, you may use them to enable or disable the property directly in Wwise. Changing the property in Wwise will also be reflected on both checkboxes. The UE Checkbox showcases how you can use the built-in Checkbox widget and Blueprint scripting to accomplish this. The Ak Checkbox shows that the exact same behaviour can be accomplished without any Blueprint scripting.
Note that all three demos are also available in normal 2d UMG widgets by pressing the "P" key on your keyboard during gameplay.
Generated by 1.6.3