Skip to content

Releases: monxa/GodotIK

Release v1.2.1

15 Mar 14:53
84e016f
Compare
Choose a tag to compare

What's Changed

This small release brings an enhancement by @mrjshzk, allowing you to also pick bones by name instead of index.

  • Add exported bone_name property to IKEffector by @mrjshzk in #48
  • Add bone_name property to IKConstraint by @mrjshzk in #50
  • Document bone_name properties by @monxa in #49

New Contributors

Full Changelog: v1.2.0...v1.2.1

Release v1.2.0

09 Mar 11:19
Compare
Choose a tag to compare

What's Changed

What's changed:

  • Feature: New GodotIKRoot node to externally link effectors and constraints into an existing GodotIK system.
  • Feature: Add GodotIK.update_all_transforms_from_skeleton() for better skeleton transform management.
  • Feature: Implement GodotIK::get_effectors()
  • Feature: Introduce GodotIKEffector.active
  • Feature: Implement GodotIK.get_current_iteration() (mainly to be used in constraints).
  • Feature: Add MaxRotationBoneConstraint and update constraint documentation accordingly.
  • Feature: Add SmoothBoneConstraint
  • Documentation: Update GodotIK.xml with a new "Configuration Overview" section.
  • Documentation: Revise the GDScript comments for constraints.

Full Changelog: v1.1.2...v1.2.0

Release v1.1.2

17 Feb 10:27
c809e93
Compare
Choose a tag to compare

What's Changed

  • Lowered Bone Grouping Tolerance
    Bones that are less than 0.03 units apart could cause errors in the solver before.
    (Thanks to @monxaPR #36)

  • New Getters Added

    • GodotIKEffector.get_skeleton()
    • GodotIKConstraint.get_skeleton()
    • GodotIKEffector.get_ik_controller()
    • GodotIKConstraint.get_ik_controller()
    • GodotIK.get_position(int bone_idx)
    • Removed the old GodotIK.get_positions().
      (Thanks to @monxaPR #30)
  • Export Fix and Solver Speedup
    Fixed an issue where exported projects would exit freeing an invalid pointer. Now, everything is released with target=template_release. This also speeds up the solver, especially when using constraints with GDVIRTUAL (GDScript).
    (Thanks to @monxa – commit 4b493e7)

Full Changelog: View Changes

Release v1.1.1

12 Feb 07:17
1b3d500
Compare
Choose a tag to compare

Hotfix for v1.1.0

What's Changed

  • Fixed root rotation behavior by @monxa in #32

This fix addresses an issue where bones with multiple children were rotated multiple times incorrectly. Previously, bones with n children would undergo rotation n times, leading to unintended transformations.

Known issues:
  • If bone positions are closer to each other than 0.03 units, the solver might behave incorrectly. Fixed on main.
  • Exported projects exit trying to free an invalid pointer. Fixed on main by making everything release rather than debug builds. Also speeds up the solver, especially when constraints are applied through the GDVIRTUAL calls (gdscript).

Release v1.1.0

11 Feb 22:20
8a72fe6
Compare
Choose a tag to compare

New in this release:

  • Multiple Root Bones Handling
    System now correctly processes multiple root bones, ensuring more accurate rigging and animation. #27 @monxa

  • Editor Icons
    Added custom editor icons to enhance the visual experience within the editor. #29 @monxa

  • Local Space Pole Rotations 🚀
    Pole rotations are now calculated in local space by default. This enables more complex chain rotations while minimizing unexpected singularities (aside from the expected one). If needed, you can revert to the previous behavior using the GodotIK::use_global_rotation_poles property. #26 @monxa

Release v1.0.0

06 Feb 12:05
Compare
Choose a tag to compare
First release