Jump to content
  • Advertisement
Sign in to follow this  
Max Power

What's a good Library for Solving Inverse Kinematics?

This topic is 1009 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

I've been looking for a "Full Body IK" system for Unreal Engine 4. Then I realised I don't actually need one. I can set it up myself. All I need is a library that handles all the math / solving related to inverse kinematics, and after a quick google search it seems there are a lot of them.

 

So my question is: are there any that stand out and should be recommended?

Share this post


Link to post
Share on other sites
Advertisement

Which ones have you looked at so far?

I'd be interested in recommendations too :D because I haven't had time to evaluate any yet, but I'm going to need one soon...

I was also looking at stuff like HumanIK, which gets bundled with Stingray.

Share this post


Link to post
Share on other sites

Well, to be honest, the only one I have looked at is this. And that was before I knew that there are lots of free libraries out there, and now IKinema seems like a bit of an overkill for me. Besides, I don't necessarily want to spend money, if all I need is a "math-solver". The UE-integration I can handle myself.

 

Anyway, a google search for "inverse kinematics solver library c++" gives out so many results, I haven't started comparing them yet. I've been working on other stuff in the meantime, hoping that someone has some good advice here :/

 

But if I pick one, I will post it here.

Share this post


Link to post
Share on other sites

I have looked at some of the search results now. Most of them are actually academic projects intended to be used with actual robots :/

 

So there is IKinema (not free), Autodesk HumanIK (probably not free, but I can't really tell, because if I click anything on the site, it wants me to login...), and then I found this and this.

 

Both are academic projects and not open-source. I have read somewhere that SmartBody also has IK, but it isn't even listed in the features list, so it can't play a big role. Anyway, this might be something worth looking into. I'm not so sure about RBDL.

 

Will keep looking.

Edited by Max Power

Share this post


Link to post
Share on other sites

Depending on the complexity of your project and your programming experience, the simplest method may be to write your own.  I referred to this paper for my own IK solving, which takes a bit to understand, but it's surprisingly simple if you're familiar with vectors: https://www.math.ucsd.edu/~sbuss/ResearchWeb/ikmethods/iksurvey.pdf

 

For things like having a character's feet sit properly on the ground, it's even simpler, since you just need to send a ray to the ground and then use some trigonometry to determine the angles of the leg based on the length of the ray.  You'll need to draw some triangles to figure it out, but it's really simple to implement once you understand what you want. 

 

Neither of these methods required more than 100 fairly simple lines of code.  Of course, it all depends on what you want, but IK is actually easier to implement than I expected.

Edited by Dunoid

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

GameDev.net is your game development community. Create an account for your GameDev Portfolio and participate in the largest developer community in the games industry.

Sign me up!