57
1 Introdução à Multimídia Profª.: Judith Kelner – [email protected] Equipe: Caio Lira - [email protected] Guilherme Dantas - [email protected] Hugo Calazans - [email protected] Lauro Moura - [email protected] Rodolfo Saturnino - [email protected]

Introdução à Multimídia Profª.:Judith Kelner – [email protected]

  • Upload
    edena

  • View
    102

  • Download
    0

Embed Size (px)

DESCRIPTION

Introdução à Multimídia Profª.:Judith Kelner – [email protected] Equipe:Caio Lira - [email protected] Guilherme Dantas - [email protected] Hugo Calazans - [email protected] Lauro Moura - [email protected] Rodolfo Saturnino - [email protected]. Motivação. Cenário dos jogos de hoje - PowerPoint PPT Presentation

Citation preview

Page 1: Introdução à Multimídia Profª.:Judith Kelner –  jk@cin.ufpe.br

1

Introdução à MultimídiaProfª.: Judith Kelner – [email protected]

Equipe: Caio Lira - [email protected] Dantas - [email protected] Calazans - [email protected] Moura - [email protected] Saturnino - [email protected]

Page 2: Introdução à Multimídia Profª.:Judith Kelner –  jk@cin.ufpe.br

2

Motivação

Cenário dos jogos de hoje Objetos não se comportam de forma realista Ação limitada a animações regidas por scripts Exemplos:

Explosões grandiosas não provocam danos significativos ao cenário

Oponentes mortos caem de maneira similar e pouco natural

Page 3: Introdução à Multimídia Profª.:Judith Kelner –  jk@cin.ufpe.br

3

Objetivo

Apresentar o conceito de processador de física

Ilustrar como uma engine de física pode aumentar significativamente o grau de realismo e imersão dos jogos modernos

Page 4: Introdução à Multimídia Profª.:Judith Kelner –  jk@cin.ufpe.br

4

O que é a Física?

Como os objetos se movem e interagem Em termos de movimento (posição + velocidade)

e forma Independe da representação gráfica

Uma quantidade tremenda de cálculos matemáticos e lógicos sobre grande quantidade de dados

flashplayer.xpt

Page 5: Introdução à Multimídia Profª.:Judith Kelner –  jk@cin.ufpe.br

5

Física em Jogos

Propriedades dos materiais Dinâmica de corpos rígidos Detecção de colisão Juntas e molas Fluidos Sistema de partículas Tecidos

Page 6: Introdução à Multimídia Profª.:Judith Kelner –  jk@cin.ufpe.br

6

Fricção Dirigir na chuva Piso molhado

Dureza Amortecimento de impacto

Tipos de quadra de tênis

Rompimento sob pressão ou tração

Física: Propriedades dos materiais

Page 7: Introdução à Multimídia Profª.:Judith Kelner –  jk@cin.ufpe.br

7

Física: Dinâmica de corpos rígidos e detecção de colisão Física Newtoniana Colisão entre objetos

Cartuchos caindo após tiro Caixas caindo Avalanche de pedras

Page 8: Introdução à Multimídia Profª.:Judith Kelner –  jk@cin.ufpe.br

8

Objetos complexos Veículos Portas Movimento de personagens

Física: Juntas e molas

Page 9: Introdução à Multimídia Profª.:Judith Kelner –  jk@cin.ufpe.br

9

Uma das partes mais pesadas em termos de computação

Interage com objetos dinâmicos, empurrando-os e mudando de forma

Exemplos: Água Sangue...

Física: Fluidos

Page 10: Introdução à Multimídia Profª.:Judith Kelner –  jk@cin.ufpe.br

10

Page 11: Introdução à Multimídia Profª.:Judith Kelner –  jk@cin.ufpe.br

11

Como fluidos, só que mais “inteligentes” Interagem com outras características do

ambiente Fumaça sobe para o teto até encontrar uma saída

Física: Sistema de partículas

Page 12: Introdução à Multimídia Profª.:Judith Kelner –  jk@cin.ufpe.br

12

Movimento de acordo com o tipo do tecido Mais leve, mais pesado

Rasgar em pedaços de acordo com o tipo de tecido

Física: Tecidos

Page 13: Introdução à Multimídia Profª.:Judith Kelner –  jk@cin.ufpe.br

13

Simulação em tempo real Fidelidade Escalabilidade Interatividade Sofisticação

Física avançada em jogos

Page 14: Introdução à Multimídia Profª.:Judith Kelner –  jk@cin.ufpe.br

14

Física avançada em jogos

Page 15: Introdução à Multimídia Profª.:Judith Kelner –  jk@cin.ufpe.br

15

Representação visual de acordo com o que aconteceria na realidade

Modelo matemático preciso

Física avançada: Fidelidade

Page 16: Introdução à Multimídia Profª.:Judith Kelner –  jk@cin.ufpe.br

16

Processamento de milhares de partículas interagindo entre si e outros objetos

Exemplos: Poeira Fumaça Chuva Peças de um veículo batendo

Física avançada: Escalabilidade

Page 17: Introdução à Multimídia Profª.:Judith Kelner –  jk@cin.ufpe.br

17

Ação e reação entre objetos na cena Exemplos:

A água de um hidrante batendo contra um carro Vidro quebrando ao cair no chão Roupa se rasgando em pedaços

Física avançada: Interação

Page 18: Introdução à Multimídia Profª.:Judith Kelner –  jk@cin.ufpe.br

18

Nível de detalhe alcançado pela simulação Tipos de interação possíveis Exemplos:

Deformações e fraturas Juntas flexíveis Atrito

Física avançada: Sofisticação

Page 19: Introdução à Multimídia Profª.:Judith Kelner –  jk@cin.ufpe.br

Exemplo de física em jogos: Corrida

19

Atrito com a pista (materiais)

Colisão com outros carros e cenário (física newtoniana)

Trabalho de suspensão (juntas)

Aerodinâmica (fluidos)

Page 20: Introdução à Multimídia Profª.:Judith Kelner –  jk@cin.ufpe.br

Vídeo: Jogos de Caminhão

Boa física: Rigs of Rods http://www.youtube.com/watch?v=TR9jqGv05H4

Péssima física: Big Rigs http://www.youtube.com/watch?v=mB1zWEhgrLs

20

Page 21: Introdução à Multimídia Profª.:Judith Kelner –  jk@cin.ufpe.br

21

Física calculada ainda através da CPU 1/6 do tempo gasto com física

Tentativa de adaptação das GPU's

Cenário Atual

Page 22: Introdução à Multimídia Profª.:Judith Kelner –  jk@cin.ufpe.br

22

Necessidade de algoritmos extremamente otimizados

Divisão do processador entre diferentes tarefas IA e lógica

Processamento paralelo insuficiente dos diversos objetos físicos Escalabilidade + Interação

Abordagens – CPUs de propósito geral

Page 23: Introdução à Multimídia Profª.:Judith Kelner –  jk@cin.ufpe.br

23

Banda de memória limitada Limita o número de objetos na cena

Pipeline específico para gráficos Dificulta o mapeamento de algoritmos físicos

Abordagens - GPUs

Page 24: Introdução à Multimídia Profª.:Judith Kelner –  jk@cin.ufpe.br

24

Alternativa – Ageia PhysX PPU Primeiro processador dedicado a física

Physics Processor Unit AGEIA

Page 25: Introdução à Multimídia Profª.:Judith Kelner –  jk@cin.ufpe.br

25

Foca especialização de cada unidade de processamento

AGEIA PhysX PPU

Page 26: Introdução à Multimídia Profª.:Judith Kelner –  jk@cin.ufpe.br

26

Alta velocidade interna – 2 Tbits/s Hardware preparado para tipos de dados e

algoritmos específicos de cálculos físicos Multicore

Paralelismo

PhysX PPU

Page 27: Introdução à Multimídia Profª.:Judith Kelner –  jk@cin.ufpe.br

27

O que é o PhysX SDK?

Uma engine para física de tempo-real em jogos Utiliza variáveis como massa, velocidade, atrito e

resistência do ar para cálculos físicos Auxilia aplicações multimídia Simula e prevê efeitos sob diferentes condições

que se aproximam da vida real

Page 28: Introdução à Multimídia Profª.:Judith Kelner –  jk@cin.ufpe.br

28

O que o PhysX SDK não faz

Não é uma ferramenta de renderização Não simula sons Necessita de outra biblioteca para montar as

cenas DirectX OpenGL

Page 29: Introdução à Multimídia Profª.:Judith Kelner –  jk@cin.ufpe.br

29

Utilizando o PhysX SDK

Duas formas de funcionamento Utilizando apenas o processador do computador

Desempenho ruim Emulação Não suporta a totalidade dos efeitos

Utilizando a PPU PhysX Bom desempenho Suporta todos os efeitos

Page 30: Introdução à Multimídia Profª.:Judith Kelner –  jk@cin.ufpe.br

30

Comparativo de Desempenho

Page 31: Introdução à Multimídia Profª.:Judith Kelner –  jk@cin.ufpe.br

31

Comparativo: Cena sem PhysX

Page 32: Introdução à Multimídia Profª.:Judith Kelner –  jk@cin.ufpe.br

32

Comparativo: Cena com PhysX

Page 33: Introdução à Multimídia Profª.:Judith Kelner –  jk@cin.ufpe.br

33

PhysX nos Jogos

Movimentação dos objetos mais real Física dos fluidos melhor elaborada Explosões geram poeira e resíduos Personagens com geometria complexa e

movimentação mais real Vegetação e tecidos são elementos ativos e

interagem com jogador e ambiente

Page 34: Introdução à Multimídia Profª.:Judith Kelner –  jk@cin.ufpe.br

34

Movimentação de Objetos

Vídeo

Page 35: Introdução à Multimídia Profª.:Judith Kelner –  jk@cin.ufpe.br

35

Fluidos

Vídeo 1Vídeo 2Vídeo 3

Page 36: Introdução à Multimídia Profª.:Judith Kelner –  jk@cin.ufpe.br

36

Poeira e Resíduos

Vídeo

Page 37: Introdução à Multimídia Profª.:Judith Kelner –  jk@cin.ufpe.br

37

Movimentação de Personagens

Vídeo

Page 38: Introdução à Multimídia Profª.:Judith Kelner –  jk@cin.ufpe.br

38

Vegetação e Tecidos

Vídeo 1Vídeo 2

Page 39: Introdução à Multimídia Profª.:Judith Kelner –  jk@cin.ufpe.br

39

Ambiente de desenvolvimento

Page 40: Introdução à Multimídia Profª.:Judith Kelner –  jk@cin.ufpe.br

40

PhysX Create Inclui plugins para 3DS Max e Maya Adiciona física aos objetos do jogo Criação e edição avançada de rag-doll Criação de efeitos nos panos

Ambiente de desenvolvimento

Page 41: Introdução à Multimídia Profª.:Judith Kelner –  jk@cin.ufpe.br

41

PhysX VRD Debugger visual remoto em tempo real Reproduz a simulação PhysX para debug

interativo Capaz de parar em qualquer ponto a simulação Conexão via TCP/IP para PC, Xbox 360, e PS3

runtime

Ambiente de desenvolvimento

Page 42: Introdução à Multimídia Profª.:Judith Kelner –  jk@cin.ufpe.br

42

PhysX Rocket Permite visualização e ajuste Modular e extensível, permitindo aos

desenvolvedores customizar para adequar às suas próprias necessidades

Ambiente ideal para a criação, visualização e ajuste de modelos para componentes complexos como fluidos e veículos por exemplo

Ambiente de desenvolvimento

Page 43: Introdução à Multimídia Profª.:Judith Kelner –  jk@cin.ufpe.br

43

AGEIA APEX Adaptive Physics Extensions Nova plataforma de desenvolvimento Implementações mais fáceis Física mais real, robusta e imersiva

Ambiente de desenvolvimento

Page 44: Introdução à Multimídia Profª.:Judith Kelner –  jk@cin.ufpe.br

44

AGEIA APEX

Ambiente de desenvolvimento

Page 45: Introdução à Multimídia Profª.:Judith Kelner –  jk@cin.ufpe.br

45

AGEIA APEX Pipeline Offload

Conjunto de modificações na engine física Otimização do código em execução no jogo Melhor performance Melhor uso dos recursos computacionais

Ambiente de desenvolvimento

Page 46: Introdução à Multimídia Profª.:Judith Kelner –  jk@cin.ufpe.br

46

AGEIA APEX Verticals são exemplos de cenários pré-

projetados de simulações físicas Feitos para a fácil integração com as novidades

do mercado Exemplos:

Emissões de partículas e explosões customizáveis

Ambiente de desenvolvimento

Page 47: Introdução à Multimídia Profª.:Judith Kelner –  jk@cin.ufpe.br

47

AGEIA APEX Scaling Level of Detail

Dimensionamento integrado que permite aos eventos físicos se adequarem à capacidade de processamento da plataforma

Um único evento físico (como a destruição de um vidro) pode ter seus detalhes ajustados sem nenhum esforço adicional de implementação

Ambiente de desenvolvimento

Page 48: Introdução à Multimídia Profª.:Judith Kelner –  jk@cin.ufpe.br

48

Custo de desenvolvimento

Preço Caso seja dado suporte às placas PhysX da

AGEIA Free

Caso contrário U$ 50,000

Esforço para a integração 2538 linhas de código

Page 49: Introdução à Multimídia Profª.:Judith Kelner –  jk@cin.ufpe.br

49

Vantagens

Rápido em tempo de execução Na presença de uma PPU PhysX

Full featured Código base estável

Page 50: Introdução à Multimídia Profª.:Judith Kelner –  jk@cin.ufpe.br

50

Desvantagens

Benefícios exclusivos para máquinas com a PhysX PPU

Diferentes formatos de arquivo para Max e Maya

Page 51: Introdução à Multimídia Profª.:Judith Kelner –  jk@cin.ufpe.br

51

Plataformas compatíveis

Windows Linux

Sem aceleração de hardware Videogames

Sony Playstation 3

Page 52: Introdução à Multimídia Profª.:Judith Kelner –  jk@cin.ufpe.br

52

Concorrentes

Havok SDK Principal concorrente do PhysX Desenvolvido por uma companhia irlandesa

desde 2000 Utilizado em mais de 150 jogos

Half-life 2 Deadrising

Page 53: Introdução à Multimídia Profª.:Judith Kelner –  jk@cin.ufpe.br

53

Concorrentes

NVIDIA GeForce 8 Series GPU com unidade PPU acoplada Quantum Effects Technology

Nova tecnologia aceleradora de física Newtoniana

API CUDA Compute Unified Device Architecture Oferece uma API low e high-level para a GPU Programação em C ou alternativamente Assembly

Page 54: Introdução à Multimídia Profª.:Judith Kelner –  jk@cin.ufpe.br

54

Mercado

Aumento da representatividade da marca no mercado

Empresas líderes em desenvolvimento de jogos têm se especializado na utilização do AGEIA PhysX SDK

Crescente número de jogos utilizando a engine

Page 55: Introdução à Multimídia Profª.:Judith Kelner –  jk@cin.ufpe.br

55

Trailers Demonstrativos

Trailer 1 Trailer 2

Page 56: Introdução à Multimídia Profª.:Judith Kelner –  jk@cin.ufpe.br

56

Dúvidas

Page 57: Introdução à Multimídia Profª.:Judith Kelner –  jk@cin.ufpe.br

57

Referências

http://www.matthiasmueller.info/ http://personal.inet.fi/atk/kjh2348fs/

ageia_physx.html http://www.ageia.com/physx/ http://en.wikipedia.org/wiki/PhysX http://en.wikipedia.org/wiki/

Physics_processing_unit Seminário sobre este tema