TouchDesignerのExpression CHOPの使い方

expression01

たまに忘れることがあるので、忘備録的な感じでTouchDesignerのExpressionについて書いておきます。条件分岐で使用するExpressionについてです。

TouchDesigner088になってからは、独自のTscriptからPythonへと言語が変更となりました。それに伴い変数などもTouchDesigner特有の表記へと変わっています。

初めの画像のように、入力された値が0だったら1をアウトプットしたい場合は、このように表記します。

me.inputVal == 0

me.inputValがいわゆる変数というやつで、0と同じというのが==になります。このあたり、プログラムをやっている人はわかると思いますが、=だけだとme.inputValに1を入れろという表記になってしまいます。また、Expressionだとエラーになってしまいます。

〜以上の場合はme.inputVal >=  〜

〜以下の場合はme.inputVal <= 〜

という表記になります。以上、以下の場合は=が付きますが、そうでない場合は=は必要ありません。

 

また、〜または〜という場合はこのような形になります。

expression02

写真のものだと、0または1の場合ということで、
me.inputVal == 0 or me.inputVal == 1
という表記になります。

 

0とか1じゃない値を入れたいという場合は、if文を使っていれるようにします。
最近はこの使い方しか頭になかったので、上記のシンプルな書き方をすっかり忘れてしまっていました。。

expression03

入力値が1の時は1を、それ以外の時は0を出力するという例です。

1 if me.inputVal == 1 else 0

この書き方がTouchDesigner特有のなんです。
何で初めに1なんだよって、最初は全然気づかなかったんですよね。。

2 if me.inputVal == 1 else 5
これだと、1の時は2を出力して、そうでない時は5を出力するという形になります。

これらを覚えるだけでいろいろなことができるようになります。
不安な時は思い出してください。

 

antymark 松波

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