What exporting geometry means and why you do it
Exporting geometry means saving the 3D shapes, models, and structures you built in Houdini as a file that other software can open and use. Houdini is a procedural 3D tool — it builds things by stacking operations on top of each other. When you want to use what you made in a game engine, rendering software, animation tool, or 3D printer, you send it out as a standard file format that those programs understand.
You export because Houdini is the tool for building and changing geometry, but it is not always the tool for the next step. A game engine like Unreal or Unity needs geometry in a format it can read. A renderer like RenderMan or V-Ray may need the data organized differently. A 3D printer needs exact measurements in a format a slicing program understands. Exporting is the bridge between what you made and what comes next.
Key Takeaways
- The most common export formats are Alembic (.abc) for animation and detail, OBJ (.obj) for straightforward static geometry, and FBX (.fbx) for game engines and character rigs.
- You export from the ROP (Render Output) network in Houdini, not from the viewport — this is where Houdini writes files to disk.
- Before exporting, freeze your geometry or bake your simulation so Houdini calculates everything once instead of recalculating every time the file opens.
- Export settings like vertex normals, UV coordinates, and polygon groups matter depending on where the geometry is going — a game engine needs different data than a 3D printer.
The three file formats you will use most
Alembic (.abc) is the standard for anything with animation or heavy detail. It stores geometry frame by frame, preserves vertex normals and UV coordinates, and keeps the hierarchy of moving parts intact. If you are sending animated characters, cloth simulations, or particle effects to another tool, Alembic is the safest choice. It is also the format most rendering software expects.
OBJ (.obj) is the simplest and oldest format. It stores static geometry — vertices, faces, and basic texture coordinates — in plain text that almost any 3D software can read. OBJ files are small and portable, but they cannot store animation, they handle only one object per file, and they lose some information like vertex groups or material assignments. Use OBJ when you need something quick and straightforward, or when the receiving software does not support anything else.
FBX (.fbx) is what game engines and character animation tools expect. It stores geometry, rigging (bones and joints), animation, and material assignments in a single file. FBX is more complex than OBJ but more flexible than Alembic for game pipelines. If you are sending a character rig to Maya or a skeletal mesh to Unreal Engine, FBX is usually the right choice.
How to set up and run an export in Houdini
Open the ROP network by clicking the ROP context tab at the top of the network editor, or by pressing Tab and typing "rop". This is where Houdini writes files to disk — it is separate from the geometry network where you build things. Right-click in the ROP network and create the node type that matches your format: Alembic ROP, Geometry ROP (for OBJ), or FBX ROP.
Connect the output of your geometry network to the ROP node. In the ROP node's parameters, set the output file path — this is where the file will be saved on your computer. Then set the frame range if you are exporting animation (or leave it at the current frame for static geometry). Click the render button (the film camera icon) or press Enter to run the export. Houdini will calculate the geometry and write the file.
The process is the same for all three formats: create the ROP node, connect your geometry, set the output path, and render. The difference is in the parameters each ROP offers — Alembic ROP has options for storing attributes and vertex normals, FBX ROP has options for rigging and animation, and Geometry ROP is the simplest with just basic mesh options.
Preparing geometry before you export
Before exporting, freeze your geometry by placing a File Cache node or Null node at the end of your network and baking the result. This forces Houdini to calculate everything once and store it, rather than recalculating every time the file opens. Without freezing, the receiving software may try to recalculate your procedural network and fail, or the file may be slow to load.
Check that your geometry is clean: delete any construction geometry you do not need, remove unused attributes, and make sure normals are pointing outward (use the Normal node to flip them if needed). If you are exporting for a game engine, make sure your polygon count is reasonable — game engines have limits on how many polygons they can handle efficiently. If you are exporting for 3D printing, make sure the geometry is watertight (no holes or open edges) and the scale is correct.
If you have multiple objects or groups that need to stay separate, decide whether to export them as one file or multiple files. Alembic and FBX can store multiple objects in one file and preserve their hierarchy. OBJ cannot — you will need to export each object separately or merge them into one mesh.
Choosing export settings for your destination
Different software needs different data. A game engine needs vertex normals (so surfaces shade smoothly), UV coordinates (so textures map correctly), and polygon groups (so different parts can have different materials). A renderer may need vertex colors, custom attributes, or specific normal calculation methods. A 3D printer needs only clean geometry and correct scale — it does not care about normals or UVs.
In the ROP node parameters, look for options like "Compute Normals", "Export UV Coordinates", "Export Groups", and "Export Attributes". Turn on what you need for your destination. If you are unsure, export with all options on — the receiving software will ignore what it does not need. The exception is file size: if your file is too large, turn off attributes and groups you do not actually use.
Test the export by opening the file in the destination software before you commit to the full pipeline. A five-minute test now saves hours of troubleshooting later. Check that normals point the right direction, UVs are laid out correctly, and animation plays at the right speed.
Common problems and how to fix them
If the receiving software cannot open your file, check that you exported in a format it supports. Most software supports Alembic, OBJ, and FBX, but some older tools only read OBJ. If the file opens but looks wrong — geometry is inside-out, normals are broken, or animation is jerky — go back to the ROP node and adjust the settings. Flip normals, recalculate them, or turn off normal export and let the receiving software calculate its own.
If the file is too large, you are probably exporting unnecessary attributes or animation frames you do not need. Delete unused attributes in Houdini before exporting, or reduce the frame range in the ROP node. If animation plays at the wrong speed, check that the frame rate in Houdini matches the frame rate in the receiving software — Houdini defaults to 24 fps, but game engines often use 30 or 60.
If the scale is wrong in the receiving software, the unit systems do not match. Houdini works in generic units, but game engines and 3D printers expect specific units (centimeters, inches, meters). In the ROP node, look for a scale or unit option and set it to match your destination. A character that should be 6 feet tall but imports as 6 inches is a unit mismatch.
Frequently Asked Questions
Can I export animation from a simulation like cloth or particles?
Yes, but you need to bake the simulation first. Simulations in Houdini are calculated on the fly — they do not store the result. Use a Simulation node or File Cache to bake the result to disk, then export that cached geometry as Alembic. The exported file will contain every frame of the animation.
What is the difference between exporting and rendering?
Exporting saves the raw geometry data as a file. Rendering calculates how that geometry looks under lights and materials and saves an image or video. You export when you want another tool to use the geometry. You render when you want a final picture or movie.
Do I need to delete my procedural nodes before exporting?
No, but you should freeze the result so the receiving software does not try to recalculate your network. Place a File Cache or Null node at the end, bake it, and export from there. Your original procedural network stays intact for editing.
Why does my exported file look different in the other software?
The most common reason is normals — Houdini calculates normals one way, and the receiving software calculates them differently. Try exporting with "Compute Normals" turned off and let the receiving software calculate its own. Also check that the scale and unit system match.
Can I export directly from the viewport without using ROP nodes?
No, you must use the ROP network to export files. The viewport is only for viewing. The ROP network is where Houdini actually writes data to disk, so that is where all exports happen.