我想用Ursina创建一个3D动画。动画的每一帧都是一个3D文件,我将其加入到一个目录中。下面是我的代码:
model = Entity(model="animation_walk/Pokemon_dresseur1.obj", collider="mesh", texture="Texture_dresseur.png", position=(-2, -9.5, 0), flipped_faces=False, double_sided=True,animations=[Animation('animation_walk/Pokemon_dresseur', 1, 24)])
model.animation_speed = 2
model.animate('animation_walk/Pokemon_dresseur', 1, loop=True)
但是我真的不知道如何使用函数animate()。它需要一个值和一个名称,但我不确定我需要写什么。事实上,当我运行这段代码时,我有这个错误信息,解释'animation_walk/Pokemon_dresseur'没有在model中定义:
AttributeError: 'Entity' object has no attribute 'animation_walk/Pokemon_dresseur'
我试图用字典代替列表来定义动画,但它不再工作。所以如果有人有了一个想法,那是很高兴的。提前谢谢你。朱尔斯
你可以使用FrameAnimation3d, https://www.ursinaengine.org/api_reference.html#FrameAnimation3d .
FrameAnimation3d('blob_animation_')
或者使用panda3d的actor类(推荐)
。动画将平滑地改变属性。你可以随时查看ursina API参考。