2D IK problem - mech leg

I am trying to rig a mech fly and i am encountering problems with the legs.
The fly’s legs only have hinge joints, so the leg’s bones will only move in a 2D plane. When the fly walks, the whole leg should move forward, but the bones should not twist.

I have tried a tutorial about this by harkyman, but haven’t managed to make it work.

Any ideas?

Sorry, no.

harkyman’s tut is still the best thing you can do, and it is not perfect too.

In tha same situation I use this hack:

i place a empty or a camera looking perpendiculartly to the plane of constrain, I parent it to one bone and, any time I move that leg I switch to that camera view…

Not practical, but handy

Stefano

Have a look at what I did for the claws: http://www.clubinfo.bdeb.qc.ca/~theeth/Mechanics.blend

Basicly, you parent the IK solver to a bone that rests on the axis of the bones you want to restrict. Whenever you want to open or close the joint, you scale the control bone.

I also have a trick for that using the LockTrack constraint, but you’ll have to use tuhopuu for that.

Martin

Speaking of locktrack - any chance of it finding it’s way into the next foundation release? I’ve build a nice knee-pointing human rig with it, but want to use the rvk-action-based sliders of the latest foundation release, too. Arg.

phrog: what part of the tutorial messed up? Maybe I can suggest something.

Working on that as we speak.

Martin

what part of the tutorial messed up?

The bit where you constrain Hip to Guide with Copy Rotation and copy Location. The bones end up pointing in an awkward direction and are hard to pose.

theeth: what’s Locktrack?

/edit:

Harkyman, do you have a blend of this that I can look at to see where i went wrong? :-?

It’s a new constraint. Tracking rotation locked on one axis (the object only rotates on one axis).

Martin

speking of locking axis’s any chance of the option to pick between world axis and the objects axis… if locking one objects movement along another objects axis would be handy… suppose copy loc to 2 objects and editin the ipo will have to do for now… sorry if this is a bit off the current topic… just a thought that hit me…

It was originally planned, but I just droped it because I didn’t find any situation where global axis lock would be useful over local axis lock. Putting it back would only take a minor change, but it would break the backward compatibility (however, since tuhopuu is an experimental tree, backward compatibility between builds was never an issue).

Martin

thanx for the quick reply theeth,
really want lock rot in main blender build,

shocked it wasnt in 2.28

i know i wanted the axis lock for somethin…

ah… moving an object along its axis own insted of the world axis. like in truespace3…

thats a bit diff than what were talkin about here isn’t it…? %|

yup, very different, but same math.

Actually, I was thinking of thinkering with the Copy Loc constraint by adding a Local parameter that would permit you to constraint an object to the plane space defined by two axis of an object or to the axis space of one of its axis. It might not even require a struct change, so that probably be easy to implement.

I know that might not be very clear, but it should explain itself when it’s done :slight_smile:

Martin
PS: that kind of constraining would also solve the 2D IK problem in a very simple way.

Done, I called it Space, since it basicly constrain to the space generated by the selected axis.

Just update you tuhopuu cvs and recompile :slight_smile:

Martin

As long as you’re fooling with the constraints code…

How about a NEGATIVE rotation lock?

I was trying to open a double door. That would let me open one door and have another negative rotation constraint on the second door’s armature rotate in the opposite direction, making it simple to animated

I’d include a request for angles, as well, but I think it whould be unnecessary?

A normal “axis” constraint might be cool too, athough maybe irrelevant for armatures. Very good feature for the Extrude command though (recently saw that feature in Wings3D).

constraint an object to the plane space defined by two axis of an object

understood…

the axis space of one of its axis

not understood…
whats an objects axis space…kinda thought axis continued into infinity…

it sounds very useful though(from the part i understood.)

technicly no, an axis does no continue into infity. The Axis Space is the infinite space generate buy multiplying the axis vector with a variable.

hope that’s more clear

Martin

I’m starting to think my post has been hijacked by Tuhopuu constraint discussion.

I 'm also annoyed by the way my Win98 system seems to hate it if the IPO window is used with too small a gap between mouse clicks. Or when I’m editing the IPO curves directly. Or something. And it crashes. This rather puts me off character animation when things don’t work.

:x

Me want proper linux system!

I’ll reiterate my original statement that may have been lost in the shuffle:

Where did things go off the tracks in my tutorial? If you let me know, I can probably help :smiley:

I did say:

[quote]what part of the tutorial messed up?

The bit where you constrain Hip to Guide with Copy Rotation and copy Location. The bones end up pointing in an awkward direction and are hard to pose.

Harkyman, do you have a blend of this that I can look at to see where i went wrong?

[/quote]

:smiley:

sorry for that :stuck_out_tongue:

Martin

Sorry I missed your explanation - I’ll take a look for a blend example to give you. Also, before you started adding constraints, did you go into edit mode on your armature, select all bones, and do an alt-n to properly adjust bone roll?