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).



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