I just wrote a new constraint type called Floor.
Attach it to your objects or bones, point it at another object - say like an Empty that’s at the level of the top of your stage - and the constrained object/bone won’t go below the target.
Your feet will no longer sink through the floor.
I’m working on making a CVS patch and having someone take a look at it.
Anyone who wants to try it out now can get my home-rolled windows binary from:
Plop it in your Blender directory with your main Blender.exe file and run it. The new constraint type is called “Floor”. Make yourself an Empty, attach the Floor constraint to your desired object, and point it to the empty. Turn off the X and Y buttons in the constraint buttons, so you only are using the Floor of the Z-value of the empty.