Dylan Harness
Curve-IK
CurveIK is an IK (Inverse Kinematics) library for Unreal Engine 4 written in C++. It provides a simple, single bone chain (no branches) solver that uses bezier curves to model the path of the bone chain. It's designed to be used for rubber hose style characters.
Demo
Other IK libraries vs CurveIK:
Examples of CurveIK in action in a game I was prototyping where you play as a pair of hands.
Animation Blueprints
CurveIK provides a single animation blueprint node:
Paramaters
Solver
Property | Usage |
---|---|
Curve Type | Which type of curve the bones align with |
Tip Bone | The last bone in the chain to be affected |
Root Bone | The first bone in the chain to be affected |
Max Iterations | Increasing this value can increase accuracy but may affect performance if set too high |
Curve Detail | The number of subdivisions the curve is partitioned into. Increasing this value should make the curve smoother, but may affect performance |
Curve Fit Tolerance | The acceptable amount of error between bone positions and the calculated curve position |
Stretch | The degree to which the bones should stretch to fit the curve more precisely. High values will create short bones in areas of the curve with more bends, and longer bones in straight areas. |
Handle Angle | The angle of offset (in degrees) for the bezier handles. The owning component's up vector is defined to be 0-degrees |
Debug
To Debug your IK setup, enable debug draw in the details panel.
Debug
Show Links
Show Tangents
Show Bone Direction