Autodesk / arnold-usd

Arnold components for USD
https://www.arnoldrenderer.com/
Other
243 stars 57 forks source link

over mesh in instanced USD file cannot be rendered #1545

Open wangxuming999 opened 1 year ago

wangxuming999 commented 1 year ago

Describe the bug

consider this usd file


#usda 1.0
(
    defaultPrim = "item001"
    metersPerUnit = 0.01
    upAxis = "Y"
)

def Xform "item001" (
    kind = "component"
)
{
    def Xform "group001"
    {
        float3 xformOp:rotateXYZ = (19.0, 29.0, 42.0)
        double3 xformOp:translate = (1.0, 1.0, 1.0)
        uniform token[] xformOpOrder = ["xformOp:translate", "xformOp:rotateXYZ"]

        def "geometry1" (
            instanceable = true
            prepend references = </InstanceSources/geometry>
        )
        {
        }
    }

}

over "InstanceSources"
{
    def Xform "geometry"
    {
        def Xform "render_model"
        {
            def Mesh "model001"
            {
                # mesh data ...
            }
        }
    }
}

And Another usd file


#usda 1.0
(
    defaultPrim = "item001set"
    metersPerUnit = 0.01
    upAxis = "Y"
)

def Xform "item001set" (
    kind = "assembly"
)
{

    def Xform "item001AR" (
        instanceable = true
        prepend references = @ref first usd file@
    )
    {
        float3 xformOp:rotateXYZ = (0, 0, 0)
        float3 xformOp:scale = (1, 1, 1)
        double3 xformOp:translate = (0, 0, 0)
        float3 xformOp:translate:pivot = (0, 0, 0)
        uniform token[] xformOpOrder = ["xformOp:translate", "xformOp:translate:pivot", "xformOp:rotateXYZ", "xformOp:scale", "!invert!xformOp:translate:pivot"]
    }

}

When I use arnold 7 aiStandin render this usd file.

The output render have no mesh rendered.

But when I set 'geometry1' instanceable as false in first usd file.

The final render will have the mesh rendered.

Used Software Versions

Additional context I'm using arnold 7 And MtoA 5.1.3 with maya2022.

autodesk-oss-arnold-bot[bot] commented 1 year ago

Issue synced internally to ARNOLD-13629