Hi,
I'm currently doing some workflow tests with arnold on a new production.
I have an issue concerning ASS exports :
I'd like to export ass models, with just Materials Assignments, in order to use/edit materials in render scene (through a material network, or /mat/).
But, since I uncheck the "Export Shaders" in the Rop node (and leave the Export Shader Assignments ON), the rendering doesn't start.
I'm loading the .ass file in a Arnold Procedural Node. But nothing happen. The hick.exe process keeps raising ram, but render never starts. Nothing in logs either.
Is there a special way to export assets with the shader assignments ? I also tried to force materials but without any success. (h18.5.696 + htoa-6.0.0.0_r6c54f59_houdini-18.5.696)
So, Second option was to export the asset with shaders and try to override shaders in the arnold_procedural.
I'm new with HtoA. I wasn't able to override shaders.
I tried a Arnold_override node, pointing the arnold_procedural, but I can't find the parameter to change : shader[0] ?
I tried operator nodes as well : set_parameter
with shader[0] = '/mat/override/' for example. But the result look like the shader was missing.
To finish, one option is not very clear to me : the "Override Nodes" checkbox on the arnold_procedural... how does it work exactly ?
If someone have any clue...
Thanks in advance !
To export just shapes with shader assignments, you would do exactly what is in that screenshot: enable Export Shapes and Export Shader Assignments.
If that does not render when you load it with an Arnold Procedural, then I would expect to see errors or warnings in the Arnold log. At the very least something like this:
00:00:01 196MB ERROR | [ass] line 23: /obj/grid_object1/polygons.shader: unresolved reference to '/obj/matnet1/arnold_materialbuilder2/standard_surface1'
Does it render if you export shapes and shaders?
Operators are the way to override shaders.
Yes, the arnold procedural works when it's exported with Shaders.
Problem happens when I uncheck the 'export Shaders' option.
Nothing is mentioned in the logs :
Shaders inside referenced in /mat/ should work, right ? No need to put them into another material network (like /obj/matnet1) ? In my case, I'll have shaders inside an Hda library.
When I hit render, I stay locked on "Generating Scene", and hick.exe keeps increasing, but nothing start. I don't know why arnold, can't generate the scene. Maybe a conflict somewhere ?
The logs shows that the render never starts.
When you click render, an temporary ass file is exported. We see that in the log.
But after that, hick should start and load that ass file, and render it. But that never happens for some reason.
For operators and shaders, you need to use the name that shows up in an ASS file.
Ok, more details :
logs inside the console when I click "render" from the Houdini Render View is not complete.
I tried to click "Render to disk" on the arnold ROP node, with an output file on disk.
And, as you said, I have an error on shader reference
00:00:03 178MB ERROR | [ass] line 22: /obj/testgeometry_rubbertoy1/polygons.shader: unresolved reference to '/mat/Shader_A/shader_A'
00:00:03 178MB ERROR | [ass] line 22: /obj/testgeometry_rubbertoy1/polygons.shader: unresolved reference to '/mat/Shader_B/shader_B'
00:00:03 178MB ERROR | [ass] line 22: /obj/testgeometry_rubbertoy1/polygons.shader: unresolved reference to '/mat/Shader_C/shader_C'
Concerning the overrides with set_parameter operator, I have a strange behavior :
When I create a collection, and assign a shader after, it works,
But when I do this directly with a Set_parameter node (which is basically the same thing), it doesn't work. Shader seems to be not found.
Do you have any idea ?
For Unresolved Shaders, I expect that it's because I didn't check the "Export Referenced Materials" and Forced Materials that are referenced inside the .ass.
I think if you don't do that, arnold doesn't consider that the shaders are assigned, and just skip them into the final ass render scene.
I need to do more tests, but with this particular scene, it worked.
Checked the "Export Referenced Materials" and Force Materials = "/mat/*" on the arnold1 (render rop)
For the override issue, it didn't solve the problem.
Can you upload this test scene? I just did it with rubber toy and I had no problems overriding the shader.
I made a few changes, but mostly the file seemed to work ok.
I changed the override material to be a checkerboard instead of pink (because pink is the color for a missing shader).
Here's the scene, set up for exporting shapes + shader references, and overriding the shader with a set_parameter.
Hey, don't want to open a new conversation just for this but :
is it possible to create a Collection operator base on a Houdini Bundle ?
But i'm not sure, because in docs, the '@' seems to be used for node entry name
So how can I create a collection based on Houdini Bundle ?