i'm currently importing crowd setup into solaris, with complex agents :
- multiples layers
- multiple materials on same mesh.
I can't separate geometry by shop_materialpath because we also use blendshape that does'nt work if I edit de geo layers.
So I generate GeomSubsets with a Geometry Subset VOP, which use the initial shop_materialpath.
Here is an example of the agent definition hierarchy
and here is the related proxy agent (all the scene is generated by the crowdsopimport node):
We need to reassign all the shaders (previously assigned on each agent in /obj/ context). But I'm stuck with the "instance proxy primitive" which is ignored.
The problem comes for materialBinding. The shaders are note inherits from the agentdefinitioncache. Material Binding is <unbound>
So, I tried multiple things :
- Creating a collection with "%reference:" expression. But the problem is that it work on "Mesh", but not on "GeomSubset".
- Adding a material assignment directly inside de geomSubset prim (/geoSubset/mtl/mat1/, for example) :
in that case, material binding is computed, but familyName token is blank, and not "materialBind". So the shader assignment does'nt work.
So how would you do to make the materialBinding work (ideally I'd like to assign a material on the agentdefinition, and all the instance would get the same referenced path - even on geomSubset)
I can't figure out how to edit values on instance proxy or make automatic inherits (or maybe edit the familyName on instance)
I saw that we can create inherit class, but I don't really know how to setup a special class based on the agentdefinition. Hierarchy is quite complexe in our case.
Thanks for help