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