Physics sims are of no use here. One thing you could look at is the ‘floor’ constraint, look it up in the wiki, but personally I’ve never had any luck with it. Then again, I could have been using it wrong.
For the feet passing thru the stairs problem, this is where ik (inverse kinematics) comes in very handy. Most characters you’ll find for blender will have ik for the legs and usually the arms as well. With ik, you position the foot controller and set a keyframe for it, then go about animating the rest of the body, and the foot will never move until you move the foot controller again. Really useful for walking so the feet stay stuck on the ground and the character doesn’t appear to be sliding across the floor. Here’s a video I did describing what fk & ik is, and when each one is useful…
Different methods are available for other cases. Say a character is to pick up a ball, you wouldn’t want to keyframe the location of the ball everytime the character’s hand is posed, so in a spot like this, you’d want to use a ‘child of’ constraint. Constraints influence can be keyed. So the constraint would be on the ball, and the hand bone would be the constraint’s target. The influence would be set to 0 until the character grabs the ball, then the influence would be set to 1 and keyed. On the frame before the character drops the ball, the influence would be set to 1 and keyed again, then on the next frame, the influence would be set to 0 and keyed. This is a brief explanation and lacks some details, see the attached file. If you need the finer details on how to use this, just ask, as there are a couple of tricks to getting it to work smoothly…
As to hand shaking, since you can’t have 2 armatures in pose mode at the same time and animate them together, I would use an empty and ‘child of’ constraints. At the frame where the 2 hands come together, I would use a child of constraint on each hand’s ik controller targeting the empty (which would be in between the 2 hands), then turn the constraint on and animate the empty for the up and down motions. This way each hand will move as the empty moves and appear to be connected. As to the hand meshes passing thru each other, they might, but just pose the hands so that the meshes passing thru each other isn’t visible to the camera.
Really, a big part of animation is faking it. If a hand wraps around a ball to pick it up, don’t worry about the meshes intersecting, just worry about the visible parts of the meshes intersecting. Yes, it isn’t physically correct, but if you don’t see it, does it matter?
25_ChildOf.blend (370 KB)