Copyright (c) 2017
The MIT License (MIT)
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
This script lets you switch and match Poses between IK/FK controls in the animation scene.
Works for Riggs that don't have IK/FK match built in and requires only Standard FK controls and IK Pole Vector Setup.
The Controls are defined once and can be stored in Node for easy reususe throughout the animation.
1. Define Limb to work on
This always needs to be defined bofore loading/storing/switching
Sides are treated seperately to not be restriced by naming convention
2. Define Ctrls necessary by selecting them and hit the << button
<< FK1: Upper arm
<< FK2: Lower arm
<< FK3: Hand
<< IK Ctrl: IK Hand
<< IK Pole:
<< Switch Ctrl: The ctrl that is used to switch between ik and fk mode
<< Switch Attr: The attribute that is dialed to switch.
It can be highlighted in the channel box and hit <<
Some Riggs have different orientations in their IK and FK ctrls and joints.
This becomes obvious when running 'Match' and seeing a 90 degree offset in the wrist
Set the offset and run 'Match' again to align them
Switch IK/FK: Simple switches between the modes (does not do any matching)
import pymel.core as pm
import mog_ikFkSwitch as mog_ikFkSwitch
- Pole Vector Control is required and will not run if controlled with attribute
- Works only on Referenced Riggs
Future Improvements/Optimzations planned:
- Store rotation offset values
- Match/Bake for specified range
- Make script work/not error if there is no polevector
- create nodes in Rigg files and look for Referenced Nodes on Load
Questions/comments/issues to email@example.com
UTILITIES for RIG (create controls, blending IK/FK, attribute follow, duplicate joint, mirror controls, orient joint, corrective blend shape) for Maya 2.0.0 (maya script)
Quadruped Path Animation System for Maya 1.1.4 (maya script)
Animation Manager for Maya 1.0.6 (maya script)
Mirror/Copy Animation for Maya 0.4.4 (maya script)
JPose and Animation Tool for Maya 1.2.2 (maya script)
World map animation FX 3D Model