SchultzGames
Para tirar dúvidas, crie um tópico especifico na área "Dúvidas em Geral" e aguarde ser respondido. Evite comentar em tópicos não relacionados a sua dúvida Very Happy
TÓPICOS RECENTES:
Tópico:
Postado em:
Postado por:
Efeito arma giratória
[____TÓPICO LIVRE____] FALE O QUE QUISER (Parte 2)
[TUTORIAL] Sistema de tiro com RAYCAST (várias armas, mira laser, munição, dano, etc, etc)
IsLocalPlayer não existe, o que substitui ele?
Trocar controles de keyboard para gui
Script de Chute Futebol
Polygon Collider anexado a sprite com areas transparentes
Seleçao de personagens no Photon.
Botão para acionar velocidade e botão para retornar a posição inicial
Duvidas sobre jogos 2d
como fazer sistema de seleção de personagem para moba no photon?
Sombras na "tampa" de buracos no blender
[____APOIE O FÓRUM E O CANAL E GANHE RECOMPENSAS____]
[____ADMINISTRAÇÃO____] PRECISO DE AJUDA [DICA PARA SER AJUDADO]
Gradiente de cores
Personagem olhar para frente ao andar.
[TUTORIAL] Criando um simples Multiplayer [UNITY 5]
[Dúvida] Multiplayer Client Object Spawn
Tangram ou Quebra Cabeça
[RESOLVIDO] Problema Com o transform.LookAt!
Jogo com Battle Royale já em desenvolvimento
[TUTORIAL] Unity 5 - Skid Marks (marcas de derrapagem)
Inimigo jogar o jogador de volta.
Como fazer um gráfico em forma de pizza na unity?
Texturização no Blender
Tudo fica bugado ao mudar o projeto de PC para Android
erro de dll's
Como alterar todos os materiais de um mesh renderer?
Destruir Polygon Collider 2D e Readiciona-lo, porém não há uma precisão no colisor gerado!
[TUTORIAL] Mudando material
[RESOLVIDO] Remover child
[RESOLVIDO] Como compilar pra android ?
Inimigo seguir o jogador sem usar o NavMesh
Resolução
(DUVIDA) Pq os Graficos Não Diminuem Corretamente?
[RESOLVIDO] Script não ativa bool do animator
[FORMAÇÃO DE EQUIPE]Equipe para jogo De Carros
Como evitar que o QualitySettings afete a qualidade da textura de um texto do canvas?
[TUTORIAL] Deixar o Texto (UI) mais bonito - HD
Código não compila
Há alguma forma de Fazer o apk Funcionar somente se for baixado pela Play Store ?
[Alpha Android] - Winthia Chronicles (Alpha Devlog, 21 de março de 2018). V 1.6
Configurar MS vehicle system free para UFPS
CRIAR MENSAGEM NA TELA PARA PERSOAGEM
[RESOLVIDO] Dúvida sobre animação do personagem
Duvida sobre Cenas
[RESOLVIDO] Duvida sobre versao da unity e sobre o lerp
[RESOLVIDO] problemas ao animar o game object
[DÚVIDA] Sair som e acender luz de um BOTÃO UI ao pressionar uma tecla
Dificuldade em criação de mapa simples no Unity
Procuro Modelador 3D, To criando uma equipe.vamos?
[TUTORIAL] Inteligência Artificial
[Devlog] ZByte Defender 10/04 (Alpha Aberta) + Download
[____ADMINISTRAÇÃO____] Alterações IMPORTANTES no fórum.
[TUTORIAL] Decrescer o valor do Emission Particlesystem
Limitar quantidades de vezes chamadas na void Update
[TUTORIAL] Sistema de inventário Sobrevivência
Sistema de Particulas não inicia com o jogo
[TUTORIAL] Serialização - JSON
Como posso resolver um bug reporter que não me deixa abrir o projeto?
[TUTORIAL]Sistema de Pet Virtual [Tamagotchi] Completo (ANDROID/PC)
Como arrumar efeitos do UFPS?
Servidor de discord para desenvolvedores.
Setar objeto filho de outro objeto via scrit
[RESOLVIDO] NavMesh nao funciona direito com terrain ?
[PEDIDO]Criar uma vestimenta para esse modelo que fiz no blender (Com-rig)
Duvida sobre blender para unity
Script para Sistema de Entregas e no final ganhar dinheiro
Problema com contator
Formação de equipe
Criar jogo estilo clash of clans
Form API POST WebService unity
Por que a engine Unity 3D ficou pesado(FPS pior) depois da versão 5?
[TUTORIAL] Screenshoot do jogo no editor (em resoluções mais altas)
[DÚVIDA] Fazer pontuação quando objeto passar por um collider
Como marcar um limite do direcional light em cada parte da cidade?
[Duvida] Multiplayer Moviment Client [Bug?!]
desenvolvimento do meu projeto, fase final
Movimentação 2D em personagem 3D
Ajuda com Substance Designer
Duvida usar posicao do mouse para mudar direcao de Ray
Ajuda Brush de Árvore Terreno
Command 888
Preciso de programador
Sistema de probabilidade de Spawn para Waves
Ajuda com o recuo da arma Jogo de Fps no unity
FPS Asset package completo
Duvida sobre como instanciar 3 objetos de uma vez mas com um tempo entre cada instancia
Shadow of the colossus materiais e models
Duvida Nav Mesh
Dificuldade na Criação de fase bônus
Bomb Battle Jogo Online Em Desenvolvimento
Arquivos NUGET
Controle de Som Quiz
CANVAS BUGADO
Script de Gol ou Escanteio / Pong / Campo de Volei..Alguém??
[TUTORIAL] Sistema de vida,morte,dano
Video no Unity
Problema para fazer Rank de jogadores
Hoje à(s) 1:32 am
Hoje à(s) 12:00 am
Ontem à(s) 7:05 pm
Ontem à(s) 6:21 pm
Ontem à(s) 4:49 pm
Ontem à(s) 3:12 pm
Ontem à(s) 3:07 pm
Ontem à(s) 12:58 pm
Ontem à(s) 6:39 am
Ontem à(s) 6:28 am
Ontem à(s) 6:24 am
Ontem à(s) 1:05 am
Qui Abr 19, 2018 10:35 am
Qui Abr 19, 2018 10:34 am
Qui Abr 19, 2018 10:33 am
Qui Abr 19, 2018 9:33 am
Qui Abr 19, 2018 6:45 am
Qui Abr 19, 2018 6:02 am
Qua Abr 18, 2018 10:30 pm
Qua Abr 18, 2018 9:13 pm
Qua Abr 18, 2018 8:57 pm
Qua Abr 18, 2018 6:33 pm
Qua Abr 18, 2018 6:18 pm
Qua Abr 18, 2018 5:48 pm
Qua Abr 18, 2018 3:28 pm
Qua Abr 18, 2018 2:59 pm
Qua Abr 18, 2018 1:41 pm
Ter Abr 17, 2018 9:55 pm
Ter Abr 17, 2018 8:05 pm
Ter Abr 17, 2018 8:01 pm
Ter Abr 17, 2018 8:00 pm
Ter Abr 17, 2018 7:53 pm
Ter Abr 17, 2018 3:35 pm
Ter Abr 17, 2018 2:22 pm
Ter Abr 17, 2018 1:07 pm
Seg Abr 16, 2018 10:28 pm
Seg Abr 16, 2018 9:03 pm
Seg Abr 16, 2018 6:36 pm
Seg Abr 16, 2018 6:33 pm
Seg Abr 16, 2018 6:31 pm
Seg Abr 16, 2018 1:19 pm
Seg Abr 16, 2018 12:40 pm
Seg Abr 16, 2018 12:09 pm
Seg Abr 16, 2018 10:01 am
Seg Abr 16, 2018 1:07 am
Dom Abr 15, 2018 8:28 am
Dom Abr 15, 2018 12:06 am
Sab Abr 14, 2018 4:29 pm
Sab Abr 14, 2018 2:52 pm
Sab Abr 14, 2018 1:23 pm
Sab Abr 14, 2018 11:23 am
Sab Abr 14, 2018 11:10 am
Sab Abr 14, 2018 9:56 am
Sex Abr 13, 2018 10:20 pm
Sex Abr 13, 2018 10:01 pm
Sex Abr 13, 2018 8:12 pm
Sex Abr 13, 2018 7:22 pm
Sex Abr 13, 2018 4:50 pm
Sex Abr 13, 2018 3:12 pm
Sex Abr 13, 2018 1:30 pm
Sex Abr 13, 2018 12:59 pm
Sex Abr 13, 2018 12:20 pm
Sex Abr 13, 2018 12:16 pm
Sex Abr 13, 2018 12:02 pm
Qui Abr 12, 2018 10:14 pm
Qui Abr 12, 2018 7:01 pm
Qui Abr 12, 2018 12:09 pm
Qua Abr 11, 2018 9:02 pm
Qua Abr 11, 2018 4:26 pm
Qua Abr 11, 2018 2:00 pm
Ter Abr 10, 2018 11:33 pm
Ter Abr 10, 2018 8:26 pm
Ter Abr 10, 2018 5:57 pm
Ter Abr 10, 2018 2:30 pm
Seg Abr 09, 2018 9:12 pm
Seg Abr 09, 2018 8:37 pm
Seg Abr 09, 2018 5:36 pm
Dom Abr 08, 2018 5:38 pm
Dom Abr 08, 2018 4:53 pm
Dom Abr 08, 2018 3:51 am
Sab Abr 07, 2018 11:00 pm
Sab Abr 07, 2018 8:39 pm
Sab Abr 07, 2018 7:28 pm
Sab Abr 07, 2018 5:27 pm
Sab Abr 07, 2018 12:05 am
Sex Abr 06, 2018 8:07 pm
Sex Abr 06, 2018 6:27 pm
Sex Abr 06, 2018 4:42 pm
Sex Abr 06, 2018 4:30 pm
Sex Abr 06, 2018 2:43 pm
Sex Abr 06, 2018 12:45 pm
Qui Abr 05, 2018 5:22 pm
Qui Abr 05, 2018 4:49 pm
Qui Abr 05, 2018 4:30 pm
Qui Abr 05, 2018 1:51 pm
Qui Abr 05, 2018 1:05 pm
Qui Abr 05, 2018 12:23 am
Qua Abr 04, 2018 10:32 pm
Qua Abr 04, 2018 9:01 pm
Before Dawn
MarcosSchultz
DreamKiller
YmKx
otavio00augusto
dstaroski
dstaroski
Callyde Jr
Phph09
Phph09
Phph09
felipehobs1
dstaroski
dstaroski
dstaroski
Daniel Pires da Silva
Phph09
Callyde Jr
luizmauro123
MarcosUAC
MarcosUAC
guimaraf
rafaelllsd
oilson
Yagogomes
Fluttershy28
hetrodo_gamer
Dom3000
MarcosSchultz
Dom3000
AmaralGabriel2
TioUV
dstaroski
Zack2
glauco
Daniel Pires da Silva
fabriciorsz34
Daniel Pires da Silva
Souris
Souris
fabriciorsz34
Cássio Ambelouer
Phph09
felipehobs1
Callyde Jr
Phph09
Ronmaster
nando07
Souris
Callyde Jr
Dom3000
Dom3000
Mateus2583
MarcosSchultz
ffabim
Daniel Pires da Silva
Fluttershy28
YmKx
natanael.olimpio
Souris
dstaroski
Phph09
BRGC
Phph09
Callyde Jr
BRGC
Zack2
heliab125
ruanzikaad
Souris
gcs13
natanael.olimpio
Daniel Pires da Silva
dstaroski
srhuculak
MarcosSchultz
Callyde Jr
Patrick
Souris
PedroSilva
Souris
YmKx
Callyde Jr
Phph09
Callyde Jr
rafaelllsd
gcs13
360flip
brunopereira06
YmKx
360flip
Phph09
natanael.olimpio
antoniodeveloper
rZwr
ffabim
Callyde Jr
natanael.olimpio
Phph09

[TUTORIAL] - 8 Dicas de otimização para mobile (Tópico 2) (Android)

Ir em baixo

TUTORIAL [TUTORIAL] - 8 Dicas de otimização para mobile (Tópico 2) (Android)

Mensagem por marcos4503 em Qua Jul 19, 2017 6:03 am

Oi galera! A um tempo atrás eu fiz um tópico com 43 dicas de otimização. Ele pode ser encontrado aqui:
http://www.schultzgames.com/t4985-tutorial-43-otimas-dicas-de-otimizacao-para-jogos-mobile-android
Desde aquele tópico, fui aprendendo novas maneiras de otimizar o jogo. Dessa vez mais focado em gargalos e em malhas animadas. Então vamos lá.

1 - Reduzir OU EVITAR o uso do componente Outline e Shadow
Spoiler:

Tá.. eu sei que esses componentes deixam o visual do texto mais bonito e tal, mais é sério, eles causam gargalos enormes em mobile, se abusados. A minha dica aqui é que evite o máximo o uso deles. O motivo é que esses componentes infelizmente são mal tratados pela Unity, foram feitos de uma maneira bem... "Marromeno". Eles geram muitas draw calls porque fazem o componente ser processador mais algumas vezes pra gerar as sombras ou linhas. Você pode colocar linhas pretas ao redor de imagens, através do photoshop. Tente usa-los somente em TEXTOS que precisam de um certo destaque pra não ficarem feios, como esse exemplo:



Observe os textos das moedas e das estrelas de sherif, esse é um bom uso desses componentes. Tambem evite de usa-los ao mesmo tempo. Sempre use o Outline OU Shadow. Nunca os dois ao mesmo tempo.

2 - Evitar alteração em tempo real no alpha de componentes da UI
Spoiler:

Alterações em tempo real(mathf, animator, etc..) no alpha de imagens, pode gerar gargalos imensos no jogo. É sério. Tente evitar de ficar alterando o alpha de imagens e outros objetos enquanto o jogo roda. Não quer dizer que você não possa usar isso, mais use de uma maneira cautelosa, sempre teste tudo.

3 - Usar somente uma malha para personagens
Spoiler:

Tente usar somente uma malha para seus personagens animados. A questão aqui é que tudo que possui uma animação vinda de programas de modelação, possui um componente chamado "Skinned Mesh Renderer". Esse é o componente responsavel por processar as deformações de sua malha. Quanto menos desses componentes estiverem sendo processados simultaneamente, melhor para a CPU.

4 - Reduzir qualidade das animações dos perssonagens que não são os principais
Spoiler:

Essa tambem é uma boa maneira de melhorar o desempenho se você possui muitos personagens na tela. Vá até o componente "Skinned Mesh Renderer" do personagem, e altere o componente chamado "Quality" para 2 Bones ou 1 Bones. Quanto menos bones, pior é a qualidade. Só tenha em mente que 1 Bone vai deixar as animações do personagem, meio quadradas.

5 - Configurar o Terrain corretamente
Spoiler:

Ah.. o Terrain.. No último tópico eu meio que dei uma detonada nele.. Mais então, estava eu indo refazer o cenario do meu jogo e resolvi dar uma chance pra ele, então descobri que se bem otimizado, ele pode ser uma boa. Então aqui vão algumas dicas pra quem quer usa-lo.

- Evite usar Terrenos muito grandes (acima de 600x600)
- Evite usar mais de 3 texturas para pintar o terreno (Usar 4 ou mais texturas começa a afetar o processamento bem negativamente)
- Evite usar muita grama.. Se você vai colocar a grama do Terrain, coloque só algumas apenas dando cliques, para isso é so reduzir o tamanhodo pincel para 1.

Agora, as configurações para ele:

- Pixel error: deixe em 200
Pixel error reduz a quantidade de vertices do terreno e tambem faz um tipo de LOD em montanhas que estão distantes pra reduzir a quantidade de vertices a serem processadas. o terreno vai ficar um pouquiiiinho mais feio, mais vai ser mais rapido para processar.

- Base map dist.: Deixe em 25
Essa é o tamanho da area que processa corretamente a textura do terreno, no caso, o que estiver a mais de 25 metros da camera, vai ficar meio borrado, pra ficar mais leve.

- Material: Deixe em Built In Legacy Diffuse
Esse é o material mais leve do terrain.

- Detail distance: Deixe em qualquer valor abaixo de 80
A distancia que a grama começa a ser renderizada

- Collect detail patches: Deixe ativado
Esse componente, quando ativado faz com que os dados do terreno sejam armazenados na memoria RAM sempre que não estão sendo vistos, assim quando voltarem a serem vistos, apenas são renderizados, enquanto que se estiver desabilitado, esses dados não são armazenados, então tudo é descontado na CPU, causando gargalos. Tenha em mente que dependendo do terreno, esse componente pode aumentar o consumo de RAM consideravelmente.

- Terrain Width, Lenght e Height: Deixe todos igual ou abaixo de 600
Esse é o tamanho do terreno. Não é proibido fazer algo acima de 600, mais deve ser feito com cautela, eu testei somente terrenos até o tamanho de 600, e não tive problemas com eles.

- Heightmap Resoltion: Deixe igual ou abaixo de 129
Esse é o tamanho da textura que coordena o mapa de alturas do seu terreno. Tente deixar num valor baixo pra não ficar pesado. Cuidado: Se você já modelou seu terreno, e fizer alguma alteração aqui, a modelagem do terreno vai ser resetada.

- Detail resolution: Deixe igual ou abaixo de 256
Nivel da resolução de detalhes do terreno

- Detail resolution per patch: Deixe igual ou abaixo de 8
Quantidade de detalhes em cada patch do terreno.

- Control texture resolution: Deixe igual ou abaixo de 256

- Base texture resolution: Deixe igual ou abaixo de 1024
Nivel de detalhe da textura do terreno em si.

Pra finalizar, tente usar texturas menores ou iguais a 512 de resolução em seus terrenos, e não deixe de usar o Occlusion Culling nos terrenos tambem, isso ajuda a aliviar o processamento de vertices. Foi executando essas dicas que eu consegui usar terrenos em meu jogo, sem afetar negativamente o desempenho. Os terrenos estão bem baratos para o processamento em meu jogo.


6 - Mais um shader leve para o processamento
Spoiler:

Quem viu o ultimo tópico, sabe que eu recomendei o Difusse como shader leve. Mais, ele é o segundo shader mais leve. Ele ainda calcula processamento de varias luzes. Então agora vou recomendar o shader que combina beleza e desempenho e se sobresai sobre os outros. O "Vertex Lit (Only Directional Light)" é o shader mais leve depois do Diffuse, que calcula luz, mais ele só suporta no maximo uma luz direcional. Pra resumir, aqui estão os shaders de mobile. Os primeiros shaders são os mais leves.

- Unlit (Sem luz)
- Vertex Lit (Sem luz)
- Vertex Lit (Only Directional Light)
- Diffuse
- Bumped Diffuse (Suporta normal map)
- Bumped Specular (Only Direcional Light)
- Bumped Specular


7 - Reduzir os calculos de física
Spoiler:

Bom.. SE você possui um jogo de tiro, ou ação ou similares, não tem porque ter uma fisica sendo simulada a 50 vezes por segundo. Você pode reduzir para 30 vezes por segundo. Ainda é um valor bom, e que não é notavel a olho nú, ainda é um valor rapido. Você só deve notar uma diferença BEEEEEEEEEEEM pequena em calculos de suavização, como Mathf.Lerp, Vector.Lerp, Quaternion.Lerp e etc.

Para fazer isso, vá em Edit > Project Settings > Time. Altere o campo "Fixed Timestep" para "0.03", altere o "Maximum Allowed Time" para "0.04".

8 - Cuidado ao usar Coroutines
Spoiler:

No ultimo tópico eu disse que elas podem ajudar muito, e realmente, ajudam bastante, mais você sempre deve testa-las quando as cria. Essas rotinas, geram alocações no garbage collector, então, sempre fique atento em como seus scripts estão se saindo pelo Profile.

Outra dica legal tambem: Você pode executar verificações if pelas coroutines, de tempos em tempos. Ao inves de jogar uma verificação como "Vector3.Distance", direto na void Update, você pode colocar essa verificação em uma Rotina, e programa-la para ser verificada a cada 0.3 segundos por exemplo. É uma forma leve e que não afeta tanto assim no processamento.


Isso é tudo pe-pe-pessoal!
avatar
marcos4503
Instrutor

Masculino PONTOS : 2546
REPUTAÇÃO : 521
Idade : 19
Áreas de atuação : Desenvolvimento Android
Básico de Design
Básico Blender
Unity
Programação em C#
Outras linguas.
Respeito as regras :

Ver perfil do usuário http://www.windsoft.xyz/site

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] - 8 Dicas de otimização para mobile (Tópico 2) (Android)

Mensagem por Édipo em Qua Jul 19, 2017 8:31 pm

no caso de um jogo que preciso de um mapa bem brande mais ou menos uns 3000 de tamanho, é melhor usar 1 de 3000 ou vários de no máximo 600 como vc disse?

Édipo
MembroAvançado

Masculino PONTOS : 1492
REPUTAÇÃO : 36
Idade : 30
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] - 8 Dicas de otimização para mobile (Tópico 2) (Android)

Mensagem por marcos4503 em Qua Jul 19, 2017 8:34 pm

É bom tambem dividir o terrain, se ele for muito grande, assim voce pode desativar terrenos muito distantes pra poupar processamento
avatar
marcos4503
Instrutor

Masculino PONTOS : 2546
REPUTAÇÃO : 521
Idade : 19
Áreas de atuação : Desenvolvimento Android
Básico de Design
Básico Blender
Unity
Programação em C#
Outras linguas.
Respeito as regras :

Ver perfil do usuário http://www.windsoft.xyz/site

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] - 8 Dicas de otimização para mobile (Tópico 2) (Android)

Mensagem por Édipo em Qui Jul 20, 2017 10:03 am

@marcos4503 escreveu:É bom tambem dividir o terrain, se ele for muito grande, assim voce pode desativar terrenos muito distantes pra poupar processamento
ok
muito obrigado

Édipo
MembroAvançado

Masculino PONTOS : 1492
REPUTAÇÃO : 36
Idade : 30
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] - 8 Dicas de otimização para mobile (Tópico 2) (Android)

Mensagem por Conteúdo patrocinado


Conteúdo patrocinado


Voltar ao Topo Ir em baixo

Voltar ao Topo


 
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum