Version

menu_open
Warning: you were redirected to the latest documentation corresponding to your major release ( 2023.1.8.8601 ). Should you wish to access your specific version's documentation, please download the offline documentation from the Audiokinetic Launcher and check the Offline Documentation option in Wwise Authoring.

Generating motion for game controllers

Since game controllers are only capable of recreating a limited range of motion effects based on the speed of their motors, the Motion source plug-in was specifically designed to generate motion for these types of devices.

In conjunction with RTPCs, this plug-in allows you to specify motion intensity and duration with up to eight different Drivers. These Drivers can then be applied to different actuators (motors) for different configurations. Using standard Wwise platform linking, all the Drivers, Actuator Configurations, and individual Actuators can be set differently per platform.

Basic setup of the Motion plug-in

To ensure the actuators of your motion device (game controller) are working well with Wwise, you can very quickly select an Actuator Configuration and apply a Value offset to the applicable Driver or Drivers. While the Value offset could technically be used for real game scenarios, in practical terms you'll want to use RTPCs to create and control rumble curves with associated parameters, such as time.

To create motion effects using the Motion plug-in's Value offset:

  1. Load a motion-specific object into the Property Editor.

  2. In the Contents Editor, double-click the listed Motion to load it into the Source Editor.

  3. From the Internal Driver Channels group, move a Driver's Value slider to the right so that it is more than 0.

    If this Driver is used, then this will create a constant intensity of motion for the full duration of the object playing. (In other words, until an Event stops it.)

  4. In the Driver Assignment group, select 1 Channel from the Actuator Configuration list.

    Channel 1 becomes the only active actuator.

  5. From the Channel 1 list, select the Driver whose value you adjusted.

    If the object plays to a properly set up motion output, there will be a constant motion intensity emanating from a single channel of the controller for the full duration of the object.

    This confirms that your device and Wwise Motion are working well together.

Trying different actuator configurations

With confirmation of a working setup, you can then proceed along similar lines to try other Actuator Configurations and find the ones that are right for your different selected platforms. You could, for example, set one Driver's Value offset to 0.1, and another's to 1.0. This would allow you to test and then discern which controller motor corresponds to which named Actuator for your default sink.

The platform names given to the Actuator Configurations indicate what is known to work for the Wwise default sink. This does not in any way limit these configurations to only the named platform. In fact, you might want to choose something different for certain platforms. For example, some Android tablets have two actuators and, therefore, could be better served with a 2 Channel configuration instead of our default sink’s single anonymous channel Android configuration. Having a mismatch in number of channels will not prevent motion; rather, multiple actuators will use the same Driver channels or, if there are too many channels defined, some will be ignored.

Using RTPCs with the Motion plug-in

For most situations, a simple Value offset is not your end goal. Instead, you'll want to define specific curves based on time or the lifespan of game parameters or a predefined MIDI event. RTPCs give you the power to do just this.

To use RTPCs for motion effects using the Motion plug-in:

  1. Load a motion-specific object into the Property Editor.

  2. In the Contents Editor, double-click the listed Motion to load it into the Source Editor.

  3. In the RTPC tab, click the selector button.

    A list of all the Drivers appears.

  4. Select a Driver.

    It appears under the Y Axis column and new selector button appears in the column to its right.

  5. Click the new selector button.

    A list of Game Parameters, MIDI, and modulators appears.

  6. Select an option. For simplicity, let's assume you choose Time.

    A sublist allowing the selection of an existing Time Modulator or the creation of new one appears.

  7. Select New….

    The New Modulator Time dialog appears.

  8. Enter a name for the new Time Modulator. Then click OK.

    The newly created Time Modulator appears under the X Axis, and its flat curve populates the graph view.

  9. Double-click on the graph curve around 0.2 s of the Time Modulator (X) axis.

    A new control point it created.

  10. Drag the new control point up to 1.00 on the Driver (Y) axis.

    If the object plays to a properly set up motion output, there will be a quick rise to full motion intensity emanating from any controller set up to use the Driver you specified; and, much more gradually, it will completely dissipate.

Using States with the Motion plug-in

Usually as a complement to the use of RTPCs, State-specific Value offsets can be defined to augment or reduce the rumble based on the currently active States.

To create motion effects using the Motion plug-in with States:

  1. Load a motion-specific object into the Property Editor.

  2. In the Contents Editor, double-click the listed Motion to load it into the Source Editor.

  3. Select the States tab.

  4. Click the Add State Group selector button to select the desired State Group.

    The State Group with its child States appears in the tab's table along with Driver columns.

    [Tip]Tip

    If you do not see the Driver columns, click right-click the table header band and select Configure Columns…. The State Properties dialog will appear, from which you'll be able to select the Driver columns that should appear.

  5. Move a State's Driver Value slider to the right, or left, so that it is not 0.

    If the object plays to a properly set up motion output, the Driver in question is used in the called Actuator, and the State in question is in effect, then the defined motion rumble will be offset by that amount.

[Note]Note

These Presets are only available when Motion is installed and the Motion Factory Presets have been added to your project. If the Presets haven't been added, you can add them using the Import Factory Assets dialog. These presets consist of a variety of Sound SFX objects with a Motion plug-in, predefined to output to a Motion Factory Bus, within the Actor-Mixer Hierarchy.


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