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

Sobre o log "Look rotation viewing vector is zero"

Olá Henrique, tudo bem? Terminei o curso que inclusive achei muito bom, aproveito aqui para agradecer! Faltou somente explicar o por quê do log "Look rotation viewing vector is zero" que consta nos logs tanto do meu arquivo final quanto do seu no vídeo. Sei que se trata somente de um aviso e nada que implique erro fatal ou coisa pior no game, mas gostaria de saber o por que aparece esse aviso e como ajustar para que não apareça. Valeu!

1 resposta
solução!

Olá, Flavio! Fico feliz que você tenha gostado do curso.

O log "Look rotation viewing vector is zero" é um aviso que o Unity dá quando tentamos fazer a rotação de um objeto para um vetor de direção zero, ou seja, um vetor sem direção. No nosso caso, isso pode acontecer quando o zumbi está tentando olhar para a heroína, mas a distância entre eles é zero (eles estão no mesmo lugar), resultando em um vetor de direção zero.

Para evitar que esse aviso apareça, você pode adicionar uma verificação antes de fazer a rotação. Por exemplo, se você estiver usando algo parecido com isso no seu código:

Vector3 direction = heroine.position - zombie.position;
Quaternion lookRotation = Quaternion.LookRotation(direction);
zombie.rotation = Quaternion.Slerp(zombie.rotation, lookRotation, Time.deltaTime * speed);

Você pode alterar para:

Vector3 direction = heroine.position - zombie.position;
if (direction != Vector3.zero) {
    Quaternion lookRotation = Quaternion.LookRotation(direction);
    zombie.rotation = Quaternion.Slerp(zombie.rotation, lookRotation, Time.deltaTime * speed);
}

Dessa forma, a rotação só será executada se o vetor de direção não for zero, evitando o aviso.

Espero ter ajudado e bons estudos!

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