Escolar Documentos
Profissional Documentos
Cultura Documentos
Codificando em XNA
private Vector3 posicao = new Vector3(-200, 0, 0);
private Vector3 velocidade = new Vector3(1, 0, 0);
// vf = vi + I/m
velocidade += Impulso / massa;
if (envolucroEsfera1.Intersects(envolucroEsfera2))
{
audio.PlayCue("Bola");
CalculaVelocidades(esfera);
return true;
}
else
return false;
}
Codificando novas velocidades
private void CalculaVelocidades(Esfera esfera)
{
float produtoInversoMassas = 1.0f / (Massa + esfera.Massa);
Vector3 velocidade1Nova =
(
(coeficienteRestituicao + 1.0f)*esfera.Massa*esfera.Velocidade
+
Velocidade * (Massa - (coeficienteRestituicao * esfera.Massa))
) * produtoInversoMassas;
Vector3 velocidade2Nova =
(
(coeficienteRestituicao + 1.0f) * Massa * Velocidade
-
esfera.Velocidade*(Massa-(coeficienteRestituicao*esfera.Massa))
) * produtoInversoMassas;
Velocidade = velocidade1Nova;
esfera.velocidadeColisao = velocidade2Nova;
}
Demonstração
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)
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
Inteligência Artificial
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;
Lógica para definir lado da rotação
Implementando Perseguição
public void Chase(Asteroids.Asteroid asteroid)
{
// Calculate ship vector between ship and asteroid
Vector3 direction = asteroid.position - Position;
// Calculate direction
direction.Normalize();
Pendencias
Alterar a IA da nave de perseguicao
Esplicar o conceito de tomada de decisão
http://www.gamefestbrasil.net/