A comprehensive tool for creating and managing Forward Kinematics (FK) and Inverse Kinematics (IK) controls for character armatures in Blender. This addon provides seamless switching between FK and IK animation modes while preserving poses during conversion.
- Creates IK targets and pole targets for arms, legs, torso, and head
- Supports standard humanoid character rigs with common bone naming conventions
- Generates clean, organized control bones for easy animation
- FK β IK: Convert from FK to IK while preserving the exact current pose
- IK β FK: Convert from IK to FK while maintaining pose accuracy
- Optimized pole angle calculation for natural limb positioning
- Sub-millimeter precision in pose preservation
- Clean UI panel in the 3D Viewport sidebar
- Individual IK/FK sliders for each limb system
- One-click conversion buttons
- Real-time switching between animation modes
- Automatic constraint setup with proper drivers
- Custom property management for IK/FK blending
- Dependency graph optimization for smooth performance
- Support for multiple rotation modes (Quaternion, Euler, Axis-Angle)
- Download the
FK_IK_Converter.pyfile - In Blender, go to Edit β Preferences β Add-ons
- Click Install... and select the downloaded file
- Enable the "FK/IK Converter" addon in the list
- The panel will appear in the 3D Viewport sidebar under the "FK/IK" tab
- Select your armature in the 3D Viewport
- Switch to Pose Mode
- In the FK/IK panel, click "Build Controls"
- This creates all necessary IK targets, pole targets, and constraints
- Sets up custom properties for IK/FK blending
- Creates drivers linking constraints to the control properties
- Pose your character using FK (normal bone rotation)
- Click "Snap FK β IK"
- The system will:
- Capture the current FK pose matrices
- Position IK targets to match the current pose
- Calculate optimal pole angles
- Enable IK constraints while preserving the pose
- With IK constraints active, pose your character
- Click "Snap IK β FK"
- The system will:
- Bake the IK-evaluated rotations into FK channels
- Disable IK constraints
- Preserve the exact pose in FK mode
Use the sliders in the panel to blend between FK and IK modes:
- IK Left/Right Arm: Controls arm IK influence (0 = FK, 1 = IK)
- IK Left/Right Leg: Controls leg IK influence
- IK Torso: Controls spine IK influence
- IK Head: Controls head IK influence
The addon works with standard humanoid rigs using these bone names:
LeftArm,LeftForeArm,LeftHandRightArm,RightForeArm,RightHandLeftShoulder,RightShoulder(optional)
LeftUpLeg,LeftLeg,LeftFootRightUpLeg,RightLeg,RightFootLeftToeBase,RightToeBase(optional)
HipsSpine,Spine1,Spine2,Spine3Neck,Neck1Head
The addon creates the following control bones:
CTRL_L_Hand_IK,CTRL_R_Hand_IKCTRL_L_Foot_IK,CTRL_R_Foot_IKCTRL_Torso_IKCTRL_Head_IK
CTRL_L_Arm_Pole,CTRL_R_Arm_PoleCTRL_L_Leg_Pole,CTRL_R_Leg_Pole
- Modular Design: Separate classes handle different aspects (constraints, bone manipulation, pole positioning)
- Type Safety: Full type hints for better code reliability
- Error Handling: Comprehensive error checking and user feedback
- Performance Optimized: Efficient dependency graph updates
FKIKConverter: Main conversion logicBoneManipulator: Bone creation and transformation utilitiesPoleTargetPlacer: Intelligent pole target positioningPoleAngleOptimizer: Advanced pole angle calculationBlenderUtils: Blender API utilities and helpers
The system uses advanced algorithms to calculate optimal pole angles:
- Tests multiple angle candidates for each limb
- Compares IK results against original FK pose
- Selects the angle that minimizes rotation differences
- Handles left/right side differences automatically
The included diagnostic.py provides advanced diagnostic tools:
- Detailed bone position and rotation analysis
- Before/after comparison with precision metrics
- Interactive diagnostic functions for troubleshooting
- Blender Version: 2.8+ (tested up to 4.0+)
- Character Types: Humanoid rigs with standard bone naming
- Animation Systems: Compatible with existing FK animation workflows
"Please build FK/IK controls first" message
- Click the "Build Controls" button to set up the system
Controls not working correctly
- Ensure your armature uses standard bone naming conventions
- Check that you're in Pose Mode when using the tools
Pose changes during conversion
- This indicates a bug - please report with your rig for investigation
- Try using the diagnostic tools to identify the issue
Performance issues
- Large dependency graphs may cause delays during conversion
- Consider simplifying complex constraint setups
- Check bone naming conventions match the expected format
- Use the diagnostic tools to analyze conversion accuracy
- Report issues with specific rig examples for investigation
This project welcomes contributions! Areas for improvement:
- Support for additional bone naming conventions
- Enhanced UI features
- Performance optimizations
- Additional diagnostic tools
This addon is provided as-is for educational and production use. Please credit the original author when redistributing or modifying.
- Complete rewrite with improved architecture
- Enhanced pole angle calculation algorithms
- Better error handling and user feedback
- Comprehensive diagnostic tools
- Support for multiple rotation modes
- Optimized performance for large rigs
Happy Animating! π¬