Personagens deslocando sozinhos de forma independente

Olá pessoal tudo bem?
Estou criando uma cena de uma feirinha e preciso que os personagens, 8 até o momento, fiquem se movendo dentro dessa feira, como se fossem figurantes, mas não tenho ideia de como fazer isso. Eu deveria previamente mostrar para o de cada um deveria ficar se movimentando e parando ou isso pode se feito de forma independente e aleatória?

Uma abordagem bem comum para esse tipo de situação é escolher entre duas estratégias principais:

1. Criar animações pré-definidas para os movimentos

  • Como funciona: Você define trajetos específicos ou ações que seus personagens vão executar (por exemplo, andar de um ponto A para B, parar, olhar ao redor, repetir). Esses trajetos e ações podem ser gravados em animações (ou através de um sistema de timeline/animator no Unity), e depois você só coloca cada personagem para reproduzir essa sequência ou um conjunto de sequências de forma cíclica ou aleatória.

  • Vantagens:

    • Controle total: Você sabe exatamente o que cada personagem vai fazer e quando vai fazer.
    • Facilidade de polimento: Como tudo é pré-coreografado, você pode cuidar bem da qualidade da animação e do timing.
  • Desvantagens:

    • Falta de dinamismo: Se quiser mudar algo de última hora (por exemplo, a posição de um barraco na feira), talvez precise regravar ou ajustar animações.
    • Repetição: Os NPCs vão sempre executar o mesmo movimento repetidamente.

2. Usar o AI Navigation (NavMesh + scripts de movimentação)

  • Como funciona: O Unity tem um sistema de NavMesh (via Navigation) onde você “bakeia” o cenário, tornando as áreas caminháveis definidas. Depois, através de um script (por exemplo, usando o NavMeshAgent), você pode criar lógica para os personagens escolherem pontos aleatórios (ou pré-definidos) no mapa para onde se deslocar, parando por um tempo e depois seguindo para outro ponto. No projeto Zombie Chaos, ensino como trabalhar com essa solução.

  • Vantagens:

    • Movimentação orgânica e dinâmica: É possível fazer cada NPC escolher um destino aleatório na área de navegação, gerando comportamentos mais “vivos” e menos repetitivos.
    • Fácil adaptação do cenário: Se você mudar a posição das barracas na feira, basta rebakear o NavMesh que os NPCs continuarão a se mover por onde for possível.
  • Desvantagens:

    • Mais configuração de IA: É preciso escrever ou adaptar scripts que definam como esses NPCs escolhem seus destinos e a frequência de parada/observação.
1 curtida

Obrigado. Vou tentar fazer.

O projeto zombie Chaos está no curso?

Está sim. Adicione recentemente esse novo módulo no curso.