‫Olá e bem-vindo.
‫Nesta palestra, vamos ter um ar para nos seguir e navegar pelo mundo, evitando
‫obstáculos e geralmente sendo um pouco incômodo.
‫Vamos mergulhar e ver como isso é possível.
‫Então, a próxima peça mais óbvia do quebra-cabeça que precisamos resolver aqui é fazer com que nosso exército
‫se mova em nossa direção.
‫Não adianta eles ficarem parados ali.
‫Eles também precisam se mover e então eles precisarão atirar.
‫Primeiro de tudo, vamos descobrir como podemos fazer o movimento.
‫Agora, quando você estiver se mudando com Ally, preciso saber sobre os obstáculos.
‫Ele precisa fazer algo chamado pathfinding.
‫Porque, digamos, estou me escondendo neste corredor aqui e ele quer chegar até mim.
‫Ele precisa saber que não pode simplesmente atravessar a parede.
‫Vai precisar planejar suas rotas para contornar os obstáculos e vir em minha direção.
‫Agora, a maneira como isso normalmente funciona em jogos em geral e especificamente aqui no Unreal é que geramos uma
‫malha que nos diz onde é possível caminhar dentro de um nível e, em seguida, usando vários algoritmos, um dos quais é
‫chamado de star pathfinding.
‫Você pode navegar nesta malha e criar um plano de rota, e o aliado então usa esse plano de rota para se
‫mover.
‫Então esse é o tipo de esboço do processo.
‫Felizmente, muito disso é feito por nós.
‫Não precisamos codificar isso do zero.
‫Então, o que precisamos fazer é, em primeiro lugar, poder ver a malha NAF e no momento não podemos ver
‫uma malha NAF parcialmente porque não há uma.
‫Então, o que precisamos fazer é olhar em nossa janela de atores colocados aqui.
‫Também imagine uma janela e procure por atores de lugares colocados.
‫Precisamos procurar uma malha de navegação e estamos procurando os limites de volume da malha NAF.
‫Agora, isso cria um volume, um tipo de caixa, e tudo dentro dessa caixa será verificado
‫quanto à navegação.
‫Basicamente, se é plano, se não é muito íngreme, basicamente se há uma parede, você não pode passar por paredes,
‫você não pode passar por cima de paredes porque elas são muito íngremes.
‫Então, se estivermos arrastando um volume de ressalto de malha NAF e apenas o
‫trouxer aqui e apenas colocá-lo levemente no piso para que isso permita que o piso faça parte desse cálculo de navegação.
‫Então o que temos que fazer é habilitar a visibilidade das malhas NAF.
‫Você pode fazer isso clicando no botão show no canto superior esquerdo da sua janela de visualização e, em
‫seguida, clicando na navegação ou usando o atalho.
‫P Então eu vou usar o atalho.
‫P E selecionando ou você nem precisa selecionar o volume de salto.
‫Você pode ver instantaneamente que a malha da tela apareceu dentro do volume dos limites, o que nos diz que
‫esta é uma área caminhável.
‫Então, se tivéssemos nosso inimigo dentro desta área e seu alvo também estivesse dentro da área, então ele poderia encontrar o
‫caminho ao longo dessa malha.
‫Agora vamos dar uma olhada no que acontece se movermos isso para onde há um obstáculo.
‫Você pode ver que a malha corta esse obstáculo.
‫Então, o que realmente queremos fazer é que esse volume abranja todo o nosso nível e você pode optar por não fazer isso
‫ou apenas fazer isso em determinados segmentos, mas a maneira mais fácil é aumentar os limites desse volume, o
‫que você pode fazer.
‫Se você for para o painel de detalhes à direita, há as configurações do pincel.
‫Você pode alterar o tamanho do pincel para que você possa ver que podemos torná-lo maior, podemos torná-lo
‫mais largo e ele fica vermelho quando está sendo recalculado.
‫Você pode ver que está construindo a malha NAF e quanto maior for, mais difícil será
‫construir a malha NAF, mais tempo levará.
‫Mas você pode ver que isso está funcionando.
‫Está cortando os corredores, está cortando os obstáculos que não podemos contornar.
‫A segunda parte deste quebra-cabeça é ter um A. EU. capaz de fazer seus algoritmos de enraizamento nesta malha.
‫Agora, vamos abrir o atirador BP, controlador aéreo, porque eu quero mostrar a vocês algo
‫que está aqui.
‫Vou abrir o editor de blueprint completo aqui e dar uma olhada aqui.
‫Existe um componente chamado de componente seguinte ao caminho.
‫Esse componente é responsável por encontrar uma malha de RF e basicamente nos permitir criar
‫caminhos e segui-los e movê-los automaticamente.
‫Portanto, não precisamos criar nenhuma dessas funcionalidades.
‫Tudo o que temos a fazer é usar uma função que está disponível em nosso controlador aéreo.
‫Se você for procurar o ponto H do controlador aéreo e procurar o movimento para funcionar, vamos passar
‫para com colchetes abertos.
‫Então há algumas opções aqui.
‫Temos um leva um movimento para solicitar.
‫Existem algumas outras opções aqui também, mas isso deve ter um nome diferente.
‫Agora, em versões posteriores no trilho, temos a mudança para o ator e temos a mudança para o local, que
‫têm a mesma distinção do nosso foco de configuração.
‫Você pode definir o foco para algo que está se movendo como um ator, ou pode definir o foco para
‫um destino específico, como um ponto de passagem em sua rota de patrulha, por exemplo, pode ser um movimento para o local.
‫Então, eu gostaria que você tentasse uma mudança para quando for desafiado.
‫Portanto, coloque uma malha NAF em sua cena, faça-a cobrir o máximo da cena que você precisar para poder
‫se mover e ter o.
‫Eu sigo você em todos os locais e, em seguida, chamo esse movimento para mover para agir ou mover para o local.
‫Você decide qual no início do jogo para obter o A. EU. nos perseguindo.
‫Então pause o vídeo e vá em frente.
‫OK.
‫Bem vindo de volta.
‫Vamos dar uma chance a isso.
‫Então as primeiras coisas primeiro.
‫Nós vamos ter que usar uma mudança para ator e vamos ter que definir o ator objetivo.
‫Então vamos para o nosso atirador, controlador aéreo, ponto, CP e lá começar a jogar.
‫Podemos mudar para ator e já temos um ator para interpretar um peão que recebemos da última
‫palestra e vamos dar uma olhada.
‫Existem outras propriedades úteis aqui?
‫Temos um raio de aceitação.
‫No momento não tem raio de aceitação.
‫Basicamente, chega o mais próximo possível.
‫Acho que isso pode atrapalhar um pouco.
‫Vou dar a ele um raio de aceitação de dois metros, então ele tentará chegar a dois metros de
‫nós.
‫Então vamos em frente e construir isso.
‫E uma vez que está completo, você vai até o motor e vamos dar uma olhada.
‫Não vou expandir o volume de rejeição aqui apenas para dar uma ideia do motivo pelo qual precisamos do volume de rejeição em
‫primeiro lugar.
‫Então vamos começar com um alt p.
‫E aqui estamos.
‫Estamos na malha de navegação e esse cara se moveu em nossa direção automaticamente.
‫Mas se eu deixar essa malha NAF, ele não pode mais se aproximar de mim porque não consegue encontrar a rota.
‫Ele não consegue encontrar uma maneira de chegar até mim.
‫Então, o que vamos fazer é que, na verdade, não tenho certeza de que era isso que realmente estava acontecendo aqui,
‫porque provavelmente o que está acontecendo é que ele está ficando dentro do meu raio de aceitação e depois não tenta
‫novamente.
‫Então, uma maneira de verificar isso seria apenas remover esse raio de aceitação e recompilar e então podemos verificar e ver
‫se é isso que está acontecendo.
‫Então, sim, ele vem até mim se eu me afastar.
‫Bem, ele basicamente esqueceu esse comando.
‫Então o que queremos fazer é fazer isso no tic, porque basicamente quando ele me alcança, ele desiste da ideia
‫de me perseguir.
‫Então vamos mover isso para tomar.
‫Esta não é a maneira ideal de fazê-lo, mas é isso que vamos fazer.
‫Por enquanto, vou copiar a assinatura do tic da direita do ator, e sei que vai na seção pública,
‫então vou criar uma seção pública no topo.
‫Copie a assinatura, faça uma substituição apenas por segurança e, em seguida, implemente-a no C++ e mova e
‫mova o ator para marcar e o raio de aceitação ainda de dois metros, tente isso agora e, obviamente, está
‫reclamando que não temos um jogador - ali.
‫Então, vamos nos certificar de que estamos repetindo essa linha que prende o primeiro
‫jogador - em um tique também.
‫E agora devemos ser capazes de testá-lo adequadamente para um pico alternativo e o mundo que vem e nos leva
‫a dois metros.
‫Eu me afasto dele e olho para isso.
‫Ele nem está mirando em mim corretamente desta vez, mas ele está tentando seguir em frente.
‫Mas assim que eu saio daquela malha de navegação, ele não sabe mais como me encontrar.
‫Então vamos consertar isso, certo?
‫Vamos para um volume de salto de malha de navegação.
‫Se eu puder selecionar.
‫Aqui vamos nós.
‫E então queremos realmente diminuir o zoom aqui para tentar abranger todo o nosso nível.
‫Parece um pouco estranho do lado de fora deste nível, mas é assim que as coisas geralmente funcionam, é que
‫você constrói um nível para ser visto de dentro, não de fora.
‫Então, vamos tornar isso muito mais amplo.
‫Vamos torná-lo muito mais alto para que englobe todo o nível e apenas arrastá-lo para que todas as
‫extensões do nível aqui sejam cobertas.
‫Basta torná-lo um pouco mais largo, um pouco mais longo também, e apenas certifique-se de que tudo isso esteja totalmente
‫englobado.
‫E você pode ver que o verde apareceu como é calculado, o nav encontrou e
‫vamos apenas ter certeza de que a mensagem de nav está baixando o suficiente para cobrir as extensões mais baixas do nosso mapa parece estar
‫cobrindo agora.
‫Então, se formos em frente e pudermos nos esconder e nav mesh agora que configuramos tudo e podemos fazer um alt p para ir em
‫frente e jogar e ele pode nos encontrar e nos seguir praticamente em qualquer lugar que formos dentro desse nível.
‫Você pode ver que eu confiei que um servo está nos seguindo aonde quer que escolhamos ir.
‫Ele está apenas nos seguindo e nos seguindo, o que é muito irritante.
‫Mas ele é capaz de fazer isso.
‫Coisas incríveis.
‫Então, nesta palestra, vimos como podemos criar e ter malhas e como podemos usá-las para fazer com que
‫nosso aliado nos siga pelo nível.
‫Em seguida, vamos voltar para essa correção do bug e verificar a linha de visão para
‫que não necessariamente sempre persigamos o jogador.
‫Vê isso?
‫E acabei de notar um pequeno erro bobo que cometi aqui, que é que não estou
‫ligando para super cut on code on tech.
‫Então, na verdade, é por isso que, às vezes, você recebe esses bugs estranhos e inexplicáveis.
‫Se você não está ligando para super e as coisas nem sempre funcionam como esperado, é por isso
‫que o foco parou de funcionar, porque essencialmente desabilitamos a tecnologia em um controlador alto, o que não é bom.
‫Se você estiver habilitado, tudo deverá funcionar normalmente com o foco de configuração.