Hey everyone - i’m try to publish some character rigs in maya. The rigger is using instanced shape nodes with specific attributes multiple times on different controllers. The idea being that no matter what controller an animtor grabs, they’ll have quick access to specific attributes.
Ayon is failing to publish the rigs because of Non unique IDs “Id found on multiple nodes”. I’ve looked through the validators but can’t find anything to disable / optional that. Any suggestions?
Hi @adam.carroll,
Very good question - and you’re definitely not doing crazy things with the instancing. (Is that an mgear
rig by any chance?)
Anyway, I believe this issue has come up before. See the discussion here: Maya: Allow instances to have the same `cbId` attribute by BigRoy · Pull Request #4622 · ynput/OpenPype · GitHub
Allowing it may spawn a bunch of other potential issues with regards to the maya lookdev system (most is discussed in that PR actually) and that basically means the PR never got merged due to it solving some but potentially opening a can of worms elsewhere.
The basics of the logic changes in that PR would still apply mostly to ayon_maya
currently and should be transferrable with some work if you’re up for that.
The rigger is using instanced shape nodes with specific attributes multiple times on different controllers. The idea being that no matter what controller an animator grabs, they’ll have quick access to specific attributes.
Note that if it’s just for that, then Maya has the notion of proxy attributes - meaning the same attribute-values can exist on multiple nodes and the instancing itself isn’t necessarily required.
By the way, if you’re not using the maya cbId
workflow with look publishing whatsoever and don’t need the ids nor have them validated - with this setting you can just disable all the ID validators in one go:
ayon+settings://maya/use_cbid_workflow
Thanks for this @BigRoy. We’re not using mgear, but i wouldn’t be surprised if he picked up the trick from that. I’d rather not disable the ids, so will try to use the proxy attribute instead.
Thanks again!