Panda3D/Manual/Carregar actors e animações
Os fundamentos da classe Actor
[editar | editar código-fonte]A classe Python Actor é designada para suportar um modelo animado e um conjunto de animações. Já que a classe Actor herda a classe NodePath, todas as funções da NodePath se aplicam a Actor.
Note, contudo, que a Actor é uma classe Python que extende a classe NodePath C++. Na maior parte, você não precisa pensar nisso: a Actor herda a NodePath e geralmente faz o que você espera. Quando você adiciona um Actor na Scene Graph, os construtores C++ de baixo-nível do Panda só registram a parte NodePath do Actor na Scene Graph, o que é bom contando que você também pode manter um ponteiro para o Actor nos seus objetos Python.
A interface do Actor fornece uma interface de alto-nível nos construtores de baixo-nível do Panda. No Panda, o nó de baixo-nível que executa as animações é chamado de Character. Você pode ver o nó Character na Scene Graph quando você chama actor.ls()
Não confunda a classe Actor com a classe ActorNode, que é usada para física. Elas são classes completamente distintas com nomes similares.
Usando Actors
[editar | editar código-fonte]A classe Actor deve ser importada antes de qualquer carregamento ou manipulação de Actors.
from direct.actor.Actor import Actor
Uma vez que o módulo é carregado, o objeto Actor pode ser construído, e o model e as animações podem ser carregadas:
Para cada animação você deve fornecer uma tuple: um nome para a animação e o diretório/caminho para a animação. Este processo todo pode ser reduzido a um simples comando:
nodePath = Actor('caminho para o modelo'), { 'nome da animação 1' : 'caminho para a animação 1', 'nome da animação 2' : 'caminho para a animação 2' })
Animações devem ser descarregadas usando a mesma tuple usada na criação da animação.
nodePath.unloadAnims( {'nome da animação': 'caminho para a animação'} )
Note que é possível também armazenar a animação e o modelo no mesmo arquivo. Neste caso, apenas crie o Actor com o parâmetro do modelo.
Embora esta seja uma técnica raramente usada, também é possível montar um personagem com várias partes separadas. Isto é explicado mais adiante.