Houdini 20.0 Nodes Geometry nodes

ROP FBX Character Output geometry node

Export a skinned character with geometry-based skeleton to an FBX file.

On this page
Since 18.5

Parameters

Save to Disk

Exports the character with the current parameter settings.

Controls

Opens the Render Control window, which allows you to launch a one-off export with different frame range and dependency settings.

Clip Range

Use clipinfo Detail Attribute

Use the input’s clipinfo detail attribute to obtain the frame range to export.

Render Current Frame

Export only the current frame.

Render Frame Range

Export the frames in the Start/End/Inc frame range, but also allow exporting of frames referenced by in-range frames.

Render Frame Range Only (Strict)

Only export the frames in the Start/End/Inc frame range. Do not allow exporting of other frames, including frames referenced by in-range frames.

Start/End/Inc

Specifies the range of frames to render (start frame, end frame, and increment). All of the values can be floating point values. The range is inclusive.

The Start/End/Inc parameters determine the values of the below local variables for the output driver.

$NRENDER

The number of frames to be rendered by the output driver.

$N

The current frame being rendered (starting at 1 and going to $NRENDER).

For example, if the parameters are set to:

Start

End

Inc

10.5

12

0.5

… there will be 4 frames rendered (10.5, 11, 11.5, and 12), so $NRENDER will have a value of 4.

$N will have the following values at each frame:

Frame

$N

10.5

1

11

2

11.5

3

12

4

Render with Take

Uses the settings in a particular take while rendering. Choose Current to use the current take when rendering.

Input FBX File

When specified, this FBX file is imported. The output file is a copy of this input file using the input geometry’s animation.

Output FBX File

File path to export to. This should be different from Input FBX File.

Skinning Method

The deformation method used for the export. This should match the Skinning Method in Joint Deform, which is used for visualizing the deformation.

Blend Attribute

The attribute for blending between the linear and dual quaternion skinning methods. Only used when Skinning Method is set to Blend Dual Quaternion and Linear.

Clip Name

The clip name within the FBX file for storing the animation data. Animation writes to this clip, creating it if needed.

When Clip Name is blank, the animation is written to the active clip from the input FBX file, if the file exists. Otherwise, a clip named clip0 is created.

Rest Pose Attribute

Name of a 4×4 matrix point attribute to use as the rest pose for the joints. The values in this attribute are defined in world space and is used for the joint’s transform before attaching animation.

Create Intermediate Directories

When turned on, creates intermediate parent directories for the output files as needed.

FBX

Shift Range to Source

When you export, shifts the animation so that it begins at the clipinfo attribute’s source start time.

This parameter is only available when Clip Range is set to Use clipinfo Detail Attribute or Render Current Frame.

Override Scene Rate

When turned on, uses the clipinfo attribute’s sample rate (if available) as the exported animation frame rate. When turned off, uses the global FPS as the exported animation frame rate.

Save as Binary

When turned on, saves the FBX file as binary instead of text.

Embed Media

Embed material textures with the exported FBX file.

Export User-Defined Attributes

When turned on, the values in the fbx_custom_attributes point attribute are stored as user-defined FBX properties.

Remove Constant Animation Curves

By default, all user-created properties are exported with their FBX animation curves for their given channels. When this parameter is turned on, this node cycles through all the FBX animation curves created for the user-defined FBX properties that are being exported, and deletes any constant curves (curves with no change in key values).

Compatibility

Export Preset

A list of presets that set the parameters under the Compatibility tab to the ideal values for exporting to the target DCC.

Axis System

Determines the axis system convention.

Y Up (Right-handed)

Right-handed Y Up convention (default): Up = +Y, Front = +Z, Cross = +X. Use this for Houdini, Maya Y-Up, MotionBuilder, and OpenGL.

Y Up (Left-handed)

Left-handed Y Up convention: Up = +Y, Front = +Z, Cross = -X. Use this for LightWave and DirectX.

Z Up (Right-handed)

Right-handed Z Up convention: Up = +Z, Front = -Y, Cross = +X. Use this for Maya Z-Up and 3ds Max.

Z Up (Left-handed)

Left-handed Z Up convention: Up = +Z, Front = -Y, Cross = -X. Use this for Unreal Engine.

Current (Y Up or Z Up Right-handed)

Export using the current scene orientation preference set in the Houdini Preferences (Edit ▸ Preferences ▸ 3D Viewports ▸ Orientation).

Convert to Specified Axis System

When turned on, the FBX scene will be converted from the current Houdini scene orientation to the one specified in Axis System.

Output Unit

The FBX scene’s unit of measurement.

Centimeters

Predefined system unit for centimeters (and the default measurement unit for FBX).

Meters

Predefined system unit for meters.

Convert to Specified Unit System

When turned on, converts the FBX scene from the Houdini scene’s measurement unit (specified in the Houdini preferences Edit ▸ Preferences ▸ Hip File Options, which defaults to meters) to the one specified in Output Unit.

Compute Smoothing Groups

When turned on, computes smoothing group information from a mesh’s vertex-mapped normals, and saves to FBX on export.

These normals can be configured on your geometry using the Normal SOP. By setting the Normal SOP’s Add Normals to parameter to Vertices, weighted/split normals can be applied to different polygon groups to specify the soft/hard edge data used to compute smoothing group information. Applying the vertex normals to primitives or edges (set Group Type to Primitives or Edges) and configuring the Cusp Angle results in the expected smoothing data in your output FBX.

Remove Scaling from Joints

When turned on, removes scaling from the global transforms of skeleton joints while preserving rotation and translation. This ensures a joint scale of 1 for physics calculations when importing the FBX into Unreal Engine.

Scripts

Pre-Render Script

Run this script before saving starts.

Pre-Frame Script

Run this script before each frame.

Post-Frame Script

Run this script after each frame.

Post-Render Script

Run this script after done saving.

Attributes

boneCapture

Point attribute on the skin geometry that defines the capture weights.

clipinfo

This detail attribute records the current animation range and sample rate, as well as the original animation range and sample rate of the imported animation.

fbx_material_name

Primitive attribute on the skin geometry that holds the name of the material in the FBX file.

fbx_skin

String array point attribute on the Capture Pose input denoting the skinned shape (primitive name attribute value) that the capture joint is attached to. Any unused capture joints are bound to the first capture shape if fbx_skin is not present.

material_override

Primitive attribute on the skin geometry that holds the material property values.

name

Point attribute containing the unique name across all points used for identification. This is only used if the path point attribute is missing.

path

Point attribute containing the hierarchical path of the FBX node that corresponds to the point. It is created when FBX files are imported by the FBX Animation Import SOP or FBX Character Import SOP nodes. This path is used to identify where to export the point transforms.

fbx_custom_attributes

point

Contains a dictionary of user-defined custom properties for the FBX node that corresponds to the point. The dictionary includes both static and animated values evaluated over time. This attribute is created when the FBX Animation Import SOP or FBX Character Import SOP nodes import an FBX file.

scaleinheritance

This point attribute specifies the scaling behavior when performing local transformations. For more details on these values, see combinelocaltransform and extractlocaltransform.

shop_materialpath

This primitive attribute specifies the path to a shader node used for rendering. Currently, it only recognizes material parameters that belong to the Principled Shader for export.

transform

This 3×3 matrix point attribute specifies the world transform for the point. While the world position of the point is still P, this transform encodes the world transform’s rotation, scale, and shear components.

Inputs

Rest Geometry

The character’s rest geometry. It must have at least a name or path primitive attribute for the shape name to save to the primitives. A boneCapture point attribute is also required for skin deformation.

Packed geometry primitives with single skin deformation weights are translated as rigid shapes on export.

Capture Pose

The character’s capture pose.

Each joint in the skeleton is represented by a point, where the P and transform (matrix3) attributes contain the joint’s transform. The point’s name attribute contains the joint’s name, and is matched up with the capture paths in the rest geometry’s boneCapture attribute when deforming the skin. The skeleton’s hierarchy is represented by two-point polygons between the points for each child joint and its parent.

Animated Pose

The character’s animated pose, which is represented in the same manner as the Capture Pose.

See also

Geometry nodes