Transferring animation tutorial
Transfer script tutorial
In transferstuff there is a folder called "ZooToolBox." If you don't have access to the dropoff then you can also download it here (there is a link that says "download the zootoolbox"). Open it and copy its contents (folders pref, presets, scripts, etc) to your maya scripts folder. You can just paste those contents in the respective version you are using.
At school this should be your z:\maya\versionnumber. On Windows it will probably be C:\Documents and Settings\username\My Documents\maya\versionnumber. I don't know where they would go for Mac (sorry!).
It shouldn't overwrite anything that you already have in your settings but you might want to make backups anyway.
Restart Maya if necessary.
Create a new file. Make sure it is on your matching FPS (24 or 30).
Create a reference (File>Create Reference) with your existing animation file and move it to the side so it doesn't intersect with the other one when you load it in. Remember to fix it afterwards if you have autokey on. Create another reference with the new horse version.
In the MEL script box type "zooToolBox" and hit enter (or use the script editor). It is also in the zooToolBox_Readme.txt file but since you're reading this you already have the command.
Hit "remind me later" to bring up the toolbox.
In the very bottom right is the transfer script's button (zooXferAnim). Click it.
It should bring up the transfer window.
Select all the controls for the source horse. There are 38 of them.
You can try doing Show>None in viewport, Show>Nurbs Curves. Box drag to select. If this doesn't work with the script then you will have to select one by one.
Go to the transfer window. Load Items>Load Source (if unavailable use Load Items>Load qss to source>Load source. All 38 should appear in the left half (Source Objects).
Select the controls for the new horse. Load Items>Load Target. They should appear in the right side (Target Objects).
Go to Xfer options (bottom part of the transfer window) and select copy/paste keys. Set start to 1 and end to whatever your end key is or it may repeat the keys which will probably mess up your infinites. (so if you have a cycle using frames 1 to 17 then start at 1 and end at 17). Make sure the timeline is on the key you want to begin copying keys to (ie. frame 1 for the beginning - mainly if you changed to 30FPS from 24FPS it might still be on frame 1.25 on the timeline).
Click a name in the left side and click its matching name on the right side.
Click Xfer Animation.
Do this for each of the other names and hopefully it will all work. Every time you transfer the new horse's rig should match the old horse's positions so that is an indicator it is working.
After you are done you can deactivate the old file's reference.
File>Reference editor, uncheck the old one.
Whenever a new rig is made you can change it using the Reference editor. Right click the name on the bottom part and go to Reference>Replace reference and select the new rig file. You may have to do this if the file path changes anyway.
NOTE: When saving as ma if it gives you an error that says "// Error: File contains unknown nodes or data. To preserve this information, the current file type cannot be changed. // " then try going to the reference editor, right clicking your original file name, Reference>Remove reference and hopefully it will allow you to save in ma. It should save as mb without any issue even without removing the reference but I prefer to work in ma.
As far as my file went it had:
// Warning: file: xxx line 73118: Unrecognized node type 'stereoRigTransform'; preserving node information during this session. //
// Warning: file: xxx 73121: Unrecognized node type 'stereoRigCamera'; preserving node information during this session. //
// Warning: file: xxx line 73127: Unrecognized node type 'stereoRigFrustum'; preserving node information during this session. //
// Warning: file: xxx line 95773: 'rmanFinalGlobals.message' is already connected to 'renderManGlobals.passes'. //
// Warning: file: xx line 95774: 'rmanFinalOutputGlobals0.message' is already connected to 'rmanFinalGlobals.display'. //
in the script editor after loading the reference in initially.
Note from Jason Patnode:
In transferstuff there is a folder called "ZooToolBox." If you don't have access to the dropoff then you can also download it here (there is a link that says "download the zootoolbox"). Open it and copy its contents (folders pref, presets, scripts, etc) to your maya scripts folder. You can just paste those contents in the respective version you are using.
At school this should be your z:\maya\versionnumber. On Windows it will probably be C:\Documents and Settings\username\My Documents\maya\versionnumber. I don't know where they would go for Mac (sorry!).
It shouldn't overwrite anything that you already have in your settings but you might want to make backups anyway.
Restart Maya if necessary.
Create a new file. Make sure it is on your matching FPS (24 or 30).
Create a reference (File>Create Reference) with your existing animation file and move it to the side so it doesn't intersect with the other one when you load it in. Remember to fix it afterwards if you have autokey on. Create another reference with the new horse version.
In the MEL script box type "zooToolBox" and hit enter (or use the script editor). It is also in the zooToolBox_Readme.txt file but since you're reading this you already have the command.
Hit "remind me later" to bring up the toolbox.
In the very bottom right is the transfer script's button (zooXferAnim). Click it.
It should bring up the transfer window.
Select all the controls for the source horse. There are 38 of them.
You can try doing Show>None in viewport, Show>Nurbs Curves. Box drag to select. If this doesn't work with the script then you will have to select one by one.
Go to the transfer window. Load Items>Load Source (if unavailable use Load Items>Load qss to source>Load source. All 38 should appear in the left half (Source Objects).
Select the controls for the new horse. Load Items>Load Target. They should appear in the right side (Target Objects).
Go to Xfer options (bottom part of the transfer window) and select copy/paste keys. Set start to 1 and end to whatever your end key is or it may repeat the keys which will probably mess up your infinites. (so if you have a cycle using frames 1 to 17 then start at 1 and end at 17). Make sure the timeline is on the key you want to begin copying keys to (ie. frame 1 for the beginning - mainly if you changed to 30FPS from 24FPS it might still be on frame 1.25 on the timeline).
Click a name in the left side and click its matching name on the right side.
Click Xfer Animation.
Do this for each of the other names and hopefully it will all work. Every time you transfer the new horse's rig should match the old horse's positions so that is an indicator it is working.
After you are done you can deactivate the old file's reference.
File>Reference editor, uncheck the old one.
Whenever a new rig is made you can change it using the Reference editor. Right click the name on the bottom part and go to Reference>Replace reference and select the new rig file. You may have to do this if the file path changes anyway.
NOTE: When saving as ma if it gives you an error that says "// Error: File contains unknown nodes or data. To preserve this information, the current file type cannot be changed. // " then try going to the reference editor, right clicking your original file name, Reference>Remove reference and hopefully it will allow you to save in ma. It should save as mb without any issue even without removing the reference but I prefer to work in ma.
As far as my file went it had:
// Warning: file: xxx line 73118: Unrecognized node type 'stereoRigTransform'; preserving node information during this session. //
// Warning: file: xxx 73121: Unrecognized node type 'stereoRigCamera'; preserving node information during this session. //
// Warning: file: xxx line 73127: Unrecognized node type 'stereoRigFrustum'; preserving node information during this session. //
// Warning: file: xxx line 95773: 'rmanFinalGlobals.message' is already connected to 'renderManGlobals.passes'. //
// Warning: file: xx line 95774: 'rmanFinalOutputGlobals0.message' is already connected to 'rmanFinalGlobals.display'. //
in the script editor after loading the reference in initially.
Note from Jason Patnode:
I'm still working out the final details with the mocap studio. I'll pass along the info as soon as I hear how they will be running our mocap session.
I fixed the issues with the horse rig. This is the correct horse rig, though. I thought your class was using a different one so when I said we would move to a different rig, I was referring to this one. Sorry about that, I didn't realize you had already started using it.
Linda, can you send this to the rest of your students? I wasn't able to post on the animation forum. Thanks.
I fixed the the issues you found (see below):
1. On the front legs, the knees break when setting up a walk, gallop, trot cycle. The front legs should only move in a <> shape. When we're setting up walk cycles it is difficult to keep the knee from breaking. I fixed the rotation limits on the front legs so so the popping should be all fixed.
2. When rotating the L and R frontLegAnkle_CTRL it rotates the rt_frontElbow_CTRL as well. Can you rig it so that they're not affected? On the leg control you will find an auto elbow channel. Turn this off to get the function you are looking for. The default is 2.
3. Pole vectors on the rear legs. These are now moving properly with the legs.
Make sure to reference in the horse. I'm going to add a mane and tail soon.
-Jason
This is COOL~!!! :)
ReplyDelete