Making a character mesh collide with surfaces

I’m wondering if there is a way to make it so that my character mesh collides with all other surfaces in the animation process so that i don’t accidentally put feet through the floor or fingers through held objects.

I was also wondering if there is a way to do this between rigs as well, like if i was animating a sword fight and i try to move one sword through the other, the other sword is automatically pushed back by the one i am moving.

To avoid floor collision you can add Limit Location contraint to ik feet bones, and make it alwyas above floor level.

Unless the floor isn’t flat then you would have to make additional bone with shrinkwrap constraint so it is always on floor and then set a driver to you ik feet so its never below the other bone.
“max(a,b)” in python gives you the higher value of ‘a’ and ‘b’

But I’m not sure if it would be just easier to make proper keyframes.

For swords you can use ‘child of’ constraint so then when you move one sword the other one in the other rig is also moved.
THe thing that you described would be very difficult to make as computer won’t know which sword is pushing which sword. And you would have to make a lot of additional bones with a lot of constraints

1 Like

thanks for the informations man this is really helpful! so i can’t just add a rigid body constraint to the feet to avoid the floor collision? i used to do rigid body with car crashing scenes and bake it but i don’t know if the same goes with meshes on the ground.

Techically it would be possible to make bone follow a rigid body object but then you wouldn’t be able to animate it.

1 Like