Skip to content

string[] primvars:arnold:shader = [""] results in magenta shader even if material:binding is defined #2621

@hollov

Description

@hollov

To Reproduce
Context: I export separate USD layers for shader (from LookDev) and for geo cache (from Anim). And this two are composited in lighting (pretty standard imho)

I've attached 3 usd files but here's how to reproduce the behavior:
LKDV

  1. Create a cube in Maya and assign e.g. an aiStandardSurface material
  2. Export it to USD with assigned materials. I used "USD Export" with jobContext=[Arnold]
  3. Result: LKDV.usd

ANM

  1. [Optional] animate the cube
  2. Assign some exotic shader that'll result in primvars:arnold:shader = [""]. It was dx11Shader for me.
  3. Export one or more frames to USD without material; just geo. (Again, I used "USD Export" with jobContext=[Arnold] but with exportMaterials=0)
  4. Result: ANM.usd

LIGHT:
Composit the two layers (ANM over LKDV).

Expected behavior
I'd expect that the LKDV material is visible in the composited USD scene because of the material:binding prim var (despite the fact that dx11Shader resulted in primvars:arnold:shader = [""] in ANM.usd). But the cube has magenta color instead

Used Software Versions

  • Maya 2024.2
  • mtoa-5.5.4
  • mayausd-0.32.0_202505060957-eeb3aaa
  • OS: Windows 11 Pro 25H2

arnold_usd_magenta_repro.zip

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type
    No fields configured for issues without a type.

    Projects

    Status
    Todo

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions