スクリプトAPIリファレンス
このページでは、APIの主な概念について説明します。
詳細については、ヘルプ/Python APIドキュメント…でアクセスできるアプリケーションに付属のドキュメントを参照してください。このドキュメントでは、モジュール名(以下の括弧内に記載)を クイック検索 して、定義を簡単に見つけることができます。
コンテキスト
コンテキスト(Context)オブジェクトは、APIへのメインエントリポイントです。 これは、ユーザーが’sd’モジュールのメソッド’getContext()'を使用して最初に取得するときに作成されます。
このオブジェクトを使用すると、アプリケーション (SDApplication)オブジェクトを取得できます。
*## アプリケーション(SDApplication)アプリケーション(SDApplication)は、次のようなメインAPIマネージャーへのアクセスを許可するオブジェクトです。 アプリケーションのすべての パッケージ を管理する パッケージ マネージャー(SDPackageMgr);
- アプリケーションのすべての モジュール を管理する モジュール マネージャー(SDModuleMgr)。
- アプリケーションのウィンドウに メニューとドック を作成できるUI マネージャー(SDUIMgr)。特定のイベントが発生したときに呼び出されるアプリケーションに コールバック を登録できます。## パッケージマネージャー(SDPackageMgr)このオブジェクトは、すべてのアプリケーションの パッケージ を管理します。 パッケージは’エクスプローラー'コンポーネントに表示されます。これにより、次のことが可能になります。* 新しいパッケージを 作成 します。
- パッケージの読み込み/アンロード;
- パッケージを保存;
- パッケージを 検索 します。## パッケージ(SDPackage)パッケージ(SDPackage)は、リソースのコレクション (SDResource)です。パッケージのコンテンツは、'SDPackageMgr’オブジェクトを介して、.sbs拡張子を持つファイルに 格納 できます。 このオブジェクトを使用すると、特定のリソースを取得できます。特定のリソースを 作成 するには、関連するオブジェクトの静的メソッド(例: ‘SDSBSCompGraph.sNew()’)を参照してください。パッケージには、メタデータ辞書(SDMetadataDict)も含まれます。 メタデータの詳細については、を参照してください。## リソース(SDResource)リソース(SDResource)は、別のリソースから 参照 できるオブジェクトです。複数のリソース 型 があります:* フォルダー(SDResourceFolder);
- グラフ(SDGraph);
- ビットマップ(SDResourceBitmap);
- SVG画像(SDResourceSVG);
- フォント(SDResourceFont);
- シーン (SDResourceScene);
- BSDF測定(SDResourceBSDFMeasurement);
- ライトプロファイル(SDResourceLightProfile)。リソースは、次の下の静的メソッド’sNew()'から 作成 できます:* 包み。
- フォルダー。1つのリソースに複数のプロパティ (SDProperty)を設定できます。## UIマネージャー(SDUIMgr)UIマネージャーを使用すると、Substance Designerのメインウィンドウ(メニュー、ドックなど)に ユーザーインターフェイス要素を作成 でき、ユーザーインターフェイス関連のイベントが発生したときに コールバック を呼び出すことができます。さらに、UIマネージャーは、アクティブなグラフの 現在のアクティブなグラフ および 選択範囲 にアクセスできます。## グラフ(SDGraph)グラフ (SDGraph)は、次を含むオブジェクトです:* ノード(SDNode);
- グラフオブジェクト (SDGraphObjects);
- プロパティ(SDProperty)。グラフの種類には以下の4つがある:* グラフ(SDSBSCompGraph)
- Substance関数のグラフ(SDSBSFunctionGraph)
- SubstanceFXMap グラフ (SDSBSFxMapGraph)1つのグラフに1つまたは複数の output ノードを含めることができます。 出力ノードは、グラフの 結果 を表します。メソッド’getNodeDefinitions()'を使用すると、グラフで使用可能なすべてのノードを 取得 できます。メソッド’newNode()'を使用して、新しいノードを 作成 できます。メソッド’newInstanceNode()'を使用して、リソース(SDResource)から新しい インスタンス ノードを作成できます。## ノード(SDNode)ノード(SDNode)は、オブジェクトに対して実行された 操作 を表します。以下から作成できます。* 定義 (SDDefinition) ('SDGraph.newNode()'を参照);
- リソース (SDResource) ('SDGraph.newInstanceNode()'を参照)。1つのノードに複数の プロパティ を設定できます。ノードに複数の 型 があります:* SDSBSCompNode: Substance グラフのノード(SDSBSCompGraph);
- SDSBSFunctionNode: Substance 関数グラフのノード(SDSBSFunctionGraph);
- SDSBSFxMapNode: Substance FXMap グラフのノード(SDSBSFxMapGraph);## グラフオブジェクト(SDGraphObjects)グラフオブジェクト(SDGraphObject)は、グラフに追加情報を追加するオブジェクトですが、グラフの評価中に**考慮されないオブジェクトです。*グラフオブジェクトには 3種類 があります: ピン (SDGraphObjectPin)
- コメント (SDGraphObjectComment)
- フレーム (SDGraphObjectFrame)これらのオブジェクトを 作成 する方法の詳細については、これらのオブジェクトの静的メソッド’sNew()'を参照してください。## プロパティ(SDProperty)プロパティ(SDProperty)は、別のオブジェクト (グラフ、ノード、リソースなど)のプロパティを 記述 するオブジェクトです。特定のカテゴリ (SDPropertyCategory)に属しています:**
- **- 入力:オブジェクトの入力プロパティを分類します。これは通常 現在のオブジェクトによって実行される操作 に影響を与えます。
- 例: グラフの均一カラーノードのプロパティ’color’は入力プロパティです。- 出力:オブジェクトの出力プロパティを分類します。 オブジェクトの result を識別するために使用されます。** 注釈:オブジェクトによって実行された操作に影響を与えないプロパティを分類します。 例: グラフの’label’は、グラフの計算に影響を与えないため、注釈プロパティです。*
*次の メンバー が含まれています: Id:このカテゴリのコンテキストにおけるプロパティの識別子;
-
型:現在のプロパティでサポートされている型です。 一部のプロパティは 複数 の型をサポートできます: ‘int’、'float’など。
- 例: 'sbs::add’ノードの入力プロパティは、さまざまな型をサポートできます: 'int’、'int2’、'int3’、'int4’、'float’、'float2’、'float3’、'float4’など;
-
カテゴリ:プロパティが属するカテゴリ(入力、出力、注釈);
-
ラベル:プロパティのラベルです。表示 のみ に使用されます。
-
説明:プロパティの説明;
-
DefaultValue:デフォルト値;
-
IsConnectable:このプロパティで接続(SDConnection) を実行できるかどうかを示します。
-
isReadyOnly:プロパティが読み取り専用かどうかを示します。 trueの場合、関連付けられた値は 変更不可 になります。
-
isVariadic: trueの場合、このプロパティはオブジェクト上で multiple プロパティとして表されます。
-
isPrimary:指定されたプロパティが、他のプロパティを制御する プリンシパル プロパティであるかどうかを示します。 注意:これは、Substance 合成ノード(SDSBSCompNode)に固有です。例:* 'sbs::input’ノードのプロパティ:sbs::入力入力注釈出力$outputsizeラベルunique_filter_output (CONNECTABLE)$formatdescription$pixelsize識別子$pixelratiouserdata$tilingグループ$randomseedvisibleifbitmapresourcepath用途* 'sbs::blend’ノードのプロパティ:sbs::ブレンド入力注釈出力$outputsizeunique_filter_output (CONNECTABLE)$format$pixelsize$pixelratioタイリング($C)$randomseedsource.コネクター (接続可能)destination.コネクター (接続可能)opacity.コネクター(接続可能)opacitymultblendingmodecolorblendingmaskrectangle## 型(SDType)型(SDType)には、次のような値 型 の情報が含まれています:* Id:型の識別子;
-
修飾子: 'SDTypeModifier’ enum値の1つである型修飾子:
- 自動;
- 均一:値は操作ごとに 一度 評価されます。
- 変化:値は操作ごとに 複数回 評価されます(例:各テクセル)。次のように複数のタイプが定義されています。* 列挙 (SDTypeEnum): 列挙型とそのすべてのプロパティを説明します。
-
構造体 (SDTypeStruct): 構造体型がすべてのプロパティと共に記述されています。
-
配列 (SDTypeArray): 配列を記述します。
-
など詳細については、Substance Designerの Python APIドキュメント を参照してください。## 値(SDValue)値(SDValue)は、基本型の値を カプセル化 するオブジェクトです。例:* 'SDValueInt'オブジェクトは、'int’値をカプセル化します。
-
'SDValueFloat4'オブジェクトは、'float4’値をカプセル化します。
-
など通常、'get()'メソッドを使用して基本型の値を 取得 できますが、返された’SDValue’の 型 に依存する場合もあります。## 接続(SDConnection)接続(SDConnection)は、2つの異なる ノード の2つの異なる プロパティ 間の リンク を表します。次の情報が含まれます。* ターゲットノード;
-
ターゲットノードのターゲットプロパティ;すべての 接続操作 は、ノードで実行されます:* 新しい接続を作成しています。'SDNode.newPropertyConnection()'を参照してください。
-
既存の接続を削除しています。'SDNode.deletePropertyConnection()'を参照してください。
-
プロパティの接続を取得しています。'SDNode.getPropertyConnections()'を参照してください。## モジュール(SDModule)モジュールは 定義と型のコレクション です。これにより、作成可能なノード上の情報だけでなく、列挙や構造に関するすべての情報を簡単に取得できます。次の情報が含まれます。* モジュールマネージャー(SDModuleMgr)のコンテキストで一意の識別子 (Id);
-
定義の一覧(SDDefinition);
-
型の一覧(SDType)。## 定義(SDDefinition)定義(SDDefinition)オブジェクトには、プロパティ ('SDNode’など)に基づく特定の オブジェクト の定義に関する情報が含まれています。次の情報が含まれます。* Id:定義の識別子;
-
ラベル:定義のラベル;
-
説明:定義の説明;
-
プロパティ:使用可能なすべてのプロパティカテゴリ (SDPropertyCategory)のプロパティ。**