
概要 📖 – UDP でメッセージを送信
UDP Out DATは、ネットワーク上の指定したアドレスとポートへ UDP メッセージを送信する DATです。送信先の IP アドレスとポートを指定するだけで、軽量かつ高速な機器間通信を実現します。
主な用途 🎯
- 他アプリケーションやデバイスへのテキストメッセージ送信
- 別 PC で動く TouchDesigner へのネットワーク経由データ転送
- マルチキャストによる複数受信先への一斉配信
- 外部制御システムへのリアルタイム命令送出
- ローカルネットワーク内での軽量な機器間通信
データフロー 🔄
入力: 送信したい文字列やデータ
↓
UDP Out DAT (送信先アドレス・ポートを指定)
↓
出力: ネットワーク経由で相手先へ UDP パケット送信
初心者の方は、以下日本語書籍も手元にあると安心です。

実際の案件事例まで踏み込んで紹介されていて、効率よくスキルアップするなら必携の二冊です!
パラメータ解説 ⚙️
Connect Page 📋
接続設定 🔌
送信先アドレス・ポート・有効化など接続の基本設定
Active .active ✅
– Active (有効化) — このチェックボックスで接続を有効にします。
– オフの間は送信が行われません。
Network Address .address 🌐
– Network Address (送信先アドレス) — 送信先の IP アドレス (例: 100.123.45.78) またはマシン名を指定します。
– localhost を指定すると同じコンピュータ内が送信先になります。マルチキャスト使用時はマルチキャストアドレスを指定します。
Port .port 🔢
– Port (送信先ポート) — 送信先のネットワークポート番号を指定します。
Shared Connection .shared 🔗
– Shared Connection (接続の共有) — 同じネットワークプロトコルを使う他のネットワーク DAT と同一の接続を共有します。
Local Address .localaddress 📍
– Local Address (送信元アドレス) — 送信元の IP アドレスを指定します。複数の NIC (ネットワークカード) がある場合に、どれを使うか選べます。
Local Port .localport 🔢
– Local Port (送信元ポート) — Local Port Mode が Manual のとき、使用するポート番号をここで入力します。
Protocol .protocol 📡
Protocol (プロトコル) — 使用するネットワークプロトコルを選択します。
| 項目 | 内部名 | 説明 |
|---|---|---|
| Messaging (UDP) | .msging |
通常の UDP メッセージ送信 |
| Multi-Cast Messaging (UDP) | .multicastmsging |
マルチキャストによる一斉配信 |
Row/ Callback Format .format 📊
Row/ Callback Format (行・コールバック形式) — 受信データをどう解析するかを決めます。
| 項目 | 内部名 | 説明 |
|---|---|---|
| One Per Byte | .perbyte |
受信した 1 バイトごとにテーブルへ 1 行追加 |
| One Per Line | .perline |
受信した 1 行ごとに 1 行追加 (行末は \n / \r / null で区切り) |
| One Per Message | .permessage |
受信した 1 メッセージごとに 1 行追加 |
Local Port Mode .localportmode 🎛️
Local Port Mode (送信元ポートの選択方法) — 送信元ポートを自動または手動のどちらで決めるか選びます。
| 項目 | 内部名 | 説明 |
|---|---|---|
| Automatic | .automatic |
送信元ポートを自動で選択 |
| Manual | .manual |
送信元ポートを手動で指定 (Local Port で設定) |
Received Data Page 📥
受信データ設定 📨
コールバック実行や出力行数の制限など、受信側の挙動を制御する設定
Callbacks DAT .callbacks 📜
– Callbacks DAT (コールバック DAT) — 受信メッセージ 1 件ごとに 1 回実行されるスクリプトを指定します。
Execute from .executeloc ▶️
– Execute from (実行元) — スクリプトをどの場所から実行するかを決めます。
From Operator .fromop 🎯
– From Operator (実行元オペレータ) — Execute from が Specified Operator のとき、スクリプト実行のトリガーおよび実行パスとなるオペレータを指定します。
Clamp Output .clamp 🚦
– Clamp Output (出力数の制限) — DAT は既定で 100 メッセージに制限されますが、これを有効にすると無制限を含む任意の値に設定できます。
Maximum Lines .maxlines 🔢
– Maximum Lines (最大行数) — メッセージの保持件数を制限します。古いメッセージから先にリストから削除されます。
Clear Output .clear 🧹
– Clear Output (出力クリア) — 見出し以外の全行を削除します。Python では op("opname").par.clear.pulse() でクリアします。
Bytes Column .bytes 🔣
– Bytes Column (バイト列の列) — メッセージの生バイトを別の列として出力します。
実践アイデア 💡
Example 1: 別 PC へのデータ送信 🌐
Text DAT → UDP Out DAT (Network Address + Port) → 受信側 PC の UDP In DAT
1 台目の TouchDesigner で生成したパラメータ値を文字列にまとめ、UDP Out DAT で別 PC の UDP In DAT へ送信して 2 台のマシンを同期させる基本的なネットワーク連携フローです。
- 送信したい値を Text DAT などで文字列にまとめる
- UDP Out DAT の Network Address に受信側 PC の IP アドレス、Port に受信ポート番号を入力
- 送信側スクリプトから
op('udpout1').sendBytes()などでメッセージを送出 - 受信側 PC の UDP In DAT で受信を確認
Example 2: マルチキャスト一斉配信 📡
制御値 → UDP Out DAT (Multi-Cast Messaging) → 複数の受信機器
Protocol を Multi-Cast Messaging に設定し、マルチキャストアドレス宛にメッセージを送ることで、ネットワーク上の複数の受信機器へ同じ命令を一斉に届ける配信フローです。
- Protocol を Multi-Cast Messaging (UDP) に設定
- Network Address にマルチキャストアドレスを指定し、受信機器側を同じグループに参加させる
- 送信したメッセージが複数の受信先に同時到達することを確認
Example 3: 外部アプリへの命令送出 🎯
UI 操作 → UDP Out DAT (localhost) → 同一 PC の別アプリ
localhost を送信先に指定して、同じ PC 上で動く別アプリケーションへ UDP で制御命令を送り、TouchDesigner の UI 操作を外部ソフトに反映させる連携フローです。
- Network Address に localhost、Port に受信アプリのポートを設定
- ボタン操作などをトリガーにメッセージを送出
- 受信アプリ側で命令が反映されることを確認
関連オペレータ 🔗
類似機能OP 🔍
- OSC Out DAT — OSC プロトコルでメッセージを送信
- UDT Out DAT — 信頼性のある UDT プロトコルで送信
- TCP/IP DAT — TCP による双方向の確実な通信
組み合わせ推奨OP 🔄
- UDP In DAT — 受信側として対になる DAT
- Text DAT — 送信する文字列の組み立て
- Web Client DAT — HTTP リクエストとの使い分け
前処理・後処理DAT 🎯
- 前処理: Text DAT、Substitute DAT、Convert DAT
- 後処理: UDP In DAT、Table DAT
Info DAT情報 📊
UDP Out DAT は Info DAT による状態情報の取得に対応しています。
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がオンになっているか確認- Network Address と Port が受信側の設定と一致しているか確認
- ファイアウォールが UDP 通信をブロックしていないか確認
❌ Problem: 別 PC との通信ができない
✅ Solution:
- 両 PC が同じネットワークに接続されているか確認
- 受信側 PC の IP アドレスが正しいか、
localhostではなく実アドレスを指定しているか確認 - 複数 NIC がある場合は
Local Addressで正しい送信元を指定
❌ Problem: マルチキャストが機能しない
✅ Solution:
- Protocol が Multi-Cast Messaging (UDP) になっているか確認
- Network Address が有効なマルチキャストアドレス範囲か確認
- ルーターやスイッチがマルチキャストを許可しているか確認
参考資料 📚
その他 🔗
- TouchDesigner Wiki — DAT 概要
- TouchDesigner Wiki — Category:DATs
- TouchDesigner Wiki ホーム
- TouchDesigner 公式 Forum
- Facebook — TouchDesigner Help Group

