PDA

View Full Version : Freeze Transofrm on a join with skin !?


AdarB
08-31-2009, 04:43 AM
Hello,
I have a skeleton set with smooth skin on a mesh.
I've noticed I have a problem after I finished painting the skin weights which is when I look in the Channel Box I can see all joints are rotated and if I zero them everything messes up..
I tried freezing the joints transformation to zero everything out on the angles I want but it doesn't work..

// Error: Freeze Transform or Reset Transform was not applied because node UpperArm_Left is a joint and has skin attached.

I looked around and found a plugin that does just that but it's really old and doesn't work with Maya Unlimited..
How should I go about doing that?

Thank you !

andyLP
08-31-2009, 06:16 AM
my suggestion would be to dupicate and copy the skin weights over.

1. duplicate your rig.
2. freeze the transforms you need to freeze.
3. duplicate the mesh.
4. bind your duplicate mesh to the duplicate rig.
5. select the original mesh and shift+select the duplicate mesh
6. skin > edit smooth skin > copy skin wieghts [option box]
7. in the copy skin weights window choose edit > reset
8. click copy

(you can delete the original rig and mesh)

hope this helps,

AndyLP

shinyprem
08-31-2009, 06:26 AM
Hi..!

You can also Detach skin with "Keep history" checked ON. Freeze the transforms. Select the joints that were bound earlier and bind them. Your skin will be intact.

Rgds,

AdarB
08-31-2009, 07:40 AM
my suggestion would be to dupicate and copy the skin weights over.

1. duplicate your rig.
2. freeze the transforms you need to freeze.
3. duplicate the mesh.
4. bind your duplicate mesh to the duplicate rig.
5. select the original mesh and shift+select the duplicate mesh
6. skin > edit smooth skin > copy skin wieghts [option box]
7. in the copy skin weights window choose edit > reset
8. click copy

(you can delete the original rig and mesh)

hope this helps,

AndyLP

That almost works perfectly.
The only problem is - that when I freeze transform the joints, their orientation resets and all the rotation angles the joints had are now default and oriented world wise.. meaning all axis are reset.. How can I avoid that?

Hi..!

You can also Detach skin with "Keep history" checked ON. Freeze the transforms. Select the joints that were bound earlier and bind them. Your skin will be intact.

Rgds,

That sounds terrific and easy though it doesn't really work :(
When I detatch the skin with Keep History checked, freeze transform doesn't work, I still get an error saying it has skin on.. although I made perfectly sure it doesn't.

Thanks a lot !

Gnimmel
08-31-2009, 01:49 PM
Hello,

A better way to save the weights is to use a script. There is one on creativecrash.com (was highend3d);

http://www.creativecrash.com/maya/downloads/scripts-plugins/animation/c/saveweights?search=save+weights

Using this script, you can save all the weights on a skinned mesh, and then delete history and re-work the joints. Once you have the joints all fixed, re-skin the mesh and use the same script to load back up all the hard skinning work you did.

Just to add to this, because it's important to skin the mesh with the same joints as before, you can ask the skinCluster (before you delete history) what joints are skinned by selecting your skinned mesh and typing;

skinCluster -q -inf;

This will return a list of joints which you can copy and paste to the script editor and then just add;

select -r MY_LIST_OF_JOINTS;

to select the same joints when you are ready to skin again.

I hope that helps,

Richard

AdarB
09-01-2009, 04:35 PM
I managed doing it using andyLP's instructions.. all I had to do is disable the Joint Orient from the freeze tranformation tool and it works perfectly.. so thank you very much for that :)

Gnimmel, I couldn't really understand how to use that script but I guess it's ok cause I got it working properly, thanks for trying to help !

CGTalk Moderation
09-01-2009, 04:35 PM
This thread has been automatically closed as it remained inactive for 12 months. If you wish to continue the discussion, please create a new thread in the appropriate forum.