Hi. I recently created one of my first scenes following a tutorial dropping ceramic vases on the floor using an RBD solver. The main attribute driver I use for spawning five different vases from a point is the Class Attribute.
I am using an Alembic ROP to export the sim into Blender. So far, so good, but I can not shade each Vase differently within Blender. The entire sim seems driven by one shader for the Vase walls and one for the cracked edges.
Do you know what attribute in Houdini allows me to manipulate each Vase shader independently in Blender?
Make sure each of your RBD pieces are unpacked and have a unique name. Set the Alembic ROP to Build Hierarchy By Attribute and use the name or class attribute to define that hierarchy. That name will become an object in Blender's outliner. This will allow you to apply a different material to each piece in the Blender scene.
Enivob Make sure each RBD piece is unpacked and has a unique name. Set the Alembic ROP to Build Hierarchy By Attribute and use the name or class attribute to define that hierarchy. That name will become an object in Blender's outliner. This will allow you to apply a different material to each piece in the Blender scene.
Thank you, I tried your suggestion. I got in Blender every piece of the broken vase as a different mesh, making it impossible to handle. I am trying to get not a shader for each crack of each Vase but to get all cracks on Vases A, B, C, and D...identified.
I also tried to use Class instead of name (which gives me every tiny separated mesh), but Class doesn't seem to do anything when importing it into Blender. Maybe the attribute isn't present after using certain nodes.
I uploaded the Houdini file. I hope this helps to clarify or point out what I should do.
This is an interesting question, I did some digging and realized that I have no idea how this works. Problems on both sides. Problem #1 in blender - blender doesn't load attributes at all. But it loads groups of Houdini primitives as materials. This means we need to load groups of primitives into objects into the alembic. And this is where Houdini's problems come in. Let's save the alembic and immediately load it back into Houdini, what will we see? First of all, Houdini doesn't categorically preserve some attribute names and I don't understand why. For example, the class attribute - it is not there after loading, but if you rename it, it will be loaded. Strangeness number 1, but not the last. I moved the class attribute into primitives and turned it into groups. In the table we have 4 new groups g1, g2, g3, g4. But only one group g4 is loaded back. Why the first three groups disappear is completely unclear; renaming does not help. So the theoretically correct move - to write down groups in the alembik - actually does not work. Well, the option to build a hierarchy had no effect. Although in fbx this hierarchy by name is built normally. So maybe someone else can solve this puzzle?