Escolar Documentos
Profissional Documentos
Cultura Documentos
Introdução
• Panda3D é um motor de jogo 3D: uma biblioteca de sub-rotinas para
renderização 3D e desenvolvimento de jogos.
O que é o • A biblioteca foi escrita com C++ com conjunto de ligações Python
• Lançado em 2002
Motor de jogo
(game engine)
• Utilizado desevolvimento de jogos para videogames e/ou
computadores rodando sistemas operacionais
Modelador 3D
vs Motor de
jogo 3D
• Panda3D License (versões anteriores a 1.5.2)
Licença
• BSD modificada
• Motor de física idependente e integração total do ODE
• Texturas animadas
• macOS
Plataformas • Linux
• FreeBSD
• Android
• Espaço livre no disco rígido: 100 MB
Requisitos
• RAM: 256 MB
minímos de
máquina • Processador: Pentium @ 1 GHz
• O núcleo do Panda3D é escrito em C ++ portátil. Quando
combinado com o código de suporte de plataforma apropriado,
o Panda3D será executado em qualquer lugar.
Portabilidade
• Baixar o instalador a partir do link:
https://www.panda3d.org/download/
Instalação
Instalação no
Windows
• A forma mais fácil para instalar o panda é utilizando os pacotes RPM
ou DEB
Instalação no
• Se existir um instalador , baixar e instalar o RPM ou DEB apropriado
Linux
para a sua versão do Linux
• pip install panda3d
Já é um
utilizador de
Python? • pip install panda3d == 1.10.8
• Windows:
ppython filename.py
Executando o
programa • GNU/Linux ou Mac OS:
python filename.py
• Reponsável por abrir janelas, configurar os dispositivos de entrada e
criar o Scene Graph
Classe
ShowBase
• The Scene Graph é uma árvore de nós contendo todos os objectos
que precisam ser renderizados
o meuModelo.reparentTo(render)
• Para remover um modelo no Scene Graph, usamos o método
detachNode()
o meuModelo.detachNode()
o meuModelo.removeNode()
The Scene
Graph
• meuNo.setPos(x, y, z)
• meuNo.setScale(valor)
Mudanças de
• meuNo.setHpr(yaw, pitch, roll)
estado
• meuObjecto.setPos(outroObjecto, X, Y, Z)
• meuObjecto.getPos(outroObjecto)
• meuObjecto.lookAt(outroObjeto)
• meuObjecto.getPos(outroObjecto)
Mudanças de
estado • meuObjecto.setColor(R, G, B, A)
• meuObjecto.clearColor()
• Controla as várias das opções de configuração do Panda3D
• ConfigVariableManager.getGlobalPtr().listVariables()
Configuração
• Exemplo:
Configuração
• Existem duas classes no Panda para os modelos 3D:
Formato de o Model
arquivo do o Actor
o Uma animação (para ser aplicado ao Actor)
Panda
o Actor e animação
objecto = loader.loadModel(“models/meuModelo.egg”)
Models
• Inserir o Model na Scene Graph
objecto.reparentTo(render)
• A classe Actor é designada para suportar um modelo animado e um
conjunto de animações
Usando Actors
• Remover animação
Usando Actors
• O caminho usado no loadModel deve seguir as convenções utilizadas
pelo Panda3D.
Sintaxe do
Panda3D
• Por padrão, o Panda3D executa uma tarefa que permite mover a
camera usando o mouse
Unreal Engine
Multiplataforma
C++, C#, GLSL, Cg, HLSL
Inglês, Japonês, Coreano, Chinês e Português
Caso prático
Conclusão
• Panda3D não é ferramenta para inciantes ou um brinquedo