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

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

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.

Apresentações semelhantes


Apresentação em tema: "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."— Transcrição da apresentação:

1

2 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 – Modelação em 3D Studio, ( noções de C.G, tipos de luz, texturas, maps, etc) 97 – Entrei p/ universidade (IST, Eng. Aeroespacial) ª Cadeira de C.G., cadeiras de Física e Mecânica Aplicada – Nunca mais parei...

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

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.Motor Físico muito elaborado, noções de um jogo de simulação 3D. Texturas, iluminação, etc.

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

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

8 Terrain Viewer Ver Video Serra dAire 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 Video Ver Exemplo Ver Exemplo Executado segundo o enunciado do trab. Final da cadeira de Modelação e Visualização 3D (MVT) Classificação obtida: 20

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

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

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

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

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

23 2 Referenciais – Física x z y 3 X Y Z Lei de Newton: Acel.=Força/massa Veloc=Vel Init +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 motor Peso Atrito sustentação

24 Outras Ferramentas Quaterniões 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


Carregar ppt "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."

Apresentações semelhantes


Anúncios Google