top of page

Wwise

  • Foto van schrijver: Robin Bouchez
    Robin Bouchez
  • 13 mei 2022
  • 1 minuten om te lezen

Bijgewerkt op: 29 jun 2022

Version: 2021.1

00 Introduction

- THE WWISE LAUNCHER


To get up and running with Wwise you will need to download the Wwise Launcher. Download link -> https://www.audiokinetic.com/download/


After you download and install the Launcher, you will receive occasional prompts to install updates. Although you do not have to install them immediately, it is highly recommended that you do so as soon as possible. The updates do not affect your Wwise installations and integrations.


  1. If this is your first time installing the Launcher, you must create an Audiokinetic account and login in the launcher.

  2. Click the Wwise tab and download the latest version.

Installing Wwise


There are two primary installation methods:

  • Use an offline installer. This method, described in the Working with Offline Installers, is the easiest and most common way to install Wwise and ensures that everyone on a team of developers or designers has the same version and setup.

  • Use the Wwise Launcher. This method, offers more installation options than an offline installer and might be more appropriate for project administrators.



- THE WWISE PROJECT


Wwise is a project-based system, which means that all the audio and motion information related to a particular game for each and every platform will be in one project.

Within this project, you can do any and all of the following:


  • Manage the sound, voice, music, and motion assets in your game.

  • Define object properties and playback behaviors.

  • Create Events, both Action and Dialogue Events, that trigger audio and motion in game.

  • Create prototypes and simulations.

  • Troubleshoot and profile all aspects of the audio and motion in your project.


Projects also contain the SoundBanks that are generated for each platform and language version that you are creating for your game.


01 Basics

- PROJECT HIERARCHY


The Wwise approach to building and integrating audio in a game includes five main components:

ree

  • Audio Structures

  • Events

  • Game Syncs

  • Game Objects

  • Listeners



The Project Hierarchy

The Wwise project hierarchy consists of three distinct levels:


  • Actor-Mixer Hierarchy—groups and organizes all the sound and motion assets in your project using a series of Wwise-specific objects.

The Actor-Mixer Hierarchy groups and organizes all the sound and motion assets in your project.


object types in the Actor-Mixer Hierarchy:

  • Sound objects

  • Motion FX objects

  • Containers

  • Actor-Mixers

  • Interactive Music Hierarchy—groups and organizes all the music assets in your project using a series of Wwise-specific objects.

There are two basic structures that can be applied to interactive music projects:


  • A vertical project structure is one in which you re-sequence the game score by shuffling the tracks contained in music segments. This is similar to the track mixing used in music production. It can help you make a varied score out of long, multi-tracked segments.

ree

  • A horizontal project structure is one in which you vary the game score by changing which segments are played at any given time. To do this, you can arrange short discrete segments in the Interactive Music Hierarchy, much like you would arrange objects in the Actor-Mixer Hierarchy. In this way, you can make a compelling score from a selection of short music segments while minimizing console requirements.

ree



  • Master-Mixer Hierarchy—defines the routing and output of the different sound, motion, and music structures using one or more output busses.


ree

02 Actor-Mixer

object types in the Actor-Mixer Hierarchy:

  • Sound objects

  • Motion FX objects

  • Containers


ree

Sound objects

There are two different types of sources: an audio source and a plug-in source. The most common type of source is the audio source. The audio source creates a separate layer between the imported audio file and the sound object. It is linked to the audio file imported into your project.


Containers

  • Random Container

  • Sequence Container

  • Switch Container

  • Blend Container


03 Events

Wwise uses Events to drive the audio in your game. These Events apply actions to the different sound objects or object groups in your project hierarchy. The actions you select specify whether the Wwise objects will play, stop, pause, and so on.


ree

There are 2 types of events in Wwise:

  • ā€œActionā€ Events—these Events use one or more actions, such as play, stop, pause and so on, to drive the sound, music, and motion in game.

  • Dialogue Events—these Events use a type of decision tree with States and Switches to dynamically determine what object is played.


04 SoundBanks

SoundBanks are the collection of both the code and the audio assets used at the time the game is played, also known as runtime. Every game created by Wwise has at least one SoundBank and, in larger more complex games, there may be many SoundBanks.

Creating a Soundbank

  1. In the main menu, click Layouts > SoundBank or press F7.

  2. Click New at the top of the Soundbank Manager view.

  3. The New SoundBank dialog box opens. In the Name field, type Main and click OK.

  4. To add an event to the soundbank, drag an event from the Event Viewer in the soundbank you just created.

Generate a Soundbank

Because multiple SoundBanks can be generated for a single game, you must first select the SoundBanks that you want to have generated.

  1. Ensure the Main SoundBank, appropriate Platform and English (US) language check boxes are selected.

  2. In the SoundBank Manager, click User Settings and check if the soundbank path is set correctly

  3. Click OK to close the SoundBanks Settings window then click Generate Selected in the SoundBank Manager.

Strategies for Managing SoundBanks


05 Game Syncs


06 ShareSets


07 Sessions


08 Queries


09 Profiler


10 Advanced Topics


11 Source Control

FOR UNREAL ENGINE 4


Installing Perforce & Wwise Enabled Source Control


First we install Perforce, then setup connection details of Perforce in Wwise.

  1. You will need to install the correct Perforce software. Normally in larger game dev teams Helix Visual Client P4V will be used. https://www.perforce.com/downloads/helix-visual-client-p4v

  2. Once installed, the team you are working with will give you details & address ID’s to connect Perforce Helix to. This enables you to connect to the same project server data that the entire team are working with. Also, allowing you to have access to the project data, so you can download the projects content TIP: Obviously, never share any connection details without outside of the team you work with

  3. Once P4V is set up and working, open Wwise

  4. In the Wwise Tool bar, navigate to: Project > Project Settings > General tab > Workgroup. Under plugin, in the drop-down menu, change to the Perforce option.

  5. Then click on the Config UI Button. Input the connect to server details ID address.

  6. Click okay to confirm.

ree

What Exactly does Source control do?


Every time you save in Wwise or unreal, the associated content you have modified will then be checked out in Perforce, into a submissions list that can then be submitted to a central server location

(NOTE: New files are not automated, these will need to be marked manually as ā€œAddā€ to be shown in the Perforce submission list)


Perforce What To Submit


If you are working with a central file manager (e.g. Perforce) to a central location, you will need to submit your local updates to the live server.


Below is a list of files you will generally need to upload:

  • Wwise: Anything not a cache file with the prefix ā€œWwiseProjectā€ – DO NOT submit any cache folders or content

  • In your EU4 project folder include the "Plugins/Wwise" folder

If you don't include this folder other people will not hear any sound coming from Wwise.


You can also integrate Wwise manually with the Wwise launcher to get the "Plugins/Wwise" folder.

-> https://www.audiokinetic.com/library/edge/?source=UE4&id=installation.html

  • Any TEST folders & Content (If you made any)

  • The UE4 map containing audio emitters

Tip: In your UE4 main/persistent level, create a seperate audio level so you don't need to check out the whole main level in perforce.

  • Audio assets in the UE4 Audio folders

  • Content/WwiseAudio folders / content

  • Ensure you upload the Wwise Project contents folder & the Wwise Sound Banks kept in different UE4 folder hierarchy (WwiseAudio)

Resource: https://gameaudioresource.com/

12 Project Managment

Setting up a AAA Wwise project by Cujo Sound:


Part 1 THE BASICS:

https://www.youtube.com/watch?v=0v-be268YFc


Part 2 TEST EVENTS, COLOR CODES & GENERIC SHARESETS: https://www.youtube.com/watch?v=K_saKTcVkNM


Part 3 BASIC RTPC'S, SWITCHES, STATES, . . . : https://www.youtube.com/watch?v=Bxt4f9OBIso&t=476s


Part 7 DISTANCE DEBUGGING : https://www.youtube.com/watch?v=Us9BnS7mFsE



13 Virtual Voices

What is a Virtual Voice:

Sounds below a certain volume level should not take up valuable processing power and memory. Instead of playing these inaudible sounds, the sound engine can queue them in the virtual voice list. Wwise continues to manage and monitor these sounds, but once inside the virtual voice list, they are no longer processed by the sound engine and won’t take up one of the hardware’s physical voices.


When a voice is active, it’s referred to as a physical voice, wherein Wwise:


  1. Decodes the audio file.

  2. Resamples the sound (if used, applies Pitch Shift).

  3. Applies Effects and filters.

  4. Performs volume computation.


When a physical voice becomes virtual, Wwise ignores all steps except the 4th, volume computation. The volume computation step is required for Wwise to know when it’s loud enough to again become physical.


Managing Virtual voice behavior can be done for any sound object, Actor-Mixer, or Audio Bus in the Advanced Settings tab of the Property Editor.


ree

There are four Virtual Voice behaviors (From phisical voice to virtual) :


  • Continue to play - Continues playing the object as a physical voice even though it will no longer be heard.

  • Kill voice - Stops playing the object. No fade out is applied with this option.

  • Send to virtual voice - Sends the object to the virtual voice list.

  • Kill if finite else virtual: Kills the voice if not looping infinitely, else it will send it to virtual voice with Play from elapsed time option selected. This option is good for most of the Audio Objects in the project.



When sounds or motion objects return from virtual voices to phisical you have three option:


  • Play from beginning - Plays the object from its beginning. This option resets the object's loop count.

  • Play from elapsed time - Continues playing the object as if it had never stopped playing.


This option is not sample accurate, so sounds returning to the physical voice may be out of sync with other sounds playing.


  • Resume - Pauses the object when it moves from the physical voice to the virtual voice list and then resume playback when it moves back to the physical voice.



ree

Resouce: https://www.audiokinetic.com/courses/wwise251/?source=wwise251&id=Video_251_10#read

14 Streaming

Options for streamed files:


  • Non-Cachable: Leaves no cache when streamed audio plays. Good for long loops or non-recurring sounds that have no reason to stay cached in memory after completion. In WAG, this option is selected for all dialogues because they usually only occur once.


  • Zero Latency: Eliminates the latency of streamed files by creating a small buffer of the beginning part of the audio file. Useful for the music in WAG because two themes are playing concurrently and, as such, the timing of the triggering is essential.


  • Prefetch length (ms): Refers to the milliseconds of time you’d like to store in the memory. With everything in WAG this is left to its default of 100 milliseconds.



Official documentation: https://www.audiokinetic.com/education/learn-wwise/



Recente blogposts

Alles weergeven

Opmerkingen


Post: Blog2 Post
  • LinkedIn
bottom of page