ffxconvert Command Line Utility
This utility converts caches between different formats, excludes channels or reduces grid dimensions. It is available as a free download from the members area at afterworks.com.
Usage syntax
ffxconvert -i <ffx_file_in> -o <file_out> [-r <a> <b> [<s>]] [-w] [-m] [-x <channel>] [-gzip {on,off}]
ffxconvert -i <ext_f3d_file_in> -o <file_out> [-r <a> <b> [<s>]] [-w] [-m] [-x <channel>] [-gzip {on,off}] [--inmap <channel> <part> <name>]
ffxconvert -i <ext_vdb_file_in> -o <file_out> [-r <a> <b> [<s>]] [-w] [-m] [-x <channel>] [-gzip {on,off}] [--inmap <channel> <name>]
ffxconvert --help
Command line switches
-i,--input <file_in>
Either complete input file, or input file template.
-o,--output <file_out>
Either complete output file, or output file template.
-r,--range <a> <b> [<s>]
Specify range between <a> and <b> with step <s> for templated input/output files. If step <s> is omitted, default value 1 will be used.
If -r or --range option is not provided, <file_in> and <file_out> must be complete file name (e.g., test_0001.fxd).
If -r or --range option is provided, <file_in> and <file_out> must be templated file name (e.g., test_.fxd).
-w, --no-overwrite
Existing output caches will be not be overwritten (overwritten by default).
-d, --draft <a>
Reduce grid by a factor. Valid options: 1, 2 or 4.
-x, --exclude <channel>
Specify channel to exclude from saving (this argument can be passed multiple times). Valid options: smoke, fire, oxygen, temp, vel, col, tex
-gzip {on,off}
Specify compression used for creating Field3D files (on: GZIP, off: FumeFX proprietary compression). Default is GZIP compression.
--inmap <channel> <name>
Map third party OpenVDB field <name> to FumeFX field <channel> (this argument can be passed multiple times).
Following channels can be mapped using --inmap option <channel>:
flags FumeFX flags channel (integer type).
smoke Smoke (density) channel (decimal type).
fireonly Fire channel (decimal type).
fuelonly Fuel channel (decimal type).
firefuel Fire/fuel channel (decimal type).
oxygen Oxygen channel (decimal type).
temp Temperature channel (decimal type).
hfen High frequency energy channel (decimal type).
vel Velocities channel (3D decimal vector type).
velx Velocities channel X component (decimal type).
vely Velocities channel Y component (decimal type).
velz Velocities channel Z component (decimal type).
tex Texture coordinates (3D decimal vector type).
texx Texture coordinates X component (decimal type).
texy Texture coordinates Y component (decimal type).
texz Texture coordinates Z component (decimal type).
texb Second texture coordinates (3D decimal vector type).
texbx Second texture coordinates X component (decimal type).
texby Second texture coordinates Y component (decimal type).
texbz Second texture coordinates Z component (decimal type).
col RGB color channel (3D unsigned integer or decimal vector type).
colr Red color channel (unsigned integer or decimal type).
colg Green color channel (unsigned integer or decimal type).
colb Blue color channel (unsigned integer or decimal type).
--inmap <channel> <part> <name>
Map third party OpenVDB field <name> to FumeFX field <channel> (this argument can be passed multiple times).
-h, -?, --help
Help page.
Convert files between different cache formats supported by FumeFX.
Field3D / OpenVDB input cache files can be third party files, but output files will be native FumeFX caches.
Field3D 3rd party input files which use --inmap option must provide Field3D partition, field name inside that partition.
OpenVDB 3rd party input files which use --inmap option must provide field name in OpenVDB cache file.
Following file formats are supported:
FXD FumeFX output volumetric data format.
FDC FumeFX simulation volumetric data format (input only).
F3D Field3D volumetric data format.
VDB OpenVDB volumetric data format.
Output Field3D files can be created using following compressions:
DEF Deflate (zip) compression.
FFX FumeFX proprietary compression (faster and better but not supported by most 3rd party applications).
Examples
Convert FXD files in current folder in range 1-10 to Field3D format with FumeFX compression:
ffxconvert -r 1 10 -gzip off -i test_.fxd -o test_.f3d
Convert third party OpenVDB cache to FXD format (from OpenVDB examples):
ffxconvert --inmap smoke density -i bunny_cloud.vdb -o bunny_cloud.fxd
Convert FXD file to Field3D format with deflate compression and exclude oxygen and temperature channels:
ffxconvert -gzip on -x oxygen -x temp -i test_0001.fxd -o test_0001.f3d
Create another set of caches with draft mode option (-d 2). A value of 2 means that caches will have dimensions reduced by a factor of 2:
ffxconvert -i test_.fxd -o testSmall_.fxd -r 0 10 -d 2