Once selected an animation’s configuration will show up in the contextual details panel just below the animation list. This is where you can configure the animation for pre-processing. There are specific settings that change the way that the pre-processor handles any given animation. These settings will be explained on this page.
Loop - If the animation is intended to be looping. Check the loop box so that Motion Symphony knows to pre-process it as a looping animation.
Play Rate - Any animation can be used at an alternative play rate to speed up or slow down the animation as a whole. This speed can be modified here. A value of 1.0x is normal speed.
Enable Mirroring - If ‘Enable Mirroring’ is checked, the animation will be pre-processed a second time but with a mirrored pose. A properly configured ‘Mirroring Profile’ must be setup for this to work.
Flatten Trajectory - If this is checked, then any trajectory that has Z (vertical axis) movement will be squashed to 0 so that the trajectory is flat. Unless your trajectory generator outputs trajectories with vertical movement, the trajectories in the database should also not have vertical movement.
Past Trajectory - How to handle the past trajectory for this animation when the past trajectory for a given pose goes beyond the limits of the clip.
None - No handling
Ignore Edges - poses with trajectories beyond clip limits will be marked as ‘DoNotUse’
Extrapolate - The trajectory will be extrapolated beyond the clip limits based on the movement delta at the beginning of the clip
Animation - The trajectory will be taken from a different animation (see next property)
Note: Animations set to loop will automatically handle past and future trajectories beyond the limits of the clip.
Preceding Motion - The animation to extract past trajectory from if a given past trajectory point goes beyond the limit of the clip. This will only be used when the ‘Past Trajectory’ property is set to ‘Animation’
Future Trajectory - Same as the ‘Past Trajectory’ parameter but handles trajectory points beyond the future limits of the clip.
Note: Very short animations that use ‘Ignore Edges’ may have an issue where the entire animation gets marked as ‘Do Not Use’. Be careful not to let this happen and use composites or ‘animation’
Future Motion - The animation to extract future trajectory from if a given future trajectory point goes beyond the limit of the clip. This will only be used when the ‘Future Trajectory’ property is set to ‘Animation’
Cost Multiplier - A cost multiplier to apply to all poses within this animation. A default value of 1.0 has no effect, values < 1.0 make poses in this animation more likely to be chosen at runtime and values > 1.0 make poses in this animation less likely to be chosen at runtime.
It is recommended to use a cost multiplier between 0.8 - 0.9 for looping animations like RunFwdLoop to help ensure they play more consistently. If you wish to add cost multipliers to sections of animations rather than the entire thing, then please use Cost Multiplier Tags instead.
Motion Tags - A list of GameplayTags to apply to all poses within this animation. GameplayTags are used to control which animation sets are played with a given motion matching node. A motion matching node will only ever choose poses that match the node’s ‘Motion Tags’ input.
Additional Configuration for BlendSpaces
Blend spaces have an additional property that needs to be set as shown in the image below.
Sample Spacing - The spacing of samples taken along the blend space in both the X and Y axis. Values range from 0.0 - 1.0 where 1.0 is the full length of the blend space on a given axis. In the example shown above, the pre-processor will take samples every 10% of the way through the blend space on the X axis and every 50% of the way through on the Y axis.
The denser the samples, the more coverage is achieved. However, if the samples are too dense then the number of poses will become exponentially higher. Adjust as required for your animation set.
Considerations for Mocap Users
Trajectory Handling
For mocap takes created for motion matching it is recommended to put both Past Trajectory and Future Trajectory on the ‘Ignore Edges’ setting to ensure that the clip limits are never met at runtime. It is also recommended to
Runtime Mirroring
It is recommended to use runtime mirroring where possible with mocap takes to ensure that there is no bias to the left or the right. Of course not all stances can be mirrored effectively (e.g. combat stances with weapons).
Note: An alternative is to cleanup and mirror your own animations at the source to avoid the runtime mirroring overhead.
Use and Favor Loops
While this is not a cut clip approach, it is recommended to cut and clean looping animation (e.g. RunFwdLoop, WalkFwdLoop). For each loop try to get 3-4 clean cycles to help improve realism and continuity.
In general loops can be favored using the ‘Cost Multiplier’ option (0.8 - 0.9). This will make the loops more likely to play when required making for smooth consistent loops.
Considerations for Cut Clip Users
Trajectory Handling
Most cut clips will require some kind of trajectory handling as the trajectory cannot be calculated beyond the limit of the short clips by default. Either use Extrapolate or ‘Animation’ modes for trajectory handling.
E.g. On a RunStop animation set the ‘Past Trajectory’ to animation and slot a RunFwdLoop animation in the ‘Preceding Motion’ slot.
Use Composites for Starts and Plants
Continuity is the worst enemy of cut clips in motion matching so the best way to combat it is to eliminate it by using composites instead of sequences for some animation. Simply create a composite and tack on a loop after your starts and plants.
E.g. For a RunFwdStart animation, make an animation composite and tack on a RunFwdLoop after the RunFwdStart animation.