Mesh Splitting Overview and Configuration
This section describes how to enable and configure Mesh Splitting in a Virtalis Hub environment. Mesh Splitting in Virtalis Hub is the process of breaking apart high triangle-count meshes into smaller chunks. Currently, the implementation defaults to only splitting meshes that have more than 64 thousand triangles and aims to create balanced splits both in terms of triangle count and 3D dimensions.
Level of Detail (LOD)
When viewing a visualisation, the renderer chooses the LOD for each mesh such that it can maintain a certain framerate. With large meshes, this means it must choose the LOD for the entire mesh, regardless of how much of it the viewer can see. This can result in poor detail in large meshes because the triangle count is too high for the hardware.
When large meshes are broken down into smaller chunks, the renderer can choose a LOD level for each split individually. Because of this, instead of rendering a high LOD for the entire original mesh it can instead choose high LODs only for the splits which are closest to the viewer, or only the splits that may be on screen.
Configuration
You can configure Mesh Splitting in two ways:
Enabled/Disabled (the default setting is Enabled)
To enable/disable Mesh Splitting, the configuration variable in the TranslatorService can be set to true or false via the following env variable:
TranslatorServiceConfiguration__MeshSplittingEnabled
Adjusting Split Threshold (Advanced)
It is possible to adjust the threshold at which Mesh Splitting is performed. By default, it is set to 64000 triangles and adjusting this value is not recommended. The threshold can, however, be adjusted via the following environment variable:
TranslatorServiceConfiguration__MeshSplitTriangleThreshold
There are no sanity checks on this value. For example, if an administrator sets this to 10 then it will split up practically every single mesh in a scene and result in extremely poor performance of not only the rendering but also importing and publishing.