Cursos / Jogos Digitais / Desenvolvimento com Motores de Jogos I / Aula

arrow_back Aula 10 - Desenvolvendo a Primeira Fase - Parte 2

1. Redefinindo o Personagem

1.2 Alterando o Script de Controle

Perceba, ainda, que o Vector3 criado a fim de alterar a velocidade utiliza, para o valor de Y, rigidBody.velocity.y. Ou seja, alteramos o valor em X da velocidade para ser diretamente relacionado ao controlador, mas, para o eixo Y, a velocidade se mantém inalterada, tornando-se obrigação da gravidade, dos buracos e do pulo. Separamos bem os eixos e conseguimos uma movimentação um pouco diferente! Vejamos, na Figura 4, o resultado dessa nova movimentação, a qual afetará também o personagem no ar.

Personagem se movimentando com o novo controle.

Ok! Tudo certo, agora, não é? Nosso personagem parou de grudar em nossas plataformas e, além disso, está se movendo de uma maneira nova e bem adequada ao que queremos. Só tem mais um probleminha, no entanto... Vejamos a Figura 5!

Personagem na borda de uma plataforma.

Como assim? O personagem está em cima de uma plataforma! Por que ele está na posição de pulo? O que está acontecendo?

Está acontecendo que o groundCheck do nosso personagem já saiu de cima da plataforma, apesar de o personagem ainda estar em cima dela! Desse modo, o nosso Line Casting simplesmente passa direto pela plataforma, sem contato, fazendo o personagem não achar que está no chão. Isso pode complicar algumas situações, principalmente devido ao fato de o personagem precisar estar no chão para conseguir pular.

“E como podemos corrigir isso?” Bem, podemos alterar a maneira como a detecção de chão ocorre! “E como a alteramos, professor?” Fica tranquilo, trataremos disso a seguir! ;)

Versão 5.3 - Todos os Direitos reservados