TouchDesigner風gateパッチ

image140712_01「MAX/MSPのgateパッチみたいなOPって無いですよね?」という話を他のユーザーから聞くまで気付きませんでした。自分のMAX/MXPスキルが初級ワークショップに参加した程度しかないというのもあるのですが。。。使いこなしている人からすると、頻繁に使うロジックが標準でないというのは結構気になる事なのかもしれません。無いものは作ってしまおうということで、TouchDesigner風gateをロジックを組んで作ってみました。 image140712_02

ロジックの全体像はこんな感じです。原理は単純ですが同じロジックを繰り返し使用するためにOPの数は結構多いです。このサンプルでは0~5までの6つの出力が作成されています。ゲートが適応される場合と適応されない場合をSwitch CHOPでスイッチングしています。

image140712_03ゲートが適応されない場合に単に0値を出力するだけだと、その先のロジックで何かと不都合な場合があるので、ソース元のすべてのチャンネルを0にしたものをゲートが適応されない場合(Switch CHOPのindexが0の場合)の値として作成します。 サンプルではコンテナにOFF_Valという入力コネクタを設置して、ゲートが適応されない場合のチャンネル値を任意に参照できるようにしています。このコネクタから入力がない場合はすべてのチャンネル値は0になります。 image140712_04

インデックスのチャンネルはFan CHOPで入力値毎のチャンネル(サンプルでは0~5)に分けられて、0or1のスイッチ値として使用されます。この値をSwitch CHOPのindexパラメータに出力毎に該当するチャンネルをExportすれば、TouchDesigner風gateの完成です。
こんなたくさんのOPを使わないと、gateみたいなことができないのか?と思われますが、実際にはこのサンプルのコアな部分だけを他のロジックと組み合わせて使用していることが多いと思います。まとまった出力切り替えが必要な場合は、サンプルのようにコンテナにまとめておく方が整理しやすいと思います。

Download TouchDesigner File