[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界隈ではぼっちなので、よろしければフォローしてくださると嬉しいです🥺)

まる。

━━━━━━━━━━━━━━━━━
■未経験OK!大学生インターン募集中!
プログラミングやITなど
興味ある方ご連絡ください‎。
(๑ > ﻌ <`)و✧
━━━━━━━━━━━━━━━━━
Python歴5年のフルスタックエンジニア&ヨギー。
大学は心理学専攻、趣味はヘルスケア全般。
最近は自作脳波デバイスの設計とそれを使ったインタラクティブアート生成に勤しみ中。

↓アートとか日常。
Instagram:@malmal0v0

お仕事のご依頼はDM又はメールにて。

まる。をフォローする
その他の記事はこちら
[Touchdesigner]1秒に1増加する変数をPythonで書く方法
【Touchdesigner】e-06って?値に英字が入る理由を解説
教育訓練給付金で45万円付与!4ヶ月で未経験からエンジニアを目指せるディープロ(DPro)を解説
【4人に1人が盗み見被害!?】意外と知られていない、公共フリーWiFiの危険性と対策について解説
開発終了した筋電によるジェスチャー操作デバイスMyo armbandをどこまで使えるか検証してみる(2023年)

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