Hi John,
I created USD files with procedurals using two different methods:
- Tried exporting from Maya using the Arnold API to write a .usda file directly.
- Exported a renderable .ass file, than used the kick executable to re-save the scene to a .usda file.
Both methods created similar nodes and both of them was renderable in Maya using the USD plugin. The mesh node was exported as type "Mesh" while the procedural node is "ArnoldProceduralCustom".
My test was done using the Yeti hair procedural node, but perhaps it would be easier and more straightforward using the builtin alembic procedural, because Yeti is a 3rd party plugin.
This is how the exported node looks in the usda file:
def ArnoldProceduralCustom "pgYetiMaya_hair_test"
{
float arnold:density = 10
string arnold:filename = "/somefakepath.2361.fur"
int arnold:frame = 2361
string arnold:node_entry = "pgYetiArnold"
float[] arnold:samples = [2361]
int arnold:verbosity = 1
rel material:binding = </mtl/hairMaterial>
float primvars:min_pixel_width = 0 (
elementSize = 1
interpolation = "constant"
)
int primvars:mode = 0 (
elementSize = 1
interpolation = "constant"
)
}
Based on the render output there is no sign of the procedural's execution, so I assume that it's not the interpretation of the attribute that fails, but the node is missing from the scene.
Cheers,
Szabolcs