1 / 67

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

Introdução à Multimídia Profª.: Judith Kelner – jk@cin.ufpe.br Equipe: Aline Cristina Arruda de Medeiros - acam@cin.ufpe.br Breno Neil Felix Bezerra - bnfb@cin.ufpe.br Dayse Danielle Soares da Rocha - ddsr@cin.ufpe.br João Victor Guimarães de Lemos - jvgl@cin.ufpe.br. Motivação.

gina
Download Presentation

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

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Introdução à Multimídia Profª.: Judith Kelner – jk@cin.ufpe.br Equipe: Aline Cristina Arruda de Medeiros- acam@cin.ufpe.br Breno Neil Felix Bezerra - bnfb@cin.ufpe.br Dayse Danielle Soares da Rocha - ddsr@cin.ufpe.br João Victor Guimarães de Lemos - jvgl@cin.ufpe.br

  2. Motivação Física nos jogos tradicionais Objetos e personagens se comportam fisicamente de forma irreal Animações seguindo scripts Movimentos familiares Experiência de jogo não totalmente imersiva Falta de senso de realismo

  3. Objetivo Apresentar o conceito de Physics Processing Unit (PPU) Ilustrar como uma engine de física pode aumentar significativamente o grau de realismo e imersão dos jogos modernos

  4. Física em jogos Como os objetos se movem, interagem e reagem ao ambiente em volta Independente de suas representações gráficas Não é uma tarefa fácil Ambiente com computação intensiva Requer uma imensa quantidade de cálculos lógicos e matemáticos

  5. Física em Jogos (2) Propriedades dos materiais Leis de Newton Detecção de colisão Juntas e molas Fluidos Sistema de partículas Tecidos

  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 Vídeo Física: Propriedades dos materiais

  7. Força aplicada e aceleração Empurrar uma pedra Bola chutada por um jogador Ação e reação Reação de um personagem ao levar um tiro Localização do ferimento Ragdoll physics “Coice” da arma do atirador Efeito quase nunca modelado Física: Leis de Newton 7

  8. Física: Detecção de colisão Algoritmos para checar a interseção de posição de objetos Implementação a posteriori Simples Implementação a priori Considera a variável tempo Estável e fiel

  9. Objetos complexos Veículos Portas Movimento de personagens Física: Juntas e molas

  10. Efeito particularmente complexo de modelar Os efeitos precisam ser convicentes e rápidos Exemplos: Movimento de nuvens Sangue Movimento de rios e oceanos Física: Fluidos

  11. Simular um fenômeno expressivo através da simulação de componentes individuais O número de partículas simuláveis é função do poder computacional Exemplos: Fumaça Correntes, cachoeiras Explosões Física: Sistema de partículas

  12. Física: Sistema de partículas(2) 12

  13. Fenômeno varia de acordo com o tipo de tecido Material Mais leve, mais pesado Tecidos que rasgam e envelhecem naturalmente Vídeo Física: Tecidos

  14. A visão da Ageia do que é física em jogos Quatro partes distintas que devem ser resolvidas por hardware, software ou ambos Fidelidade Escalabilidade Interatividade Sofisticação Física avançada em jogos

  15. Física avançada em jogos (2)

  16. Representar com precisão o mundo real, com o maior nível possível de detalhes Deve ser feito usando um modelo matemático preciso Física avançada em jogos: Fidelidade

  17. A solução deve suportar um grande número de objetos físicos simultaneamente Exemplos: Num mundo totalmente destrutível, o número de objetos para rastrear aumenta exponencialmente Pingos de chuva interagindo com pessoas e vento Peças de um automóvel batendo Física avançada: Escalabilidade

  18. Cada objeto deve poder agir e reagir sobre qualquer outro objeto existente no ambiente Exemplos: Partículas voando numa explosão Tecidos rasgando Vidro se partindo ao sofrer impacto Física avançada: Interação

  19. Simular uma grande quantidade de fenômenos do mundo real Com um bom nível de detalhe Feito matematicamente ao invés de animações pré-moldadas Exemplos: Gravidade Deformações e elasticidade de objetos Atrito Física avançada: Sofisticação

  20. Exemplo de física em jogos: Corrida Atrito com a pista (materiais)‏ Colisão com outros carros e cenário (física newtoniana)‏ Trabalho de suspensão (juntas)‏ Aerodinâmica (fluidos)‏

  21. Problema x Solução Jogos com simulações físicas requerem cálculos de alta complexidade Elevado tempo de processamento para os cálculos Solução: Processador dedicado!

  22. CPU – Unidade Central de Processamento Divisão do processador entre diferentes tarefas IA e lógica Processamento paralelo insuficiente dos diversos objetos físicos Escalabilidade + Interação Algoritmos extremamente otimizados

  23. GPU - Unidade de Processamento Gráfico Faz a tarefa de renderização de gráficos Incorpora as funções de iluminação e transformação de vértices Liberou a CPU para outras funções

  24. GPU - Unidade de Processamento Gráfico 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

  25. PPU – Unidade de processamento Físico Processador dedicado à física Processa colisão, simulações de corpos rígidos, cabelos, grama, roupas e fluídos/líquidos de uma maneira 10/100 vezes mais rápida Ageia PhysX PPU NVIDA comprou a AGEIA

  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 26

  27. AGEIA PhysX SDK Middleware físico Criação de ambientes físicos dinâmicos nas principais plataformas de jogo 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

  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 28

  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 29

  30. Arquitetura do PhysX Engine 30

  31. Arquitetura do PhysX Engine(2) 31 • PhysX SDK implementado em C++ • Organizado como uma hierarquia de classes • Cada classe contendo alguma funcionalidade acessível pelo usuário implementa uma interface • Nomes de interfaces sempre começam com “Nx”

  32. Arquitetura do PhysX Engine:World 32 Classe usada para instanciar objetos e setar parâmetros globais que afetam todas as cenas Para obter uma instância dessa clase, deve-se chamar o método NxCreatePhysicsSDK()

  33. Arquitetura do PhysX Engine:Scene 33 Conjunto de corpos, restrições e efeitos Interação só entre objetos de mesma cena Um World engloba várias Scenes

  34. Arquitetura do PhysX Engine:Scene(2) 34 • Exemplo de criação de uma cena • Criando uma instância de Cena • Criando um material para inserir possíveis objetos na cena • Criando o chão, para que objetos atraídos pela gravidade caiam e não desapareçam

  35. Arquitetura do PhysX Engine:Scene(3) 35

  36. Arquitetura do PhysX Engine:Actor 36 • Entidade criada por uma cena e pertencente a ela • Atores estáticos • Elementos de paisagem: Prédios, árvores... • Não possuem atributos físicos • Detecção de colisão • Atores dinâmicos • Chamados de corpos • Possuem um conjunto de propriedades físicas

  37. Arquitetura do PhysX Engine: SHAPES

  38. Arquitetura do PhysX Engine: MATERIAL

  39. Arquitetura do PhysX Engine:JOINTS • Conexões entre corpos rígidos • Ponto em comum • Rotação • Transação • São classificados em diversas categorias: Esférica, Cilíndrica, Prismática, Ponto no plano, Ponto na linha...

  40. Joints • Revolute • Spherical

  41. Joints • Cylindrical • Prismatic

  42. Joints • Distance • Fixed

  43. Joints • Point on line • Point in plane

  44. Joints • Pulley

  45. Joints • Conceitos Adicionais • Joint Limits • Breakable Joints • Joint Motor • Joint Spring

  46. PhysX nos Jogos Principal uso do physX Movimentação dos objetos de forma mais real Explosões, colisões e movimentação de objetos geram poera e resíduos Fluidos com física bem elaborada Tecidos e vegetações interagem com o jogador e ambiente

  47. PhysX nos Jogos - Vídeos Cell Factor Explosões Unreal Coliões e poeira Fluidos RAW 2

  48. Cena sem PhysX

  49. Cena com PhysX

  50. Ferramentas de desenvolvimento

More Related