Exporter f3d Velocities Offset?

Trying to figure out if this is the result of the Stoke exporter or the FumeFX importer.

See image. Attached both .f3d and .fxd files for frame 0 same setup. These should be exactly the same.


Stoke_Field001_0000_f3d.rar (2.98 MB)

More info needed - when I load the F3D and FXD using the same Stoke Field Loader, they appear in the same place.

Can you send the scene you took the screenshot from? Without seeing the Magma flows you used to create the Stoke Field Magmas, I cannot comment on the offset.

However, keep in mind FXD can only contain positive voxel coordinates in object space, and the origin of the simulation grid will be assumed as the bottom center of the bbox, while Stoke uses World Space coordinates which can be positive and negative. When Stoke writes FXDs, this can be a problem. So Stoke saves FXDs in positive coordinates based on the min. corner of the bounding box. It also writes a MAXScript file that can be used to reposition the FumeFX Grid when loading the saved FXD in order to place the data at the right place. Without using the MS file, a FumeFX grid loading the FXD data would appear centered at the origin, with the bottom of the bbox at 0.0. Similarly, a Stoke Field Loader or InputField would read the data without its original offset, and you would have to apply the offset yourself.
You can read the FXD related notes here, esp. “Grid Size And Location”:
thinkboxsoftware.com/stoke-m … -exporter/

In contrast, F3D and VDB can save the actual Stoke values in World Space, so a Stoke Field Loader will load it where it was saved from (esp. since its “Apply Transform” option is off by default - otherwise it has to sit on the world origin for the data to align).

So your problem is probably caused by the inability of the FXD format to save data in arbitrary coordinates, but I could be missing something as I would expect the FXD to be off and F3D to be correct, but in my loading attempt both appeared to be identical.

Sorry, its been a while, if it wasn’t obvious my time clocked with Stoke is pretty low as I knew it would be a pretty big investment to truly get up to speed.

The Field Magma is a world 0,0,0. The Stoke grid is same size and spacing as the Fume grid as to minimize any inconsistencies. I did not manipulate the velocities only the density. Both are loaded back into separate cache only Fume grids. It is a beta version of Fume just trying to see whose side it maybe on. Thanks for the coordinate explanation. That is good to know. I was suspecting it was the Fume importer. That importer should have some options to take any offsets into account, since there is no option other than to steer the channels, I will ask Josip. Thanks :wink:

Thought I would drop the question here as you always point me in the right direction.