The Dynamics output driver generates simulation state (.sim
) files
from a dynamics (DOP) network. Each file contains the complete state of
the simulation for a certain frame. You can then read the state back
into the network using a File DOP. You can also
directly point to a sequence of these files in the Files to Play
parameter of the Dopnet Object or Dopnet SOP.
Saved state files are a persistent cache of a simulation. You can move these files around to run the simulation in one place and use the results in another. For example, you can use the hscript standalone utility to run a simulation on a renderfarm and save out state files, then play the simulation back locally by loading the state files with a File DOP. This would let you run multiple versions of a simulation on the renderfarm overnight and compare the results the next day.
Parameters ¶
Save to Disk
Saves the simulation to disk as a sequence of .sim files.
Save to Disk in Background
Starts another copy of Houdini in the background and instructs that copy to save out the simulation as a sequence of .sim files. This allows one to continue working and load the .sim files as they complete.
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 values may be floating point values. The range is inclusive.
These parameters determine the values of the local variables for the output driver.
Render with Take
Uses the settings in a particular take while rendering. Choose Current to use the current take when rendering.
DOP Path
The DOP network to render from. (You can point to a DOP within a DOP network, but Houdini saves the state of the entire network.)
Output File
The file to save the simulation state to. Make sure to include $SF in the filename to write out separate files for each frame.
Output Every Sim Frame Using $SF
Every single simulation frame will be output, rather than just the frames hit by the step rate of the frame range. In this mode one just has to set the entire range without worrying about how substepping will be set up.
$SF should be used instead of $F in the file name in these cases.
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.
Initialize Simulation OPs
Force all simulation OPs to be reset. This includes DOP Networks, POP SOPs, and other OPs that cache their results.
This is the safest way to render out a simulation, because it starts the simulation from scratch and discards any partial simulations you might have done with different parameters. However, throwing away an already-cooked simulation can be expensive, especially for relatively slow solvers such as fluids.
Compress .sim Files
Determines if .sim files written to disk for caching will be compressed. GZip can provide the best compression, but is incredibly slow. Blosc provides excellent compression and speed so should usually be used.
Alfred Style Progress
A percentage complete value is printed out as files are written. This is in the style expected by Pixar’s Alfred render queue.
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.