# Is it possible to make floor constraint base on surface detection?

Let's say I created a plane as the floor

And then I created a cube.

Instead of detecting the center of the cube against the floor, can blender use the surface of the cube.So whenever the surface of both object met, the cube can't cross.

Added Info: Well actually I'm searching for the solution of my rig problem. Often time when I make an animation, the tip of the foot often times went through the ground. So I was thinking, maybe if there's a way to prevent this by using mesh collision detection. Rigid body seems for simulation only

• Typically, rigid bodies. Floor as passive and the cube as active. But is the point to do that with constraints only? Commented Nov 25, 2020 at 12:07
• Do you want to rotate the cube? If not, it's rather simple, if yes, rigidbody will save you from the insane asylum. I'm exaggerating, but it will not be that simple, off the top of my head: there will be several constraints and some math involved. Commented Nov 25, 2020 at 12:52
• You can try addon Drop it gumroad.com/l/drop_it Commented Nov 25, 2020 at 13:19
• Well actually I'm searching for the solution of my rig problem. Often time when I make an animation, the tip of the foot often times went through the ground. So I was thinking, maybe if there's a way to prevent this by using mesh collision detection. Rigid body seems for simulation only. Commented Nov 25, 2020 at 16:33
• Just define your ground plane and use a limit location constraint on the foot bone that you animate. It should have the z coordinate of the ground plane entered and only effect z limit enabled. Also make sure it's world space to world space (usually default). Commented Nov 25, 2020 at 16:39

Try changing the origin of the cube to any vertex on the bottom of the cube:

1. Select the vertex in edit mode.

2. Press ⇧ Shift + S to get the cursor menu and then choose Cursor to Selected.

3. Then in object mode get the object menu and set the origin to the cursor.

Instead of detecting the center of the cube against the floor, can blender use the surface of the cube.So whenever the surface of both object met, the cube can't cross.

For this particular question, we can do that:

There's a non-deforming bone for every corner, arranged in a linear hierarchy. Every bone has a floor constraint. The "base" armature is shown on the left; the cube and armature on the right is being raised by the plane. We can transform the armature, its root bone, or the cube in any fashion we'd like, and the surface of the cube will never cross the plane.

For the more general, non-cube case, this isn't realistic. We're not making a bone for every vertex. Not realistically. I guess we could script it, but nobody's going to do that.

The reality is that a rig is only a part of making a good animation, and a good animator is the other part. There is no such thing as an idiot-proof rig. In order to prevent clipping, we rely on the animator to not pose it in a way that it clips. The first question when encountering any rigging problem is to remember the old doctor joke: "Doc, it hurts when I move my arm like this." Doc: "Then don't move your arm like that."