material-coating#
Code |
NVM.003 |
|---|---|
Validator |
|
Compatibility |
|
Tags |
Summary#
Materials must specify surface coating
Description#
Every geometry prim with a computed purpose of “render” or “default” must have the omni:simready:nonvisual:coating attribute assigned per visual material assigned. This attribute specifies the surface coating that affects sensor response.
Why is it required?#
Enables accurate sensor simulation based on surface properties
Provides consistent coating classification for sensor systems
Required for non-visual sensor compatibility
Examples#
# Invalid: Missing coating specification
def Material "IncompleteMaterial" {
token outputs:surface.connect = </IncompleteMaterial/Surface.outputs:surface>
token omni:simready:nonvisual:base = "steel"
token[] omni:simready:nonvisual:attributes = ["emissive"]
# Missing omni:simready:nonvisual:coating
}
# Valid: With coating specification
def Material "CompleteMaterial" {
token outputs:surface.connect = </CompleteMaterial/Surface.outputs:surface>
token omni:simready:nonvisual:base = "steel"
token omni:simready:nonvisual:coating = "paint"
token[] omni:simready:nonvisual:attributes = ["emissive"]
}
How to comply#
Add the omni:simready:nonvisual:coating attribute to materials bound to geometry prims. The attribute should be a token with a valid value from the allowed list (“none”, “paint”, “clearcoat”, “paint_clearcoat”).