Modeling Optimization Techniques
When creating SimReady 3D assets it is important to remember that simulation platforms like Omniverse can support very detailed scenes composed of hundreds or thousands of objects and millions of polygons. Each of these 3D assets, in turn, will have a varying degree of complexity. As a result, it is necessary to stay efficient in the number of polygons that define the object while still creating a compelling representation. The following recommendations are provided in order to assist in maintaining a balance between accuracy, visual fidelity and performance.
Surface Composition
Smooth silhouettes and round/curved faces should be prioritized for larger, more visible areas of an asset. Flat surfaces should be examined in order to determine if they contain extra geometry that can be removed.
![Extraneous edge loops](../_images/simready_model-silhouettes.png)
These edge loops don’t affect the silhouettes of the object and can be removed.
Surface Removal
Another consideration for reducing the number of polygons in SimReady 3D assets is nested faces. These surfaces are parts of an object that intersect with another mesh but still maintain their hidden polygons nested inside the intersected geometry. Removal of these hidden polygons can reduce the complexity of the asset. However, before removing a surface be sure that it is hidden when the object is viewed in all possible orientations to avoid assets being rendered with missing surfaces when the object is placed in certain orientations in a scene.
The images that follow demonstrate some examples of surfaces that can be removed or simplified.
![Incorrect edge loop example 1](../_images/simready_edges-incorrect-example-01.png)
![Correct edge loop example 1](../_images/simready_correct-edges-example-01.png)
Non-visible faces created by objects capping other objects can be removed.
![Incorrect edge loop example 2](../_images/simready_incorrect-edges-example-02.png)
![Correct edge loop example 2](../_images/simready_correct-edges-example-02.png)
Nested faces also result in non-visible surfaces that can be eliminated..
![Incorrect edge loop example 3](../_images/simready_incorrect-edges-example-03.png)
![Correct edge loop example 2](../_images/simready_correct-edges-example-03.png)
Assets that are on top of holes, like bolts with a washer, don’t need their holes modeled. Also, the back faces of items that are always fastened to the ground or another object can be simplified.
![Incorrect faces example](../_images/simready_incorrect-faces-example.png)
Faces that always face another polygon and are therefore unseen under every circumstance, should be removed.
Mesh Decals Optimization
When adding decals to 3D assets, the geometry of the decal should be made as simple as possible. In order to save resources, it is recommended that a user cut the shapes of the decal directly and avoiding the use of opacity maps to define empty areas within the decal. See examples below.
![Decal Example](../_images/simready_decal-example.png)
Decal USD meshes should also have their shadows turned off and be as close to the mesh as possible without causing flickering from a normal view distance. If you’re using Omniverse, shadows can be turned off by unchecking the Cast Shadows checkbox in the Property Panel for the mesh.
![Decal Example](../_images/simready_decal-silhouette.png)
The silhouette containing the decal should also be considered. Decals shouldn’t be too visible from the sides.