usdgeom-mesh-unused-topology#
Summary#
Mesh topology should be without unused vertices, edges, or faces.
Why is it required?#
Improves memory efficiency
Improves file size
Prevents potential rendering artifacts
Provides clean, well-organized mesh data
Avoids simulation issues
Examples#
Invalid: Mesh with unused vertices#
#usda 1.0
def Mesh "MeshWithUnusedPoints" {
int[] faceVertexCounts = [4]
int[] faceVertexIndices = [0, 1, 2, 3] # Only uses first 4 vertices
point3f[] points = [
(0,0,0), (1,0,0), (1,1,0), (0,1,0), # Used vertices
(2,0,0), (3,0,0), (3,1,0), (2,1,0) # Unused vertices
]
}
Valid: Clean topology#
#usda 1.0
def Mesh "CleanMesh" {
int[] faceVertexCounts = [4]
int[] faceVertexIndices = [0, 1, 2, 3]
point3f[] points = [
(0,0,0), (1,0,0), (1,1,0), (0,1,0) # Only required vertices
]
}
How to comply#
Remove unused vertices
Clean up topology in source application
Re-export with optimized topology