O meu jogador ao colidir com alguma coisa, seja uma parede com Box collider ou um inimigo com Capsule, está sendo empurrado na direção contraria que ele está indo. A camera não treme nem nada, é como se ele empurra-se uma mola e quando eu solto o WASD o personagem começa a andar na direção contraria, como se tive-se sido 'catapultado'.
Eu alterei sua massa para 100, com isso esses empurrões não acontecem se colidir com um inimigo mas ainda acontece com uma parede.
A parte de movimento no Jogador com as vars usadas.
public float speed;
public Rigidbody rb;
Vector3 direcao;
void FixedUpdate()
{
// Movimentos do Jogador.
float eixoX = Input.GetAxis("Horizontal");
var eixoZ = Input.GetAxis("Vertical");
direcao = new Vector3(eixoX, 0, eixoZ);
rb.MovePosition(rb.position + direcao * speed * Time.deltaTime);
Vector3 mousePos = Input.mousePosition;
Ray mira = Camera.main.ScreenPointToRay(mousePos);
RaycastHit hit;
if (Physics.Raycast(mira, out hit, 100))
{
Vector3 crosshair = hit.point - transform.position;
crosshair.y = transform.position.y;
Quaternion newRotation = Quaternion.LookRotation(crosshair);
rb.MoveRotation(newRotation);
}