By default in Unity3d transforms that have attached rigidbody still inherit position and rotation changes from parent. Is there a way to somehow disable this behaviour, other than breaking the hierarchy?
Here is an example when this inheritance movement is unwanted:
I have a ragdoll on my character, and the character holds weapons in his hands, that have free moving parts. I have animation for the character, and thus for the main part of the character body isKinematic is turned on, but I want the weapons movement to be modelled. The inheritance deprives the poor weapon of its inertia, making it follow the hand. But breaking the inheritance will also cause me problems, as sometimes I want to manually set local transform for the weapon.
A bit lagging video example. The weapon sure behaves badly.
Pretty obvious workaround is making the “clones” of the weapon outside the hierarchy, and than copying their global coordinates on the actual weapon objects, but the situation seems rather standard and so it seems there might be a better solution to it.