[Touchdesigner]TriggerCHOPでしきい値を超えた場合のみ0→1にする

TouchdesingerのTriggerCHOP の使い方

どーも、まる(@hevel_epsilon)です。
最近、自宅の壁に映像をうちだしてM5StickCPlusでフリフリするのにハマってます。

「そういえば、振った時音が鳴れば魔法のステッキになるんじゃね?」と思ったのが今回の投稿の発端です。

何らかのトリガー入力が一定の閾値を超えた際で01判定を行うことは今後も多いと思うので、備忘録として残しておきます。

早速やり方

デフォルトのTrigger CHOPは、「閾値を超えたら徐々に入力を上げて徐々に下げる」設定になっている為、完全な二値設定に変えていく必要があります。

Trigger

まずはTriggerタブから。

TriggerCHOP の閾値設定場所

Trigger Thresholdで閾値(しきい値)を設定します。

TriggerCHOPのインターバル設定

Re-Trigger Delayでインターバルを設定します。デフォルトの単位はSecond(秒)です。

この時間が経過するまでは、閾値を超える値が入力されてもトリガーアクションは無視されます。

TriggerCHOPでのアクティブ時間の設定

Min Trigger Lengthでアクティブとなる最小時間を設定します。

PlayのOFF/ONのような01の切り替えだと変える必要はありませんが、頻繁にTriggerを引きたい場合はこちらの値も短くしておきましょう。

Attack

続いて、Attackタブです。

TriggerCHOP の遅延時間を設定する

今回は0と1の真偽値計算を行いたいため、フェードのような徐々に増幅・減衰する機能は切ってしまいましょう。

具体的には、Delay Length(遅延時間)・Attack Length(立ち上がり時間)を0にします。また、Peak Level(上昇最大値)は1にしておきます。

これで、0から閾値を超えた途端1に跳ね上がるようになります。

しかし、これではまだ「入り」の設定をしただけなので、1から0に値がスパッと落ちる「出」の状態を作る必要があるます。

そこで、Sustainタブを開きます。

Sustain

TriggerCHOP の減衰レベルを調整する

Sustain Level(減衰値)までのDecay Length(減衰時間)が設定されているので、どちらもゼロにします。

これで、0からいきなり1になり、1からいきなり0に落ちるようになりました。

(オマケ)溜まるトリガーを廃棄する

TriggerCHOPのリマインダー設定

ChanタブのRemainder>Discard Remainderを設定することで、インターバル終了後に残っているサンプルを廃棄してくれます。

まとめ

迷ったときは公式ドキュメントですね。
日本語で記事が出てこなかった時も、大抵助けてくれます。

Touchdesinger系の記事を気付けば数か月投稿していない状態だったので、またぼちぼち学習のアウトプットとして残していきたいと思います。

どなたかのお役に立ちましたなら幸いです!
(Touchdesigner界隈ではぼっちなので、よろしければフォローしてくださると嬉しいです🥺)

まる。

Python歴5年のフルスタックエンジニア&ヨギー。
大学は心理学、趣味はヘルスケア全般。

最近は自作脳波デバイスとそれを使ったインタラクティブアートのチューニングに勤しみ中。
お仕事の依頼はDMもしくはメールにて。

↓アートとかの趣味アカ。よかったらみてね。٩(๑❛ᴗ❛๑)
Insta:@malmal0v0

まる。をフォローする
その他の記事はこちら
【4K60fpsキャプチャソフト】EaseUS RecExperts Pro版の機能を使ってレビューしてみた。(Windows/Mac対応)
【C++/Arduino】文字列をシンプルに結合する方法
【C++】追加の変数宣言・格納なしに効率良く文字列を追加させる方法
【C/C++】could not convert ‘xxx’ from ‘std::__cxx11::string’ {aka ‘std::__cxx11::basic_string‘} to ‘String’と出る時の解決法
【格安SIM】povo2.0にてテザリングができない時の解決法(Android)

タイトルとURLをコピーしました