Como contava, o curso tinha acabado, e vi que havia uma luz ao fim do túnel!
Primeiro projeto:
Uma apresentação que mostrasse a terra girando em volta do sol, para mostrar como são formadas as 4 estações do ano.
Ok, um projeto bem simples, que na verdade, já havia sido implementado em flash! O meu trabalho era transportar ele para XNA utilizando os recursos gráficos que ele oferece.
Utilizando os exemplos que geramos durante o curso, consegui colcar 2 bolinhas texturizadas na tela, girando uma em volta da outra!
Foi ai que comecei a ver os problemas envolvidos na programação de jogos.
Ao girar a terra, eu apenas aplicava a funcao Matrix.CreateRotationZ(angulo).
Isso gira de fato um objeto, e mudando o pivo dele, posso fazer ele descrever um circulo...
Qual o problema disso? Ao girar, ele nao fica orientado corretamente! Observe:

quando deveria ser:

Gastem um tempo imaginando, e vão entender!
Pois bem, agora a funçãozinha já não resolvia mais meu problema!
Solução?
Matemática!!
Utilizando seno e cosseno, eu posso descrever uma circunferência, e simplismente atualizar meu planeta terra sobre essa posição, sem alterar sua orientação.
Agora eu não estava mais rotacionando a terra, eu estava transladando sua posição, e essa translação descrevia uma circunferência =DD
Até a próxima pessoal!
2 comentários:
Arubii, adorei o blog!
Pow legal fio...
Sou programador Java a 4 anos, mas sempre tive uma vontade de trabalhar com jogos...
Tri mesmo... vai em frente veio..
Abraço
Postar um comentário