Sign in to follow this  

Direct IK mess

This topic is 4713 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

Hi, I've been trying to make an IK chain only to find that the simplest implementation is using Direct IK. I found an article by Jeff Lander, his article has several mistakes in it that I must try to find other ways to solve it. So far I manage to make this : simple IK as you can see that there are several issues that direct IK can't solve (as you probably have noticed in my sample), first is the precision and second somehow my bone isn't move the way it supposed to be. Can somebody point out a better IK system ? I don't need a very sophisticated IK since I only use it for two leg creature (hands and leg with fixed pivot point) feel free to help :D

Share this post


Link to post
Share on other sites
Sometimes you have to weigh in factors like comfort. For example, apply gravity to all possible solution, and see which solution exerts least energy. Things like that. But really cool demo. Can you post the source to it?

Share this post


Link to post
Share on other sites
Since I only had the galleys of my articles, prior to final edits, there are some ed notes in the ones on my webpage. There was also a couple of typos in the first article that were fixed in the second. None of those should be a problem for the routines since in the demo code, it obviously works. I have also used both of those techniques on quite a few project so I am pretty sure they work fine.

Based on your sample app, it looks like you are using an analytical solution. The problem you are seeing is with an analytical solution, the math fails if it can't reach the target point. There is no easy way for this to generate a "close" solution. Iterative techniques are good at this (the snake app from the next month shows this). The CCD method will work fine for your app and will allow you to easily add more links, speed of convergence, degrees of freedom, etc.

If you really want to use the direct analytical method, you need to detect these failure points (easy to do since as you see the math is undefined). Then you can find the closest reachable point and go there. For a two link system, the reach area is a circle of the radius of the second link swept by the first link.

Share this post


Link to post
Share on other sites

This topic is 4713 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.

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this