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

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

UDP Out DAT のネットワーク送信機能を示す図

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

概要 📖 – UDP でメッセージを送信

UDP Out DATは、ネットワーク上の指定したアドレスとポートへ UDP メッセージを送信する DATです。送信先の IP アドレスとポートを指定するだけで、軽量かつ高速な機器間通信を実現します。

主な用途 🎯

  • 他アプリケーションやデバイスへのテキストメッセージ送信
  • 別 PC で動く TouchDesigner へのネットワーク経由データ転送
  • マルチキャストによる複数受信先への一斉配信
  • 外部制御システムへのリアルタイム命令送出
  • ローカルネットワーク内での軽量な機器間通信

データフロー 🔄

入力: 送信したい文字列やデータ

UDP Out DAT (送信先アドレス・ポートを指定)

出力: ネットワーク経由で相手先へ UDP パケット送信

Tips

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

まる。
まる。

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


パラメータ解説 ⚙️

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 台のマシンを同期させる基本的なネットワーク連携フローです。

  1. 送信したい値を Text DAT などで文字列にまとめる
  2. UDP Out DAT の Network Address に受信側 PC の IP アドレス、Port に受信ポート番号を入力
  3. 送信側スクリプトから op('udpout1').sendBytes() などでメッセージを送出
  4. 受信側 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 🔄

前処理・後処理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 が有効なマルチキャストアドレス範囲か確認
  • ルーターやスイッチがマルチキャストを許可しているか確認

参考資料 📚

その他 🔗

公式リソース 📖

関連オペレータ 🔗

この記事は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をコピーしました