A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

24 Abril 2004 – Coimbra Portugal

Apresentações semelhantes


Apresentação em tema: "24 Abril 2004 – Coimbra Portugal"— Transcrição da apresentação:

1

2 24 Abril 2004 – Coimbra Portugal
ACEE 24 Abril 2004 – Coimbra Portugal Mecânica e Geometria 3D em jogos de Simulação Física David R. Gil Agradecimentos à organização do ACEE e ao Pedro Amaro.

3 Um Pouco Sobre Mim 93 → 97 – Modelação em 3D Studio, (noções de C.G, tipos de luz, texturas, maps, etc) 97 – Entrei p/ universidade (IST, Eng. Aeroespacial) 98 - 1ª Cadeira de C.G., cadeiras de Física e Mecânica Aplicada. 99 → ... – Nunca mais parei...

4 Alguns dos meus trabalhos:
1998 Simulador de Vôo 2001 Earth Screen Saver 2002 Crazy Wings 2003 Terrain Viewer, Star Force 2004 Ecodrive

5 Simulador de Voo C.A.S.A. (O meu primeiro Jogo)
Motor Físico muito elaborado, noções de um jogo de simulação 3D. Texturas, iluminação, etc.

6 Earth Screen Saver Ver exemplo
Texturas e Iluminação Refinada, Optimização Gráfica. Simulação Real-Time Ver

7 Crazy Wings Ver Exemplo Jogo Divertido 2D, Som e Jogabilidade

8 Para mais detalhes ver página http://www.dgadv.com/dgtv
Terrain Viewer Ver Video Serra d’Aire Ver Video Voo do Falcon 20 Ver Exemplo Para mais detalhes ver página

9 Star Force Academy Ver Exemplo

10 Star Force – Game Engine 1º Passo – Ambiente 3D, Articulações, Transformações
Ver Exemplo

11 Star Force – Game Engine (Outras Funcionalidades)
Luz Especular (que afecta o) Blending

12 Tiros

13 Colisões (dos tiros)

14 Cenário Distante

15 Cockpit Virtual

16 Multi – Identidades independentes

17 Ecodrive Ver Video Ver Exemplo
Executado segundo o enunciado do trab. Final da cadeira de Modelação e Visualização 3D (MVT) Classificação obtida: 20 Ver Video Ver Exemplo

18 Um pouco do que isto é feito (programar jogos – os programas mais dificeis)
Programação Complicada Física Geometria Motricidade Humana Inteligencia Artificial Interface Computação Gráfica Atractivo Jogabilidade Estética, Sensibilidade Som

19 Estrutura de um jogo de simulação
Inicialização Aplicar Controlo Ciclo de execução temporizado  1/T = 15 fps Fim? Simulação Física Desenhar cena Tocar sons Sair

20 Geometria y Os referenciais serverm para localizar numericamente objectos no espaço. Referencial Ortonormado, direito 2.5 v 2 3 x Coordenadas do ponto V: X=2, Y= 2.5 e Z=3 z

21 2 Referenciais (exemplo de um simulador de voo)
y - Referencial 1 – Referencial de inercia (aeroporto) Y’ X’ Z’ - Referencial 2 – Referencial do corpo (avião) 3 x z

22 2 Referenciais (Transformação de coordenadas)
Para desenhar p/exemplo a asa, quero transformar os pontos do referencial avião para o referencial aeroporto: y Y’ X’ Z’ X’x Y’x Z’z X’y Y’y Z’y X’z Y’z Z’z X’ Y’ Z’ + Px Py Pz X Y Z = . 3 Alternativa que não precisa de utilizar algebra linear: comandos tipo glTranslate glRotate x z

23 2 Referenciais – Física Lei de Newton: Acel.=Força/massa y
Veloc=VelInit+Acel x T Incremento na posição: IncX=VelocX x T IncY=VelocY x T IncZ=VelocZ x T Os Incrementos estão no referencial avião, para poderem ser aplicados à simulação tem de ser transformados para o referencial principal y sustentação motor Y’ X’ Z’ Atrito Peso 3 x z

24 Outras Ferramentas Quaterniões Ver Exemplo
e0=(float)cos(-angle*PI/360.0f); e1=c6x*(float)sin(-angle*PI/360.0f); e2=c6y*(float)sin(-angle*PI/360.0f); e3=c6z*(float)sin(-angle*PI/360.0f);//gg c6x=2.0f*(ct2->cx*(e0*e0+e1*e1-0.5f)+ct2->cy*(e1*e2-e0*e3)+ct2->cz*(e1*e3+e0*e2)); c6y=2.0f*(ct2->cx*(e1*e2+e0*e3)+ct2->cy*(e0*e0+e2*e2-0.5f)+ct2->cz*(e2*e3-e0*e1)); c6z=2.0f*(ct2->cx*(e1*e3-e0*e2)+ct2->cy*(e2*e3+e0*e1)+ct2->cz*(e0*e0+e3*e3-0.5f)); Funcionamento: dá-se o vector e o angulo em torno do qual, o ponto deve rodar, os calculos devolvem as coordenadas do ponto rodado. São essenciais para rodar camaras e objectos em 3D em especial para a simulação física de aviões, são evitáveis para uma simulação de 2D e meia, por exemplo: carro, barco, mota. Ver Exemplo

25 Outras Ferramentas Produto Interno Pi=x1.x2+y1.y2+z1.z2
Quantifica o quanto próximos os vectores são: Se eles forem colineares, dá 1, se forem perpendiculares dá 0, se tiverem sentidos opostos dá -1. Aplicações: Iluminação, determinar projecções, determinar se um carro está dentro da estrada, etc.

26 Produto Interno - Exemplos

27 Outras Ferramentas Produto Externo
x=(y1*z2-z1*y1); y=(z1*x2-x1*z1); z=(x1*y2-y1*x1); Quantifica a perpendicularidade entre vectores. Se eles forem colineares, dá 0, se forem perpendiculares dá 1 Aplicações:Detecção de Colisões, Ortogonalizar um sistema de coordenadas, determinar momentos, ou seja, o quanto uma força vai fazer rodar um corpo.

28 Apresentação disponibilizada em http://www.dgadv.com/down


Carregar ppt "24 Abril 2004 – Coimbra Portugal"

Apresentações semelhantes


Anúncios Google