Houdini 20.5 Character

Pose-Space Deformation (Deprecated)

On this page

This pane allows you to create or modify a Pose-Space Deformation (PSD) of your geometry. PSD blends together a set of geometry examples, called pose-shapes, in a manner similar to BlendShapes. The blend weight applied to each pose-shape are automatically adjusted by PSD to interpolate between the pose-shapes as a set of driver values change. For example, with PSD a character’s bicept can be made to flex as the angle of the forearm relative to the upper arm changes. The angle increases as the forearm is brought towards the upper arm. The forearm angle is used to drive the interpolation between its rest (straight) pose-shape and a flexed pose-shape where the arm is bent. When the current pose matches that of a given pose-shape the resulting geometry will match that pose-shape’s geometry. If the current pose lies between two or more pose-shapes the resulting geometry will be a blend of their geometries.

Two workflows are supported Rigging PSD and Shot Finaling PSD. Use Rigging PSD while creating a rig to fix pose-specific shapes and interpolate between the shapes as the pose changes. Important Note: only create one Rigging PSD for each geometry region that needs pose-specific modifications. This an effective way reduce the overall total number of examples that need to be created. Use Shot Finaling PSD while animating to apply frame-specific corrections and interpolate between those corrections.

Creating Pose-Space Deform While Rigging

  1. Using the Pose tool, put the rig in the rest or default pose.

  2. Open the Pose-Space Deform pane in the Python Panel:

    • Click the New Tab icon at the top of a pane, and choose New Pane Tab Type ▸ Misc ▸ Python Panel.

    • In the drop-down menu at the top of the Python Panel, choose Object Pose-Space Deform (Deprecated).

  3. Click Create Rigging PSD.

  4. Specify the name of the PSD, e.g. left_arm_bicept, in the PSD Name field.

  5. Specify the rest geometry in the 'Select Rest Geometry' field. This should be a node that lies upstream of the Bone Deform SOP that has your rig and geometry in its rest position.

  6. Click Add Driver to select a driver. This opens the 'Add Driver(s)' dialog box.

  7. Select the 'Driver Type'. For FK (unconstrained) rigs this will be a parameter that corresponds to an OBJ node’s rotation, translation or scale, e.g. /obj/bone1/r. For IK (constrained) rigs this will be a derived transform, usually the 'Relative' transform.

  8. If a transform is selected a 'Transform' type must also be selected, usually this is 'Rotation'.

  9. Select the 'OBJ Node' from which to extract the driver, e.g. /obj/L_forearm_bone.

  10. If the driver is a 'Relative' transform then select the 'Relative OBJ Node', e.g. /obj/L_upper_arm_bone.

  11. Click Accept.

  12. Specify the 'Skinning Type', the skinning type MUST match that used by the Bone Deform SOP that is poses the geometry. Usually this is 'Linear' skinning.

  13. Click Accept.

Creating Pose-Space Deform While Animating

  1. Using the Pose tool, put the rig in its rest or default pose.

  2. Open the Pose-Space Deform pane in the Python Panel:

    • Click the New Tab icon at the top of a pane, and choose New Pane Tab Type ▸ Misc ▸ Python Panel.

    • In the drop-down menu at the top of the Python Panel, choose Object Pose-Space Deform (Deprecated).

  3. Click Create Shot-Finaling PSD.

  4. Specify the name of the PSD, e.g. left_arm_bicept, in the PSD Name field.

  5. Specify the rest geometry in the 'Select Rest Geometry' field. This should be a node that lies upstream of the Bone Deform SOP that has your rig in its rest position.

  6. Specify the posed geometry in the 'Select Posed Geometry' field. This should be the Bone Deform SOP that poses the geometry.

  7. Specify the 'Skinning Type', the skinning type MUST match that used by the Bone Deform SOP that is poses the geometry. Usually this is 'Linear' skinning.

  8. Click Accept.

Edit An Existing Pose-Space Deform

  1. Open the Pose-Space Deform pane in the Python Panel:

    • Click the New Tab icon at the top of a pane, and choose New Pane Tab Type ▸ Misc ▸ Python Panel.

    • In the drop-down menu at the top of the Python Panel, choose Object Pose-Space Deform (Deprecated).

  2. Click Edit Existing PSD.

  3. Select the desired PSD Node from the list.

  4. Click Accept.

Adding a new Pose-Shape to a PSD

  1. Follow the instructions for creating a PSD or editing an existing PSD.

  2. Using the Pose tool, put the rig in a pose with incorrect geometry.

  3. Click 'AddPose-Shape'.

  4. Click the Edit tool located on the new pose-shape 'poseshape1' in the list above.

  5. Using the Edit tool, correct the geometry.

  6. Click the 'Done' button located on the new pose-shape 'poseshape1' in the list above.

  7. Using the Pose tool, change the pose and verify the geometry has been corrected, add more pose-shapes where needed.

Character

KineFX characters

Geometry-level procedural rigging and animation with SOP-based rigs.

Object-level characters

(Deprecated) Object-level rigging and animation with bone-based rigs.

Panes