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

como funciona o normalized?

estou revisando tudo que aprendi no curso, o normalized normaliza pra 1 em todos os casos? ou só nesse? se for só nesse você poderia me ajudar e explicar como funciona o normalized?

void FixedUpdate ()
{
    vector3 direcao = Jogador.transform.position - transform.position
    GetComponent<Rigidbody>().Moveposition
        (GetComponent<Rigidbody>().position +
        direcao.normalized * Velocidade * Time.deltaTime);        
}
1 resposta
solução!

Oi, Victor, tudo bem?

O Vetor é uma estrutura que guarda direção, módulo e sentido.

A magnitude (módulo) representa o tamanho daquele vetor então se o jogador está a 10 de distância do zumbi em condições ideais esse vetor valeria 10.

Por isso é importante normalizar o vetor direção porque pensa que eu falo pro zumbi caminhar nessa direção e ainda multiplico ela por uma velocidade de 3, ficaria 30 unidades por segundo de velocidade o que é muito rápido. Além disso a medida que o zumbi se aproximasse do personagem iria ficar cada vez mais lento devido a mudança no tamanho do vetor.

Por isso é importante normalizar, normalizar transforma esse de 10 num vetor unitário de 1 então independente da distância ele sempre vale 1, assim o nosso vetor agora serve mais pra guardar o sentido que o zumbi tem que ir, e a velocidade podemos utilizar outra variável e não vamos ter deslocamento em velocidades inconstantes.

No jogador não normalizamos ainda porque como o Axis guarda somente valores de 1 a -1 isso não causaria nenhum prejuízo grande naquele momento porque ele já é quase num vetor unitário.

Mas mesmo assim ele deveria ser normalizado, só não era uma discussão ideal para aquele momento porque não teria nenhuma explicação visual para demonstrar a vantagem de usar. Mas é importante sim normalizar o vetor direção do jogador também porque senão na diagonal ele se moverá mais rápido do que para frente e para trás mesmo que muito pouco.