Simulação de Física em Games 
Nilson Souto - xissburg - Twitter @xissburg - http://xissburg.com
Conteúdo 
•Fenômenos físicos que nos interessam 
•Engines de Física 
•Simulação de Partículas 
•Simulação de Corpos Rígido...
Fenômenos Físicos 
•Diversos fenômenos físicos podem simulados 
em um computador 
•No caso dos jogos, em geral, apenas nos...
Engine de Física 
•Engines de física são softwares que simulam o 
movimento de objetos de acordo com as leis 
da física 
•...
Engine de Física 
Criar e configurar 
Step 
objetos Aplicar forças 
Atualizar velocidade 
e posição 
Detectar colisões 
Re...
Engine de Física 
•Após criar os objetos, iniciamos o main loop da 
simulação 
•Em cada iteração fazemos um passo na 
simu...
Simulação de Partículas 
•Partículas possuem posição, velocidade linear, 
massa e reagem à forças 
•Partículas possuem vol...
Simulação de Partículas 
•Posição, velocidade e força são grandezas 
vetoriais geralmente de 2 ou 3 dimensões 
•Vetores sã...
Simulação de Partículas 
•Em 3 dimensões: 
y 
x 
x1 
y1 
v = (x1, y1, z1) 
z1 z 
O
Simulação de Partículas 
• pi 
: posição da i-ésima partícula 
• vi 
: velocidade da i-ésima partícula 
• fi 
: força apli...
Simulação de Partículas 
•Algoritmo 
for i in [1, n] do 
pi = p0i 
vi = v0i 
end 
loop 
for i in [1, n] do 
fi = ComputeFo...
Simulação de Partículas 
pi 
vi 
t0 t1 
fi 
t2
Simulação de Corpos Rígidos 
•Um corpo rígido é uma idealização de um 
sólido em que suas deformações podem ser 
ignoradas...
Simulação de Corpos Rígidos 
Centro de Massa 
p 
v 
!
Simulação de Corpos Rígidos 
•O Centro de Massa é o ponto médio da 
distribuição da massa de um corpo 
! 
! 
R = 
1 
M 
Z ...
Simulação de Corpos Rígidos 
•A posição do Centro de Massa é a considerada 
posição do corpo rígido 
•A rotação é um ângul...
Simulação de Corpos Rígidos 
•O momento de inércia é o análogo da massa 
para a rotação 
•Determina o quão rápido um corpo...
Simulação de Corpos Rígidos 
•Exemplos de momento de inércia: 
w 
h I = 
m(h2 + w2) 
12 
r 
I = 
mr2 
2 
p0 
p1 
p2 p3 
p4...
Game physics
Game physics
Game physics
Game physics
Game physics
Game physics
Game physics
Game physics
Game physics
Game physics
Game physics
Game physics
Game physics
Game physics
Game physics
Game physics
Game physics
Game physics
Game physics
Game physics
Próximos SlideShares
Carregando em…5
×

Game physics

253 visualizações

Publicada em

Physics simulation in games.

Publicada em: Tecnologia
0 comentários
0 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

Sem downloads
Visualizações
Visualizações totais
253
No SlideShare
0
A partir de incorporações
0
Número de incorporações
3
Ações
Compartilhamentos
0
Downloads
8
Comentários
0
Gostaram
0
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Game physics

  1. 1. Simulação de Física em Games Nilson Souto - xissburg - Twitter @xissburg - http://xissburg.com
  2. 2. Conteúdo •Fenômenos físicos que nos interessam •Engines de Física •Simulação de Partículas •Simulação de Corpos Rígidos •Constraints •Colisões •Alguns Engines Populares
  3. 3. Fenômenos Físicos •Diversos fenômenos físicos podem simulados em um computador •No caso dos jogos, em geral, apenas nos interessam a Mecânica •A Mecânica de Newton é suficiente •Leis de Newton: •Inércia •F = ma •Ação e Reação
  4. 4. Engine de Física •Engines de física são softwares que simulam o movimento de objetos de acordo com as leis da física •Não possuem representação gráfica internamente •O resultado da simulação pode ser usado para criar a animação procedural de objetos representados graficamente
  5. 5. Engine de Física Criar e configurar Step objetos Aplicar forças Atualizar velocidade e posição Detectar colisões Resolver constraints Exibir resultado
  6. 6. Engine de Física •Após criar os objetos, iniciamos o main loop da simulação •Em cada iteração fazemos um passo na simulação proporcional ao intervalo de tempo que passou entre a iteração anterior e a atual, conhecido como delta-time ou time-step •Após cada passo, obtemos as novas posições e velocidades para cada objeto, e assim podemos redesenhar a cena
  7. 7. Simulação de Partículas •Partículas possuem posição, velocidade linear, massa e reagem à forças •Partículas possuem volume infinitamente próximo de zero •Partículas não rotacionam •Relativamente simples de simular várias partículas se movimentando e reagindo aos efeitos de forças quaisquer
  8. 8. Simulação de Partículas •Posição, velocidade e força são grandezas vetoriais geralmente de 2 ou 3 dimensões •Vetores são objetos geométricos que possuem comprimento e apontam numa direção y y1 v = (x1, y1) x x1 O
  9. 9. Simulação de Partículas •Em 3 dimensões: y x x1 y1 v = (x1, y1, z1) z1 z O
  10. 10. Simulação de Partículas • pi : posição da i-ésima partícula • vi : velocidade da i-ésima partícula • fi : força aplicada na i-ésima partícula • mi : massa da i-ésima partícula
  11. 11. Simulação de Partículas •Algoritmo for i in [1, n] do pi = p0i vi = v0i end loop for i in [1, n] do fi = ComputeForce(i) vi = vi + (fi/mi)dt pi = pi + vidt end end
  12. 12. Simulação de Partículas pi vi t0 t1 fi t2
  13. 13. Simulação de Corpos Rígidos •Um corpo rígido é uma idealização de um sólido em que suas deformações podem ser ignoradas •Pode ser simulado de forma semelhante à partícula •Possui volume, forma fixa, e pode rotacionar •Temos que considerar o momento de inércia, orientação, torque e velocidade angular
  14. 14. Simulação de Corpos Rígidos Centro de Massa p v !
  15. 15. Simulação de Corpos Rígidos •O Centro de Massa é o ponto médio da distribuição da massa de um corpo ! ! R = 1 M Z V ⇢(r)rdV ! •M é a massa total do corpo, r é o vetor posição de um ponto do corpo, V é o volume do corpo, e ρ é a função densidade do corpo, onde ρ(r) = m(r)/v(r)
  16. 16. Simulação de Corpos Rígidos •A posição do Centro de Massa é a considerada posição do corpo rígido •A rotação é um ângulo em radianos em 2D •A velocidade do Centro de Massa é a velocidade do corpo •A velocidade angular ω é um escalar em 2D (radianos por segundo)
  17. 17. Simulação de Corpos Rígidos •O momento de inércia é o análogo da massa para a rotação •Determina o quão rápido um corpo ganha ou perde velocidade angular ao receber um torque •Em 2D o momento de inércia é um escalar com unidade kgm2 que é calculado a partir da massa e da forma do corpo I = Z V ⇢(r) r2 dV
  18. 18. Simulação de Corpos Rígidos •Exemplos de momento de inércia: w h I = m(h2 + w2) 12 r I = mr2 2 p0 p1 p2 p3 p4 p5 p6 I = m 6 NP

×