Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

A mira está mirando para cima.

Meu jogador continua mirando para cima mesmo com o código.

if (Physics.Raycast(raio, out impacto, 100, MascaraChao))
        {
            Vector3 posicaoMiraJogador = impacto.point - transform.position;

            posicaoMiraJogador.y = transform.position.y;

            Quaternion novaRotacao = Quaternion.LookRotation(posicaoMiraJogador);

            GetComponent<Rigidbody>().MoveRotation(novaRotacao);
        }
1 resposta
solução!

Esse problema acontece porque a personagem tem algum valor no Y e isso está fazendo ela rotacionar num eixo fora do zero, e causa esse problema meio maluco.

Troca essa linha para

posicaoMiraJogador.y = transform.position.y;

para

posicaoMiraJogador.y = 0;

Assim zerado qualquer interação em Y. Você também poderia selecionar o Y no inspector e zerar que o problema seria resolvido.

Se você quiser saber como tratar melhor esse problema você também pode ver esse tópico

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software