Panda3D/Manual/Carregar e animar o modelo Panda
< 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.