Obrigado, Convidado!
Bem-vindo ao FMGARCIA - SAMP!
Tópicos mais visitados
Administradores
Top dos mais postadores
HuemersonFMG | ||||
CleidiSilva21 | ||||
barbfix | ||||
Tranks_NorT | ||||
RenatoFMG | ||||
William | ||||
Vinícius_ Kawasaki | ||||
scorpio | ||||
alfredw10 |
FMG - O MELHOR SERVIDOR RPG SAMP - RADIO ONLINE
O comportamento Pathfinding - ENCONTRANDO O CAMINHO
Página 1 de 1
O comportamento Pathfinding - ENCONTRANDO O CAMINHO
O comportamento Pathfinding - ENCONTRANDO O CAMINHO
PATHFINDING:
O comportamento Pathfinding usa o algoritmo pathfinding A
[*]para encontrar eficientemente um caminho mais fácil entre os obstáculos. Ele pode relatar o caminho como uma lista de nós por meio de expressões ou mover automaticamente o objeto ao longo do caminho determinado.
Este comportamento funciona com base na divisão do layout em uma grade sendo mais eficiente e rápido que usando pixels. O tamanho da célula pode ser definido na propriedade de comportamento e, quanto maior, mais eficiente será o processo. No entanto, definir um tamanho de célula grande pode causar problemas pois uma célula só pode ser totalmente obstáculo ou totalmente livre e o uso de células grandes pode deixar pequenas lacunas que acabam prejudicando o percurso. Os objetos devem ser capazes de se mover-se livremente entre os obstáculos mas se as células que o comportamento pathfinding marca como obstáculo estiverem destacadas em vermelho, algumas das lacunas ficarão fechadas devido ao tamanho da célula ser relativamente grande em comparação com o tamanho da lacuna. Isso fará com que o comportamento de encontrar caminhos roteie os caminhos inteiramente ao redor dos obstáculos, e nunca através deles.
Reduzindo o tamanho da célula o comportamento do Pathfinding será capaz de encontrar rotas entre os obstáculos. No entanto, o tamanho de célula menor tornará o pathfinding mais intensivo e pesando o uso da CPU, portanto tente usar um tamanho de célula que não cause problemas ao contornar obstáculos. Por isso deve-se fazer testes com vários tamanhos diferentes ajustando e verificando a cada momento para um movimento que atenda a expectativa do jogo.
A propriedade Borda da célula pode ajustar a maneiras que as células são marcadas como obstáculos. Se a borda for maior do que 0, as células próximas aos obstáculos, mas não se tocando, também podem ser marcadas como obstáculos, dando efetivamente uma "borda de obstáculo" extra. Se a borda for negativa, as células que apenas tocam um obstáculo podem não ser marcadas como um obstáculo, reduzindo efetivamente a área do obstáculo para dentro. Para melhor a eficiência, procure usar o mesmo tamanho de célula e borda para todos os objetos evitando gerar várias grades de obstáculos na memória. Você também deve evitar encontrar caminhos na condição [Evey tick] , pois isso causará um uso extremamente alto da CPU e também aumentará a quantidade de tempo que outros objetos levam para determinar seus percursos.
A grade de obstáculos é determinada apenas uma vez na inicialização. Se os objetos forem movidos no layout, a grade não será atualizada e os objetos continuarão a encontrar o caminho como se estivessem em suas posições anteriores. Para atualizar toda a grade de obstáculos, use a ação Regenerar mapa de obstáculos , mas observe que esta é uma operação muito intensa da CPU e deve ser feita apenas em ocasiões específicas e necessárias. É muito mais eficiente atualizar apenas pequenas partes dele com a ação Regenerate region. Observe também que todas as células fora da área de layout são sempre obstáculos. Áreas fora da área de layout não podem ser incluídas na grade de busca de caminhos, pois isso exigiria uma quantidade infinita de memória.
Calcular um caminho pode levar muito tempo, especialmente se o tamanho da célula for pequeno. Para evitar que isso reduza a taxa de [FPS], os caminhos são calculados em segundo plano. Isso significa que depois de usar a ação Localizar caminho , o caminho resultante não estará imediatamente disponível. Você deve esperar que o gatilho No caminho encontrado seja executado. Só então você pode mover o objeto ao longo do caminho ou acessar a lista de nós das expressões do comportamento. O jogo pode continuar a ser executado por uma fração de segundo entre Find path e On path found . O caminho do resultado é uma sequência de nós ao longo da grade. Os nós podem ser recuperados (somente após On path found ) usando as expressões NodeCount e NodeXAt / NodeYAt . Alternativamente, a ação Mover-se ao longo do caminho pode ser usada para mover automaticamente o objeto ao longo dos nós, usando a velocidade, aceleração e taxa de rotação definidas nas propriedades do comportamento. Se você tentar encontrar o caminho para um destino dentro de um obstáculo, o processo simplesmente encontrará a célula clara mais próxima e o caminho.
Durante o processo de criação, podemos utilizar as propriedades, condições, ações e expressões do pathfinding melhorando a experiência de jogo e ajustando as adversidades ao procurar, encontrar e seguir um determinado caminho.
HuemersonFMG- Fundador - ADM
- PublicaçõesPublicaçõesMembro VipMembro VipCriador de TópicosCriador de TópicosParticipação em tópicosParticipação em tópicosCriador de EventosCriador de EventosPopular no fórum - AmigosPopular no fórum - AmigosAvaliação de MSGAvaliação de MSGMelhores avaliações de AmigosMelhores avaliações de AmigosRei dos Grupos no FórumRei dos Grupos no FórumMelhor RPGRecebe este ao criar sua Ficha RPG no Perfil
- Mensagens : 506
Pontos : 26496
Reputação : 0
Data de inscrição : 11/06/2018
Idade : 51
Localização : Brasil
FMGRPG
FMG:
(200/100)
Página 1 de 1
Permissões neste sub-fórum
Podes responder a tópicos
Qui 14 Mar 2024, 09:36 por HuemersonFMG
» Esqueceu o número do seu telefone?
Ter 05 Dez 2023, 12:51 por HuemersonFMG
» Scripts SQL - Oracle
Ter 05 Dez 2023, 11:56 por HuemersonFMG
» Dicas para Excel
Sex 27 Out 2023, 11:22 por HuemersonFMG
» Acentos e Caracteres Especiais em HTML
Sex 20 Out 2023, 13:17 por HuemersonFMG
» Dez motivos para consumir mais café...
Dom 27 Ago 2023, 05:09 por alfredw10
» Combinações de teclas do Windows
Dom 06 Ago 2023, 13:29 por HuemersonFMG
» PL/SQL - Extensão da linguagem SQL - Oracle
Qua 10 maio 2023, 10:16 por HuemersonFMG
» Node.js é uma tecnologia assíncrona
Ter 09 maio 2023, 11:21 por HuemersonFMG
» Pontos Cardeais
Seg 24 Abr 2023, 20:02 por HuemersonFMG
» 1º DE MAIO – DIA MUNDIAL DO TRABALHO
Seg 24 Abr 2023, 15:34 por HuemersonFMG
» ChatGPT - robô virtual (chatbot) que responde a perguntas variadas
Seg 20 Fev 2023, 11:23 por HuemersonFMG
» Simples Página de Login em HTML - Visual Studio Code
Seg 06 Fev 2023, 13:40 por HuemersonFMG
» HTML - Dicas interessantes
Qui 19 Jan 2023, 17:02 por HuemersonFMG
» https://phaser.io/ - para criar jogos HTML5
Ter 17 Jan 2023, 13:06 por HuemersonFMG