root-prim-xformable#
Code |
HI.003 |
---|---|
Validator |
|
Compatibility |
openusd |
Tags |
✅ |
Summary#
The root prim of a placeable asset shall be an Xformable prim (i.e., a prim that inherits UsdGeomXformable, such as Xform).
Description#
Assets should have a transformable root prim to allow the entire asset to be easily transformed when instanced into a larger scene. This enables consistent transformation operations on the asset as a whole unit.
Why is it required?#
Allows the entire asset to be transformed as a single unit
Enables easy positioning and orientation when referencing into scenes
Provides consistent behavior for asset manipulation tools
Facilitates automated scene composition and layout workflows
Examples#
#usda 1.0
(
defaultPrim = "MyAsset"
)
# Valid: Root prim is Xformable
def Xform "MyAsset" (
)
{
def Scope "Geometry" {
# Asset geometry
}
}
# Invalid: Root prim is not Xformable
def Scope "MyAsset"
{
def Mesh "Geometry" {
# Asset geometry
}
}
# Invalid: Using Mesh directly as root
def Mesh "MyAsset"
{
# Asset geometry directly in root mesh
}
How to comply#
Use Xform or other UsdGeomXformable-derived prims as the root prim
Use UsdGeomXformCommonAPI to the root prim for consistent transformation handling
Organize all asset content under the transformable root prim