ghost_IK (virtual Inverse Kinematics bone/physic bone IK/C++)

I’m developing this Inverse Kinematics system to control character armature bones more easily and more effcient
It don’t need to add any extra controller bone or constraint or modifier,just use the deformed bone itself to control.
though now it’s not fully implment the features that classic IK has.
but finally it’s features will be more than the classic IK.and then I can get rid of the annoying traditional IK settings.

it has two mode,(1:manul IK(two-ik\tri-ik\spline-ik), 2:dynamic physic IK)
you can simulate coth\ softbody with dynamic physic IK,(It don’t need to add any extra controller bone or constraint or modifier)using the original bone to simulate physic IK.
the collision engine is emplemented by myself completly with C++.it don’t like the build-in collision algorithm,it will never encounter penetration which is determined by my unique algorithm,If it encounter penetration that must be a bug.

this addon has about 10000 line codes now(without collision) if I add the collision it will be more than 10000 line codes, mainly using C++ as the main calculation part real-time performance, it use cloth-like algorithm, all the simulation is real time
collision feature is developing…

It can switch between IK and FK perfectly.
the ik solver is dynamic.

spline IK

dynamic IK



https://i.postimg.cc/Kzy1V6wT/dyn-ik6.gif

character rigging

hotkey:
F :activate the IK control
spline ik :alt+F/ctrl+F:contral the IK with option
ctrl+X :twist the pole of IK

here is for blender2.90+ (windows x64)
IMDJS_ghost_IK v0.76(blender2.90).zip (734.8 KB)

ghost-ik(example)1.blend (1.0 MB)

28 Likes

some of the C++ code:

tri IK code:


wip 20180419
almost done.now the tri-ik and two-ik and spline ik is finished. the next is to make them Interactive.

It looks very promising

yes ! very promising

is it animatable ?

whats an fk and what exactly dose it do

yes It’s animatable just as the normal ik does. but maybe a little different from the class IK constraint.

the FK means Forward Kinematics,when you rotate a bone press R normally is FK behavior.

ho if you could fix the problems of the traditional ik … it would be really great

I’m not fixing the problems of the traditional IK,I just develope another kind of IK system.(with this system you can switch between FK and IK seamless which the traditional IK can’t do)

nice reference , so how exactly are we going to use it, is it going to be like, press and hold to activate the fk mode for ex… or is it going to be more like the grab mode and the rotation mode

yes you need to press F key (or other key)as hotkey to activate the ghost-IK mode and move the mouse.
when you release the F key it will return to normal bone mode and you can rotate the selected bone like what you did in normal.

one i am hopping that i am not bothering you with my stupid question
2nd this is really seems very hard to understand ,not to mention making it , you must be really proud of what you do now.

1 Like

I have this concept of IK long time ago,I just decide to implement it right now, and I’m happy to doing it.

2 Likes

----WIP20180604-----
add the dynamic IK constraint:


hotkey:
F :activate the IK control
ctrl+X :twist the pole of IK

Wow, this looks amazing! Kudos! Got to try this next time I animate something!

I got an error when tried to install it. something about missing ‘pylib’ module. Otherwise looks nice.
How does it deal with ik pole target?

I have updated the file to 20180606 try it again.
you can press F to activate the IK and press ctrl+x to rotate the pole,while you can press R to rotate the bones as usual

edit:

I tried it again. it was still missing the pylib module, but then i found it inside the addon folder. I moved it one level up (into the main addon folder) and now i could enable the addon.
For some reason the addon doesn’t work for me in a new blender project, but it works in the provided test file. I get an error message.
Testing the addon with the test project i found that in tri ik mode I often get stuck in some positions (after pressing the F key and moving around)
Altogether it’s a nice addon, i will be playing with it more.