There is an object marked where before where is the butt. All is well. If attached with it
myTransform.Translate(Vector3.forward); He moves "face" forward. If it is deployed, it moves in the same face, i.e. changes direction after turn. If you do instead of just moving physics
rb.AddForce(Vector3.forward*120) (120 in order for the body to have enough power. Without this multiplier, it does not move at all. Heavy) Then it moves as it moved - that is, first face forward and after turning - face back. The direction does not change from the turn.
The question is how to make it change. So that the rigid body always moves face forward with a given impulse and force.