• Inverse Kinematics Returns to Godot 4.6 In Godot 4.6, IK is back in 3D!Of course, â IKâ means inverse kinematics.If you have experience with Godot 3.x, you might remember that IK was removed during the upgrade to 4.0. • I explained in aprevious blog postthat it was removed because the old skeleton API design had issues and needed reworking.Then, you might wonder if it was theoretically possible to implement IK alongside theSkeletonModifier3Dimplementation in 4.4. • However, we had to avoid adding immature features and then hastily removing it again. • To implement IK, we staged the elements for the entire IK across three versions.This blog post will explain that journey.Godot 4.4In Godot 4.4, I implemented the base class forSkeletonModifier3D, along with two new modifiers,LookAtModifier3DandRetargetModifier3D.SkeletonModifier3D / LookAtModifier3DLookAtModifier3Dwas the minimal implementation to verify that theSkeletonModifier3Ddesign was correct.LookAtModifier3Dcould be considered equivalent to one-bone IK, so it was suitable as a test case.RetargetModifier3DHowever, when implementingLookAtModifier3D, I confirmed that users must specify the bone axis based on the bone rest. • It was my initial concern that the retarget feature implemented in 4.0 discarded the bone rests of the imported skeleton.As this concern became a certainty, I attempted to preserve bone rests by implementingRetargetModifier3D.It was fortunate for me that the processing order design ofSkeletonModifier3Dmatched the requirements for implementingRetargetModifier3D.Godot 4.5In Godot 4.5, I implementedSpringBoneSimulator3DandBoneConstraint3D(and its three child classesAimModifier3D,ConvertTransformModifier3DandCopyTransformModifier3D).By the way, Iâ m involved in a project that utilizes a 3D character model format known asVRM. • VRM has implementations ofSpringBoneandConstraintas model-specific configurations that can be ported to cross-platform environments, so ensuring compatibility with these was one of
Article Summaries:
- Inverse Kinematics Returns to Godot 4.6
Godot 4.6 restores 3‑D inverse kinematics (IK) after its removal in the 4.0 upgrade. The feature was built incrementally: 4.4 introduced the SkeletonModifier3D base class and simple modifiers (LookAtModifier3D, RetargetModifier3D) to validate the new skeleton API; 4.5 added SpringBoneSimulator3D and BoneConstraint3D with child classes to support VRM‑style bone interactions. In 4.6, the framework culminates with IKModifier3D and ChainIK3D, reusing the earlier constraint and spring systems to provide full IK solving for 3‑D characters. This marks a significant enhancement for animation workflows in Godot.
Sources: