usdgeom-mesh-lamina-faces#
Code |
VG.032 |
---|---|
Validator |
|
Compatibility |
core usd |
Tags |
🚀 |
Summary#
Faces should not be lamina.
Lamina faces are those that share all the same vertices. This means there are two or more identical overlapping faces. This is wasteful, and can also cause rendering artifacts if the faces have different materials. They can be created in a variety of ways, for example accidentally duplicating faces on a mesh, merging objects with coincident faces and then merging vertices, or modeling operations like booleans on meshes that have coincident faces.
Why is it required?#
Improves memory efficiency
Prevents rendering artifacts
Avoids physics simulation issues
Examples#
#usda 1.0
# Invalid: Lamina faces
def Mesh "planeWithLaminaFaces" ()
{
int[] faceVertexCounts = [4, 4]
int[] faceVertexIndices = [0, 1, 3, 2, 0, 1, 3, 2]
point3f[] points = [(-1, 0, 1), (1, 0, 1), (-1, 0, -1), (1, 0, -1)]
}
# Valid: No lamina faces
def Mesh "planeWithNoLaminaFaces" ()
{
int[] faceVertexCounts = [4]
int[] faceVertexIndices = [0, 1, 3, 2]
point3f[] points = [(-1, 0, 1), (1, 0, 1), (-1, 0, -1), (1, 0, -1)]
}
How to comply#
Clean up meshes using Scene Optimizer
Remove lamina faces
Fix mesh generation settings