2016-12-07 198 views
0

有人可以提供一個簡單的方法來偵聽攪拌機python中的事件嗎? 我有一個自定義選擇字段在紋理面板中的選項:光照貼圖,法線貼圖,凹凸貼圖,地圖。如果用戶選擇了normalmap,我想自動選中use_map_normal複選框標記爲True。我無法確定如何爲此添加事件。我不能在繪圖方法中執行它,因爲它在嘗試更改任何bpy數據時會產生錯誤。謝謝,攪拌機python onchange事件

吉姆

+1

你可能想嘗試http://blender.stackexchange.com。 –

+1

謝謝,我看了這個論壇,發現了一個解決方案。我不得不在我的類型定義參數中添加update = some_method。然後添加它調用的方法來進行更改。 – user3661557

回答

0

當添加自定義屬性,您可以指定當屬性更改調用的函數,這個函數可以用來更新其他屬性。

例如:

def update_checkbox_dependencies(self,context): 
    active_index = context.object.active_material.active_texture.name 
    bpy.data.textures[active_index].use_normal_map = True 


bpy.types.Texture.THREE_map_type = EnumProperty(name="Map Type", 
    items=map_type_array, default=constants.MAP, 
    update=update_checkbox_dependencies)