Arthur Gon çalves Christian Diego Eudes Raphael Icamaan Botelho

29
Arthur Gonçalves Christian Diego Eudes Raphael

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

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 3D

import direct.directbase.DirectStart

# Loop principal, chamado única vez ao

# Final do script

run()

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