Input and output data from files
As an alternative to inputting and outputting geometries to the host scene, you can input and output files. This is useful, for example, for caching or rendering on a farm. In addition to Bifrost's object format, there are read_*
and write_*
nodes for several standard formats.
The format to use depends on the type of geometry:
- Use the Bifrost binary object format (.bob) for any type of geometry in Bifrost. However, it can only be read by the Bifrost graph.
- Use Alembic (.abc) for mesh geometry.
- Use OpenVDB (.vdb) for volumes or points.
- Use Field3d (.f3d) for volumes.
- Use PDC (.pdc) for points.
You can also try the file_cache
node. This node can read and write .bob, .abc, or .vdb based on the extension.
Note that:
- At least one output of the file node must be directly or indirectly connected to the
output
of the top level of the graph. - You can use the output from the
time
node to connect to theframe
input. In some cases, you may need to convert the frame value fromfloat
toint
usingto_int
, or convertframe_step
to a frame rate usingone_over
. - To include frame numbers in file names, use the token
#
. Use multiple characters for frame padding, for example,####
for0001
,0002
, etc. You can also use@
instead of#
. - When specifying properties to include, you can either list them explicitly or enter
*
for all. - Directories must exist already.
Writing files using batch execution
Batch execution lets you write out cache and other files without the risk of accidentally overwriting them. This process uses the write_state
job port, which is managed by Bifrost and set to true
during batch execution.
It requires some preparation in your graph:
- If you are using
file_cache
nodes, set theirmode
to the new Write State Mode. - If you are using
write_*
nodes, useif
nodes to execute them only when the output ofwrite_state
is true.
To write files using batch execution:
- Choose Edit > Batch Execute.
- Specify the time range.
- Click Execute. The
write_state
job port is temporarily set totrue
while the files are being written.
You can cancel batch execution in progress by choosing Edit > Cancel Batch Execute.
Note that wedge_cache
nodes always write during batch execution so be careful if there are any wedge_cache
nodes in your graph.