1 / 29

Arthur Gon çalves Christian Diego Eudes Raphael Icamaan Botelho

Arthur Gon çalves Christian Diego Eudes Raphael Icamaan Botelho. PANDA 3D. Introdução Características Desenvolvimento com Panda Exemplos Exercício. Introdução. Panda3D é uma 3D Engine : - Rápido desenvolvimento - Baixa curva de aprendizado

amber
Download Presentation

Arthur Gon çalves Christian Diego Eudes Raphael Icamaan Botelho

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. Arthur Gonçalves Christian Diego Eudes Raphael Icamaan Botelho

  2. PANDA 3D • Introdução • Características • Desenvolvimento com Panda • Exemplos • Exercício

  3. Introdução • Panda3D é uma 3D Engine: - Rápido desenvolvimento - Baixa curva de aprendizado • Desenvolvida pela Disney para o desenvolvimento do seu MMORPG ToonTown. • Mantida pela Disney e pelo Carnegie Mellon University's Entertainment Technology Center.

  4. Introdução • Lançado com a Panda 3D Public License Version 2.0. • www.panda3d.org - Forte comunidade - Manual - APIs • Principais própositos de uso: - Games: Performance e Qualidade - Educação: Facilidade e Confiabilidade

  5. Introdução • Abstração para o uso de OpenGL e DirectX • Facil instalação: - Linux - Windows • Fácil configuração

  6. Características - Cenas • Estrutura de dados scene graph: - Árvore com objetos a serem renderizados. - Existência no topo de um objeto chamado render, criado automaticamente, necessário para renderização.

  7. Características - Cenas • Suporte aos formatos egg, bam, para objetos estáticos e/ou dinâmicos • Extensões exportadas com: - 3D max - Maya - Blender - SoftImage - MilkShape 3D - Gmax • Utilitário Panda Viewer para visualizar os modelos

  8. Características - Cenas

  9. Características - Cenas • Scene Editor: - Criar layout 3D - Iluminação - Animação - Loading - Motion Path - Colisões

  10. Características - Cenas

  11. Características - Câmera • Movimentação default com o mouse • Pode ser controlada por: - Mouse - Teclado - Diretivas dentro do código 1) Posição 2) Ângulo 3) Distância ao ponto mais próximo exibido 4) Distância ao ponto mais distante exibido 5) Distância Focal

  12. Características - Câmera • Lentes - Perspectiva

  13. Características - Câmera - Ortogonal

  14. Características - Som • Biblioteca FMOD (uso não comercial): - MP3 - WAV - AIFF - MIDI - MOD - WMA - OGG • Suporte a audio 3D Exemplo: Music_Box

  15. Características –Tratamento de eventos • Suporte nativo para tratar eventos: - Mouse - Teclado - Definidos pelo Usuário Exemplo: Chess

  16. Características - Fog • Abstração em alto nível para o uso de Fog • Fog é a mistura de um objeto com uma cor fixa quando este se afasta do ponto de vista. Exemplo: Fog

  17. Características - Iluminação • Suporte a 4 tipos distintos de iluminação: - Ponto - Direcional - Ambiente - SpotLight Exemplo: Lighting

  18. Características - Renderização de textos • Suporte para renderização dinâmica de textos • Suporte ao Unicode, facilitando renderização de caracteres internacionais • Possibilita carregar novas fontes e criar efeitos como: - Shadow - Alignment - Frames - Cartões

  19. Características - Shaders • Shaders são conjuntos de instruções, usados por recursos gráficos, para renderização. • Podem ser de 4 tipos (OpenGL e DirectX): - Pixel Shader - Vertex Shader - Geometry Shader - Unified Shader • Panda 3D fornece suporte à linguagem Cg Shaders com o uso de Pixel e Vertex Shaders.

  20. Características – Colisões • Suporte à colisões com sólidos: - Esferas - Polígonos - Tubos - Planos - Polígonos - Linhas

  21. Características – Colisões • Tratamente de eventos de colisões: - Lista - Colisão Física - Colisão ‘Floor’

  22. Características – Networking • Abstração de alto nível: - TCP - UDP • Não possibilita o uso de Raw Sockets

  23. DESENVOLVIMENTO COM PANDA • Formado por uma biblioteca, escrita em C++, para renderização 3D e desenvolvimento de jogos • Desenvolvimento com C++ (diretamente) ou Pyton (indiretamente) • Forte incentivo ao uso de Pyton como linguagem de script

  24. DESENVOLVIMENTO COM PANDA # Carrega os módulos do panda 3D import direct.directbase.DirectStart # Loop principal, chamado única vez ao # Final do script run()

  25. DESENVOLVIMENTO COM PANDA import direct.directbase.DirectStart #Carrega cenario.egg environ = loader.loadModel(“cenario") #coloca environ como filho do root da árvore environ.reparentTo(render) environ.setScale(0.25,0.25,0.25) environ.setPos(-8,42,0)

  26. DESENVOLVIMENTO COM PANDA #Carrega um ator (animacao) pandaActor = Actor.Actor("models/ralph-model",{"walk":"models/ralph-walk4"}) pandaActor.setScale(0.005,0.005,0.005) pandaActor.reparentTo(render) pandaActor.loop("walk") run()

  27. EXEMPLOS Air Blade

  28. EXEMPLOS Kill Bill

  29. EXERCÍCIO • a) Descreva o que é o Panda 3D b) Descreva 3 característica do Panda3D 2) Carregue os arquivos environ.egg e person.egg na tela utilizando bibliotecas básicas do Panda 3D e a linguagem Pyton

More Related