Touch In DAT 完全ガイド | 使い方・パラメータ解説【TouchDesigner】

※当サイトにはプロモーションリンクが含まれます。

Touch In DAT のネットワーク受信機能を示す図

記事更新の通知はXでアナウンス٩(๑❛ᴗ❛๑)
@maru6o6をフォロー

概要 📖 – 他プロジェクトから受信

Touch In DATは、別の TouchDesigner からネットワーク経由で送られたデータを受信し、テーブルやテキストとして出力する DATです。送信側の Touch Out DAT と対で使い、通信プロトコル・宛先アドレス・ポート番号を揃えることで、マシンをまたいだプロジェクト間のデータ連携を実現します。

主な用途 🎯

  • 別 TouchDesigner からのデータ受信(Touch Out DAT が送信したテーブルやテキストをネットワーク経由で受け取る)
  • 複数マシン間でのプロジェクト連携(演出用とセンサー処理用などマシンを分けた構成でデータを共有)
  • プロトコルを選んだネットワーク受信(信頼性重視の TCP か低遅延の UDP かを用途に応じて切替)
  • マルチキャストでの一斉受信(複数の受信側マシンが同じデータを同時に受け取る配信構成)
  • 受信内容のテーブル / テキスト出力(受け取った内容をそのまま DAT のテーブルとして後段の処理に渡す)

データフロー 🔄

入力: 送信側からネットワークに流れたデータ(指定プロトコル / アドレス / ポート)

受信処理(待ち受けポートでパケットを取り込み)

出力: 受信したテーブル / テキストの DAT 出力

Tips

初心者の方は、以下日本語書籍も手元にあると安心です。

まる。
まる。

実際の案件事例まで踏み込んで紹介されていて、効率よくスキルアップするなら必携の二冊です!


パラメータ解説 ⚙️

Touch In Page 📋

通信プロトコル .protocol 🔁

Protocol (通信プロトコル) — どの方式でデータを受信するかを選択します。詳細は公式の Network Protocols 解説を参照します。

項目 内部名 説明
Streaming (TCP/IP) .streaming TCP/IP による到達保証付きのストリーム受信。確実な配送を優先する場合
Messaging (UDP) .msging UDP によるメッセージ単位の受信。到達保証より低遅延を優先する場合
Multi-Cast Messaging (UDP) .multicastmsging UDP のマルチキャストによる受信。複数の受信側へ同じデータを一斉配信する場合

接続と宛先 🌐

Network Address .address 📡
Network Address (宛先アドレス) — マルチキャストの場合は待ち受ける対象のマルチキャストアドレスを指定します。
UDT プロトコル使用時はこの欄に接続先サーバーの IP アドレスを指定します。

Port .port 🔌
Port (ポート) — パケットを受信するネットワークポート番号を指定します。
送信側 (Touch Out DAT) と同じポート番号に揃える必要があります。

Shared Connection .shared 🔗
Shared Connection (接続の共有) — 同じネットワークプロトコルを使う他のネットワーク DAT と接続を共有します。

Active .active
Active (受信の有効化) — On の間、この DAT はネットワークポートに送られた情報を受信します。
Off にすると更新が止まり、その間にポートへ送られたデータは失われます。


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 ExtensionCustom Extension のときに適用される拡張子:

  • Custom Extension 文字列: Edit/View Extensioncustom のときに使用される任意のファイル拡張子

Word Wrap .wordwrap 🔁

ノード表示でのワードラップ (折り返し) の有効化

項目 内部名 説明
Input .input 入力 DAT の Word Wrap 設定を継承
On .on Word Wrap を有効化 (ノード上の長い行を折り返し表示)
Off .off Word Wrap を無効化 (折り返さずそのまま表示)

実践アイデア 💡

Example 1: 2台間でテーブル共有 📡

送信側 Touch Out DAT → ネットワーク → Touch In DAT → 後段処理

演出用マシンとセンサー処理用マシンを分けた構成で、片方の Touch Out DAT が送ったテーブルをもう片方の Touch In DAT で受信し、マシンをまたいでデータを共有するフロー。

  1. 送信側の Touch Out DAT と受信側で Protocol を同じ Streaming (TCP/IP) に揃える
  2. 受信側の Port を送信側と同じ番号に設定する
  3. Active を On にして受信を開始する
  4. 受信したテーブルが Touch In DAT の出力に現れることを確認する

Example 2: マルチキャスト配信 🌐

送信側 Touch Out DAT → マルチキャスト → 複数の Touch In DAT

複数の受信側マシンが同じデータを同時に受け取る配信構成で、Touch In DAT をマルチキャストモードに設定し、1 つの送信から多数の受信を実現するフロー。

  1. ProtocolMulti-Cast Messaging (UDP) に設定
  2. Network Address に待ち受けるマルチキャストアドレスを指定
  3. 各受信側マシンで Port を送信側と揃えて Active を On にする

Example 3: 受信内容を解析 🔣

Touch In DAT → DAT Execute DAT → Python 処理

受信したテーブルの行追加をきっかけに処理を走らせる構成で、Touch In DAT の出力変化を DAT Execute DAT で監視し、受信ごとに Python で内容を解析するフロー。

  1. Protocol / Port を送信側に合わせて受信を確立する
  2. DAT Execute DAT で Touch In DAT の行変化を監視する
  3. コールバック内で受信内容を読み取り、後段の処理へ反映する

関連オペレータ 🔗

類似機能OP 🔍

  • Touch In CHOP — テーブルではなくチャンネルデータを別 TouchDesigner から受信する版
  • OSC In DAT — OSC メッセージをテーブルとして受信する版 (汎用機器との連携向き)
  • UDP In DAT — 汎用 UDP パケットを受信する版
  • TCP/IP DAT — 汎用の TCP 接続で双方向にデータを送受信する版

組み合わせ推奨OP 🔄

  • Touch Out DAT — 送信側として対で使う定番ペア (プロトコル / ポートを揃える)
  • DAT Execute DAT — 受信による行変化をトリガーに Python を発火させる
  • Convert DAT — 受信したテキストを区切り文字でテーブルに変換して解析
  • Table DAT — 受信結果を保持・整形するテーブルとして管理

前処理・後処理DAT 🎯


Info DAT情報 📊

Touch In DAT は Info DAT による詳細情報取得に対応しています (num_rows / num_cols / total_cooks / cook_time 等の共通 DAT Info チャンネルを参照可能)。

DAT 固有情報 📋

  • num_rows: DAT の行数
  • num_cols: DAT の列数
  • type: DAT の型 (table / text)
  • is_table: テーブル形式の場合 1、テキスト形式の場合 0

汎用オペレータ情報 🔄

  • total_cooks: プロセス開始からのクック回数
  • cook_time: 最後のクック時間 (ミリ秒)
  • cook_frame: 最後にクックされたフレーム番号
  • warnings: 警告数
  • errors: エラー数

トラブルシューティング ⚠️

よくある問題と解決策 🔧

❌ Problem: データが受信できない・テーブルが空のまま
✅ Solution:

  • Active パラメータが On になっているか確認
  • 送信側 (Touch Out DAT) と Protocol および Port が一致しているか確認
  • ファイアウォールが該当ポートをブロックしていないか確認 (受信側マシンの設定も含む)

❌ Problem: マルチキャストで受信できない
✅ Solution:

  • Protocol が送受信とも Multi-Cast Messaging (UDP) になっているか確認
  • Network Address に正しいマルチキャストアドレスを指定しているか確認
  • ルーターやスイッチがマルチキャストを通す設定になっているか確認

❌ Problem: 受信が途中で止まる・取りこぼす
✅ Solution:

  • 受信を止めた覚えがないか Active の状態を確認 (Off の間のデータは失われる)
  • 到達保証が必要なら ProtocolStreaming (TCP/IP) に変更する
  • 送信側と受信側のネットワーク経路 (同一サブネット / VLAN) を見直す

参考資料 📚

その他 🔗

公式リソース 📖

関連記事 🔗

この記事はLLMと共に内容を執筆、更新しています。
最新バージョンとの項目差異など、情報の不一致を見つけた心優しい方はXもしくはInsta、メールなどよりサイト管理者までご連絡ください😎


まる。

お仕事のご依頼はDM又はメールにて。
━━━━━━━━━━━━━━━━━
Python/Touchdesigner/M5Stackをこよなく愛すフルスタックエンジニア。
専門は生理心理学、趣味はヨガやサウナ、EMS電気風呂などヘルスケア全般。
脳波や筋電、心拍を中心とした生体情報のセンシング&インタラクティブアートづくりがライフワーク。

普段はワントゥーテンという会社で空間演出エンジニアをしています。
リファラル採用お繋ぎできますので、我こそはという尖った方は経歴と希望職種添えてDMください(エンジニア以外、営業職等もOK)。
ご飯行きましょう。

↓日常垢
Instagram:@malmal0v0

まる。をフォローする
その他の記事はこちら
Math Combine POP 完全ガイド | 使い方・パラメータ解説【TouchDesigner】
ZED Select TOP 完全ガイド | 使い方・パラメータ解説【TouchDesigner】
ZED POP 完全ガイド | 使い方・パラメータ解説【TouchDesigner】
Window COMP 完全ガイド | 使い方・パラメータ解説【TouchDesigner】
Widget COMP 完全ガイド | 使い方・パラメータ解説【TouchDesigner】

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