2016-03-11 321 views
1

嗨我正在使用'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

歡迎來到Stack Overflow!你能否澄清一下錯誤是什麼? 「仍然收到錯誤」不是很具描述性。請花點時間閱讀[如何提出一個好問題?](http://stackoverflow.com/help/how-to-ask)您可以隨時[編輯]您的問題。 – Carpetsmoker

回答

0

發佈後不久發現答案。攪拌機很奇怪,你必須將你正在編寫代碼的文本窗口改成'Graph Editor'窗口。您必須通過在文本編輯器中將代碼寫入您的程序來完成此操作。它只有一行,但我相信它確實需要在sound_bake函數被調用之前。下面是代碼行:

bpy.context.area.type =「GRAPH_EDITOR」

...記得將它放在前sound_bake函數被調用。

0

與您的代碼的一些其他問題有:

1)primitive_cube_add功能不返回創建多維數據集,而只是像「完成」。此後,新的立方體是活動對象,所以你可以這樣做:

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

第二行似乎等同於

cubeobject = bpy.context.object 

我不知道(但)有什麼區別。

2)bpy.ops.anim.keyframe_insert_menu()是使用菜單添加keyframe的功能。從腳本中使用這很愚蠢。 bpy.ops.anim.keyframe_insert()似乎更合適一點。這仍然不能從啓動腳本運行,只能從gui內運行。更好的是:

cubeobject.keyframe_insert('scale') 

不幸的是,這是我目前在一個類似的項目。 我被困在試圖從腳本中獲得bpy.ops.graph.sound_bake的工作。 將上下文設置爲圖形編輯器僅在從GUI運行時起作用。從命令行運行時,bpy.context.area未定義。