Normally Arnold fails when any assets are missing from the scene. For instance when a texture referenced in an image shader does not exist.
USD references however are just simply ignored if they don't exist and the render succeeds.
See the attached usd scene, that has a reference to foo.usd: test_usd_reference.zip
Kicking the scene renders without any errors. There is a warning in the console output, but it's not in the actual render log.
Warning: in _ReportErrors at line 3309 of S:\gocd\pipelines\kook\kook\usd\build\usd-25.05.01_windows-x86_64_static_vc-14.34_cxx17\pxr\usd\usd\stage.cpp -- In </sphere/pSphere1>: Could not open asset @foo.usd@ for reference introduced by @test_usd_reference.usda@</sphere/pSphere1>. (instantiating stage on stage @test_usd_reference.usda@ <000001E791C219B0>)
So the render succeeds, seemingly everything's fine, no errors or warnings in the render log, but the output is actually incorrect.
The expected behavior should be to fail and show the error of the missing file in the render log.
Normally Arnold fails when any assets are missing from the scene. For instance when a texture referenced in an image shader does not exist.
USD references however are just simply ignored if they don't exist and the render succeeds.
See the attached usd scene, that has a reference to
foo.usd: test_usd_reference.zipKicking the scene renders without any errors. There is a warning in the console output, but it's not in the actual render log.
So the render succeeds, seemingly everything's fine, no errors or warnings in the render log, but the output is actually incorrect.
The expected behavior should be to fail and show the error of the missing file in the render log.