Community
Arnold General Rendering Forum
cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

C4D Python: AiASSLoad() excludes Layer nodes?

4 REPLIES 4
SOLVED
Reply
Message 1 of 5
Shawn_Kearney1
297 Views, 4 Replies

C4D Python: AiASSLoad() excludes Layer nodes?

I'm writing a script that reads an .ass file and conforms texture formats and locations to a standard. However, with Layer nodes, the script does not seem to read them, and once the updated .ass file is written using AiASSWrite() it is excluded, resulting in broken links.

I am using the AI_NODE_ALL mask in both the load and iterator, still nothing. It's as if AiASSLoad() knows nothing about the Layer nodes and ignored them.

C4D Exports the layer nodes just fine, from both the GUI and from call c4d.CallCommand()

This is especially problematic as Arnold uses layer nodes to work with selection groups.

Tags (1)
Labels (1)
4 REPLIES 4
Message 2 of 5

Layers are a C4DtoA thing, not Arnold.

You need to have the c4dtoa_shaders in your shader search path before you load an ass file.

If you enable logging before you load an ass file, you'll see errors for unrecognized nodes (unless you add the c4dtoa_shaders to the shader search path eg ARNOLD_PLUGIN_PATH)



// Stephen Blair
// Arnold Renderer Support
Message 3 of 5

As Stephen said, the layer shader is part of the c4dtoa_shaders library, so you have to load it first via the AiLoadPlugins() function. The binary is in the [C4D install]/plugins/C4DtoA/shaders folder.

Message 4 of 5

I figured it was along these lines, since HtoA doesn't have Layers, just wasn't sure what I needed. If the proper Plugin Path is included in the ass file's options, will arnold load the plugins automatically, without AiLoadPlugins()?

Message 5 of 5

Thank you! Along with Peter's help I got it figured out and working perfectly!

Can't find what you're looking for? Ask the community or share your knowledge.

Post to forums  

Autodesk Design & Make Report