Introdução às Game Engines

1,031 views

Published on

Aula introdutória da disciplina Engines nos Jogos e na Computação Gráfica I, do curso de Tenologia em Jogos Digitais da Universidade FUMEC

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,031
On SlideShare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
47
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Introdução às Game Engines

  1. 1. Graduação Tecnológica em Jogos Digitais Universidade FUMEC Jerry Medeiros
  2. 2. O que é?• Conjunto de ferramentas que dão suporte à criação de jogos.• É um software com diversos módulos que permitem o desenvolvimento de jogos de diversos gêneros e para muitas plataformas.
  3. 3. Funções Principais das Games Engines• Renderização 2D e 3D;• Detecção de Colisões ;• Scripts ;• Audio e Video;• Animação;• Shaders e Iluminação;• Redes;• Física ;• Inteligência Artificial;• Edição de Nível.
  4. 4. Grafo de Cena :Define dentro da engine derenderização onde serãoposicionados os objetostanto fisicamente quantologicamente.Árvore: HierárquicoGrafo: Não Hierárquico
  5. 5. Organização de Um Grafo de cena:• Raiz;• Nós;• Relação de parentesco.
  6. 6. Organização de Um Grafo de Cena:• Três tipos básicos de nós : • Forma • Propriedade • Grupo• Todos possuem atributos;• Alguns controlam outros nós.
  7. 7. Grafo de Cena : Forma/GeometriaDefine uma entidade geométrica 3D :• Ponto• Vetor• Polígono• Primitiva • Esfera • Cone • Cilindro • Caixa • Curvas e superfícies (NURBS)
  8. 8. Grafo de Cena : Propriedades• Cor (material e fonte de luz);• Material (componentes de reflexão);• Brilho ;• Transparência;• Texturas;• Transformações; • Escala; • Rotação; • Translação.
  9. 9. Pipeline Gráfico O pipeline gráfico é um conjunto de etapas realizadas pelo hardware para renderizar uma imagem, a partir dos parâmetros do grafo da cena. Eliminação dosMalha de Transformação objetos fora do Imagem RasterizaçãoPolígonos dos Dados volume de Renderizada visão
  10. 10. CullingCulling é o processo de eliminação de dadosque não contribuem para a imagem final.
  11. 11. Backface Culling• No nível do polígono;• Implementado no hardware;• Diminui a complexidade do grafo pela metade.
  12. 12. Frustrum Culling• Elimina objetos inteiros;• Comparação entre dimensões do objeto e do frustrum.
  13. 13. Frustrum Culling• Objetos totalmente incluídos no frustrum entram no pipeline gráfico;• Objetos parcialmente incluídos no frustrum podem sair do pipeline, entrar completamente ou entrar parcialmente;• Objetos totalmente exluídos do frustrum são eliminados do pipeline.
  14. 14. Occlusion CullingObjetos encobertos por outros são eliminados dopipeline.
  15. 15. LOD - Level Of DetailA técnica de LOD é utilizada como umaotimização para a renderização. Em projeçõesem perspectiva, quanto maior é a distância deum objeto em relação ao observador, menor éo seu Tamanho.
  16. 16. LOD – Level Of DetailCada filho do nó representa o mesmo objeto emresoluções diferentes.
  17. 17. ComponentesEngine de Renderização:A engine de renderização geralmente éconstruída sobre openGL ou DirectX e geraimagens em tempo real a partir dos assetscontroladas pelo grafo da cena, interagindodiretamente com a GPU.
  18. 18. ComponentesColisões• A Detecção de colisões é geralmente calculada com base na interseção de dois sólidos;• Planos;• Esferas;• Tubos ;• Poligonos;• São gerados eventos em resposta às colisões.
  19. 19. ComponentesScripts• As Engines de script geralmente usam linguagens interpretadas (Python, Javascript...);• As linguagens interpretadas permitem que o código escrito pelo desenvolvedor do jogo não dependa do código fonte da engine.
  20. 20. ComponentesAnimações• Engines de Animação gerenciam as animações dos objetos no grafo da cena.• Podem ser variações de rotação, posição e escala ou animações mais complexas tais quais as que utilizam esqueletos.
  21. 21. ComponentesShading•A Engine de Sombreamento e Iluminação calculaas sombras e os shaders, que são aplicados pelaengine de renderização nos objetos do grafo dacena.
  22. 22. ComponentesRede• A Engine de Redes gerencia a comunicação entre computadores, seja ela Peer to Peer, Cliente-Servidor ou Distribuída.
  23. 23. ComponentesFísica• A Engine de física é responsável por tratar o comportamento de objetos com base em colisões.• Simula e prever a dinâmica de modelos físicos, corpos rígidos, flexíves e flúidos.
  24. 24. Como escolher uma engineOs níveis de uma game engine influenciamdiretamente no custo: •Engines de MMO; •Engines Top de Linha; •Engines "Na média”; •Engines Casuais; •Engines OpenSource.
  25. 25. Como escolher uma engine•Crie o Game Design Document;•Esboçe um Documento Técnico;•Crie o Projeto de Desenvolvimento do Jogo; Aí sim, escolha a engine!!!!
  26. 26. Questões a se considerar• Custo ;• Relevância para a plataforma, gênero, design;• Suporte ;• Funcionalidades;• Ferramentas;• Flexibilidade.
  27. 27. Como escolher uma engine• Plataformas - MMO, PC standalone, console,dispositivos móveis, web• Gênero - Procure por jogos similares e pesquise emqual engines foram desenvolvidos• Design - O que é mais importante? Gráficos,interações, física ?
  28. 28. Como escolher uma engineSuporte •Documentação; •Suporte ao trabalho em equipe; •Exemplos e tutoriais.
  29. 29. Como escolher uma engineFuncionalidades • Systema Multithread; • Pipeline de renderização; • Sistema de Animação; • Detecção de Colisões; • Sistema de Streaming de áudio e vídeo; • Suporte a Rede.
  30. 30. Engines MMO•BigWorld Technology Suite;•Simutronics HeroEngine;•Suns Project Darkstar.
  31. 31. Engines Top de Linha• Epics Unreal Engine 3;• Cryteks CryEngine 3;• Digital Extremes Evolution Engine;• ids idTech 4/5/6;• Valves Source.
  32. 32. Engines Casuais e Web•Unity Technologies Unity;•Garage Gamess Torque;•PushButton Engine (Para Flash);•jMonkey Engine (Java).
  33. 33. Engines “Na média”•Emergents GameBryo•Terminal Realitys Infernal Engine•Blitz Games BlitzTech•Trinigys Vision Engine•Vicious Cycles Vicious Engine
  34. 34. Engines OpenSource•Irrlicht;•Ogre3D;•Panda3D.
  35. 35. Como escolher uma engine• Existem MUITAS engines• Planeje o que fazer antes de decidir em que engine fazer• Cada engine tem características únicas: • Analise o jogo; • fale com outros usuários; • baixe exemplos.
  36. 36. As engines são um meio, e não o fim.

×