【panda3d】三、Loading and Animating the Panda Model
程序员文章站
2022-07-13 09:20:17
...
Actors
Actor类用于动画模型。
注意,我们只在静态模型和Actor被动画化时才对它们使用loadModel()。
Actor类的两个构造函数参数是包含模型的文件的名称和包含包含动画的文件的名称的Python字典。
from math import pi, sin, cos
from direct.showbase.ShowBase import ShowBase
from direct.task import Task
from direct.actor.Actor import Actor
class MyApp(ShowBase):
def __init__(self):
ShowBase.__init__(self)
# Load the environment model.
self.scene = self.loader.loadModel("models/environment")
# Reparent the model to render.
self.scene.reparentTo(self.render)
# Apply scale and position transforms on the model.
self.scene.setScale(0.25, 0.25, 0.25)
self.scene.setPos(-8, 42, 0)
# Add the spinCameraTask procedure to the task manager.
self.taskMgr.add(self.spinCameraTask, "SpinCameraTask")
# Load and transform the panda actor.
self.pandaActor = Actor("models/panda-model",
{"walk": "models/panda-walk4"})
self.pandaActor.setScale(0.005, 0.005, 0.005)
self.pandaActor.reparentTo(self.render)
# Loop its animation.
self.pandaActor.loop("walk")
# Define a procedure to move the camera.
def spinCameraTask(self, task):
angleDegrees = task.time * 6.0
angleRadians = angleDegrees * (pi / 180.0)
self.camera.setPos(20 * sin(angleRadians), -20 * cos(angleRadians), 3)
self.camera.setHpr(angleDegrees, 0, 0)
return Task.cont
app = MyApp()
app.run()
命令循环(“walk”)导致walk动画开始循环。
运行这个程序
结果是一只熊猫在原地行走,就像在跑步机上一样:
上一篇: 【Panda3D 】一、装载草地风景
下一篇: 集合——Map