Houdini 22.0 Nodes Geometry nodes

ROP GLTF Character Output geometry node

Export a skinned character with a geometry-based skeleton to a glTF or glb (binary) file.

On this page
Since 19.0

The follow table provides further details about which glTF features and extensions are supported, plus any relevant notes about how they are supported:

glTF Property or Extension

Supported

Notes

Scene

The exported character will be added to the default glTF scene.

Node

The joints of the exported character, along with its skin geometry, will be exported to glTF nodes.

Mesh

The skin geometry of the character will be exported to a glTF mesh. Sometimes exported geometry needs to be processed to make it compatible with glTF, such as by triangulating the geometry or splitting points when vertices sharing the same point have different attribute values.

Mesh Primitive (Points)

-

Mesh Primitive (Lines)

-

Mesh Primitive (Triangles)

The skin geometry will be exported to a glTF mesh primitive with mode TRIANGLES.

Camera

-

Skin

The skin geometry and capture pose will be used to export a glTF skin, which includes the skeleton of the character.

Morph Target

Any blend shapes, including in-betweens, associated with the skin geometry will be exported to a glTF morph target.

Animation (Transform Target)

The animation pose or animation poses of the character will be exported as glTF animations that target the transform channels of the glTF nodes that represent the character joints.

Animation (Weight Target)

Any animation in the animated pose that involves blend shapes will be exported to a glTF animation that targets the weights of the exported glTF morph targets.

Material

Any Principled Shader materials that are assigned to the skin geometry will be exported as glTF materials.

Texture

Supported texture maps (base color, roughness, metallic, normal, emissive, occlusion) used by any Principled Shaders in the scene will be exported, as well as any textures specified by the Additional Textures parameter.

KHR_draco_mesh_compression Extension

-

KHR_lights_punctual Extension

-

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.

Image Format

Controls the format of an exported image. glTF supports JPEG and PNG images.

Original or PNG

Images will be exported in their original format if supported by the glTF standard and PNG otherwise.

Original or JPEG

Images will be exported in their original format if supported by the glTF standard and JPEG otherwise.

PNG

Images will be exported as a PNG.

JPEG

Images will be exported as a JPEG.

Additional Textures

This multi-parameter can specify additional textures that should be exported to the glTF file. This is useful to have images included in the exported glTF file that are not associated with any materials being exported from your Houdini scene.

Texture Name

Optionally specifies the name of the exported texture.

Texture Image Path

Specifies the path to the texture’s image.

Animated Pose Export

Controls how the animated pose input is interpreted and consequently exported to the glTF file.

Single Clip

The animation pose input is a single animation and is exported to a single glTF animation.

Multiple Clips

The animation pose input is comprised of multiple animations, eached packed and differentiated by a clip name attribute. Each clip is exported to the glTF file as a separate animation. This allows a character to be exported with multiple animations.

Clip Name Attribute

When Animated Pose Export is set to Multiple Clips, this is the primitive name attribute that contains the unique names of each animation to be exported.

Tip

To format all your animation pose streams for multiple clip export, feed them into a Merge Packed SOP, and pipe the Merge Packed SOP into the Animated Pose input of the ROP GLTF Character Output SOP.

Clip Name

When Animated Pose Export is set to Single Clip, this is the name of the exported animation property.

Export Materials

When turned on, exports any materials associated with geometry that is being exported. The exporter looks for the standard shop_materialpath primitive attribute to determine the material of geometry being exported.

The list of supported materials that the exporter can translate to glTF are:

  • Principled Shader

  • Mtlx Gltf Material

Export Skin Mesh Name

When turned on, adds a name to the mesh representing the skin of this character. The Mesh Name Source parameter controls the naming of the mesh.

Mesh Name Source

Export Joint Names

When turned on, adds names to each node in the glTF scene that represents the joints of the skeleton. The name attribute on the Capture Pose will be used to name each joint node.

Scripts

A script command can be specified for execution at various execution points. The expression language selected for the script parameter determines whether the command is in hscript or python.

Prior to execution, this node is automatically set as the global current node.

To run statements from a file, specify the path to the file with either a .cmd extension (when the language is set to Hscript) or a .py extension (when the language is set to Python). Additional arguments to the script can also be supplied. They will be parsed in a shell-like manner.

Pre-Render Script

Run this script before any rendering.

Pre-Frame Script

Run this script before each frame.

Post-Frame Script

Run this script after each frame.

Post-Write Script

Run this script after each frame’s data finishes writing to disk.

Post-Render Script

Run this script after all rendering.

Attributes

boneCapture

Point attribute on the skin geometry that defines the skinning 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.

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.

shop_materialpath

Primitive attribute used to specify the path to a shader node used for rendering.

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.

Capture Pose

The character’s capture pose for skin deformation.

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