corrective-transforms#

Code

UN.004

Version

1.0.0

Validator

Compatibility

core-usd

Tags

Summary#

Must apply corrective transforms for different units

Description#

When composing assets with different linear units, corrective transformations must be applied to ensure correct scaling.

Why is it required?#

  • Prevents incorrect scaling when composing assets

Examples#

Invalid: No corrective transform for different units#

#usda 1.0
(
    metersPerUnit = 0.01  # Stage in centimeters
)

def Xform "Reference" (
    references = @asset_in_meters.usd@  # Asset in meters
)
{
}

Valid: Compensating transform applied#

#usda 1.0
(
    metersPerUnit = 0.01  # Stage in centimeters
)

def Xform "Reference" (
    references = @asset_in_meters.usd@  # Asset in meters
)
{
    double3 xformOp:scale = (100, 100, 100)
    uniform token[] xformOpOrder = ["xformOp:scale"]
}

How to comply#

For More Information#