たまに忘れることがあるので、忘備録的な感じでTouchDesignerのExpressionについて書いておきます。条件分岐で使用するExpressionについてです。
TouchDesigner088になってからは、独自のTscriptからPythonへと言語が変更となりました。それに伴い変数などもTouchDesigner特有の表記へと変わっています。
初めの画像のように、入力された値が0だったら1をアウトプットしたい場合は、このように表記します。
me.inputVal == 0
me.inputValがいわゆる変数というやつで、0と同じというのが==になります。このあたり、プログラムをやっている人はわかると思いますが、=だけだとme.inputValに1を入れろという表記になってしまいます。また、Expressionだとエラーになってしまいます。
〜以上の場合はme.inputVal >= 〜
〜以下の場合はme.inputVal <= 〜
という表記になります。以上、以下の場合は=が付きますが、そうでない場合は=は必要ありません。
また、〜または〜という場合はこのような形になります。
写真のものだと、0または1の場合ということで、
me.inputVal == 0 or me.inputVal == 1
という表記になります。
0とか1じゃない値を入れたいという場合は、if文を使っていれるようにします。
最近はこの使い方しか頭になかったので、上記のシンプルな書き方をすっかり忘れてしまっていました。。
入力値が1の時は1を、それ以外の時は0を出力するという例です。
1 if me.inputVal == 1 else 0
この書き方がTouchDesigner特有のなんです。
何で初めに1なんだよって、最初は全然気づかなかったんですよね。。
2 if me.inputVal == 1 else 5
これだと、1の時は2を出力して、そうでない時は5を出力するという形になります。
これらを覚えるだけでいろいろなことができるようになります。
不安な時は思い出してください。
antymark 松波