DATは地味ですが、TouchDesignerで複雑なプロジェクトを作成しようと思うと、避けて通れない機能でしょう。DAT(Data Operator)はテキスト、スクリプト、データベースなどを扱います。
Text DAT
まずは、テキストを表示させてみましょう。Text DATの右下のボタン「Viewer Active」をONにすることによって編集が可能になります。好きなテキストを記入してみてください。
![](https://r-dimension.xsrv.jp/classes_j/wp-content/uploads/2022/07/13160cc8694eb1454c7d8aa4e5e5e0f6-565x318.png)
次に、Text TOPを出します。DATからTOPに直接繋ぐことはできないので、text2のパラメータのRATに、text1をドラッグして繋いでください。また、文字がはみ出してしまう場合は、TextタブのWord WrapをONにしてください。画面の中でテキストが折り返されます。
![](https://r-dimension.xsrv.jp/classes_j/wp-content/uploads/2022/07/f47bcd9f9e807e60c399e2cb7d56d187-565x318.png)
text1を複製し、それぞれのtext DATの文章を変更してください。どんな文章でも構いません。
![](https://r-dimension.xsrv.jp/classes_j/wp-content/uploads/2022/07/c2dd31fae010e97d3486660b66f95872-565x318.png)
ボタンを押すとテキストが入れ替わるようにしてみたいと思います。まず、Switch DATとNull DATを出して、text2に繋ぎ直します。
すると、switch1のswitchタブ、indexの値を0~3の間で変えることによって、text2の表示が変わります。
![](https://r-dimension.xsrv.jp/classes_j/wp-content/uploads/2022/07/159557e8b56e213ef79b72c2005252e4-565x318.png)
ここで、ボタンを作って、押すたびにswitch1の値が加算されていくようにしてみます。下図のようにButton COMPをふたつ作り、Count CHOPに繋げてください。count1のインプット(input0)は、一番上がinput0で、カウントの加算用です。上から2番目のinput1は、リセット用です。
![](https://r-dimension.xsrv.jp/classes_j/wp-content/uploads/2022/07/c4bdc5ec2addcd510d35613535c06217-565x318.png)
button1パラメータ>Buttonタブ>Button TypeをMomentaryにしましょう。すると、ボタンを押すたびに1をcount1に送ってくれます。Toggle Downのままだと、1、0、1、0を繰り返します。
![](https://r-dimension.xsrv.jp/classes_j/wp-content/uploads/2022/07/7f33b5b5226adba67e01be3016b94cae-565x466.png)
そして、switch2パラメータ>countタブ>LimitをLoop Min/Max、Limit Maximumを3に変更します。すると、0〜3までカウントされたらまた0に戻ります。
![](https://r-dimension.xsrv.jp/classes_j/wp-content/uploads/2022/07/80c3f93d1951aa43abab3331b8cd5097-300x252.png)
count1の値をswitch1パラメータ>switchタブ>indexにexportしてください。ボタンを押すたびにテキストが変わるようになりました。
![](https://r-dimension.xsrv.jp/classes_j/wp-content/uploads/2022/07/dd4cd4c986df033ecc0f7a81a67fa85e-565x318.png)
Table DAT
Table DATはMicrosoft ExcelやGoogleスプレッドシートと似たようなものだと考えていいでしょう。ここでは、ボタンを押すことによって、テキストの色が変わるようにしてみます。まず、Table DATを出して右下のViewer ActiveをONにし、さらにTableパラメータ>Fillタブ>Fill TypeをSet SizeにしてからRow(行)を4、Column(列)を2に設定します。
最後に、下図のようにred、green、blue、alphaの情報を入力します。この場合、red=1、green=1、blue=1、alpha=1なので、白になります。
![](https://r-dimension.xsrv.jp/classes_j/wp-content/uploads/2023/06/e913298b63097a40ca20178b75f84cf2-565x318.png)
次にtable1を3つ複製し、下図のように変えましょう。table2は赤、table3は緑、table4は青になります。
![](https://r-dimension.xsrv.jp/classes_j/wp-content/uploads/2023/06/c971836848041db5247b31f0a0b1cb04-565x318.png)
Switch DAT、Null DATを繋いでください。そして、count1の値をswitch2パラメータ>Switchタブ>indexにexportしましょう。これでボタンを押すとtableの値が変わるようになりました。
![](https://r-dimension.xsrv.jp/classes_j/wp-content/uploads/2022/07/26dfe15c04f3b12bf2a8889c79098d3f-565x318.png)
さらに、DATをCHOPに変換するDAT to CHOPを出し、接続します。DATとCHOPなのでワイヤーでは繋げないため、datto1パラメータ>DAT to>DATにnull2を重ねることによって接続できます。
![](https://r-dimension.xsrv.jp/classes_j/wp-content/uploads/2022/07/143a2fd5cb5cf8f0375bb1aa70e9f72f-565x318.png)
Filter CHOPを使うことによって、色の変化にフェードの効果をつけることができます。Filter CHOPをdatto1に繋ぎ、さらにNull CHOPも繋いでください。filter1パラメータ>filterタブ>Filter Widthを3にして、3秒で色が変化するように設定します。
![](https://r-dimension.xsrv.jp/classes_j/wp-content/uploads/2022/07/ad27cf7d8960d7f5cd7c883ea46e2de0-565x318.png)
最後にnull3のredチャンネル、greenチャンネル、blueチャンネルをtext2パラメータ>Textタブ>FontカラーのR、G、Bにそれぞれexportします。すると、ボタンを押すたびにテキストとテキストの色が変わるようになります。
![](https://r-dimension.xsrv.jp/classes_j/wp-content/uploads/2022/07/6683d740da94047b26b254d0e7deab64-565x318.png)