Version

menu_open

Generating Motion for Game Controllers

Since game controllers are only capable of recreating a limited range of motion Effects based on the speed of the motors, a special source plug-in, called the Wwise Motion Generator, was designed to generate motion for these types of devices. This special plug-in allows you to create and tailor one or more motion curves for each platform's controller. Each motion curve defines the intensity of the motion Effect over a specific period of time with the option of using ADSR envelope controls to further define the shape of the curve.

By default, each motion curve has an intensity value of 1 (or 100%) for the entire time period, which results in full motion being generated. You can move the existing control points and add new ones to create the desired effect.

To create a more detailed and complex motion curve, you can also define the shape of each curve segment. A curve segment is any part of the curve between two control points. You can choose from a variety of curve shapes, including linear, constant, logarithmic, exponential, and s-curve. For more information on specifying curve shapes and other information about working in the graph view, refer to Chapter 43, Getting to Know the Graph View.

You can create different curves for each of the following:

  • Default Small - A default curve that can be used by the small motor of one or more motion generator devices.

  • Default Large - A default curve that can be used by the large motor of one or more motion generator devices.

  • Default Left Trigger - A default curve that can be used by the left trigger motor of one or more motion generator devices.

  • Default Right Trigger - A default curve that can be used by the right trigger motor of one or more motion generator devices.

  • Xbox One™ Small - A curve that is assigned to the small motor in the Xbox One controller.

  • Xbox One™ Large - A curve that is assigned to the large motor in the Xbox One controller.

  • Xbox One™ Left Trigger - A curve that is assigned to the motor in the Xbox One controller's left Trigger.

  • Xbox One™ Right Trigger - A curve that is assigned to the motor in the Xbox One controller's right Trigger.

    [Note] Note

    Trigger motors (Default and Xbox One) cannot be activated from the Wwise authoring tool. Only a PC UWP application can use them.

  • PlayStation®4 Small - A curve that is assigned to the small motor in the PlayStation 4 controller.

  • PlayStation®4 Large - A curve that is assigned to the large motor in the PlayStation 4 controller.

  • Switch™ Small - A curve that is assigned to the small motor in the Switch controller.

  • Switch™ Large - A curve that is assigned to the large motor in the Switch controller.

You may, however, want to reuse some of the curves to save on time. You can also solo one motor at a time to more easily fine-tune its motion curve. When a motor is soloed, all other motors are muted during playback.

To create motion Effects using the Wwise Motion Generator plug-in:

  1. Load a motion object into the Property Editor.

  2. In the Contents Editor, click the Add Source button in the title bar of the Controller motion device.

  3. From the list, click Wwise Motion Generator.

    A motion source is added under the Controller title bar.

  4. Double-click the source to load it into the Property Editor.

  5. From the Curve list, select the Default Small curve.

    The curve is displayed in the graph view.

  6. Manipulate the Default Small motion curve by doing any of the following:

    • Add points along the curve.

    • Drag points to a new location or type specific values into the X and Y coordinate boxes.

    • Define the shape of each curve segment.

    [Note] Note

    To fine-tune the motion of a particular motor, you can solo each motor in the list. When a motor is soloed, all other motors are muted during playback.

  7. For the remaining curves, do one of the following:

    Select Custom from the Usage list and create a new motion curve.

    Re-use an existing curve by selecting the curve name from the Usage list.

  8. In the Period text box, specify the amount of time to complete one motion curve cycle.

    This value defines the length of the X-axis.

  9. If you want to modify the period of the motion effect in real time using an RTPC, you must type a value in the Period Multiplier text box. When you change the period multiplier value, the curve will either be stretched or shrunk to fit the new time period.

    [Note] Note

    If no RTPC is used, the period multiplier should be kept at its default value of 1.

  10. To specify the duration of the motion effect, select one of the following:

    One period - To use one period as the duration of the motion effect, where a period is defined as the period multiplied by the period multiplier.

    Fixed duration - To specify a fixed duration for the motion effect. Depending on the value specified for the “Fixed duration”, the motion effect may complete any number of curve cycles. If the fixed duration value is not a multiple of the period multiplied by the period multiplier, the last curve cycle will be incomplete.

    Envelope - To use ADSR envelope controls to determine the shape of the curve over time.


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