material-binding#
Code |
NVM.004 |
---|---|
Validator |
|
Compatibility |
rtx |
Tags |
✅ |
Summary#
Attributes must be on bound materials
Description#
Non-visual material attributes must be authored on materials that are bound to geometry with material purpose “full”. Attributes cannot be authored directly on geometry prims.
Why is it required?#
Ensures consistent material property inheritance
Maintains relationship between visual and non-visual attributes
Enables material reuse across multiple geometries
Examples#
# Invalid: Attributes on geometry
def Mesh "BadGeometry" (
)
{
token omni:simready:nonvisual:base = "aluminum"
token omni:simready:nonvisual:coating = "clearcoat"
}
# Valid: Attributes on bound material
def Material "AluminumMaterial" (
prepend apiSchemas = ["MaterialBindingAPI"]
)
{
token omni:simready:nonvisual:base = "aluminum"
token omni:simready:nonvisual:coating = "clearcoat"
}
def Mesh "GoodGeometry" (
prepend apiSchemas = ["MaterialBindingAPI"]
)
{
rel material:binding:full = </Materials/AluminumMaterial>
}
How to comply#
Author non-visual material attributes on material prims, not on geometry