Anyone else found this? Even if it allows me to import my weights (which often it doesn’t as I get this error):{// Error: The skinCluster does not deform the selected component(s) //
}
Even if it does let me… my weights are RARELY correct. I try pumping up my resolution and still no go.
Is there another exporter I can use? Maybe something that uses vertex numbers as opposed to UVs???
Also… It would be awesome if there was some way to copy the skin cluster from one object to another… instead of trying to hunt down all the exact joints that were used to skin the object. Maybe there is a better way that i’m unaware of…?
These are the little helpers I always needed and I found them all in one. They are amazing.
With cometSaveWeights you can easily save out the weights of one particular mesh by it’s vertex ID’s as a text-file. It works like a charm.
I never really understood that MAYA does not support it natively like MAX is doing it with it’s env files.
As I tried to save some time I wrote a little mel script that goes through every selected mesh and exports their weights on the fly in a special folder I named “skin_weights” instead of selecting every mesh manually by hand.
Try it out. Unfortunately it only works till MAYA 2009, but there is a cool guy who altered the script to be working in MAYA 2011.
MAYA 2012 is not supported yet, but I’m really looking forward to it.
There is also another guy named Seith who wrote his own skin weight exporter which is very similar to comet’s: http://seithcg.com/wordpress/?page_id=40
This one supports multi-mesh-selections. The script works in MAYA 2011 & 2012.
The guy from neoreel presents a little script that allows him to use the same skin cluster by selecting the bones that only do have influences on the mesh.
Oh yeah, that image weight map tool is garbage. I’ve never had any useful output from it.
As for “hunting down the exact joints”, you can use this script line to do the job:
Select the geometry with the skinCluster first, or pass the name of the object instead of selected(). It will select all of the joints in the skinCluster, which you could put in a Set or whatever.
import pymel.core as pm
pm.select(pm.skinCluster(pm.selected()[0], query=True, influence=True))