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

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

Stype Out CHOP の Stype プロトコル送信機能を示す図

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

概要 📖 – Stype カメラトラッキング データのネットワーク送信

Stype Out CHOPは、入力された Stype カメラトラッキング チャンネルを Stype プロトコル パケットに整形してネットワーク送信する CHOPです。UDP / Multi-Cast UDP の 2 種類のネットワーク プロトコルに対応し、バーチャル プロダクション環境で外部レンダリングシステムにカメラデータをリアルタイム配信します。

主な用途 🎯

  • Stype カメラトラッキング データのネットワーク経由送信(UDP)
  • 外部レンダリングシステムへのリアルタイム カメラ位置・回転データ配信
  • バーチャル プロダクション環境での Stype プロトコル ブロードキャスト
  • タイムコード付き Stype パケットの同期送信(hour / minute / second / frame)
  • マルチキャスト UDP での複数受信先への同時配信

データフロー 🔄

入力: Stype チャンネル(位置・回転・FOV・タイムコード 等)

Stype パケットへの整形

UDP / Multi-Cast UDP プロトコル選択

ネットワーク送信

Tips

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

まる。
まる。

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


パラメータ解説 ⚙️

Stype Out Page 📋

Active .active 🟢

データパケットの送信オン / オフ:

  • Active: オフにするとデータパケットの送信を停止

Protocol .protocol 🌐

使用するネットワーク プロトコルを選択

項目 内部名 説明
Messaging (UDP) .msging 標準 UDP ユニキャスト メッセージング(単一受信先)
Multi-Cast Messaging (UDP) .multicastmsging UDP マルチキャスト メッセージング(複数受信先への同時配信)

Network Address .netaddress 📡

Stype データの送信先ネットワーク アドレス:

  • Network Address: 送信先コンピュータのネットワーク アドレス。ドメイン名、IP アドレス(例: 100.123.45.78)、または同一マシン内の別プログラム宛てに localhost を指定可能

Network Port .port 🔌

データパケットの送信先ポート番号:

  • Network Port: データパケットを送信するポート番号

Local Address .localaddress 🏠

送信元として使用するローカル IP アドレス:

  • Local Address: 送信元として使用する IP アドレス。複数の NIC(Network Interface Card)を持つシステムで、どの NIC から送信するかを選択する用途に有効

Timecode Object / CHOP / DAT .timecodeop

タイムコード参照先:

  • Timecode Object / CHOP / DAT: タイムコード参照を設定する。hour / second / minute / frame チャンネルを持つ CHOP、最初のセルにタイムコード文字列を持つ DAT、または Timecode Class オブジェクトのいずれかを参照可能。未参照の場合は入力 CHOP の hour / second / minute / frame チャンネルが使用される

Packet Number Source .packetnumber 🔢

パケット番号フィールドの生成方法

項目 内部名 説明
Auto-Generate .generate パケット番号は毎フレーム 1 ずつ自動加算(255 から 0 にループ)
From Channel input .input 入力 CHOP からパケット番号を取得

Common Page 🔧

Time Slice .timeslice ⏱️

Time Slice モードの強制設定:

  • オン: チャンネルを「タイムスライス」モードに強制
  • タイムスライス: 前回のクックフレームから現在のクックフレームまでの時間

Scope .scope 🎯

影響を受けるチャンネルの絞り込み:

  • Scope 文字列: 影響を受けるチャンネルを指定する文字列
  • パターンマッチング: *[1-10] 等のパターンが使用可能

Sample Rate Match .srselect

複数の入力 CHOP のサンプルレートが異なる場合の処理方法

項目 内部名 説明
Resample At First Input’s Rate .first 最初の入力のレートで他をリサンプル
Resample At Maximum Rate .max 最高サンプルレートでリサンプル
Resample At Minimum Rate .min 最低サンプルレートでリサンプル
Error If Rates Differ .err レート不一致でエラー

Export Method .exportmethod 📤

CHOP チャンネルをパラメータに接続する方法

項目 内部名 説明
DAT Table by Index .datindex DAT テーブルのインデックスでチャンネルとパラメータを対応付け
DAT Table by Name .datname DAT テーブルの行名でチャンネルとパラメータを対応付け
Channel Name is Path:Parameter .autoname チャンネル名を `path:parameter` 形式で記述し直接対応付け

Export Root .autoexportroot 🌳

Channel Name is Path:Parameter モード時のパス基点:

  • Export Root パス: autoname モードでチャンネル名のパス部分を相対化する基点 OP のパス

Export Table .exporttable 📋

DAT Table エクスポート方式での参照 DAT:

  • Export Table DAT: datindex / datname モード時に参照する DAT のパス

Rename from .commonrenamefrom 🔤

リネーム対象チャンネルのパターン:

  • Rename from パターン: リネーム対象とするチャンネル名のパターンマッチング文字列

Rename to .commonrenameto 🔁

リネーム後の置換パターン:

  • Rename to パターン: Rename from にマッチしたチャンネルの新しい名前パターン (デフォルトはリネームなし)

実践アイデア 💡

Example 1: バーチャル プロダクションでのカメラトラッキング配信 🎥

Stype Tracker (外部) → Serial In / OSC In CHOP → Stype Out CHOP (UDP) → 外部レンダリングシステム
  1. Stype カメラトラッキングシステムから位置・回転・FOV データを取得
  2. Stype Out CHOP の Protocol を「Messaging (UDP)」に設定
  3. Network Address にレンダリングサーバの IP(例: 192.168.1.100)、Network Port を Stype 受信側に合わせて設定
  4. Active をオンにしてリアルタイム送信開始

Example 2: マルチキャスト UDP での複数受信先配信 📡

カメラトラッキング入力 → Stype Out CHOP (Multi-Cast UDP) → 複数レンダリングノード
  1. Stype Out CHOP の Protocol を「Multi-Cast Messaging (UDP)」に切り替え
  2. Network Address にマルチキャスト アドレス(例: 239.255.0.1)を指定
  3. 受信側の複数レンダリングノードを同じマルチキャスト グループに参加させる
  4. 1 つの送信から全ノードへ同時にカメラデータが届く

Example 3: タイムコード同期 Stype 送信 ⏱️

Timecode CHOP → Stype Out CHOP (timecodeop 参照) → 外部受信側
  1. hour / minute / second / frame チャンネルを持つ Timecode CHOP を用意
  2. Stype Out CHOP の Timecode Object / CHOP / DAT パラメータに上記 CHOP のパスを指定
  3. Packet Number Source は「Auto-Generate」のままで毎フレーム送信
  4. 受信側でタイムコード付きカメラデータを取得し、収録映像とフレーム同期可能になる

関連オペレータ 🔗

類似機能OP 🔍

  • OSC Out CHOP — 汎用 OSC プロトコルでチャンネル値を送信、Stype 専用フォーマットではない
  • UDP Out DAT — 任意のテキスト / バイナリ UDP メッセージを送信、Stype パケット整形は手動

組み合わせ推奨OP 🔄

  • Stype In CHOP — Stype Out が送信したパケットを受信側で展開する対になる CHOP
  • Timecode CHOPhour / minute / second / frame チャンネルを Stype Out の timecodeop に渡す
  • OSC In CHOP — OSC 経由で取得したカメラデータを Stype プロトコルに変換して再配信

前処理・後処理CHOP 🎯


Info CHOP情報 📊

Stype Out CHOPは Info CHOP による詳細情報取得に対応しています。

CHOP固有情報 🎚️

  • start: CHOPインターバルの開始(サンプル単位)
  • length: CHOPのサンプル数
  • sample_rate: フレーム毎秒のサンプルレート
  • num_channels: CHOPのチャンネル数
  • time_slice: タイムスライス有効時は1、無効時は0
  • export_sernum: Export接続の更新回数

汎用オペレータ情報 🔄

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

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

よくある問題と解決策 🔧

❌ Problem: 受信側にパケットが届かない
✅ Solution:

  • Active パラメータがオンになっているか確認(オフでは送信停止)
  • Network Address / Network Port が受信側の設定と一致しているか確認
  • ファイアウォール / NAT 設定で該当 UDP ポートが許可されているか確認
  • 複数 NIC 環境では Local Address で送信元 NIC を明示指定

❌ Problem: マルチキャスト パケットが特定ノードに届かない
✅ Solution:

  • Protocol を「Multi-Cast Messaging (UDP)」に設定しているか確認
  • Network Address がマルチキャスト範囲(224.0.0.0239.255.255.255)内か確認
  • 受信ノードのネットワーク スイッチで IGMP Snooping が有効か確認
  • ルータ越えの場合は TTL 設定とマルチキャスト ルーティング設定を確認

❌ Problem: タイムコードが受信側で 0 のまま
✅ Solution:

  • Timecode Object / CHOP / DAT に参照を設定しているか確認
  • 参照先 CHOP に hour / minute / second / frame の 4 チャンネルが揃っているか確認
  • 参照無しの場合は入力 CHOP に同名チャンネルが含まれているか確認
  • DAT 参照の場合は最初のセルにタイムコード文字列が入っているか確認

❌ Problem: パケット番号が想定どおりに増えない
✅ Solution:

  • Packet Number Source が「Auto-Generate」なら毎フレーム自動加算(255 → 0 ループ)
  • 「From Channel input」設定時は入力 CHOP の対応チャンネル値がパケット番号として使用される
  • 受信側が連続性チェックを行う場合は Auto-Generate を推奨

参考資料 📚

その他 🔗

公式リソース 📖

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