How to stop an object from moving rigidbody

In my game I have a FirstPersonControllerPrefab which is parent to a pickaxe which I have animated for both active and idle states. I want my pickaxe to collide with the rocks I am mining, but when it does, it pushes the rocks out of the way as I move forward.

My FPController has a rigidbody attached and my pickaxe has a kinematic rigidbody. There is a sphere collider at the tip of my pickaxe which is where the rocks are pushed from. If I make this collider a trigger, the rocks aren’t pushed but my pickaxe goes throuh the surface which is not what I want.

Is there a way I can have the pickaxe collide with another rigidbody whilst being unable to move?

Any help would be greatly appreciated,

Francis.

PS: I have tried freezing the movement of the rocks from the rigidbody but this just means that the pickaxe goes through the rock even if it isn’t a trigger. I have also tried setting the mass of the rocks to 999999 but this has no effect.

alt text

There are a couple of ways, here- you can use Layer-based collision to stop the rocks from colliding with anything except the ground and the pickaxe, and you could set up the collider on the pick so that it acts like a trigger whenever you aren’t swinging it.