Auto Pre-Roll HDA

For this HDA to work properly, the rest skin geo needs to have @path attribute that matches the @path attribute on Anim alembic cache.

And the animation FBX file can only include 5 to 10 frames of the animation, that’s all the tool need to generate the pre-roll momentum.

Auto PreRoll HDA network structure

The Auto PreRoll HDA takes in four inputs

  • Rest Geo is the bind pose character geometry

  • Rest Skeleton is the bind pose character skeleton (normally from FBX character import node

  • Anim Skeleton is the FBX file which includes the animated skeleton

  • ABC Anim cache is the exported character animation alembic file

Parameter Overview

I output several different kinds of controls for the pre-roll setup

  • The “Pre-Roll” section for showing the shot information

  • The “Import FBX” section gives the option of loading the FBX file instead of using the inputs from the node

  • The “Pre-Roll Setting” section defines the pre-roll setting. The hip joint is important for this HDA to work properly.

  • The “Visualizer” section offers three types of visualization to see how users want to adjust the pre-roll

  • The “Momentum Setting” section provides the pre-roll momentum based on the motion of the animation alembic. It transforms the character in the opposite of the movement.

The animation alembic file shows the animation start form frame 1 to frame 120

This clip shows how the skeleton blends from bind pose to the animation skeleton. The setting for pre-roll duration was 30 frames and the momentum amplitude was set to 1.

Motion Clip for Pre-roll

I thought giving the motion clip as visualize could be a good idea so users can understand how the pre-roll should look like.

Momentum line for Pre-roll

The other visualizer I output for the users is the momentum line, this can be quite useful when the motion is not a straight line, this momentum line can helps users to check how much they want to smooth the momentum.

What if the facing direction is different from animation start frame?

The facing direction matters significantly for pre-roll. This will add the additional rotation velocity during pre-roll, even worse case the simulation might break during the pre-roll. The Auto PreRoll HDA helps users to compare the hip joint local transformation axis between rest skeleton and anim skeleton then rotate the rest skeleton to the same direction with anim skeleton.

Let’s see some examples

I used Mocap biped 3, a Houdini native agent character for this test.

Special thanks to Noah Schnapp who gave me feedback on the UI and the functionality of this HDA.

Previous
Previous

Post-Fix Exported Groom in Houdini

Next
Next

Guide Length Viewer HDA