Hi everyone
I'm trying to assign a Look with MaterialX in Houdini with HtoA
Arnold 6.1.0.1
HtoA 5.5.0.2
Houdini 18.5.462
I have a MaterialX operator connected to the Arnold ROP and assigning individual shaders works fine but requires multiple MaterialX nodes and multiple selection expressions.
Instead, I'm trying to use the assignments already defined in MaterialX file.
Here's the rub. When using the Arnold Procedural assigning Looks works fine, but when I try to load the geo as packed alembics through a regular GEO SOP, it does not work.
As I said before, assigning shaders with MaterialX on packed Alembics works fine as long as I split out each shader into it's own node and put a selection expression (lots of work) on each.
Opening the ASS files in a text editor for the Arnold Procedural Approach and the Packed Alembic Approach, the only difference that I could spot is this:
Packed Alembic ASS file
# created by /obj/asset_RENDER/alembic:0
polymesh
{
name ^/obj/asset_RENDER/alembic:0^/testModel_asset/testmodelB_geo/testmodelB_geoShape
...
Procedural ASS File
# created by /obj/arnold_procedural1/procedural
polymesh
{
name ^/obj/arnold_procedural1/procedural^/testModel_asset/testmodel_geo/testmodel_geoShape
....
The alembic approach has a ":" in the name. Could this really be the cause that the shaders won't assign?
The reason for not going with the Procedural is because we want to make positional, scale and other attribute changes without using Operators and even mixing in new geo on the fly.
Any help is welcome
Thanks,
Rune
Solved! Go to Solution.
Solved by rune62C5R. Go to Solution.
I think I was able to decipher the Houdini lingo, but I'm still not sure I understand. Maybe you can upload the example scene and supporting files?
For ass files, wouldn't it be better to connect the materialX operator to the actual Arnold procedural?
Having a global operator with a * selection is going to try and apply itself to everything in the scene.
For a "geo [loaded] as packed alembics through a regular GEO SOP", every primitive in an alembic file will come out as a separate alembic procedural node. And the names of those alembic nodes will include the :0", ":1", ":2" ...
Yeah, it just doesn't work with the Alembic
Even with an ASS procedural, I get just one object with the material from the mtlx file. The other object doesn't get it.
Hi Stephen! I found the solution!
The reason it was working with the procedural was because I was "Including Operator Graph" directly on the procedural.
So yeah! Now both methods are working with a minimal amount of custom selections experessions having to be created or excessive nodes!
Can't find what you're looking for? Ask the community or share your knowledge.