Panda3D/Manual/Carregar e animar o modelo Panda
Aparência
< Panda3D
Agora que o cenário está no lugar, nós vamos carregar um Actor. Atualize o seu código:
import direct.directbase.DirectStart
from direct.task import Task
from direct.actor import Actor
import math
#Carrega nosso primeiro modelo
ambiente = loader.loadModel("models/environment")
ambiente.reparentTo(render)
ambiente.setScale(0.25, 0.25, 0.25)
ambiente.setPos(-8,42,0)
#Tarefa para mover a camera
def TarefaGiraCamera(task):
anguloGraus = task.time * 6.0
anguloRadianos = anguloGraus * (math.pi / 180.0)
base.camera.setPos(20*math.sin(anguloRadianos), -20.0*math.cos(anguloRadianos),3)
base.camera.setHpr(anguloGraus, 0, 0)
return Task.cont
taskMgr.add(TarefaGiraCamera, "GiraCamera")
pandaActor = Actor.Actor("models/panda-model", {"andar":"models/panda-walk4"})
pandaActor.setScale(0.005, 0.005, 0.005)
pandaActor.reparentTo(render)
pandaActor.loop("andar")
run()
A classe Actor é para modelos animados. Perceba que usou-se loadModel para modelos estáticos, e Actor só quando eles são animados. Os dois argumentos construtores para a classe Actor são o nome do arquivo contendo o modelo, e um dicionário python contendo os nomes dos arquivos que tem as animações.
O comando loop("andar") faz com que a animação andar entre em um loop. O resultado é o panda andando pelo lugar como se fosse num carrossel.