FBX (sometimes called Filmbox) is an interchange file format for moving 3D animation data between software packages. It can contain entire scenes, including geometry, lights, cameras, NURBS, animation, and skinning.
Note
The FBX format specification generally does not support animated objects with a changing number of points or changing connectivity, such as Houdini’s particle systems or fluids. It is only possible to export these types of objects by breaking them up into individual triangles (although still within one FBX object node).
To restore these objects to their original appearance when they are brought into other packages, weld their vertices together and set all appropriate mesh edges to smooth
.
To import these types of objects properly into Maya™, Maya’s FBX importer option Use FBX Framerate in Maya must be turned on.
Parameters ¶
Save to Disk
Begins the render with the last render control settings.
Controls
Opens the Render Control window, which allows you to adjust the render parameters before rendering.
Valid Frame Range
Controls whether this render node outputs the current frame or the image sequence specified in the Start/End/Inc parameters.
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 |
|
---|---|
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.
Export
The node to start exporting at. Defaults to /obj
, meaning all objects and subnetworks under /obj
are exported.
If the node is a network, only export its contents, not the network itself.
Create Root for Subnet
When turned on, creates an extra root for the Export
node when it is a subnetwork. This causes the exporting subnetwork node to be represented in the FBX file.
Output File
The file to save the geometry to (should end in .fbx
).
Create Intermediate Directories
When turned on, creates intermediate parent directories for output files as needed. Currently only applies to generated scripts, images, and shadow maps.
Build Hierarchy from Path Attribute
Use a primitive string attribute for creating shape nodes in the output file. Each string value is treated like a path to a shape node that the primitive is created under. Intermediate nodes are created as needed with identity transforms. If the primitive is a packed primitive, then its parent node takes the primitive transform.
Absolute filesystem prefixes are stripped from the path value (for example, op:, http:, c:, etc).
Note
This parameter is only available when used from the Geometry context or when the Export parameter is set to a Geometry object.
Note
Support for animation export is currently limited to exporting primitive transforms, and each primitive must have a unique path attribute value. There is no support for exporting to vertex caches or changing geometry topology.
Path Attribute
The name of the attribute containing the path used for Build Hierarchy from Path Attribute.
FBX ¶
Export in ASCII
When turned on, the exported FBX file is in human-readable ASCII format. When turned off, the file is exported as a binary FBX file.
FBX SDK Version
The SDK version to use to export the FBX file.
Vertex Cache Format
The vertex cache file format that is exported.
Maya Compatible (MC)
Maya’s native vertex cache format.
3DS MAX Compatible (PC2)
Vertex cache format compatible with 3DS MAX.
Export Invisible Objects
Determines how invisible objects are exported. This is convenient if a scene contains hidden objects that are highly complex but don’t need to be exported.
As Visible Full Nodes
Each hidden object is represented as an appropriate type in FBX and is made visible. Processing time is the same as an object that is not hidden.
Don’t Export
Don’t export invisible objects.
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.
Current (Y Up or Z Up Right-handed)
Export using the current scene orientation preference.
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.
Convert Units
When turned on, the FBX scene is converted from the current Houdini system units (specified in the Houdini preferences Edit ▸ Preferences ▸ Hip File Options, default meters) to the native FBX unit of centimeters.
Conversion Level of Detail
The level of detail to use when converting non-polygonal objects to polygons. Higher values increase the polygon subdivision level; lower values decrease it.
Detect Constant Point Count Dynamic Objects
When turned on, the exporter tries to detect animated objects that don’t change point count or point connectivity, and export them without breaking them into individual triangles. The same process is done to particle systems and fluids. This allows for RBD or cloth objects to be exported as a single, smooth object, while still allowing topology-changing objects to be exported.
This may fail if an object with changing point connectivity happens to have the same point count over all frames of the exported animation. In this case, Detect Constant Point Count Dynamic Objects should be turned off.
Convert NURBS and Bezier Surfaces to Polygons
When turned on, the exporter converts all NURBS and Bezier surfaces to polygonal meshes, using the level of detail to determine mesh density. Otherwise, NURBS and Bezier surfaces are exported as NURBS.
Preserve Names of Shape Primitives
When turned on, the exporter removes the type and object count that is normally added as a suffix to the name of shape primitives. This includes polylines as well as Bezier and NURBS curves and surfaces.
Conserve Memory at the Expense of Export Time
Only affects objects exported with vertex caches. When turned on, internal vertex positions computed during export are discarded, not cached, resulting in reduced overall memory usage. However, this increases the export time. When turned off, the exporter runs faster but uses more memory.
Export Deforms as Vertex Caches
When turned on, any geometry objects that contain Deform SOPs are exported as vertex caches with no weight information. When turned off, these nodes are exported as objects with skinning and corresponding weights.
This parameter is only available when Valid Frame Range is set to Render Frame Range or Render Frame Range Only (Strict).
Force Blend Shape Export
When turned on, Blend Shapes SOPs in geometry nodes are always exported. This could potentially result in information being lost, since any nodes that modify the geometry after Blend Shapes are ignored.
When turned off, Blend Shapes SOPs are only exported if there are no modifications to the geometry downstream from them.
Force Skin Deform Export
When turned on, Deform SOPs in geometry nodes are always exported. This could potentially result in information being lost, since any nodes that modify the geometry after Deform are ignored. Only the Bone Deform, Bone Capture and Capture Override nodes are currently supported.
When turned off, these nodes are only exported if there are no modifications to the geometry downstream from them.
Export End Effectors
When turned on, the additional end effector null nodes at the ends of each branch of a skeleton are included in the exported FBX file. This allows the FBX file to be correctly reimported into Houdini.
When turned off, the additional end effector null nodes are not included in the exported FBX file. This can be helpful when trying to reduce the number of joints exported to an FBX file, but you will not be able to reimport it back into Houdini properly, as the skeleton is effectively missing one joint/bone from each of its branches.
Embed Media
When turned on, any media files related to the scene (textures, sound, movies) are embedded in the exported file. When turned off, only relative references to the media files related to the scene are added to the exported file.
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.
Export Animation Clips (Takes)
When turned on, animation clips are exported. Clips (also called Takes in other software) are named frame ranges in your animation. This can be used to export multiple animations in a single FBX file.
This parameter is only available when Valid Frame Range is set to Render Frame Range or Render Frame Range Only (Strict).
Clip #
A string describing the animation clip.
Frame Range
The frame range of the animation clip.
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-Render Script
Run this script after all rendering.