Due to realizing a core limitation with this addon, I've made it free. The main selling point is to turn on ChildOf or IK constraints and preserve your pose. However, I've learned that this addon only works as long as the bone being keyed only has one constraint active.
Works for Blender 2.81, provided under GNU General Public License
The current build is as of 02/4/20
More info: https://blenderartists.org/t/snap-constraints-fk-to-ik-and-space-switching/1205014
Update: Feature and Bugfix (02/04/20)
- Feature: IK with Use Rotation will work when visual keying the target
- Bugfix: Visual Keying IK should key the whole chain now
Problems Solved by Addon:
- Snapping FK to IK: You'll no longer need to create duplicated rigs just to support FK to IK snapping. At the click of a button, the IK target and Pole will be snapped based on the FK chain.
- Space Switching: We all know the hassle of rigging props. When you want to switch hands or let go of things, you have to manually recreate the pose again. Not anymore. The addon will move the ChildOf owner bone to match it's visual/world pose at the click of a button.
- Snap FK to IK This also means you can setup an IK rig by Applying Selected Rest Pose to the IK bones after snapping!
- Snap FK to ChildOf
- Snap FK to CopyRotation
The first button will:
- IK : Snap IK bones to match FK chain. Auto keys target's affected loc/rot/scale. Auto keys mute=False if keyed previously.
- ChildOf: Does not affect target. This will transform the owner such that when the constraint is activated, the owner will be in the same world-space location. Auto keys owner's affected loc/rot/scale. Auto keys mute=False if keyed previously.
- CopyRotation: Snap target to match FK worldspace rotation. Auto keys target's rotation. Auto keys mute=False if keyed previously.
The following buttons will do a current frame visual bake on the owner. After that, the constraint mute button is exposed for convenience.
- IK: Use Tail, Use Position must be True. There is support for optional Use Rotation but both Use Rotation, Use Position, and IK Constraint influences must be 1.0. As the Chain Length increases, snapping IK from FK will become less and less accurate.
- ChildOf: Excluding the Target and Inverse Matrix, the rest of the options must match the default ChildfOf Constraint, including influence=1.0. Only one childof constraint should be active at any time. The addon will not correctly snap FK to ChildOf if multiple are active.
- CopyRotation: Excluding the Target, the rest of the options must match the default CopyRotation constraint, including influence=1.0.
Frequently Asked Questions:
How to install:
To install the script, first unzip the folder. In Blender, Go to File > User Preferences , select Add-on Tab, then press Install Add-on and then select the appropriate python(.py) addon file. Enable it by selecting the checkbox. To enable it as default, press Save As Default. To create a trail, the button can be found in: 3D View -> UI Panel -> Tool -> Motion Trail 3D
Thank you for reading this far. Let me know what you think! If you have any questions, comments, or feedback, you can email me at email@example.com, reply here or PM me.
No affiliation but Rig shown can be found at: https://assetstore.unity.com/packages/3d/characters/humanoids/angelic-warrior-female-31650
Thank you for reading this far. Let me know what you think! If you have any questions, comments, or feedback, you can email me at firstname.lastname@example.org