On this page |
APEX Scriptは、APEXグラフを構築できるコードインターフェースです。Pythonのような構文を使用して、コードロジックを表すグラフを生成できます。APEX Scriptスニペットは、APEX Script SOP(入力を受け取り、コードスニペットを実行し、結果を出力する)で記述することができます。APEX Autorig Componentおよび
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()はグラフへの入力を定義する特殊関数です。グラフ入力を表すポートを持つ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コードに変換するを参照してください。 |