Panda3D/Manual/Carregar e animar o modelo Panda

Origem: Wikilivros, livros abertos por um mundo aberto.
Saltar para a navegação Saltar para a pesquisa

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.

Ficheiro:Tutorial3.jpg