[TouchDesigner] 階層の離れたオペレータを短い記述で指定する
離れた階層のオペレータを選択しようとする場合、
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を使用することで効率的に制作することが可能です。
参考:
サンプルプロジェクト
Discussion