Inverse Kinematics without heirarchy?

Started by
2 comments, last by Blabberboy [disabled] 20 years, 3 months ago
I''m trying to make a very simple 2D skeleton-type system. It''s basically just a wireframe type of thing. There''s a list of all the vertices use in it. Each vertex has a 2D position (x,y). Then, there''s a list of the bones (lines). Each bone goes from one vertex to another, so it has an index for each vertex that I can then look up in the vertex list. Last, I have a list of anchors. An anchor just hold an index into the vertex list. The anchors are basically the parts that are moveable in my skeleton (moveable by the user/whatever). So in the thing I''m working on right now, you''d be able to drag the anchors around, and the skeleton would move so that the anchors can "fit" or whatever. I read a little bit about inverse kinematics, and from the looks of it you pretty much have to have a bone heirarchy (root bone, leading to children, each of which has children, etc)... but I was wondering if it''s at all possible to do something at least similar if all I have is what I said above.
Advertisement
It seems to me that the ordering of your vertices at least partially specifies a hierarchy---as long as there are no branches (basically, for a snake or rope or chain). You could do IK without a formal hierarchical data structure, but somehow you do need to model the connectivity of the bones. And the formal techniques for solving IK, such as CCD, do want the hierarchy.

Graham Rhodes
Senior Scientist
Applied Research Associates, Inc.
Graham Rhodes Moderator, Math & Physics forum @ gamedev.net
quote:It seems to me that the ordering of your vertices at least partially specifies a hierarchy---as long as there are no branches (basically, for a snake or rope or chain).


Ya, I''m trying to do like a stickman type thing.. so it would branch off for the arms and legs...

quote:You could do IK without a formal hierarchical data structure, but somehow you do need to model the connectivity of the bones.


Couldn''t the connectivity of the bones be taken from the vertices that they share? like, it could start at the bone attached to the anchor that''s being moved (bone A), and then solve for each bone that shares the same vertices as A, which would in turn solve everything sharing with those bones, and so on until all the loose bones fit where they should?

I think that could work (maybe a little sluggish, but the project I have in mind won''t need much more than a single skeleton), but I don''t know of any techniques for solving an IK or similar thing.
After discussing this matter a bit with RedBeard on #gamedev, I have decided that instead of trying to figure something like this out, I''m going to try something that has already been done... ie. a ragdoll type simulation...

so, anyone happen to know of a good online resource that might help me learn about creating ragdolls (2d preferably, but I could probably make due with a 3d one and switch it to 2d)? I don''t wanna end up using a third-party physics library if at all possible...

This topic is closed to new replies.

Advertisement