在搅拌机中烘烤声音

时间:2016-03-11 06:04:02

标签: python visualization blender

您好我正在使用'sound_bake'功能在混合器中进行项目。我已将其格式化为控制台告诉我但仍然收到错误。请帮忙!以下是代码的摘录(一切正常,直到我添加此摘录的第4行。)谢谢。

cubeobject = bpy.ops.mesh.primitive_cube_add(location = (r*2,c*2,0))  

bpy.ops.transform.resize(value = (1,1,10))
bpy.ops.anim.keyframe_insert_menu(type = 'Scaling')
bpy.ops.graph.sound_bake(filepath=r"C:\Users\Tyler\Music\Enter Shikari\12-enter_shikari-sorry_youre_not_a_winner.mp3")

2 个答案:

答案 0 :(得分:0)

发布后不久找到答案。 Blender很奇怪,您必须将编写代码的文本窗口更改为“Graph Editor”窗口。您必须通过在文本编辑器中将代码写入程序来完成此操作。它只有一行,但我相信它确实需要在调用sound_bake函数之前。这是代码行:

bpy.context.area.type ='GRAPH_EDITOR'

...并且记得在调用sound_bake函数之前放置它。

答案 1 :(得分:0)

您的代码的其他一些问题是:

1)next()函数不会返回创建的多维数据集,只会返回“完成”之类的内容。之后,新的多维数据集是活动对象,因此您可以执行此操作:

primitive_cube_add

第二行似乎相当于

bpy.ops.mesh.primitive_cube_add(location = (r*2,c*2,0))
cubeobject = bpy.context.active_object

我不知道(还)有什么不同。

2)cubeobject = bpy.context.object 是使用菜单添加bpy.ops.anim.keyframe_insert_menu()的功能。从脚本中使用时很愚蠢。 keyframe似乎更合适一点。这仍然不能从启动脚本运行,只能从gui内部运行。更好的是:

bpy.ops.anim.keyframe_insert()

不幸的是,这是我目前正处于类似项目的地方。 我一直试图从脚本中获得cubeobject.keyframe_insert('scale') 工作。 将上下文设置为图形编辑器仅在从GUI运行时有效。从命令行运行时,bpy.ops.graph.sound_bake未定义。