Version
menu_open

What are Game Objects?

Game objects are the central concept in Wwise because every Event triggered in the sound engine is associated with a game object. A game object generally represents a particular object or element in your game that can emit a sound, including characters, weapons, ambient objects, such as torches, and so on. In some cases, however, you may want to assign game objects to different parts of an in-game element. For example, you can assign a different game object to different parts of a giant character so that the footstep sounds and the character's voice emanate from different locations within the 3D sound space.

[Note]Note

If you are familiar with the Unreal game engine, game objects in Wwise are similar to Actors in Unreal.

For every game object, Wwise stores a variety of information that it will use to determine how each sound will be played back in game. Any of the following types of information may be associated with the game object:

  • Property offset values of an audio structure associated with the game object, including volume and pitch.

  • 3D position and orientation.

  • Game Sync information, including States, Switches, and RTPCs.

  • Environmental effects.

  • Obstruction and Occlusion.

[Note]Note

Unlike other properties, attenuation is applied on the audio structure and not on the game object. This gives the sound designer more flexibility to control the attenuation for each sound individually. The 3D Game Object view in Wwise allows the sound designer to view the game objects to which sounds are associated, the position of the game objects in relation to the listener, along with the attenuation radius for each sound.

Registering Game Objects

Before you can use game objects, the programmer needs to register them in the game code. When you no longer need the game objects, you should un-register them, because the sound engine will continue to store their related information (3DPosition, RTPC, Switches, and so on) until the game object associated with these values is unregistered.

Scope - Game Objects vs Global

By using game objects, Wwise introduces the concept of scope, which was discussed briefly in the Events section. The scope determines the level at which properties and Events are applied to the sounds in your game. You now have the choice to apply these elements at the game object level or globally. The specific situation and/or action that is taking place in game, will determine the scope and ultimately the approach you take in Wwise.

For example, let's say you are creating a first-person shooter game. The main character in your game must navigate the city streets to capture the enemy's flags. As the character walks through the city, you will hear his footsteps. If want to change the properties or sounds associated with these footsteps, you will only want to apply these changes locally at the level of the game objects specifically related to the main character's feet. On the other hand, if your character submerges himself underwater, all the sounds that continue to play within the surrounding environment, such as explosions and vehicles, will need to be modified. In cases like these, you will want the changes to be made on a global scale.

Benefits of Using Game Objects

By using game objects, the management of audio has been simplified because programmers only have to keep track of game objects and not the individual sounds.

Once the game objects are created, programmers only need to post Events, set up the Game Syncs, including Switches, States, and RTPCs, and in-game environments. The specific details of which sound is played and how it will play are defined by the sound designer in Wwise. By using this approach, you can save a huge amount of time when dealing with the multitude of sounds associated with the various entities within your game.

Game Objects - Roles and Responsibilities

The following table shows you which tasks related to game objects are the responsibility of the sound designer and which ones are the responsibility of the programmer:

Tasks

Sound Designer (Wwise)

Programmer (Game Code/Tools)

Associate game objects to 3D objects in the game

X X

Register/Unregister game objects

X

Update game object positioning information

X

Set the Attenuation for each audio structure

X

Defining Event scope

X


Was this page helpful?

Need Support?

Questions? Problems? Need more info? Contact us, and we can help!

Visit our Support page

Tell us about your project. We're here to help.

Register your project and we'll help you get started with no strings attached!

Get started with Wwise