28

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

Embed Size (px)

Citation preview

Page 1: 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
Page 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

ACEE24 Abril 2004 – Coimbra Portugal

Mecânica e Geometria 3D em jogos de Mecânica e Geometria 3D em jogos de Simulação FísicaSimulação Física

David R. Gil

Agradecimentos à organização do ACEE e ao Pedro Amaro.

Page 3: 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

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...

Page 4: 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

Alguns dos meus trabalhos:

1998 Simulador de Vôo

2001 Earth Screen Saver

2002 Crazy Wings

2003 Terrain Viewer, Star Force

2004 Ecodrive

Page 5: 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

Simulador de Voo C.A.S.A.(O meu primeiro Jogo)

• Motor Físico muito Motor Físico muito elaborado, noções elaborado, noções de um jogo de de um jogo de simulação 3D. simulação 3D. Texturas, Texturas, iluminação, etc.iluminação, etc.

Page 6: 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

Earth Screen Saver

• Texturas e Iluminação Refinada, Texturas e Iluminação Refinada, Optimização Gráfica.Optimização Gráfica.

• Simulação Real-TimeSimulação Real-Time• Ver Ver www.dgadv.com

Ver exemplo

Page 7: 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

Crazy Wings

• Jogo Divertido• 2D, Som e

Jogabilidade

Ver Exemplo

Page 8: 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

Terrain ViewerTerrain Viewer

Ver Video Serra d’AireVer Video Voo do Falcon 20Ver Exemplo

Para mais detalhes ver página http://www.dgadv.com/dgtv

Page 9: 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

Star Force Academy

Ver Exemplo

Page 10: 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

Star Force – Game Engine1º Passo – Ambiente 3D, Articulações, Transformações

Ver Exemplo

Page 11: 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

Star Force – Game Engine(Outras Funcionalidades)

Luz Especular (que afecta o) Blending

Page 12: 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

Tiros

Page 13: 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

Colisões (dos tiros)

Page 14: 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

Cenário Distante

Page 15: 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

Cockpit Virtual

Page 16: 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

Multi – Identidades independentes

Page 17: 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

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

Page 18: 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

Um pouco do que isto é feito(programar jogos – os programas mais dificeis)

Programação

ComplicadaGeometria

Física

Computação

GráficaInterface

SomJoga

bilid

ade

AtractivoEstética, Sensibilidade

Inte

ligen

cia

Artific

ial

Motricidade Humana

Page 19: 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

Estrutura de um jogo de Estrutura de um jogo de simulaçãosimulação

Inicialização

Fim?

Sair

Ciclo de execuçãotemporizado 1/T = 15 fps

Simulação Física

Desenhar cena

Aplicar Controlo

Tocar sons

Page 20: 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

Geometria

xz

y

v

2

2.5

3

-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

Page 21: 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

2 Referenciais(exemplo de um simulador de voo)

xz

y

3

X’Y’

Z’

- Referencial 1 – Referencial de inercia (aeroporto)

- Referencial 2 – Referencial do corpo (avião)

Page 22: 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

2 Referenciais (Transformação de coordenadas)

x

y

3

X’Y’

Z’

Para desenhar p/exemplo a asa, quero transformar os pontos do referencial avião para o referencial aeroporto:

X

Y

Z

= X’

Y’

Z’

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

Px

Py

Pz

+

Page 23: 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

2 Referenciais – Física

xz

y

3

X’Y’

Z’

Lei de Newton:Acel.=Força/massa

Veloc=VelInit+Acel x T

Incremento na posição:

IncX=VelocX x TIncY=VelocY x TIncZ=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

Page 24: 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

Outras Ferramentas

• Quaterniõese0=(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

Page 25: 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

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.

Page 26: 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

Produto Interno - Exemplos

Page 27: 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

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.

Page 28: 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ção disponibilizada em http://www.dgadv.com/down