
概要 📖 – テキストを保持して編集
Text DATは、テキストの行を保持し、ノード上で直接編集したり外部ファイルと同期したりできる DATです。ノードをダブルクリックすればその場でテキストを編集でき、File に外部ファイルを指定すれば .txt / .dat の内容を読み込んで保持します。スクリプトや設定、テンプレート文字列の置き場所として最もよく使われる DAT です。
主な用途 🎯
- スクリプトやメモを 1 つのノードに書き込んで保持する
- 外部のテキストファイル (
.txt/.dat) を読み込んで内容を表示する - ファイルとの同期を有効にして、ノードと ディスク上のファイルを双方向に更新する
- テンプレート文字列を保持し、後段の Substitute DAT で置換して動的なテキストを生成する
- JSON や CSV の生データを保持して、後段で表や辞書に変換する起点にする
データフロー 🔄
入力: ノード上での直接編集 orFile指定によるファイル読み込み
↓
Sync to File / Load on Start で読み込みタイミングを決定
↓
Write on Toe Save でプロジェクト保存時の書き出しを制御
↓
出力: テキストを保持した DAT
初心者の方は、以下日本語書籍も手元にあると安心です。

実際の案件事例まで踏み込んで紹介されていて、効率よくスキルアップするなら必携の二冊です!
パラメータ解説 ⚙️
File Page 📁
編集とファイル指定 📝
テキストの編集とディスク上のファイルを指定する基本パラメータ
Edit.. .edit ✏️
– Edit.. (編集) — クリックするとテキストエディタが開き、DAT のテキストを追加・編集・削除できます。
File .file 📂
– File (ファイル) — 読み込むファイルのファイルシステム上のパスとファイル名を指定します。
– .txt と .dat ファイルを受け付けます。
読み込みと同期 🔁
ファイルの読み込みタイミングとディスクとの同期方法を制御するパラメータ
Sync to File .syncfile 🔄
– Sync to File (ファイルと同期) — オンにすると、プロジェクト開始時にディスク上のファイルを DAT に読み込みます。ファイル名の指定が必要です。
– オンにした時点でファイルが即座に読み込まれます。ファイルが存在しない場合は、DAT が最初に更新されたときに作成されます。
– ファイルは監視され、ファイル側の変更は DAT に、DAT 側の変更はファイルに即座に反映されます。ファイルが削除された場合、DAT は現在の内容を保持します。
Load on Start .loadonstart 🚀
– Load on Start (起動時に読み込み) — オンにすると、プロジェクト開始時にディスク上のファイルを DAT に再読み込みします。
Load File .loadonstartpulse 📥
– Load File (ファイルを読み込み) — クリックするとファイルを即座に再読み込みします。
ファイルへの書き出し 💾
DAT の内容をディスク上のファイルへ書き出すタイミングを制御するパラメータ
Write on Toe Save .write 📤
– Write on Toe Save (プロジェクト保存時に書き出し) — オンにすると、プロジェクト保存時に DAT の内容をディスク上のファイルへ書き出します。
Write File .writepulse 📝
– Write File (ファイルを書き出し) — クリックするとファイルをディスクへ即座に書き出します。
Common Page 🔧
Language .language 📝
DAT が動作するスクリプト言語の決定方法
| 項目 | 内部名 | 説明 |
|---|---|---|
| Input | .input |
入力 DAT のスクリプト言語を使用 |
| Node | .node |
この DAT 自身のスクリプト言語を使用 |
Edit/View Extension .extension 📄
外部エディタに公開するファイル拡張子の選択
| 項目 | 内部名 | 説明 |
|---|---|---|
| dat | .dat |
汎用的なファイル拡張子 dat を使用 |
| From Language | .language |
DAT のスクリプト言語に応じた拡張子を自動選択 |
| Custom Extension | .custom |
Custom Extension で指定したカスタム拡張子を使用 |
Custom Extension .customext 🔤
Edit/View Extension が Custom Extension のときに適用される拡張子:
- Custom Extension 文字列:
Edit/View Extensionがcustomのときに使用される任意のファイル拡張子
Word Wrap .wordwrap 🔁
ノード表示でのワードラップ (折り返し) の有効化
| 項目 | 内部名 | 説明 |
|---|---|---|
| Input | .input |
入力 DAT の Word Wrap 設定を継承 |
| On | .on |
Word Wrap を有効化 (ノード上の長い行を折り返し表示) |
| Off | .off |
Word Wrap を無効化 (折り返さずそのまま表示) |
実践アイデア 💡
Example 1: スクリプトの置き場所 📜
Text DAT (Python script) → Execute DAT で呼び出し
Text DAT は Python や GLSL などのスクリプトを書き込んで保持する最も基本的な置き場所です。ノードをダブルクリックして直接コードを編集し、後段の Execute DAT やパラメータ式から参照して実行します。
- Text DAT を配置し、ダブルクリックでエディタを開く
- Python や GLSL などのコードを直接書き込む
- Execute DAT や式から
op('text1').textで内容を参照して実行
Example 2: 外部ファイルと同期 🔗
外部 .txt → Text DAT (Sync to File=On) → 双方向同期
File に外部のテキストファイルを指定し、Sync to File をオンにすると、ファイルと DAT が双方向に同期されます。外部エディタでファイルを編集すれば DAT に即座に反映され、DAT 側の変更もファイルへ書き戻されるため、コードを使い慣れたエディタで管理できます。
- Text DAT の
Fileに管理したい.txt/.datのパスを指定 Sync to File(syncfile) をオンにして双方向同期を有効化- 外部エディタでファイルを編集し、DAT 側に即座に反映されることを確認
- DAT 側の変更がファイルへ書き戻されることを確認
Example 3: CSVを表に変換 📊
Text DAT (CSV テキスト) → Convert DAT (To Table) → Table DAT
CSV やタブ区切りの生テキストを Text DAT に保持し、後段の Convert DAT で区切り文字を指定して表 (Table) に変換する用途です。変換後は Table DAT としてセル単位で値を参照できます。
- CSV やタブ区切りのテキストを Text DAT に保持
- 後段に Convert DAT を配置し、区切り文字を指定して表に変換
- Table DAT でセルごとに値を参照
関連オペレータ 🔗
類似機能OP 🔍
- File In DAT — ディスク上のファイルを読み込み専用で取り込む DAT。編集せず読み込みに専念する場合の代替
- Table DAT — テキストではなく行列の表データを保持・編集する DAT
組み合わせ推奨OP 🔄
- Substitute DAT — 保持したテンプレート文字列の特定箇所を検索・置換する後段処理
- Convert DAT — 保持した CSV / 区切りテキストを表に変換する後段処理
- Execute DAT — 保持した Python スクリプトをイベント発生時に実行
- File Out DAT — 保持したテキストをディスクへ書き出す後段処理
- Web Client DAT — HTTP レスポンスのテキストを Text DAT に保持して解析
前処理・後処理DAT 🎯
- 前処理: File In DAT、Web Client DAT、Folder DAT、In DAT
- 後処理: Substitute DAT、Convert DAT、File Out DAT、Out DAT
Info CHOP情報 📊
Text DAT は Info CHOP による詳細情報取得に対応しています。num_rows / num_cols で保持テキストの行数・列数を、total_cooks / cook_time / cpu_time で実行統計を参照でき、ファイル同期時の再読み込み頻度の監視や、テキスト変化時の再評価タイミング判定に利用できます。
DAT 固有情報 📋
num_rows: DAT の行数num_cols: DAT の列数type: DAT の型 (table / text)is_table: テーブル形式の場合 1、テキスト形式の場合 0
汎用オペレータ情報 🔄
total_cooks: プロセス開始からのクック回数cook_time: 最後のクック時間 (ミリ秒)cook_frame: 最後にクックされたフレーム番号warnings: 警告数errors: エラー数
トラブルシューティング ⚠️
よくある問題と解決策 🔧
❌ Problem: ファイルを変更しても DAT に反映されない
✅ Solution:
Sync to Fileがオンになっているか確認する (オフのままだとファイル側の変更が監視されない)- 起動時の読み込みだけで良い場合は
Load on Startをオンにし、手動で更新したいときはLoad Fileをクリックする Fileに指定したパスが正しいか、ファイルが実際に存在するかを確認する
❌ Problem: DAT の内容がファイルに保存されない
✅ Solution:
- プロジェクト保存時に書き出したい場合は
Write on Toe Saveをオンにする - 即座にディスクへ書き出したい場合は
Write Fileをクリックする Fileにファイル名が指定されているか確認する (未指定だと書き出し先が決まらない)
❌ Problem: 長い行がノード上で見切れる / 折り返されてしまう
✅ Solution:
Word WrapをOnにすると長い行がノード上で折り返し表示される- 折り返さずそのまま表示したい場合は
Word WrapをOffにする - 入力 DAT の設定をそのまま使いたい場合は
Word WrapをInputにする
参考資料 📚
その他 🔗
- TouchDesigner Wiki — DAT 概要
- TouchDesigner Wiki — Category:DATs
- TouchDesigner Wiki ホーム
- TouchDesigner 公式 Forum
- Facebook — TouchDesigner Help Group

