1
resposta

Alerta de erro

Esta dando essa mensagem de alerta e não estou conseguindo achar o erro poderia me ajudar por favor?

Look rotation viewing vector is zero UnityEngine.Quaternion:LookRotation(Vector3) MovimentoPersonagem:Rotacionar(Vector3) (at Assets/Scripts/MovimentoPersonagem.cs:23) ControlaInimigo:FixedUpdate() (at Assets/Scripts/ControlaInimigo.cs:31)

Esse é o código onde fala que esta o erro quando clico.

using System.Collections; using System.Collections.Generic; using UnityEngine;

public class MovimentoPersonagem : MonoBehaviour { private Rigidbody meuRigidbody;

void Awake ()
{
    meuRigidbody = GetComponent<Rigidbody>();
}

public void Movimentar (Vector3 direcao, float velocidade)
{
    meuRigidbody.MovePosition(
            meuRigidbody.position +
            direcao.normalized * velocidade * Time.deltaTime);
}

public void Rotacionar (Vector3 direcao)
{
    Quaternion novaRotacao = Quaternion.LookRotation(direcao);
    meuRigidbody.MoveRotation(novaRotacao);
}

}

1 resposta

Oi, Renan, tudo bem?

Isso é um alerta, não vai de dar prejuízo nenhum mas o que ele está avisando é que você quer rotacionar mas não precisaria porque o valor é zerado.

Para resolver isso você poderia fazer uma verificação ao rotacionar para rodar somente se o valor não for zero. Algo como:

if (direcao != Vector.zero) 
{
  Quaternion novaRotacao = Quaternion.LookRotation(direcao);
  meuRigidbody.MoveRotation(novaRotacao);
}

Acho que isso resolveria o problema.