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

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

Stype In CHOP のトラッキングデータ受信機能を示す図

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

概要 📖 – Stype トラッキングデータの受信

Stype In CHOPは、Stype トラッキングシステムから送信される実カメラの位置・回転・レンズ情報をネットワーク経由で受信する CHOPです。バーチャルプロダクションや AR/XR ステージでの実カメラとバーチャルカメラの同期に使用します。

主な用途 🎯

  • Stype カメラトラッキングシステムからの位置・回転データ受信
  • バーチャルプロダクション用カメラトラッキング情報の取り込み
  • Stype レンズデータ(焦点距離・歪み・FOV)のリアルタイム取得
  • AR / XR ステージでの実カメラとバーチャルカメラの同期
  • ライブ放送向けトラッキングデータのネットワーク受信

データフロー 🔄

入力: Stype サーバからの UDP / Multicast / UDT パケット

ネットワーク受信(Protocol / Port)

トラッキング情報のチャンネル化

出力: カメラ位置・回転・レンズパラメータのチャンネル

Tips

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

まる。
まる。

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


パラメータ解説 ⚙️

Stype Page 📋

Protocol .protocol 🎛️

Stype サーバとの通信に使うネットワークプロトコルの選択

項目 内部名 説明
Messaging (UDP) .msging 標準的な UDP ユニキャストでの受信
Multi-Cast Messaging (UDP) .multicastmsging UDP マルチキャスト経由で複数受信機での共有受信
Reliable Messaging (UDT Library) .reliablemsging UDT ライブラリ経由の信頼性ある送受信

ネットワーク設定パラメータ 🛰️

Network Address .netaddress 📡
– Multicast 使用時に Stype がパケットを listen するアドレス
– Stype サーバ側のマルチキャストグループに合わせて設定

Network Port .port 🔌
– Stype In CHOP がパケットを受け付けるポート番号
– デフォルトは 6301、ハードウェアの出力設定に合わせる

Local Address .localaddress 🔀
– 送信側マシンが複数のネットワークアダプタを持つ場合、どのアダプタから送信するかを IP アドレスで指定
– 単一 NIC 環境では空欄でよい

Active .active
– オン: CHOP がネットワークポート宛のパケットを受信
– オフ: 更新停止。ポートに届いたデータは破棄される

Padding .padding 📐
– 0〜1 の値で視野角(FOV)をどれだけ広げるかを指定
– レンズ歪みで本来の描画領域外のサンプルが必要なときに使用
– パディング済 FOV から描画ノードの解像度算出にも利用


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 Server → Stype In CHOP (UDP) → Camera COMP (tx, ty, tz, rx, ry, rz) → Render TOP
  1. Stype カメラトラッキングサーバを起動し、TouchDesigner マシンに UDP でデータ送信を設定
  2. Stype In CHOP の Protocol を「Messaging (UDP)」、Port を 6301 に設定
  3. Active をオンにして受信開始、出力チャンネルの tx/ty/tz/rx/ry/rz を Camera COMP の Transform にエクスポート
  4. 実カメラの動きにバーチャルカメラが同期し、合成映像が違和感なくレンダリングされる

Example 2: マルチキャストでの複数受信機共有 📡

Stype Server (Multicast) → Stype In CHOP (Multi-Cast UDP) → 複数 TD インスタンス
  1. Stype サーバをマルチキャスト送信モードに設定(例: 239.x.x.x のアドレス)
  2. 各 TouchDesigner マシンの Stype In CHOP で Protocol を「Multi-Cast Messaging (UDP)」、Network Address に同一マルチキャストアドレスを指定
  3. Local Address に各マシンの受信 NIC の IP を指定し、想定通りのアダプタから受信
  4. 1 つの Stype 出力で複数の TD 描画ノードが同じトラッキング情報を共有し描画

Example 3: レンズパラメータの取り込みと描画解像度算出 🔍

Stype In CHOP (FOV, distortion) → Math CHOP (FOV padding) → Render TOP resolution
  1. Stype In CHOP の Padding を 0.1〜0.2 に設定し、レンズ歪み補正用の余白を確保
  2. 出力 FOV チャンネルを Math CHOP で正規化し、Render TOP の Camera FOV にエクスポート
  3. パディング済 FOV から逆算した解像度を Render TOP の Resolution に反映
  4. 歪み補正後も描画領域が不足しない安定したバーチャルカメラ映像が得られる

Example 4: 信頼性重視の UDT 受信 🛡️

Stype Server (UDT) → Stype In CHOP (Reliable Messaging) → Logic CHOP → Trigger CHOP
  1. ライブ本番で UDP のパケットロスが許容できないとき Protocol を「Reliable Messaging (UDT Library)」に設定
  2. 受信したトラッキングデータを Logic CHOP で異常値判定
  3. 想定範囲外の値を検出したら Trigger CHOP でフェイルセーフ動作を発火
  4. ネットワーク不安定時もデータ取りこぼしを抑え、本番進行を維持

関連オペレータ 🔗

類似機能OP 🔍

  • OSC In CHOP — OSC プロトコル経由の汎用ネットワーク受信

組み合わせ推奨OP 🔄

  • Math CHOP — 受信した位置・回転値のスケーリング・オフセット補正
  • Filter CHOP — トラッキングノイズの時間方向スムージング
  • Logic CHOP — 受信値の異常検知やトラッキングロスト判定
  • Trail CHOP — 受信したカメラ軌跡の時間履歴を可視化

前処理・後処理CHOP 🎯


Info CHOP情報 📊

Stype In 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: Stype サーバからのパケットが受信されない
✅ Solution:

  • Active がオンになっているか確認
  • Network Port が Stype サーバの送信ポート(デフォルト 6301)と一致しているか確認
  • ファイアウォールで該当 UDP ポートが許可されているか確認、必要に応じて受信規則を追加

❌ Problem: マルチキャストで複数 NIC のうち想定外のアダプタから受信される
✅ Solution:

  • Local Address に受信させたい NIC の IP アドレスを明示指定
  • OS のマルチキャストルーティング設定を確認し、対象 NIC が優先されるよう調整
  • Network Address が Stype サーバ側のマルチキャストグループと一致しているか再確認

❌ Problem: 受信値にジッタやスパイクノイズが乗る
✅ Solution:

  • 後段にFilter CHOPを入れて時間方向でスムージング
  • Logic CHOPで異常範囲のサンプルを検出し代替処理
  • UDP パケットロスが疑われる場合は Protocol を「Reliable Messaging (UDT Library)」に切替

❌ Problem: レンズ歪み補正後にレンダリング領域が不足する
✅ Solution:

  • Padding 値を 0 から徐々に増やし FOV に余白を確保
  • Padding 済 FOV から逆算した解像度を Render TOP の Resolution に反映
  • 歪み補正シェーダ側のサンプリング範囲が padded FOV と一致しているか確認

参考資料 📚

その他 🔗

公式リソース 📖

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