反対の反対

150303_01バカボンのババじゃありませんが、ちょっとしたロジックを作成していた時にそんなことがありました。トリガーの処理なのですが、ON(1)からOFF(0)に切り替わる際に、3秒遅れてOFFになり、再びONになる際には遅延なくONに切り替わるというロジックが必要になって作成しました。単なるDelayでは、ONに切り替わる場合も遅延が発生してしまします。ONからOFF、OFFからONでロジックを分岐させるか?などいろいろ考えたのですが、なかなか思ったように上手くいかず、こんなロジックになりました。 150303_02

まずはトリガーとなるチャンネルをMath CHOPを繋げて、0~1のレンジを1~0のレンジにひっくり返します。これは後述するTrigger CHOPでタイミングを遅らせるDelayパラメータを使用するためです。

150303_03150303_04

Trigger CHOPを繋げます。Trigger CHOPは今回のようにONとOFFで挙動を変えることができるので、今回のような例には最適なオペレータです。本当はOFFになるときもDelayコントロールすることができるとよかったのですが。。。

150303_05

Trigger CHOPにMath CHOPを繋げてレンジを元に戻します。Trigger CHOPを使うために前後にMath CHOPを挟んで反対の反対にするという何とも泥臭い方法を使うことにしました。他に何かいい方法ないですかね。。。

Download TouchDesigner File