Upload
amber
View
31
Download
0
Embed Size (px)
DESCRIPTION
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 - PowerPoint PPT Presentation
Citation preview
Arthur GonçalvesChristian DiegoEudes RaphaelIcamaan 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
• Desenvolvida pela Disney para o desenvolvimento do seu MMORPG ToonTown.
• Mantida pela Disney e pelo Carnegie Mellon University's Entertainment Technology Center.
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
Introdução
• Abstração para o uso de OpenGL e DirectX
• Facil instalação:- Linux- Windows
• Fácil configuração
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.
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
Características - Cenas
Características - Cenas
• Scene Editor:
- Criar layout 3D
- Iluminação
- Animação
- Loading
- Motion Path
- Colisões
Características - Cenas
Características - Câmera
• Movimentação default com o mouse
• Pode ser controlada por:- Mouse- Teclado- Diretivas dentro do código
1) Posição2) Ângulo3) Distância ao ponto mais próximo exibido4) Distância ao ponto mais distante exibido5) Distância Focal
Características - Câmera
• Lentes
- Perspectiva
Características - Câmera
- Ortogonal
Características - Som
• Biblioteca FMOD (uso não comercial):- MP3- WAV- AIFF- MIDI- MOD- WMA- OGG
• Suporte a audio 3D
Exemplo: Music_Box
Características –Tratamento de eventos
• Suporte nativo para tratar eventos:
- Mouse
- Teclado
- Definidos pelo Usuário
Exemplo: Chess
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
Características - Iluminação
• Suporte a 4 tipos distintos de iluminação:
- Ponto
- Direcional
- Ambiente
- SpotLight
Exemplo: Lighting
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
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.
Características – Colisões
• Suporte à colisões com sólidos:
- Esferas
- Polígonos
- Tubos
- Planos
- Polígonos
- Linhas
Características – Colisões
• Tratamente de eventos de colisões:
- Lista
- Colisão Física
- Colisão ‘Floor’
Características – Networking
• Abstração de alto nível:
- TCP
- UDP
• Não possibilita o uso de Raw Sockets
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
DESENVOLVIMENTO COM PANDA
# Carrega os módulos do panda 3D
import direct.directbase.DirectStart
# Loop principal, chamado única vez ao
# Final do script
run()
DESENVOLVIMENTO COM PANDA
import direct.directbase.DirectStart
#Carrega cenario.eggenviron = loader.loadModel(“cenario")
#coloca environ como filho do root da árvoreenviron.reparentTo(render)environ.setScale(0.25,0.25,0.25)environ.setPos(-8,42,0)
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()
EXEMPLOS
EXEMPLOS
EXERCÍCIO
1) 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