ryobg
I'm using the latest version.

For some experiments I created on MetaMesh based on your Turtle. When I save the project it compress the mesh data for a while (it is 1 by 1 km) and I have like 700MiB project file.

I was a bit surprised when I found out that inside there are two binary the same files of the same field data - each one of 600MiB or so. One is just field.dat the other is field<UID>.dat. Of course the project file refers only to the UID based one.

1) Is there a reason to dublicate the content? It looks a bit redundant and performance penalty implying.

2) Is there any way in fact through using the SDK to specify where MetaMesh's position/size/rotation to be contoured? After voxelizing it looks bound to certain position forever. And I see no way to voxelize a MetaMesh through the SDK (expensive operation btw).
0 0
voxelfarmtorres
The information is not duplicated. A single project may have multiple metameshes in them. Each metamesh produces one fieldUID.dat file. Then all these files are merged together into the final field.dat. If you change just one metamesh, only this metamesh needs to re-processed to create a new merged field. The other metameshes are not processed but read directly from their respective fieldUID.dat file. Note this is happening only while the project is in development inside Voxel Studio. Once you export a bundle, only the final field.dat file is used.
0 0
ryobg
Got it thanks! Any clues wrt to my second question?
0 0
voxelfarmtorres
Creating the Metamesh voxelization fields is not part of the SDK, using Voxel Studio is required. The field is computed for the exact Metamesh position and scale in absolute coordinates, any change in this invalidates the field and a new field needs to be computed.
0 0
ryobg
Please consider something [smile] This will allow runtime behaviour, even though the mesh is pre-computed: I suppose simple offset and 90 degree transforms can be handled relatively cheap. Resizing is expensive ofc. Then the merge with with the surrounding can be done realtime as it is with the voxel instances.

Meanwhile, I can think of doing this myself. While the absolute positions are hardcoded, I suppose certain offset can be applied to them for example...

Thank you for the support and answers.
0 0
voxelfarmtorres
A different offset has the same effect than a different scale. In order to speed up realtime sampling of the field, the field is aligned with the world cell locations. This guarantees a 1:1 mapping between the field cells and the cells the engine needs to produce. If you lose that 1:1 mapping, another layer of indirection and resampling is needed during realtime, which is quite expensive if you consider the sheer number of voxels produced by this component.
1 0
ryobg
Ok, so I see alignment is needed, then the offset will be step based on world cells instead.
0 0