Houdini 17.5 Python Panels

Pose-Space Deformation

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

  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

  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

  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 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.

Python Panels