腳本 API 參考

本頁說明 API 的主要概念。

欲了解更多詳細資訊,請參閱應用程式附帶的文件,該文件可在 Python API 文件說明中取得>。在此文件中,請快速 搜尋 模組名稱(括號內),即可輕鬆找到定義。

背景

context (Context)物件是 API 的主要入口。 使用者第一次取得時,透過 ‘sd’ 模組中的 ‘getContext()’ 方法建立。

此物件允許基本上 擷取應用程式 (SDApplication)物件。

申請(SDApplication)

應用程式(SDApplication)是允許 存取主要 API 管理器 的物件,例如:

  • 管理應用程式所有 套件 的套件管理器(SDPackageMgr);
  • 模組管理器(SDModuleMgr),管理應用程式所有模組;
  • UI 管理器(SDUIMgr)可在應用程式視窗中建立選單與底座。

你可以在應用程式中註冊 回撥 ,當特定事件發生時會被呼叫。

Package Manager (SDPackageMgr)

這個物件管理應用程式的所有 套件。 套件會顯示在「Explorer」元件中。

它允許您:

  • 建立 一個新的套件;
  • 裝卸 包裹;
  • 儲存 包裹;
  • 找 個包裹。

套件(SDPackage)

套件(SDPackage)是 資源 的集合(SDResource)。

套件內容可以透過 'SDPackageMgr ’ 物件儲存為副檔名為 .sbs 的檔案。​這個物件讓你能 取得 特定的資源。

要建立特定資源,請參閱相關的物件靜態方法(例如:「SDSBSCompGraph.sNew()」)。

套件中也包含一個元資料字典(SDMetadataDict)。 你可以在這裡找到更多關於元資料🔗的資訊。

資源(SDResource)

資源(SDResource)是一種可以 被其他資源參考的 物件。

資源有多種 類型:

  • 資料夾(SDResourceFolder);
  • 圖形(SDGraph);
  • 點陣圖(SDResourceBitmap);
  • SVG 影像(SDResourceSVG);
  • 字型(SDResourceFont);
  • 場景(SDResourceScene);
  • BSDF測量(SDResourceBSDFMeaserment);
  • 光源設定檔(SDResourceLightProfile)。

資源可由靜態方法「sNew()」在以下條件下建立:

  • 一個包裹;
  • 一個資料夾。

一個資源可以擁有多個 屬性 (SDProperty)。

UI Manager (SDUIMgr)

UI 管理器允許 在 Substance Designer 主視窗中建立使用者介面元素 ,如 選單、 停靠 區,並允許 在使用者介面相關事件發生時註冊回調 。

此外,UI 管理器還能存取目前的活躍圖,並選擇該活躍圖。

圖形(SDGraph)

圖(SDGraph)是一個包含以下內容的物件:

  • **節點(**SDNode);
  • 圖形物件 (SDGraphObjects);
  • 物業 (SDProperty)。

圖有四種不同類型:

  • 物質圖(SDSBSCompGraph)
  • 實體函數圖(SDSBSFunctionGraph)
  • Substance FXMap 圖(SDSBSFxMapGraph)

圖可以有一個或多個 輸出 節點。 輸出節點代表 圖的結果 。

所有可用的圖節點都可以用 ‘getNodeDefinitions()’ 的方法檢索。

可以使用 ‘newNode()’ 的方法建立一個新節點。

可透過 ‘newInstanceNode()’ 的方法從資源(SDResource)建立一個新的 實例 節點。

Node(SDNode)

節點(SDNode)代表對物件執行的 操作 。

它可以由以下方式創造:

  • 定義(SDDefinition)(參見「SDGraph.newNode()」);
  • 一個 資源 (SDResource)(參見「SDGraph.newInstanceNode()」)。

一個節點可以有多種 屬性。

節點有多種 類型 :

  • SDSBSCompNode:物質圖​(SDSBSCompGraph)中的一個節點;
  • SDSBSFunctionNode:物質函數圖(SDSBSFunctionGraph)中的一個節點;
  • SDSBSFxMapNode:Substance FXMap 圖(SDSBSFxMapGraph)中的一個節點;

圖物件(SDGraphObjects)

圖物件(SDGraphObject)是一種為 圖增加額外資訊 的物件,但在 圖評估過程中未 被考慮 。

圖物件有 三種類型 :

  • 釘圖 (SDGraphObjectPin)
  • 留言 (SDGraphObjectComment)
  • 框架 (SDGraphObjectFrame)

關於如何 建立 這些物件,請參閱靜態方法「sNew()」。

物業(SDProperty)

屬性(SDProperty)是一種描述另一個物件屬性的物件(圖、節點、資源等)。

它屬於特定 類別 (SDPropertyCategory):

  • **- 輸入:分類物件的輸入屬性,通常 影響當前物件所執行的操作 ;
    • 例如:在物質圖中,統一色彩節點的屬性「顏色」是輸入屬性;- 輸出:分類物件的輸出屬性。 它用來識別 物件的結果 ;** 註解:分類不​影響物件操作的屬性**;* 例如:圖的「標籤」是一種註解性質,因為它不影響圖的計算。**

*該委員會包含以下 成員: Id:在其類別語境中對財產的識別;

值(SDValue )是一種封裝​基底型別​值的物件。

*例如: 一個「SDValueInt」物件封裝了一個「int」值;

  • - 一個在模組管理器​中唯一存在的識別碼***(* Id )(SDModuleMgr);- 定義列表(SDDefinition);** 一份類型列表(SDType)。

## 定義(SDDefinition)

定義(SDDefinition)物件包含基於屬性**(如「SDNode」​等)定義特定物件的資訊。**

*內容包括: Id:定義的識別碼;

recommendation-more-help
substance-3d-designer-help-guide