Arthur Gonçalves Christian Diego Eudes Raphael Icamaan Botelho.

29
Arthur Gonçalves Christian Diego Eudes Raphael

Transcript of Arthur Gonçalves Christian Diego Eudes Raphael Icamaan Botelho.

Page 1: Arthur Gonçalves Christian Diego Eudes Raphael Icamaan Botelho.

Arthur GonçalvesChristian DiegoEudes RaphaelIcamaan Botelho

Page 2: Arthur Gonçalves Christian Diego Eudes Raphael Icamaan Botelho.

PANDA 3D

• Introdução• Características• Desenvolvimento com Panda• Exemplos• Exercício

Page 3: Arthur Gonçalves Christian Diego Eudes Raphael Icamaan Botelho.

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.

Page 4: Arthur Gonçalves Christian Diego Eudes Raphael Icamaan Botelho.

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

Page 5: Arthur Gonçalves Christian Diego Eudes Raphael Icamaan Botelho.

Introdução

• Abstração para o uso de OpenGL e DirectX

• Facil instalação:- Linux- Windows

• Fácil configuração

Page 6: Arthur Gonçalves Christian Diego Eudes Raphael Icamaan Botelho.

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.

Page 7: Arthur Gonçalves Christian Diego Eudes Raphael Icamaan Botelho.

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

Page 8: Arthur Gonçalves Christian Diego Eudes Raphael Icamaan Botelho.

Características - Cenas

Page 9: Arthur Gonçalves Christian Diego Eudes Raphael Icamaan Botelho.

Características - Cenas

• Scene Editor:- Criar layout 3D- Iluminação- Animação- Loading- Motion Path- Colisões

Page 10: Arthur Gonçalves Christian Diego Eudes Raphael Icamaan Botelho.

Características - Cenas

Page 11: Arthur Gonçalves Christian Diego Eudes Raphael Icamaan Botelho.

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

Page 12: Arthur Gonçalves Christian Diego Eudes Raphael Icamaan Botelho.

Características - Câmera

• Lentes- Perspectiva

Page 13: Arthur Gonçalves Christian Diego Eudes Raphael Icamaan Botelho.

Características - Câmera

- Ortogonal

Page 14: Arthur Gonçalves Christian Diego Eudes Raphael Icamaan Botelho.

Características - Som• Biblioteca FMOD (uso não comercial):

- MP3- WAV- AIFF- MIDI- MOD- WMA- OGG

• Suporte a audio 3D

Exemplo: Music_Box

Page 15: Arthur Gonçalves Christian Diego Eudes Raphael Icamaan Botelho.

Características –Tratamento de eventos

• Suporte nativo para tratar eventos:- Mouse- Teclado- Definidos pelo Usuário

Exemplo: Chess

Page 16: Arthur Gonçalves Christian Diego Eudes Raphael Icamaan Botelho.

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

Page 17: Arthur Gonçalves Christian Diego Eudes Raphael Icamaan Botelho.

Características - Iluminação

• Suporte a 4 tipos distintos de iluminação:- Ponto - Direcional - Ambiente - SpotLight

Exemplo: Lighting

Page 18: Arthur Gonçalves Christian Diego Eudes Raphael Icamaan Botelho.

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

Page 19: Arthur Gonçalves Christian Diego Eudes Raphael Icamaan Botelho.

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.

Page 20: Arthur Gonçalves Christian Diego Eudes Raphael Icamaan Botelho.

Características – Colisões

• Suporte à colisões com sólidos:- Esferas- Polígonos- Tubos- Planos- Polígonos- Linhas

Page 21: Arthur Gonçalves Christian Diego Eudes Raphael Icamaan Botelho.

Características – Colisões

• Tratamente de eventos de colisões:- Lista- Colisão Física- Colisão ‘Floor’

Page 22: Arthur Gonçalves Christian Diego Eudes Raphael Icamaan Botelho.

Características – Networking

• Abstração de alto nível:- TCP- UDP

• Não possibilita o uso de Raw Sockets

Page 23: Arthur Gonçalves Christian Diego Eudes Raphael Icamaan Botelho.

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

Page 24: Arthur Gonçalves Christian Diego Eudes Raphael Icamaan Botelho.

DESENVOLVIMENTO COM PANDA

# Carrega os módulos do panda 3Dimport direct.directbase.DirectStart

# Loop principal, chamado única vez ao# Final do scriptrun()

Page 25: Arthur Gonçalves Christian Diego Eudes Raphael Icamaan Botelho.

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)

Page 26: Arthur Gonçalves Christian Diego Eudes Raphael Icamaan Botelho.

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()

Page 27: Arthur Gonçalves Christian Diego Eudes Raphael Icamaan Botelho.

EXEMPLOS

Page 28: Arthur Gonçalves Christian Diego Eudes Raphael Icamaan Botelho.

EXEMPLOS

Page 29: Arthur Gonçalves Christian Diego Eudes Raphael Icamaan Botelho.

EXERCÍCIO

1) a) Descreva o que é o Panda 3Db) 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