我刚开始学习Blender和Python,在我的第一层中有一个名为"BallB"的球体。
现在我想使用Python在Blender中制作一个简单的冒泡动画,但我无法制作关键帧。这应该发生在第二层。
我尝试了很多次,但出现了许多错误...我找到的所有代码片段都不起作用,并且我的脚本总是崩溃并显示Python错误,例如
RuntimeError: Operator bpy.ops.anim.change ... expected an timeline/animation area to be activated
等等。
有人能给我一些提示吗?
我想学习在Blender中编写动画脚本,因此非常感谢每一个可以帮助我的提示;-)
我的代码:
实际上它看起来是这样的:
现在我想使用Python在Blender中制作一个简单的冒泡动画,但我无法制作关键帧。这应该发生在第二层。
我尝试了很多次,但出现了许多错误...我找到的所有代码片段都不起作用,并且我的脚本总是崩溃并显示Python错误,例如
RuntimeError: Operator bpy.ops.anim.change ... expected an timeline/animation area to be activated
等等。
有人能给我一些提示吗?
我想学习在Blender中编写动画脚本,因此非常感谢每一个可以帮助我的提示;-)
我的代码:
import bpy, math, random
d = 4
anz = 100
frameAnz = 10
scene = bpy.context.scene
scene.frame_start = 1
scene.frame_end = 100
for anz in range (0,anz):
ball = bpy.data.objects["ballB"]
tball = ball.copy()
xpos = -1 * (d/2) + random.randint(0,(d-1))
xpos += random.random()
ypos = -1 * (d/2) + random.randint(0,(d-1))
ypos += random.random()
zpos = random.randint(0,(d-1))
zpos += random.random()
bn = str(anz).zfill(5)
bn = "zz_Ball-" + bn
tball.name = bn
tball.location = (xpos, ypos, zpos)
sz = random.uniform(0.015,0.09)
tball.scale = (sz,sz,sz)
#tball.nodes["Emission"].inputs[1].default_value = 200
tball.select = False
scene.objects.link(tball)
#print ("done!")
obj = bpy.context
for actFrame in range(1,frameAnz):
# scene = bpy.context.scene
# scene.keyframe_insert(data_path="gravity", frame = actFrame)
for ob in scene.objects:
ploc = ob.location
#print (ploc)
xpos = ploc[0]
ypos = ploc[1]
zpos = ploc[2]
zpos = zpos + random.random()
ob.location = (xpos, ypos, zpos)
#ypos = ball.location[1]
#zpos = ball.location]2]
#zpos = zpos - random.random()
#ball.location = (xpoy, ypos, zpos)
#obj.keyframe_insert_menu('Location')
#bpy.context.scene.frame_set(0)
#scene = bpy.context.scene
#scene.keyframe_insert(data_path="Location", frame=actFrame)
实际上它看起来是这样的: