Um cálculo comumente usado em IA é o de calcular a distância entre dois objetos de jogo.
É importante não apenas para determinar onde as coisas estão no ambiente em relação umas às outras,
mas também para calcular ângulos e normalizar vetores.
Você verá o cálculo da distância usado repetidamente neste curso, especialmente quando
se tenta determinar se um inimigo está ao alcance ou onde estão outros recursos.
Para calcular uma distância, você vai precisar de dois pontos.
Estes podem ser dois locais separados ou uma das extremidades de um vetor.
Neste caso, na tela tenho o tanque que está a três no X e dois no Y e a célula
de combustível que está a 12 no X e dez no Y.
Então, como encontramos a distância entre eles?
Bem, quaisquer dois pontos em um ambiente, seja 2D ou 3D, podem ser usados para formar um triângulo de ângulo
reto, como você pode ver aqui.
Uma vez que você tenha um triângulo de ângulo reto ou que você saiba que é possível formar um triângulo de ângulo
reto, que sempre é neste caso, então você pode aplicar o teorema de Pitágoras.
Agora, você se lembra do teorema de Pitágoras de sua matemática do ensino médio?
Bem, lembre-se por um momento, se quiser, o lado mais longo de um triângulo de ângulo reto
é chamado de hipotenusa e os outros lados.
Se os rotularmos como A e B e não importa em que ordem você faça isso, então o teorema de Pitágoras
diz que o comprimento da hipotenusa é igual à raiz quadrada de A ao quadrado mais B ao quadrado.
Portanto, são os comprimentos de A e B ao quadrado.
E como podemos encontrar esses comprimentos?
Bem, se você olhar para um, acontece que é a diferença na direção X de onde está o tanque e onde está
a célula de combustível.
E B é a diferença entre onde o tanque está e a célula de combustível está na direção Y.
Então, como isso se parece quando resolvemos o problema?
Bem, antes de tudo, precisamos descobrir o que é A e A será a diferença entre as coordenadas
X do tanque e o combustível.
Portanto, X um menos um x dois e B será a diferença entre as coordenadas Y do tanque e o combustível.
Agora, vamos fazer uma operação ao quadrado sobre estes para que não importa em que ordem você os faça.
Enquanto o tanque for item um, então o combustível permanecerá sempre item dois para que as coordenadas x e y tenham que
estar na mesma ordem dentro dessas equações.
Então, quando conectamos os valores reais, obtemos três -12 ao quadrado mais dois menos dez ao
quadrado, o que nos dá a faixa 81 mais 64.
A raiz quadrada disso é 12.
Isso significa que o comprimento da hipotenusa ou a distância entre o tanque e o combustível,
neste caso, é 12. 04.
Agora, não importa onde no ambiente estão seus pontos, você pode sempre fazer um triângulo em ângulo
reto.
Mas o importante aqui é que esse triângulo em ângulo reto terá um lado paralelo
ao eixo x e um lado paralelo ao eixo y.
E o comprimento desses dois lados sempre lhe dará aquela diferença que você precisa colocar
no Teorema de Pitágoras.
Vamos investigar os cálculos de distância em 2D.
Então, para fazer isso, quero que você abra um novo projeto de unidade e depois traga o início do arquivo.
Atrair Esta palestra.
Se você não estiver vendo a vista que eu tenho aqui, você pode clicar neste botão 2D no topo e
ele deve alinhar sua cena para você.
Agora, a visão do jogo acabou.
Consegui isto estabelecendo minha relação de aspecto para 16 a 9, o que lhe dará isto.
Agora, neste ponto, se pressionarmos play, você verá que pode usar as setas do teclado para dirigir o tanque.
Agora, este roteiro de viagem que está aqui é exatamente o mesmo roteiro de viagem que usamos na palestra anterior
para nosso pequeno aldeão fazendeiro.
E o que vamos fazer é realmente calcular a distância entre o tanque e o combustível que está aqui em
cima.
Muito bem, então vamos abrir o roteiro da unidade.
Certo.
Então você verá que temos nossas atualizações ocorrendo em atualização.
E como estávamos falando antes, provavelmente poderíamos colocá-los em atualização tardia, embora não
vá fazer uma grande diferença neste cenário em particular.
Primeiro de tudo, este roteiro está anexado ao tanque, portanto a transformação que é referida dentro deste roteiro
pertence ao tanque.
Portanto, a posição de transformação é a posição do tanque.
Agora vamos adicionar o combustível, então vamos trazer isso para o topo como um objeto de jogo.
Então, objeto de jogo público, combustível como esse.
Certo.
Portanto, se apenas nos limitarmos a economizar nisso, mudar de volta à unidade por um momento e depois selecionar o tanque, o que você quer
fazer com seu script onde você tem o combustível nele, é arrastá-lo da hierarquia e jogá-lo
aqui para baixo no drive script.
Portanto, agora que você pode referenciá-lo de dentro de lá, está bem, de volta ao nosso código, vamos colocar mais
algum código aqui para determinar quando atingimos a barra de espaço.
E quando tivermos atingido a barra de espaço, vamos imprimir a distância entre o tanque e o combustível.
Portanto, isto irá se.
Entrada, não baixar a chave e dentro daqui colocaremos espaço para os pontos de código chave.
Agora, se este for o caso, então vamos fazer os cálculos.
Distância como essa.
Ok, agora calcular a distância é um método que temos que escrever.
Então, vamos subir aqui acima de nossa atualização tardia e vamos colocar vazios, calcular a distância e dentro daqui vamos calcular
a distância e depois fazer um registro de depuração para imprimi-la.
Portanto, vamos criar, antes de mais nada, um carro alegórico para a distância.
E depois vamos depurar o registro de pontos e colocar distância.
Ou algo parecido.
Portanto, você pode ver essa impressão no console.
Certo.
Com isso feito, vamos apenas salvá-lo e vamos testá-lo.
É claro que só vai imprimir zero, mas pelo menos vamos conseguir imprimir algo
só para ter certeza de que não temos nenhum bug de compilação até o momento.
Muito bem, então pressione play.
Agora eu não preciso realmente mover meu tanque, mas vou apenas bater a barra de espaço no console.
Você deve conseguir a distância zero ali dentro.
Então, isso está pronto para ir.
Vamos voltar àquele roteiro de viagem e, para calcular a distância, usar o teorema de Pitágoras
para calcular a distância entre o tanque e o combustível.
Portanto, este é o desafio para você usando a fórmula do Teorema de Pitágoras, que está na tela agora, quero que
você escreva o código para calcular a distância real, para que possamos então imprimi-lo.
Então, faça uma pausa no vídeo.
Agora vá e faça isso.
E, quando voltarmos, eu analisarei a resposta com você.
Bem-vindo de volta.
Como você fez esse cálculo?
Certo.
Bem, a distância neste caso vai igualar a raiz quadrada de pontos matemáticos.
Então, vamos encontrar a raiz quadrada da matemática.
F ponto em pó de combustível.
Posição transformada do ponto.
Menos a posição de transformação.
Aqui está o poder de dois.
Além disso, é para isso que se segue a linha.
-- efeito.
Pal.
Poucos transformaram a oposição, menos transformaram a oposição ao poder de dois.
Ok, agora, acabei de perceber que o primeiro aqui será a diferença entre nossos
x valores.
Portanto, X de ambos, e depois o outro é o valor Z.
Agora, por que estamos usando o valor Z?
Porque neste caso, se tivermos um olhar na nossa tela aqui, temos os valores Z e X.
Quanto ao valor Y, não estamos realmente subindo e descendo, então não estamos realmente
interessados em nenhuma distância na direção Y, embora se você quisesse colocar isso, então você apenas
iria incluir outro mais e então os mesmos cálculos para o Y para a potência de dois.
Muito bem.
Portanto, isto vai lhe dar um novo valor de distância.
Portanto, poupe isso.
Vamos voltar aqui e pressionar o jogo para que possamos testá-lo.
Então, olhando em seu console enquanto você está se movendo com o tanque, então bata na barra de espaço e você verá uma distância.
Agora, isto, em teoria, vai ficar mais curto quanto mais próximo você chegar do combustível, que é o combustível.
Portanto, essa é uma boa maneira de realmente verificar visualmente.
Seus cálculos estão fazendo a coisa certa.
É sempre bom poder fazer esse tipo de verificação nestes cálculos.
Muito bem, ótimo.
Então, isso agora está funcionando.
É assim que se inclui o teorema de Pitágoras nisto.
Quando voltarmos na próxima palestra, vamos continuar olhando para os cálculos
de distância e de que outra forma você pode realmente fazer isso e os valores de unidade que você pode usar também.