Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

FixedUpdate e Zerando Velocidade

Eu fiz o curso pelo site da Unity e eles sugeriram uma outra solução pro problema de ficar tremendo a camera. A gente colocaria a Tag de obstaculo, e se colidisse com os objetos com essa tag, o personagem tem a velocidade zerada até que saia da zona de colisão (ele ainda continuaria se mexendo, mas a velocidade ainda seria zerada se caso continuasse tentando colidir). Queria entender qual a diferença entre esse metodo e o que aprendemos em aula. Tenho a impressão que esse do FixedUpdate poderia gerar lag pro jogador. Faz sentido isso?

1 resposta
solução!

Oi, Igor, acho que um jeito simples de mover a câmera é transferir esse código de movimentação da camera para o LateUpdate assim tudo é contabilizado depois da movimentação da personagem. Então, se ele não se mover por motivo de colisão e voltasse para trás a camera também não moveria, porque a Unity já teria computado que o jogador não se moveu.

Pra ter algo melhor que a alternativa acima podemos fazer um script para câmera se mover e acompanhar a personagem de forma mais suave (smooth). O movimento ser totalmente preso a movimentação da personagem dá uma impressão ruim no jogo, na maioria das vezes não é usado. Mas resolveu nosso problema momentâneo para construirmos as bases para vocês estudarem sobre isso no futuro.

Tem um blog post bem legal do GamaSutra (um excelente site que fala sobre desenvolvimento de jogos) entrando bem nesse assunto. E aqui também tem um post da Unity explicando uma das formas de fazer movimentação suave.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software