🤔 Para Refletir :
"Não force a criatividade, liberte a sua mente e a criatividade virá."
- Frank

Preciso de ajuda para criar IA para jogo de Infinite Runner mobile na unity 3d

Crash Psycho Masculino

Novato
Membro
Membro
Juntou-se
27 de Novembro de 2020
Postagens
13
Bravecoins
29
Estou criando um jogo no estilo infinite runner para mobile
w1NQ8jK.png


Como podem ver na imagem o player corre dos Npc's.
A gameplay é simples, pular e deslizar dos obstáculos, os Npc's tem uma IA que corre na mesma direção do player, pula e desliza.
Bom o que eu preciso é de umas dicas de otimização pq a ideia é chamar o máximo do IA'sque o jogador conseguir antes de colidir em algo.
ddleeA0.png

O jogo começa com 0 IA's correndo atrás do player quando o player toca o botão chama atenção da IA fazendo com que ela fique correndo atrás do player, mas o problema que quando chega a mais de 30 IA's o FPS começa a cair bastante e a ideia do jogo é ter mais de 200 dependendo do jogador.

Detalhes importantes: Os modelos das IA's tem 1.500 Tris e elas tem um único material, e esta sendo usado o Animator para as animações dos movimentos.
acredito que preciso mudar a forma de como as IA's estão sendo usadas para poder ter uma quantidade grande mantendo o FPS estável.
 
De 3D em si não entendo, mas creio que dê pra otimizar estes modelos. A câmera é fixa? Se sim, talvez você até possa substituir alguns modelos por planos 2D animados com imagens dos modelos. E você não necessariamente precisa de n modelos na tela pra mostrar que o jogador atingiu este número. Por exemplo, se elas se moverem bem próximas, pode ser que algumas nunca consigam estar visíveis, então você considera que existem n, mas mostra menos.

Talvez estudar este joguinho aqui te auxilie, o estilo me parece bem semelhante.

Agora, pra otimizar mesmo você teria de mostrar seu código pro pessoal que domina a Unity. Aqui no fórum você vai encontrar alguns.
 
De 3D em si não entendo, mas creio que dê pra otimizar estes modelos. A câmera é fixa? Se sim, talvez você até possa substituir alguns modelos por planos 2D animados com imagens dos modelos. E você não necessariamente precisa de n modelos na tela pra mostrar que o jogador atingiu este número. Por exemplo, se elas se moverem bem próximas, pode ser que algumas nunca consigam estar visíveis, então você considera que existem n, mas mostra menos.

Talvez estudar este joguinho aqui te auxilie, o estilo me parece bem semelhante.

Agora, pra otimizar mesmo você teria de mostrar seu código pro pessoal que domina a Unity. Aqui no fórum você vai encontrar alguns.


O jogo que estou desenvolvendo tem inspiração no zumbi tsunami, a câmera não é fixa pq o jogo é 3D ela começa perto do player ae quanto mais Npc's ela vai se afastando para mostrar mais.

Acho que colocar imagem 2d ficaria muito ruim pela proposta do jogo...(eu já pensei em fazer isso tempos atrás).

acredito que é preciso usar alguma técnica especial, depois de pesquisar bastante descobrir alguns métodos que me ajudou um pouco mais os FPS não ficam estáveis, Animation instancing foi um deles.
 
Eu que criei.
Boa! Está usando Blender?
Quase certo que o Tris que comentou está muito alto. Percebi que os modelos estão bem detalhados apesar da baixa resolução, tente reduzir o máximo que puder.
Remova o máximo de vértices que conseguir,
tipo: deixar a aba do boné uma chapa quadrada, remover vértices de lugares escondidos (junção de cabeça com pescoço), remover vértices das partes que não aparecem na câmera, deixar braços e pernas menos redondos... Enfim, simplificar o máximo possível.
(Deixar na opção "Smooth" pra compensar os poucos detalhes)

As opções do @Corvo foram boas, mas se o jeito é usar 3D, melhor partir pra lowpoly.
 
Boa! Está usando Blender?
Quase certo que o Tris que comentou está muito alto. Percebi que os modelos estão bem detalhados apesar da baixa resolução, tente reduzir o máximo que puder.
Remova o máximo de vértices que conseguir,
tipo: deixar a aba do boné uma chapa quadrada, remover vértices de lugares escondidos (junção de cabeça com pescoço), remover vértices das partes que não aparecem na câmera, deixar braços e pernas menos redondos... Enfim, simplificar o máximo possível.
(Deixar na opção "Smooth" pra compensar os poucos detalhes)

As opções do @Corvo foram boas, mas se o jeito é usar 3D, melhor partir pra lowpoly.
Partir para o lowpoly? Kkkk
antes o modelo tinha quase 40k de tris dps de fazer uma remodelagem hard consegui deixar com 1500 com uma qualidade boa, o problema não é a quantidade de triângulos mas sim o jeito que estava usando a IA, estava usando o componente Animator que quando usado em excesso acaba pesando muito.
Mas agora estou usando um método que ao invés de usar o Animator(animação pelo osso do modelo) estou usando um método de animação via script(pega várias meshes de cada frame e Anima via script sem usar ossos).
Mas agradeço a ajuda.
 
Voltar
Topo Inferior