UE4 CALIKO port (FABRIK with connected chains and constraints)

For anyone stumbling upon this in the future, I managed to compile/test it under 4.20.x. Here is how to do it:

  • The test project to create has to be an empty C++ project named IK
  • When copy/pasting the source files in the Source/IK folder, you can safely overwrite the IK.cpp and IK.h files with those provided in the ZIP file
  • Next open the solution file in Visual Studio and manually add the others .h and .cpp in the Source/IK folder. Use Add Existing Item.
  • When Building, you will get errors because the IK.h file is the first include in some of the modules but the Build Tool expects the module specific one to be the first. Just move “IK.h” to the bottom of the include stack and the error will disappear
  • When Building, you will get multiple errors on the UE_LOG function. This is because each and every module using a custom log class needs to include the base header file (IK.h) and that is missing in some of the modules. If it is missing, just add it in the includes and the error will disappear
  • When Building, you will get errors on DrawDebugPoint and DrawDebugLine. This is because the #include “DrawDebugHelpers.h” is missing from those modules. Just add it and the error will disappear.

At this point you should be able to compile the module and setup your test project as described.To test the different demos, you can use Simulate instead of Play, which makes it easier to grab the Target cube (make it movable) and move it around to see how the kinematic chain tries to track it.

Have fun!