On this page |
APEX Scriptは、APEXグラフを構築するためのコードインターフェースです。
Pythonライクな構文を使用して、コードロジックを表現したグラフを生成することができます。
APEX Scriptスニペットは、APEX Script SOP内で記述することができます。
そのAPEX Script SOPは入力を受け取り、コードスニペットを実行し、その結果を出力します。
APEX Autorig Component SOPおよび
APEX Rigscript Component SOPにも、APEX Scriptスニペットを記述するためのインターフェースが用意されています。
APEX Scriptスニペットは、APEXグラフとして直接的に表現されます。 APEX Scriptコードを入力すると、そのグラフ表現がAPEXネットワークビューで生成されるのを確認することができます:
APEX Scriptは、新しいグラフを構築したり、既存のグラフを修正したり、グラフデータを取得するためのツールとして使用することができます。 詳細は、以下のページを参照してください:
-
グラフの扱い方では、APEX Scriptを使用してグラフ要素にアクセスおよび操作する方法、グラフロジックを別のグラフに直接追加する方法、グラフ内から他のグラフを呼び出す方法を説明しています。
-
コードスニペット内ではAPEX Scriptの関数を独自に作成したり、ビルトインのAPEX関数を使用することができます。
-
APEX Script言語リファレンスでは、APEX Scriptの構文および言語要素(用意されている型、演算、ステートメントなど)を説明しています。
APEX Scriptをグラフとして表示する ¶
APEX Scriptでは、BindInput()はグラフの入力を定義する特殊関数です。
BindInput()関数は、グラフ入力を表現したポートを持つparms
ノードを作成します。
BindOutput()関数は、グラフ出力を定義し、グラフから出力される値を表現したポートを持つoutput
ノードを作成します。
この例では、入力として値を受け取り、同じ値を出力するAPEX Scriptスニペットを記述します:
-
以下のスニペットを、APEX Script SOPの Snippet パラメータに配置します:
a = BindInput(3.5) BindOutput(a)
-
グラフとして表現されたAPEX Scriptスニペットを確認するために、APEXネットワークビューを開きます。 ペインの上部で
New Tabアイコンをクリックして、 New Pane Tab Type ▸ Animation ▸ APEX Network View を選択します。
-
APEX Script SOPの Visualizer セクションで、 Show を Component Script に設定します。
グラフとして表現されたAPEX Scriptコード
グラフ入力を表示する ¶
グラフ入力値を表示するには:
-
Geometry Spreadsheetで、ノード名の横にあるドロップダウンメニューから Apex Script Graph を選択します。
または
APEX Script SOPの2番目の出力(APEX Script Graph出力)を
Null SOPに接続し、Null SOPを選択します。
-
Geometry Spreadsheetで、上部のツールバーの
Detailをクリックします。入力パラメータは、グラフの
parms
Detailアトリビュートに格納されています。
APEX Script SOPで Reload Setup Parmsボタンをクリックすると、調整可能なパラメータとして、パラメータエディタにグラフ入力が表示されます。
グラフ出力を表示する ¶
グラフ出力値を表示するには:
-
デフォルトでは、APEX Script SOPの Invocation セクションにある Output Dictionary Bindings の最初のエントリは、以下のように設定されています:
-
Apex Outputs Group は
output
に設定されています。これは、グラフの出力ノードの名前です。 -
Output Attrib は
parms
に設定されています。これは、辞書形式で格納される出力の名前です。任意の名前に設定することができます。
-
-
Geometry Spreadsheetで、ノード名の横にあるドロップダウンメニューから Invoked を選択します。
-
上部のツールバーの
Detailをクリックします。グラフ出力は、 Output Attrib で指定した辞書に格納されます。
新規グラフを構築する ¶
この例では、APEX Scriptを使用して単一のTransformObjectノードを含む新規グラフを作成します:
-
APEX Script SOPで、 Snippet パラメータに以下のコードを追加します:
# グラフを初期化します graph = ApexGraphHandle() # 新しいグラフにTransformObjectノードを追加します graph.addNode('test_a', 'TransformObject') # グラフをジオメトリとして書き出します geo = graph.writeToGeo() BindOutput(geo)
-
APEXネットワークビューでAPEX Scriptスニペットのグラフ表現を確認します。APEX Script SOPの Visualizer セクションで、 Show を Component Script に設定します:
グラフとして表現されたAPEX Script -
ジオメトリとしてグラフを出力するには、 Bind Output Geometry を
<output_node>:<output_port>
に設定します。この場合は、output:geo
です。 -
APEX Scriptスニペットによって作成された新しいグラフを確認するには:
-
APEX Script SOPの Visualizer セクションで、 Show を Output 1 に設定します。
または
-
APEX Script SOPの1番目の出力を
Null SOPに接続し、Null SOPを選択します。
APEX Scriptによって作成されたグラフ
-
既存のグラフを変更する ¶
この例では、APEX Scriptを使用して既存のグラフにTransformObjectノードを追加します:
-
APEX Edit Graph SOPで、入力ノードと出力ノードのみを含むグラフを作成します:
元のグラフ -
グラフを入力としてAPEX Script SOPに接続します:
元のグラフを更新 -
APEX Script SOPで、定義済みのヘッダを使用して、入力グラフを受け取って修正するAPEX Scriptコマンドを自動的に追加します:
-
Header パラメータをオンにします。
-
Header セクションで、 Template を Graph に設定します。すると、以下のコードがAPEX Scriptスニペットの先頭と末尾に追加されます:
ヘッダ
geo: Geometry = BindInput() graph = geo.loadFromGeo()
フッタ
geo = graph.writeToGeo() BindOutput(geo)
-
-
APEX Script SOPの入力を指定します。 Invocation セクションの Input1 Bindings で、 Bind To Geometry Parameter をオンにして、そのパラメータを
geo
に設定します。geo
は、APEX Script SOPに入力されるグラフジオメトリで、前の手順のヘッダで指定されています。 -
更新されたグラフを出力するには、 Bind Output Geometry を
output:geo
に設定します。 -
APEX Script SOPは入力グラフを受け取り、それを変更せずに出力するようになりました。 APEX Script SOPによって出力されるグラフを確認するには:
-
APEX Script SOPの Visualizer セクションで、 Show を Output 1 に設定します。
または
-
APEX Script SOPの1番目の出力を
Null SOPに接続し、Null SOPを選択します。
-
-
TransformObjectノードを入力グラフに追加するには、以下のコードを Snippet パラメータに配置します:
graph.addNode('test_a', 'TransformObject')
更新されたグラフ
How-to ¶
To... | Do this |
---|---|
コードの変更を反映させる |
コードスニペットを変更した後、⌃ Ctrl + Enterを押します。 |
APEX Scriptの行番号に関連付けられたグラフノードを確認する |
|
グラフにノードをレイアウトする |
APEX Scriptスニペットに |
コードブロックをコメント化またはコメント解除する |
コードブロックを選択し、⌃ Ctrl + /を押します。 |
コードスニペットのフォントサイズを変更する |
Snippet パラメータ内をクリックし、⌃ Ctrl + +または⌃ Ctrl + -を押します。 |
グラフをAPEX Scriptコードに変換する |
グラフをAPEX Scriptコードに変換するを参照してください。 |