++scenes;

CGメイキング,Terragen 4の使い方,その他お知らせ

(Terragen4) Terragen RPCを試す そのX High Level APIまとめ

Terragen RPCでのHigh Level APIをまとめました。

バージョン0.9.1のリファレンスを元にまとめています。
Terragen RPC — Terragen RPC 0.9.1 documentation

APIには細かい制約や注意事項がありますが、まだAPIは変わることが確実であり、不完全であることから、ここでは詳細に記述しません。
そもそも実際にコードを書く際は公式に用意されたドキュメント原文を参照するべきですので、あくまでこんなAPIがあるよ、といった参考程度にどうぞ。

カテゴリ分けは私がやったものです。

(本記事の)変更履歴

2022/11/5 初版
2022/11/6 誤記訂正

主要な用語

名称 意味
path str ノードの場所を指す(/Render Camera 等)
node_or_nodes Node | list of Node NodeクラスのインスタンスGUI上のノードやグループに相当)またはそのリストを指す。
class_name str Nodeの種類。‘group’, ‘camera’, ‘sunlight’, ‘image_map_shader'など。TGDファイルやTGCファイルに記録される際の名称。
param_name str パラメータ名
filename str ファイルパス(TBC 相対パスでもいけるか?)
values str | number | tuple of numbers | list of numbers
value_string str 値(文字列)

API

カテゴリ API 引数型 返り値型 説明
プロジェクト project_filepath() - str 現在開いているプロジェクトのファイルパスを返す。
^ new_project() - - 新規プロジェクトを作成する。
^ open_project(filename) str - filenameで指定されたプロジェクトを開く。
^ save_project(filename) str - filenameで指定された名前でプロジェクトをファイルに保存する。
クリップファイル insert_clip_file(filename) str bool クリップファイルの内容をネットワークに追加する。(GUIでの“Insert Clip File…”と同様の効果)
^ insert_clip_file_after(filename, input_node) filename: str bool input_nodeで指定したノードの出力に、クリップファイルの内容を結合する(GUIでの“Insert Clip File…”->"Add"と同様の効果)
^ ^ input_node: Node ^ ^
^ insert_clip_file_before(filename, output_node, output_param='input_node') filename: str bool output_nodeで指定したノードの、output_paramで指定したパラメータにクリップファイルの内容を挿入する(GUIでの“Insert Clip File…”と同様の効果)
^ ^ output_node: Node ^ ^
^ ^ output_param: str ^ ^
ノード操作 root() - Node | None ルートノードを返す。
^ node_by_path(path) str Node | None pathで指定したノードを返す。
ノード選択 current_selection() - list of Node ネットワーク上で選択されているノードを返す。
^ select_just(node_or_nodes) Node | list of Node - 現在選択されているノードを選択解除し、node_or_nodesで指定したノードを選択状態にする。
^ select_more(node_or_nodes) Node | list of Node - 現在選択されているノードに加えて、node_or_nodesで指定したノードを選択状態にする。
^ select_none() - - ノードの選択を解除する。
ノード作成 create_child(of_node, class_name) of_node: Node Node | None of_nodeで指定したノードに、class_nameで指定した種類のノードを作成する。
^ ^ class_name: str ^ ^
ノード削除 delete(node_or_nodes) Node | list of Node - node_or_nodesで指定したノードを削除する。

Nodeクラスのメソッド

カテゴリ API 引数型 返り値型 説明
全般操作 name() - str ノードの名前を返す。
^ path() - str ノードのパスを返す。
^ parent_path() - str 親ノードのパスを返す。
^ parent() - Node 親ノードを返す。
^ children() - list of Node 子ノードを返す。
^ children_filtered_by_class(class_name) str list of Node 子ノードのうち、class_nameで指定された種類のノードを返す。
パラメータ param_names() - list of str ノードの持つパラメータ名の一覧を返す。
パラメータ値取得 get_param(param_name) str str(現状) 指定したパラメータの値を返す。(本来はそのパラメータに応じた型の値を返すが、現状はget_param_as_stringと同じ動きをする)
^ get_param_as_string(param_name) str str 指定したパラメータの値を文字列型で返す。
^ get_param_as_int(param_name) str int 指定したパラメータの値を整数型で返す。
^ get_param_as_float(param_name) str float 指定したパラメータの値を実数型で返す。
^ get_param_as_tuple(param_name) str tuple of 1, 2, or 3 floats 指定したパラメータの値をタプルで返す。
^ get_param_as_list(param_name) str list of 1, 2, or 3 floats 指定したパラメータの値をリストで返す。
パラメータ値設定 set_param(param_name, values) param_name: str - 指定したパラメータの値を設定する。
^ ^ values: str | number | tuple of numbers | list of numbers ^ 指定したパラメータの値を設定する。
^ set_param_from_string(param_name, value_string) param_name: str - 指定したパラメータの値を文字列で設定する。
^ ^ value_string: str ^ 指定したパラメータの値を設定する。

例外

APIの実行に失敗した場合、例外がスローされる。
  TBD