2019年6月24日 星期一

在Blender裡製作可多選的按鍵UI

在Blender裡製作可多選的按鍵UI

前言

  最近想再匯出模組的工具裡新增可以過濾物件的選項,它跟一般的UI不太一樣,這個UI必須可以"多選"而非"單選",就像Blender自帶的FBX匯出一樣,如下圖
Blender的可多選的按鍵UI

在實作後卡了一陣子,在此把學習的過程做個紀錄。

內容

  在Export時新增UI,可以參照在Blender的script裡使用FileBrowser選取檔案,這裡就說明關鍵的部分,如下
type = EnumProperty(
  name="Example Enum",
  description="Choose between two items",
  items=(
    ('OPT_A', "First Option", "Description one"),
    ('OPT_B', "Second Option", "Description two")
  ),
  default='OPT_A',
)

如果照著範例打會呈現以下
只能單選的按鍵UI
這樣的UI會變成只能"單選",本以為Blender會另外建立一種Property來解決,但google後找不到相關的文章(可能我的關鍵字沒下好)。在想了一陣子後想到Blender的FBX匯出就有一個這樣的UI,就去翻了一下該外掛的原始碼,就知道是如何做的,範例如下
type = EnumProperty(
  name="Example Enum",
  description="Choose between two items",
  options={'ENUM_FLAG'},
  items=(
    ('OPT_A', "First Option", "Description one"),
    ('OPT_B', "Second Option", "Description two")
  ),
  default={'OPT_A','OPT_B'},
)

可以看到要對"options"設定參數,並且要注意預設值的部分不再是string,而是一個dictionary,改完後就可以多選了。

參考資料

Blender Documentation Contents

相關文章

在Blender的script裡使用FileBrowser選取檔案

沒有留言:

張貼留言