InstaLOD’s ability to optimize densely tessellated polygon meshes while maintaining the shading quality makes it the only optimizer suitable for the optimization of polygon meshes created from CAD solid body data. Depending on the quality and state of your input data certain settings can be enabled to ensure the creation of highly optimized polygon meshes that still render and shade true to the original. This document will help you to get the best result from any CAD source data.
InstaLOD processes a small object as part of a big assembly with the same result it would produce when processed independently. This is an important feature that ensures consistency across different types of objects and scenes.
To achieve this, InstaLOD does not normalize the scale of the object, so it is important to ensure that the object/scene that will be optimized is matching the unit system settings in Autodesk Maya or Autodesk 3ds Max. By default, InstaLOD assumes centimeters. Having an object that is improperly scaled will not produce optimal results.
If the input geometry does not have proper texture coordinates set Texture Importance
to Off
, otherwise bad UV data can impact the optimization quality. If the current UV parameterization can be discarded, it is recommended to set Texture Importance
to Off
and reparametrize the resulting mesh using InstaLOD’s automatic UV functionality.
If the input geometry has broken or improper surface normals set Shading Importance
to Off
, otherwise bad shading data can impact the optimization quality. Normals will be automatically recomputed if Recalculate Normals
is enabled.
If your input CAD polygon mesh is not stitched properly along patches it is recommended to enable Lock Boundaries
to suppress visible seams or holes along with individual patches on the optimized mesh.
By default, InstaLOD is excellent at maintaining the shading of polygon meshes during optimization. However, specifying an absolute polygon target can force InstaLOD to break shading in order to achieve the specified optimizing target.
In order to maximize the amount of polygon data removed while maintaining shading quality, it is recommended to set PercentTriangles
to 0
(zero) but impose a very low Maximum Deviation
between 0.001
and 0.5
. This will instruct InstaLOD to keep optimizing the input mesh as long as the visual error stays below the specified value (Maximum Deviation). The Maximum Deviation value is based on the scale of the model, therefore small meshes with fine details require a much lower value than the identical mesh scaled up.
InstaLOD’s Occlusion Culling
can be used to automatically remove all interior geometry from any number of input meshes. Simply enable the Automatic Interior Mode
and perform the operation. Depending on the density and complexity of the input mesh the Resolution
and Precision
settings can be increased (high-poly) or decreased (low-poly). Adjacency Depth
protects neighbor polygons of visible polygons from being removed. Setting Adjacency Depth to 5 translates to “up to the fifth neighbor of any visible polygon will not be removed, even if occluded”. No additional scene or mesh setup is required.
Due to the low rendering budget available to AR and VR applications, it is often necessary to create extremely low polygon mesh representation for these types of applications.
Remeshing is a tool that is excellent at creating low polygon representations from high polygon data by completely reconstructing the input geometry. Input mesh shading will be converted into a texture that can be applied when rendering the low polygon mesh to restore the original shading.
However, meshes that are not completely water-tight may cause the remesh process to creep into the holes on the geometry and build faces that are facing inwards into the geometry (also known as backfaces).
InstaLOD provides several methods to solve this issue. The most convenient way is to simply enable the Ignore Backfaces
option listed in the Surface Construction
panel on the Remesh
page. Alternatively, Occlusion Geometry
can be placed manually or automatically to conceal these holes and effectively prevent interior faces from being built. Another benefit of remeshing is the automatic removal of all geometry inside the water-tight hull of the input geometry.
When optimizing meshes, specific feature combinations can drastically speed up the process.
The following workflow is use-case dependent and works best with assemblies made up of tens or hundreds of different parts.
This workflow is the combination of Global Scope
and Maximum Deviation
.
Global scope, located in Profile Settings
, typically known as Global Optimization
in e.g. the Maya integration, allows InstaLOD to look at the entire scene and process it based on its contents. This allows InstaLOD when optimizing a scene to 50% to optimize one part by 20% and another by 80% but still target the overall optimization of the scene by 50%.
During the optimization, InstaLOD tracks the deviation between the optimized mesh and the input geometry using a combination of several metrics. When a maximum deviation is specified, InstaLOD will abort the optimization of a surface as soon as the deviation threshold is hit - even if the target polygon count is not reached yet.
By setting Percent Triangles
to 0% we can force InstaLOD to optimize a mesh to the lowest polygon count that is possible with a certain deviation value. As InstaLOD computes a deviation value for each individual mesh, enabling Global Scope is not necessary when specifying a maximum deviation.
Instead of looking at the entire scene and optimizing one part after another with the best amount, InstaLOD has the option to look at multiple parts at the same time and optimize them parallelized using a threshold so that the best result for each part is created, with the minimum number of polygons possible allowed by the specified threshold. This can dramatically speed up processing times.
Once a workflow has been established through multiple mesh operations, it can be converted to a new multi-step profile and applied to other meshes.
Please be aware that global scope is best kept ON in most cases. This is a specific use-case-dependent workflow where turning off global scope can benefit the processing time.