👆

[TouchDesigner] 階層の離れたオペレータを短い記述で指定する

2020/10/12に公開

離れた階層のオペレータを選択しようとする場合、
me.super().supre().super()

../../../hoge
など記述が長くなりがちです。

また、オペレータの階層が変わると参照先が変わってしまうなど不便なことも多いです。

そこで、Global OP Shortcut, Parent Shortcut, Internal OP Shortcut などの機能を使うことで記述を簡単にし、また階層の変更に強くします。

Global OP Shortcut

COMPの Common → Global OP Shortcut パラメータに任意の文字列を記述することで、プロジェクト内のどのOPからでも記述した文字列を指定してそのCOMPにアクセスすることが可能になります。

例:/project1/base1 の Global OP Shortcut に "GlobalBase" という文字列を指定する

別のOPからop.GlobalBaseという形で参照することが可能

Parent Shortcut

COMPの Common → Parent Shortcut パラメータに任意の文字列を記述することで、そのCOMP以下に配置されたどのOPからでも記述した文字列を指定してそのCOMPにアクセスすることが可能になります。

例:/project1/base1 の Parent Shortcut に "ParentBase" という文字列を指定する

/project1/base1 以下に配置したOPからparent.ParentBaseという形で参照することが可能

Internal OP Shortcut

COMPの Common → Internal OP Shortcut に任意の文字列を記入し、Common → Internal OP にそのCOMP以下に配置されているOPを記述することで、そのCOMP以下に配置されたどのOPからでも記述した文字列を指定して記述したOPにアクセスすることが可能になります。

例:/project1base1 の Internal OP Shortcut 1 に "InternalTarget"という文字列を指定し、Internal OP に "./constant1" を指定する

/project/base1 以下に配置したOPからiop.InternalTargetという形で参照することが可能

より複雑な例

本記事の最後にリンクしたサンプルプロジェクトでは、それぞれのShortcutを利用してUIを組む例を示しています。

サンプルプロジェクト内ではそれぞれのShortcutを以下のように使用しています。

  • Global OP Shortcut
    UIの外部にあるOPを参照するため(ここでは各画像ファイルをLoadしたMovieFileInTOP)
  • Parent Shortcut
    UIの一番上位レイヤで指定されているパラメータを参照するため
  • Internal OP Shortcut
    UI内部で使用される値を参照するため

UIを組むときなど階層が深くなってしまうことが多いですが、各Shortcutを使用することで効率的に制作することが可能です。

参考:
https://docs.derivative.ca/Global_OP_Shortcut
https://docs.derivative.ca/Parent_Shortcut
https://docs.derivative.ca/Internal_Operators

サンプルプロジェクト

https://github.com/poipoi/sample_opshortcut

Discussion