#ik #gamedev #animation #game #fbik

lux-ik

Full Body Inverse Kinematics (FBIK) for games

2 releases

0.1.1 Apr 20, 2023
0.1.0 Apr 20, 2023

#1882 in Game dev

21 downloads per month

MIT license

21KB
380 lines

Full Body IK for games

This is a full body IK system comparable to Unreal Engine's FBIK. The project is currently a proof of concept. The system is based on "Jacobian Pseudo Inverse Damped Least Squares", similar to the one in Unreal Engine, although this one seems to be more accurate. It is not at all optimized for performance yet, and it takes a bit to converge on a solution.

Currently Supported features

  • Glam
  • Positional Goals
  • Rotational Goals
  • A Rotational Goal that only cares about the Y axis rotation (and leaves the others free)
  • Spherical Joints (3 DOF rotations)
  • Hinge Joints (1 DOF rotation)
  • Joint limits (around arbitrary axes)

Might be supported in the future

  • Joint weights
  • Translational Joints
  • Other Jacobian solvers (like SVD)
  • Configurable constants for Threshold and Damping
  • Multiple Iterations per solve
  • Auto adjust child joints that aren't part of the chain
  • Nalgebra
  • Docs, Examples
  • More complex joint limits (user defined functions)
  • Springy weights
  • Option to use Transforms instead of Mat4's

Contributing

If you want to contribute, please open an issue.

Dependencies

~5.5MB
~146K SLoC