Terrain para mobile ou um mapa do Blender

Salve galera!

Estou realizando meus estudos direcionados exclusivamente para criar um jogo de sobrevivência no estilo de DayZ para celular, com movimentação baseada em PUBG MOBILE e inspirações em The Walking Dead. Minha questão é em relação ao desempenho de usar Terrain no Mobile, ouvi dizer que é muito pesado, e uma solução melhor seria usar o Blender para criar o mapa, dividir em varias partes e ir carregando de forma dinâmica conforme o player se move pelo mapa. Porém, notei que eu teria que usar um mesh collider para aplicar colisão nesse mapa, que é pesado devido ter varios detalhes de relevo e diferenças no mapa, como colinas, morros e montanhas.

Então comecei a questionar se ainda sim, não seria melhor para desempenho utilizar o Terrain, que já vem com a colisão nativa na Unity, já tem tudo integrado e reduzindo a resolução para não ter tantos detalhes assim, tornando mais leve de certo modo ou se ainda sim, é melhor criar o mapa no Blender e aplicar o mesh collider?

Fala, Reuber! Já passei exatamente por esse tipo de dúvida enquanto desenvolvia projetos com terrenos grandes e detalhados, especialmente voltados pra mobile.

Se o seu cenário for grande, o Unity Terrain acaba sendo uma opção muito prática, especialmente pelo que você mesmo falou: ele já tem sistema de colisão integrado, ferramentas de pintura, suporte a vegetação, LOD automático, entre outras coisas que facilitam demais o desenvolvimento e edição.

Além disso, dá pra reduzir a resolução do Terrain (heightmap, detalhe, trees, etc), o que melhora bastante o desempenho nos celulares. E hoje em dia dá pra otimizar legal com LOD Groups, culling, e até dividir o terrain em tiles se quiser ir mais a fundo. A própria ferramenta de terreno da Unity permite a gente criar vários terrenos conectados (tem um + ao lado que cada malha, que podemos conectar uma nova).

A abordagem de criar tudo no Blender e usar mesh colliders funciona, mas tem um custo:

  • Mais trabalho manual na hora de configurar, dividir, exportar e ajustar colisão.
  • O mesh collider em si é pesado.
  • E você perde a flexibilidade de editar o terreno dentro da Unity depois.

Então, eu prefiro usar Unity Terrain e configurar ele de acordo.

1 curtida

Obrigado por esclarecer, Lucas!

Acredito que as pessoas que comentaram que Terrain na unity para Mobile é ruim, não chegaram a dedicar um tempo para otimizar e testar com essas otimizações, condenando a ferramenta como ruim. Mas vou por esse caminho mesmo, pois gostei muita da forma como podemos criar o terreno na Unity.

Obrigado!

1 curtida