Why is my piston rigging not accurate?

Animation tools, character animation, non linear animation

Moderators: jesterKing, stiv

Post Reply
Posts: 126
Joined: Mon Jan 30, 2012 5:19 am

Why is my piston rigging not accurate?

Post by Jedijds » Wed Oct 17, 2012 7:18 pm

Trying to make a rig for a piston engine and I noticed that in other tutorials the stretch to modifier is used. I tried just using track to and got it to work, but the track to makes the armature ‘wobble’ off target. Why is this? In a real engine metal doesn’t stretch so why do I need to use the stretch to modifier. I’m working on a demonstration and I want it to be as accurate as I can get it.
Here is a .blend to show what I mean by wobble, and to show how I set up the rig. No objects just the armatures.


Posts: 15
Joined: Fri Feb 10, 2012 6:22 pm

Post by norvman » Mon Nov 05, 2012 6:15 pm

Okay... first goto Edit mode and disconnect the Piston from the rest of the Hierarchy...
that is goto Properties Panel > Bone (bone icon) > Relations > Parent > Select what ever is in the text field and delete and hit return...
It should not be parented to anything... (maybe an engine block root bone or something... but in the hierarchy of any of the bones you have created)
Second ... In Edit mode > Select the Base of the Piston bone and hit 'E' to Extrude a new bone.... just pull it out to the side so you can see it (what is important is that it's base is in the exact location of the Piston's base in edit mode...)
Rename this bone "Rod Target" > Delete the parent for this bone as well > also... uncheck the "Deform" box (located below the relations area in Properties)

Tab back into Pose mode...
Select the Rod > change it's target from Piston to Rod Target
(hit the play button and you will now note how accurate the Rod performs now)

Select the Piston Add a Location Constraint and set the target to 'rod' hit the up arrow on the upper right of the Add Location box to move it above the limit location constraint

if you play the animation now..... you will note that the Rod hits where it should at the top of the stroke but its not where it should be anywhere else in the animation...

Stop the animation and set it on frame 20 (the very bottom of the stroke) With the Piston Selected hit Shift+S and pick 'cursor to selection' ...
Tab back into Edit Mode... Select the tail end of the 'Rod Target bone' and hit Shift+S > Selection to cursor...

What you have now is a bone that can be used as a 'Path' to direct the motion of the Piston...
Tab into Pose mode > Select the Rod > goto Frame 1 > in the properties panel for the "Rod" bone find your TrackTo constraint... > you should see a number field there labeled "Head/Tail" > hold your mouse cursor over that field and hit the "I" (eye) key not the (el) key... to set a key frame... (the number should be at zero) (it also should turn the field yellow ... indicating a key frame has been set )
Goto Frame 40 do the same thing... (number field should be at zero)
Goto Frame 20 ... set the number field to 1.0 (which is fully pointing at the Tail) set a key frame...

now play the animation... you will note there is still some 'slop' in the middle of the stroke...

so goto frame 10 ... in the 3D view zoom in to the connection between the Rod and Piston... adjust the 'Head/Tail' number field until you get a good connection between them... and save a key frame in the Head/Tail number field...
Goto frame 30 and do the same thing...

play the animation and all should look nice and strait...

Post Reply

Who is online

Users browsing this forum: No registered users and 1 guest