Houdini 20.5 Nodes Geometry nodes

Dynamic Warp geometry node

Dynamically Time-warps the first input (the Source) using the second input (the Reference) as a reference.

On this page
Since 18.5

This SOP provides animators with two methods of dynamically altering the playback speed of a motion capture clip. Both of these methods use a second motion capture clip as a reference and try to make the motions of the source clip as similar to the motions of the reference as possible.

This node is meant to be used in tandem with skeleton animation (eg. from FbxAnimImport, FbxCharacterImport, MocapImport, etc) and the MapPoints SOP.

When Warp Method is set to “Synchronize Entire Clip”, the node attempts to synchronize the source animation with the reference animation. It does this by comparing the poses in each frame of the animations to determine how similar a frame of one animation is to a frame in the other. It then warps the source so that the sequence of the source frames is most similar to the sequence of reference frames. This method works best when the two animations are similar to begin with. For example, it would be excellent at warping two walk animations so that they walk in stride.

This method is based upon the Dynamic Time Warp algorithm.

When Warp Method is set to “Create Similar Motions”, the node attempts to warp each motion in the source to be similar to some motion in the reference. In addition, it lets the you define the length of the output animation. To highlight some of what this method can do well, a few examples are:

This method is based upon the Guided Time Warp algorithm.

You can map the joints of the source to the joints of the reference in two different ways. One is to map using the name attribute and the other is to use the MapPoints SOP.

Parameters

Inputs

These parameters are used to interpret a mapping between the source and the reference which was defined by the MapPoints SOP.

Mapping Method

The method used to determine a mapping between the points of the source and the reference.

Mapping Attribute

An attribute created by a Map Points SOP will be used to map the joints.

Match By Attribute

An attribute in the source and the reference that will be used to map the joints.

Mapping Attribute

The name of the mapping attribute which was created by a Map Points SOP.

This parameter is only available when Mapping Method is set to “Match By Attribute”.

Reference Attribute

The name of the attribute in the source and the reference that will be used to map the joints.

This parameter is only available when Mapping Method is set to “Match By Attribute”.

These parameters are used to interpret the source and the reference.

Locomotion Node

The mapped node that controls the locomotion of the object (the node that has the translation channels that moves it forwards in space).

This defaults to the first option if the entered value does not exist.

If disabled, no node is treated as the locomotion node.

Sample Rate

The rate at which to sample the reference and the source for use in the warping algorithms.

Source Range

The clip range of the source in seconds. If disabled, the cliprange detail attribute of the source will be used.

Reference Range

Defines the clip range of the reference in seconds. If disabled, the cliprange detail attribute of the reference will be used.

MotionClip

These parameters are used to define whether the input geometries should be treated as MotionClips and determine which attributes from the input MotionClips become animated on the output MotionClip.

For more details on what distinguishes an animated attribute from a rest attribute, see the Attributes folder on the MotionClip Evaluate SOP.

Tip

To maintain the attributes which were previously animated without adding any additional attributes to the poses, toggle Repack Attributes on, clear Rest Attributes, and set Animated Attributes to *.

Theses are the default values for these parameters.

Use Motion Clip

When on, the node’s inputs will be treated as MotionClips and the output will be a MotionClip.

MotionClips are created by the MotionClip SOP node.

Repack Attributes

When enabled, the attributes defined by the Rest Attributes and Animated Attributes patterns will be evaluated from the input MotionClips and packed into the output MotionClip’s poses. This will result in all of these attributes becoming animated attributes on the output MotionClip.

Rest Attributes

The attributes that should be unpacked from the rest pose of each input MotionClip. All attributes that match this pattern will become animated attributes on the output MotionClip.

Animated Attributes

The attributes that should be evaluated from the animated poses of the input MotionClips. All attributes that match this pattern will remain animated on the output MotionClip.

Warp

These parameters are used to alter the settings of the warping methods.

Warp Method

Determines which method will be used to warp the source animation to the reference animation.

Synchronize Entire Clip

The source will be warped so that it is synchronized with the reference. For this method, the reference is treated as a looping animation.

Create Similar Motions

The each motion of the source will be warped so that it appears similar to some motion in the reference.

Max Step

Bounds the maximum playback speed of the warp.

Max Stall

Bounds the maximum amount by which the animation can be slowed down.

This parameter is only available when Warp Method is set to Synchronize Entire Clip.

Scale Source Length

Multiplies the length of the source before warping begins.

This parameter must be greater than 1 if you wish to slow down sections of the source using the “Create Similar Motions” method.

This parameter is only available when Warp Method is set to Create Similar Motions.

Nearest Neighbors

The number of motions in the reference each motion in the source will be matched to.

This parameter is only available when Warp Method is set to Create Similar Motions.

Output Length

Determines how the length of the output is specified.

By Time

The length of the warp is specified in seconds.

By Frame

The length of the warp is specified in frames.

By Length Scale

The length of the warp is specified as a multiple of the length of the source.

Optimize Length

The length of the warp is determined by the “Create Similar Motions” method. This will attempt to find the best possible warp from the source to the reference.

This parameter is only available when Warp Method is set to Create Similar Motions.

Seconds

The length of the output in seconds.

This parameter is only available when Output Length is set to By Time.

Frames

The length of the output in frames.

This parameter is only available when Output Length is set to By Frame.

Length Scale

The length of the output specified as a multiple of the source length.

This parameter is only available when Output Length is set to By Length Scale.

Inputs

Source Skeleton or MotionClip

This input is the source animation.

Reference Skeleton or MotionClip

This input is the reference animation.

Outputs

Skeleton or MotionClip

The animation on the first input with the results of the warp applied.

Examples

DynamicWarpRemoveStalls Example for Dynamic Warp geometry node

This example demonstrates how to use the DynamicWarp node to fix a jogging animation that has several stalls.

See also

Geometry nodes