Tutorial de IA do Hello Neighbor: Persegue e Captura
Table of Contents
- Introdução
- Configuração Inicial
- Criação do personagem
3.1 Escolha do esqueleto
3.2 Adição de animações
3.3 Criação do Blend Space
- Blueprint de animação
- Máquina de estados de animação
5.1 Estado de repouso, caminhada e corrida
5.2 Estado de salto
5.3 Estado de queda
- Adição do componente de percepção de AI
- Configuração da percepção de visão
- Configuração da percepção de audição
- Variável de visão do jogador
- Utilização de enumerações
10.1 Enumeração de estados do vizinho
10.2 Criação da função de mudança de estado
- Configuração do Behavior Tree
- Criação do Controlador de AI
- Conclusão
🚀 Implementando um Personagem Perseguidor no Hello Neighbor
Você já pensou em criar um personagem de inteligência artificial melhor do que o do jogo Hello Neighbor? Neste artigo, vamos te ensinar como realizar uma perseguição básica e captura no jogo. Acompanhe o passo a passo para criar um vizinho perseguidor com animações e percepção de jogador.
1. Introdução
O Hello Neighbor é um jogo popular em que você assume o papel de um personagem tentando invadir a casa de um vizinho. Aprenderemos como melhorar a inteligência artificial do vizinho para criar uma experiência de perseguição mais realista e desafiadora.
2. Configuração Inicial
Antes de começarmos, precisamos realizar algumas configurações iniciais no projeto. Crie um novo character e defina o esqueleto como o modelo de baixa poli do vizinho. Certifique-se de orientá-lo para a frente.
3. Criação do personagem
3.1 Escolha do esqueleto
No novo personagem, escolha o esqueleto do vizinho de baixa poli como o static mesh.
3.2 Adição de animações
Adicione animações ao personagem para torná-lo mais realista. Crie um Blend Space 1D e defina o esqueleto como o modelo de baixa poli do vizinho. Ajuste os valores de axis e GRID divisions conforme necessário. Adicione as animações de idle, walking e running.
3.3 Criação do Blend Space
Nomeie o axis de velocidade horizontal e conecte a variável correspondente a ele. Isso permitirá que a velocidade do personagem seja controlada e afete as animações.
4. Blueprint de animação
Crie um novo Blueprint de animação vinculado ao esqueleto do vizinho. Adicione uma variável float chamada "speed" que será utilizada posteriormente. Acesse o Try Get Pawn Owner e faça o Cast para o Blueprint do vizinho. Adicione a função Get Velocity e, em seguida, a função Vector Length para obter a velocidade do vizinho. Conecte o resultado a variável "speed".
5. Máquina de estados de animação
Crie uma máquina de estados de animação dentro do Blueprint de animação. O primeiro estado será chamado de "IdleWalkRun" e utilizaremos o Blend Space criado anteriormente. Conecte a variável "speed" ao Pin de velocidade do Blend Space. Em seguida, crie os estados para os animais de salto, queda e fim do salto. Configure as transições entre os estados utilizando as devidas animações e condições.
6. Adição do componente de percepção de AI
Adicione um componente de percepção de AI ao Blueprint do vizinho. Defina a configuração de percepção para visão. Adicione dois componentes de percepção de AI, um para visão e outro para audição. Não renomeie os componentes e configure o primeiro para visão e o segundo para audição.
7. Configuração da percepção de visão
No componente AI Perception Sight, clique com o botão direito no Event Graph e adicione a função "On Target Perception Updated". Adicione um Break AI Stimulus para analisar o estimulo. Em seguida, crie uma sequência de ações e faça o Cast para o Blueprint do humano. Configure a variável "can see player" e conecte-a à percepção de estímulo bem sucedida.
8. Configuração da percepção de audição
Configuração da percepção de audição é semelhante à de visão. Utilize o componente AI Perception Hearing e configure-o adequadamente.
9. Variável de visão do jogador
Adicione uma variável booleana chamada "can see player" no Blueprint do vizinho. Essa variável será utilizada para determinar se o vizinho consegue ver o jogador ou não.
10. Utilização de enumerações
As enumerações são úteis para definir estados e comportamentos do vizinho. Crie uma enumeração chamada "NeighborState" com os valores de "Idle", "Hunt" e "Attack". Essa enumeração será utilizada para mudar o estado do vizinho.
10.1 Enumeração de estados do vizinho
No Blueprint do vizinho, crie uma nova função chamada "SetState". Adicione um novo parâmetro do tipo da enumeração criada anteriormente. Essa função irá alterar o estado do vizinho de acordo com o estado recebido como parâmetro.
11. Configuração do Behavior Tree
Adicione um Behavior Tree e um Blackboard para controlar o comportamento do vizinho. No Blackboard, adicione uma chave do tipo da enumeração criada anteriormente e defina-a como chave "state". No Behavior Tree, crie um seletor com dois seletores e adicione decoradores de Blackboard para cada um deles, referenciando a chave "state". Configure o primeiro para o estado "Idle" e o segundo para o estado "Hunt".
12. Criação do Controlador de AI
Crie um Blueprint de Controlador de AI para o vizinho. Na função "Event Possessed", execute o Behavior Tree criado anteriormente. Defina o controlador de AI do vizinho como o que acabou de ser criado.
13. Conclusão
Parabéns! Agora você sabe como criar um personagem perseguidor com animações e percepção de jogador no Hello Neighbor. Não se esqueça de testar o seu trabalho para garantir que tudo funcione corretamente. Divirta-se jogando e explorando novas possibilidades!
🌟 Destaques
- Criação de um personagem perseguidor no Hello Neighbor.
- Configuração de animações e estados de personagem.
- Adição de percepção de visão e audição para o vizinho.
- Utilização de enumerações para gerenciar os estados do vizinho.
- Configuração do Behavior Tree para controlar o comportamento do vizinho.
FAQ
Q: Posso adicionar mais estados e comportamentos ao vizinho?
R: Sim, você pode expandir o sistema de estados e comportamentos do vizinho adicionando novas enumerações e atualizando as lógicas correspondentes.
Q: Como posso tornar a perseguição do vizinho mais desafiadora?
R: Você pode ajustar os parâmetros de velocidade, alcance de percepção e comportamentos do vizinho para torná-lo mais rápido e agressivo.
Q: É possível adicionar interações do jogador durante a perseguição?
R: Sim, você pode adicionar interações como obstáculos, armadilhas ou itens especiais que o jogador pode usar para despistar o vizinho durante a perseguição.
Recursos