to quebrando a cabeça aqui mas nao sei o que pode ser, meu player nao trava a rotação no x, se coloco o mouse muito perto do player, o player na unity meio que fica deitado...
m_rigidbodyPlayer.MovePosition ( m_rigidbodyPlayer.position + ( dir * Time.deltaTime * m_speed ) );
Ray ray = Camera.main.ScreenPointToRay ( Input.mousePosition );
Debug.DrawRay ( ray.origin, ray.direction * 50, Color.red );
RaycastHit hit;
if ( Physics.Raycast ( ray, out hit, 100, m_floorMask ) )
{
Vector3 aimPlayer = hit.point - transform.position;
aimPlayer.y = transform.position.y;
Quaternion newRotation = Quaternion.LookRotation ( new Vector3 ( aimPlayer.x, transform.rotation.y, aimPlayer.z ) );
m_rigidbodyPlayer.MoveRotation ( newRotation );
}