Transition matching nodes are a further extension of the ‘Multi-Pose Matching’ node which matches current facing and desired facing directions in order to automatically pick transition animations and poses. For example, it could be used to replace 8-way start animations with a single node by matching the transition direction and the current pose, the correct start animation should be picked automatically based on node inputs.
Note: The core workings of the transition matching node is still rooted in the base pose matching node. Please see the pages relating to that node for a better understanding.
See Pose Matching
How It Works
With the transition matching node, each animation is assigned two vectors which can be used to assist with choosing which animation to use (in addition to pose matching). Technically, these vectors could be used to match anything. However, the intention is for them to be directions informing transition type animations.
Current Move Vector (Relative to character)
Desired Move Vector (Relative to character)
When referring to transition type animations, this means animations like starts and plants. For example a character could be strafing right and change direction to the left. This particular animation would be given a current move vector pointing right and a desired vector pointing left. By adding multiple of these transition animations in a single node, the correct animation (and pose) can be selected for your transition provided you feed it the correct inputs.
Initial Setup
Step 1: Create the Transition Matching Node, select it and look at the details panel.
Step 2: Setup the pose calibration as explained on the Pose Matching page.
Step 3: Navigate to the ‘Animations’ heading and add elements to the ‘Transition Anim Data’ list. One element for each animation you wish to include in the transition set. Configure the each animation depending on needs.
The properties for each Transition Anim Data element are described below
Anim Sequence - The referenced animation sequence for this transition
Current Move - The current movement vector relative to the character facing (for this transition)
Desired Move - The desired move vector relative to the character facing (for this transition)
Transition Direction Method - How to determine the move vectors
Manual (Default) - The user must manually input the current and desired move vectors
Root Motion (Experimental) - Calculate the movement vectors with root motion data if the animation has root motion data.
Cost Multiplier - A cost multiplier to apply to this animation when searching for the best match. The lower this value the more likely the animation will chosen as the cost will be smaller. A value of 1.0 causes the cost to be un-affected. Use this to make some transitions more or less likely to be used.
Mirror - Check this checkbox if you want to generate a mirrored version of this ‘transition anim data’. This requires a mirroring profile to be setup. Please see the Pose Matching Node and Runtime Mirroring sections for more details.
Step 4: Modify other settings as desired and don’t forget to add the ‘Motion Snapshot’ node at the end of the graph as is required with all pose matching nodes.
Transition Settings
The transitions settings can change the way the transition matching node behaves. Modify them according to your needs.
Transition Matching Order - The behavior of transition matching
Transition Priority - First an animation will be chosen based on transition metrics and then a pose search will be done only for poses of that particular transition. This enforces the transition directions as the most important aspect when choosing a pose
Pose and Transition Combined - Both transition directions and pose costs are combined and the overall best pose will be chosen. This may provide more realistic animations but could also cause less than ideal transitions.
Start Direction Weight (default 1.0) - The weight / importance of the current move direction metric when matching transitions.
End Direction Weight (default 1.0) - The weight / importance of the desired move direction metric when matching transitions.
Note: For transition types where the character always turns to face the direction of movement, the Start Direction Weight should be set to 0.0 as every animation will have the same start direction. This is not the case for strafing transitions.
Runtime Inputs
The inputs for the transition matching node are very important as they inform the node what to match against. These inputs include:
Current Move Vector
Desired Move Vector
Current Move Vector
The current move vector is the character’s current movement relative to their facing direction. For locomotion types where the character turns in the direction they are going, this value will never change and can be set direction on the node or in the details panel (in such a case it is a good idea to make the ‘Start Direction Weight’ zero).
For strafing animations where the character isn’t always facing the direction they are moving, the current move vector will need to be calculated. The below image shows an example of how this could be achieved.
Note: This is an example only, you can do this any way you like.
Desired Move Vector
The desired move vector is the player’s movement input relative to the character’s facing direction. This can be calculated by simply taking your ‘camera relative input’ and transforming it into the character’s local space as shown below.
Note: This is an example only, you can do this any way you like.