Hi. I've been using Unreal Engine 4 for a while now. It has some really nice built-in features, but the IK system is probably the worst you will find out there and I have been looking for a way to improve it for months now. I looked around for plugins. There's one or two in the making, but I don't know if or when they will be available. I had a look at commercial and non-commercial IK solutions and even asked the guy who made Final IK for Unity to do a port. I tried understanding the code from some projects I have the source code of, and I keep staring at the wikipedia article for Inverse Kinematics and some other pages about it. It is hard to admit, but I guess I am way too stupid to ever code my own IK, unless, maybe, someone would explain it to me (like you would to a child of slightly below average intelligence) step by step with pseudo-code or something. That's what I'm hoping for... or maybe a link... or even just a fancy name of an algorithm I should try to understand (or at least copy).
The biggest problem with UE4's IK is that it doesn't seem to know any kind of rotation limits for the joints of a humanoid (or any...) body, which results in unnatural twisting.
I guess all I need is some code to "solve" a chain of joints to have a specified bone reach a target location AND rotation, without any of the joints exceeding their rotation limits. The rest I hope I can figure out myself. If the whole thing would also look "natural" and allow me to set the "preferred weighting" of the joints (for example: only turn the head if possible vs. try to evenly apply rotation from pelvis to head to get the final head rotation), that would be even better. For different chains "pulling" on the same root or any shared joint, it would be nice to be able to apply a weighting here as well, so that, for example, the feet touching the ground has higher priority than the hands touching whatever. And it should be fast, of course.
A dream come true would be if someone has the link to a C++ library that can do all this already without the need for me to understand it...