I have searched to no avail so hopefully someone here can shed some light on this subject.
As a bit of background, i am primarily a Softimage user, but i have started to look a little at Maya and have hit an issue which may well just be down to me trying to do things in a ‘not so maya-like way’.
I have a situation where I have a car rig. I then have a set of geometries ( maybe a few different chasis, a radio arial etc ). With Softimage i would skin the various different geometries to the rig and export them individually as models. When referencing them back in the envelope operator ( equivilent of the skinCluster i believe ) looks for a rig with the same name as the one it was originally skinned to and, if found, reconnects the skin. This allows me to pick and choose which geometries i want to reference on to the rig for any given animation scene.
Trying to do the same in Maya results in the skinCluster not being reconnected to the rig.
Its not really an option to save the geometry with a reference version of the rig because then I would end up with a rig per geometry in the animation scene when ultimately i want only the one rig, with various geometries.
Having all the geometries in the rig file is also not an option due the fact that there could be a ridiculous amount of geometries.
I am hoping that i am simply missing something blindingly obvious due to my lack of Maya knowledge. Does Maya have anything built in to reconnect skin clusters between reference assets?
Any suggestions as to the kind of workflow you would use in this situation would be much appreciated.
Hi Mike,
You are not missing anything obvious.
I think you may be able to get something going by nesting references, but that gets ugly fast.
The other option I would look into is writing a script that does the skin cluster hookup for you. You could place this script into a scriptNode that would get executed at scene load time.
I dunno, nesting references seems like it’d work pretty well in this case:
Master scene with the rig in it.
Reference in all your geometries separately and skin them to the rig.
Save this master scene.
You can now reference this master scene into your animation scene and toggle the state of any of the geometries from the Reference Editor.
It’s only 2 deep, so it’s not really going to be unstable (in my experience), and shouldn’t be particularly ugly unless you have a ton of geometry meshes.
It probably would be a nicer user experience to script it though, and that’s certainly a good option too - just depends on how you want to work. I wouldn’t discard the referencing setup as an option though.
Thanks MoP, i played a little with the referenced scene approach, but in this case we could have upwards of hundreds of geometry pieces, i really dont like the idea of having to manage that.
The other potential snag I can see with that method is that if multiple artists need to add their geometry into that scene it becomes an extra step in the workflow. Its the kind of thing that would be scripted, but still another potential error point in the pipe.
Instead i have wrote a reconnection script for the skinCluster, so now i am able to reference in the geometry, and reference in the rig into an animation scene and reconnect the geometries skin to any of the rigs in the scene.
I really appreciate the input from everyone though, it is extremely helpful.
Out of curiosity, are the parts skinned to a single joint each, or are you attempting to maintain some enveloping along with the switching of geometry? In my experience, maya doesn’t really like it when vert numbers and such changes under the skinclusters nose, weights seem to be locked into the specific verts you initially skinned to.
Hey marcuso, each piece of geometry will most likely be skinned to the entire skeleton of the rig. Currently my script stores the deformer list and reconnects the inputs into the skin cluster node after import.
I need to stress test it, but ultimately the stored data will be rebuilt after any changes get made to the skin cluster. This way, whenever we need to reconnect the skin cluster the deformer list should be accurate.
You’re right though, if the vert order changes we’ll loose the skinning, but that would happen with either approach i believe? I’ll have to do some thorough testing to find out what scenario’s cause problems though, so i am still unsure of the exact approach i’ll end up taking.