Match Feature | Trajectory 2D {{ currentPage ? currentPage.title : "" }}

Size: 4 x [No. of Points]

Input Response Feature: Yes

Quality Feature: No


The Trajectory 2D match feature is the bread and butter of input response type match features and is used in just about every motion matching software. It is the data with which the end user can control motion matched animation and tell the system which way the character should go. The trajectory consists of several points in time each with a recorded 2D location and a 2D facing vector (vertical axis are excluded for performance and consistency). The trajectory point timing ranges from past points (negative values) and future points, typically between -1s and 1s . While the past points are usually recorded based on character movement, the future points are predicted using any movement model one desires.

By having both past trajectory points and future points the animation the motion matching can pick animations that accurately represent complex movements like weight shifting when changing directions.


The settings for the Trajectory 2D Match feature are as follows:

Default Direction Weighting: This is the weighting for the facing direction portion of the trajectory. The higher it is the more important the motion matching system considers it.

Default Weight: The weight of the trajectory positions. Generally, this should be much higher than facing angle and bone locations or velocities.

Trajectory Timing: The trajectory points you want the motion matching system to consider (measured in seconds). Negative numbers represent past trajectory points and positive numbers represent future trajectory points. Typically you want to keep this within the range of -1.0 and 1.0.

Note: Trajectory points must be ordered from smallest to largest.

Data Layout:

The data for Trajectory 2D match feature is laid out sequentially in order of trajectory points listed with the first two (2) atoms representing the position vector and the second two (2) atoms representing the facing vector.

PosX_0 | PosY_0 | FaceX_0 | FaceY_0     ||    PosX_1 | PosY_1 | FaceX_1 | FaceY_1   ||      
PosX_… | PosY_… | FaceX_… | FaceY_…     ||    PosX_n | PosY_n | FaceX_n | FaceY_n   ||

Runtime Input Extraction:

As this match feature is related to ‘input response’ you will need to generate a trajectory at runtime based on user input. This is typically done by using the ‘Trajectory Generator Component’ on your character and using helper functions to populate a float array. However, advanced users that understand the layout of motion matching data with ‘Motion Symphony’ can populate the input array any way they like (even manually if they desire).

For more information, please see the section of the documentation on ‘Trajectory Generation’

{{{ content }}}