Se você está nesse artigo é porque você deve saber o que é a Unity.
Porém, existem algumas funções muito específicas que são praticamente ignoradas por quem faz jogos na Unity, mas elas são muito importantes para quem joga.
Funções essas que permitem você criar um menu para mudar a qualidade do jogo, por exemplo, que é algo muito útil para quem joga e muito simples de programar para quem desenvolve.
Application.targetFrameRate
Uma coisa muito importante para fazer em nosso jogo é travar a quantidade de FPS.
Isso é bom porque se você deixar o FPS desbloqueado, a Unity vai tentar usar o máximo de FPS e isso pode consumir demais do processamento do computador da pessoa, fazendo o seu jogo ser muito pesado.
A função Application.targetFrameRate faz isso para você, basta você colocar em um script:
Application.targetFrameRate = 60;
Você pode montar um menu com várias opções para o jogador escolher o FPS como ele desejar.
Screen.SetResolution
Uma opção muito importante para colocar no jogo é a de mudar a tela do jogo.
Podemos fazer isso com o Screen.SetResolution .
Você pode definir a resolução da tela, se a tela ficará em tela cheia e quantos frames a tela vai exibir.
Cuidado, a quantidade de frames que o computador vai renderizar é diferente da quantidade de frames que o monitor vai exibir na tela.
Screen.SetResolution(640, 480, true, 60);
Fixed Timestep
Se você for em Menu > Edit > Project Settings, verá que tem uma opção para gerenciar o tempo do jogo.
Aqui temos algumas funções importantes, o Time Scale é o mais conhecido, pois ele é usado para pausar o jogo.
Mas também temos o Fixed Timestep.
Fixed Timestep é um intervalo independente de framerate que dita quando os cálculos físicos e eventos fixedupdate() são realizados.
Basicamente é a quantidade de vezes por segundo que a física será calculada no jogo.
Esse valor é o inverso da quantidade de vezes por segundo, portanto, se você quiser 50 vezes por segundo, o Fixed Timestep será 0,02.
Time.deltaTime
Essa é uma função bem conhecida na Unity, mas poucos sabem para o que serve.
Se colocarmos dentro da void Update:
a = a + 1;
Estaremos aumentando 1 na variável a cada frame do jogo.
Já se colocarmos:
a = a + 1 * Time.deltaTime;
Estaremos aumentando 1 na variável a cada segundo do jogo.
O Time.deltaTime serve para “transformar” frames por segundo para o tempo real de fato.
Os frames são variáveis e é muito difícil usar isso para ter uma “certeza” em nosso código.
transform.Translate(0, 0, distancePerFrame); transform.Translate(0, 0, distancePerSecond * Time.deltaTime);
Essa é a razão de usarmos o Time.deltaTime.
Quer aprender desenvolvimento de jogos?
Siga o nosso blog: www.crieseusjogos.com.br
Temos vídeos toda semana em nosso canal do Youtube: Crie seus jogos – Youtube
E também baixe gratuitamente: os passos para desenvolver jogos de sucesso
Seja o primeiro a comentar.