Faz um ano que nao comento neste blog, mas a nostalgia me pegou de jeito e decidi retomar as postagens neste blog!
Muita coisa aconteceu desde esse meu primeiro projeto ateh onde me encontro atualmente.
Para dar um preview, neste exato momento sou um game developer na TecToy Digital, desenvolvendo jogos para o novo e primeiro console brasileiro, o Zeebo.
Mas esse era um preview, vou relatar aqui desde o ponto em que parei na postagem do blog.
No projeto do planeta terra, alem da rotação do planeta eu tive a ideia de implementar um zoom, onde a camera sairia de sua posicao inicial, e de uma maneira suave, se aproximaria e seguiria a terra que girava.
A ideia por tras disso nos coloca em um dos aspectos mais importantes da programacao de jogos 3D, os vetores!
Como todos sabem (ou deveriam), um ponto em um plano pode descrever um vetor, sendo este a linha formada entre a origem do plano e a posicao do plano.
Vetores tem algumas propriedades matematica, como soma, multiplicacao escalar, multiplicacao vetorial, etc etc, e com ele podemos fazer com que tais pontos neste espaco se comportem de maneira interessante para um jogo.
Uma das formas é somar um pequeno vetor com a posicao de minha camera, colocando-a cada vez mais proxima ao planeta terra.
Como encontro este vetor? Subtraindo a posicao da camera com a da terra, e normalizando o vetor! Isso me da exatamente um pequenino vetor que aponta diretamente para a terra.
Se a cada loop do jogo, eu adiciono esse vetor (calculado a todo ciclo pois a terra muda de lugar durante a simulacao), eu vou ter uma camera que se aproxima suavemente ao planeta. Basta eu decidir uma distancia minima entre a camera e o planeta para fixa-la uma vez que esta esta proxima o suficiente. =]
Amanha (talvez) eu continue a historia
terça-feira, 23 de junho de 2009
Assinar:
Postar comentários (Atom)
Nenhum comentário:
Postar um comentário