Carregar apresentação
A apresentação está carregando. Por favor, espere
1
4/12/2017 2:27 AM 1
2
Física e Inteligência Artificial para jogos utilizando XNA
4/12/2017 2:27 AM Física e Inteligência Artificial para jogos utilizando XNA Nome Roger Tang Empresa GLU Mobile
3
Agenda Física Inteligência Artificial Primeira lei de Newton
Modelando Velocidade, Atrito e Aceleração Impulso e Quantidade de Movimento Colisão e Conservação de energia Exemplo Engines de Física Inteligência Artificial Chase – Perseguição Evade – Fuga Exemplos
4
Física
5
Conceito de amostragem
É necessário armazenar o tempo transcorrido entre duas amostragens para efetuar uma simulação física. A amostragem temporal do jogo (Frames por segundo) não é contínua. A variação temporal entre duas interações de “Update” não pode ser considerada 1 e deve ser calculada a cada interação O XNA possui a classe auxiliar GameTime que permite calcular o tempo transcorrido entre duas interações
6
Primeira Lei de Newton Lei da Inércia Modelo
Na ausência de forças, um corpo em repouso continua em repouso, e um corpo em movimento, continua em movimento retilíneo uniforme (MRU). Modelo Em uma simulação onde existe uma esfera rolando sobre uma superfície a força que faz com que o corpo desacelere e perca velocidade é a força de atrito. Esta força é contrária ao vetor velocidade. velocidade atrito
7
4/12/2017 2:27 AM Demonstração
8
Modelando Velocidade em XNA
A velocidade é a derivada do espaço no tempo Codificando em XNA
9
Modelando Atrito em XNA
O atrito é força contrária ao movimento velocidade atrito
10
Modelando Aceleração em XNA
A aceleração é a derivada da velocidade no tempo Codificando em XNA
11
Impulso e Quantidade de Movimento
Para o caso do exemplo anterior, como a aceleração é constante, a velocidade cresce exponencialmente a cada ciclo de “Update”. Logo a velocidade tende ao infinito. Como queremos apenas alterar a velocidade em um curto espaço de tempo, vamos aplicar um Impulso No nosso modelo vamos aplicar o Impulso no intervalo de tempo de apenas um ciclo de “Update”. Desta forma assim que processarmos a nova velocidade vamos zerar o valor do impulso. Para o nosso exemplo, o Impulso continuará sendo aplicado enquanto o botão do “gamepad” estiver sendo pressionado
12
Modelando Impulso em XNA
O Impulso é aplicado em apenas em ciclo de update
13
Colisão e Conservação de Energia
Conservação da Energia Cinética. A soma da energia antes da colisão é igual a Energia depois da colisão Conservação do Momento Coeficiente de Restituição. É a medida de quanto uma colisão é Elástica ou Inelástica
14
Resolvendo as velocidades finais
Desta forma as novas velocidades depois da colisão são dadas por:
15
Detectando Colisão Cria-se uma esfera envolvendo a malha e verifica se uma esfera intercepta a outra
16
Codificando novas velocidades
17
4/12/2017 2:27 AM Demonstração
18
Engines de Física – Open Source
Open Source Engines Box2D Physics Engine - Engine 2D Bullet – Multarefa, colisão 3D e Dynamic Rigid Body ODE (Open Dynamics Engine) - Dynamic Rigid Body OPAL (Open Physics Abstraction Layer) PAL (Physics Abstraction Layer ) Tokamak Game Physics Farseer Physics Engine (engine 2D para Microsoft XNA e Silverlight)
19
Engines de Física – Profissinais
PhysX – Nvidia – build-in editor, graficos Direct X e som, vertex based Phyz Torque X – Garage Games Newton Game Dynamics Phun 2D Physics Sandbox Havok AgX Multiphysics (software) Working Model
20
Inteligência Artificial
21
4/12/2017 2:27 AM Chase - Perseguição O conceito de perseguição consiste em direcionar o agente para o alvo e iniciar a perseguição Vector3 direction = A.position – B.Position;
22
Lógica para definir lado da rotação
23
Implementando Perseguição
24
Exemplo de Busca e Perseguição
25
Evade - Fuga O conceito de fuga consiste em direcionar o agente para a posição oposta ao alvo Vector3 posicaoFuga = 2 * A.posicao - B.posicao;
26
Exemplo de Busca e Perseguição
27
Estados da IA Vagando Capturando Fugindo Capturado
28
Outras técnicas de IA Sterring Behaviours Redes Neurais Logica Fuzzy
Chase and Evade Wander ... Redes Neurais Logica Fuzzy Pendencias Alterar a IA da nave de perseguicao Esplicar o conceito de tomada de decisão para tiro do exemplo do asteroide Explicar a IA do exemplo de perseguição
29
http://www.gamefestbrasil.net/ 4/12/2017 2:27 AM
© 2008 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
Apresentações semelhantes
© 2024 SlidePlayer.com.br Inc.
All rights reserved.