您好我正在使用'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")
答案 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
未定义。