The motion snapshot node is used to record the pose of the current animation to enable smooth transitions and pose matches between states. Generally, this node is placed near the end of the animation graph, downstream of all pose and motion matching nodes. Ideally this node will come after the ‘inertialization’ blending node but before any IK procedural animation.
Settings for the Motion Snapshot node are as follows:
Retarget Pose - If checked, the pose data recorded will be retargeted to the base skeleton. This may be necessary if you are using the same MotionData with different compatible skeletons. All MotionData is processed and stored based on the base skeleton and this data is fixed, so any recorded pose at runtime should be retargeted if the skeleton being used is different.
Motion Configs - A list of motion configurations to record data for. If this list is left empty, motion configs will automatically be registered to the motion snapshot node from motion matching and pose matching nodes at runtime. However, as this automatic registration can only occur on the frame that a MoSymph node starts playing, the first pose recorded in a play session will be incorrect. Therefore, it is highly recommended to manually register all motion configs being used in the animation blueprint via this list.
Why Is This Needed?
While any motion matching node is able to function in isolation and match poses within its own database, it cannot match poses between different animation states. To do this it requires a third-party node to provide it with the pose information it needs. Therefore, by adding this node, it enables the motion matching node to pick animations that match smoothly when transition between states even if it is transitioning from a state that uses non pose matching animation nodes.
This node is also required for all pose matching nodes as they only perform a pose search at the point of transition.
What Is Inertialization?
Inertialization is an advanced “blending” technique that uses the inertia of bones to procedurally smooth transitions between poses instead of evaluating multiple animations and blending them together with weights. This has significant performance benefits as the motion matching node only ever evaluates one animation and it also prevents muddy blending from occurring.
This node is built into unreal engine and is required for MotionSymphony to function correctly. MotionSymphony nodes will automatically communicate with this node when a “blend” is required so it only needs to be added no additional work is required.
For more information on inertialization, please see the UE5 documentation for it.