
概要 📖 – Ncam リアルタイムカメラトラッキングデータ受信
Ncam CHOPは、Ncam システムからリアルタイムでカメラトラッキングデータ(位置・姿勢・レンズ情報・タイムコード)を TCP 経由で受信する CHOPです。バーチャルプロダクションや XR 撮影現場で、実機カメラの動きを CG 空間内のカメラへ低レイテンシで反映するための専用入力オペレータです。
主な用途 🎯
- Ncam サーバーからリアルタイムでカメラ位置・姿勢データを受信
- バーチャルプロダクション・XR 撮影で実機カメラと CG カメラを同期
- カメラの Field of View・ズーム・フォーカスなどレンズパラメータを取得
- SMPTE タイムコードを用いた他システムとのフレーム同期
- AR/MR 演出で実カメラ追従の CG 合成 (camera-tracked compositing)
データフロー 🔄
入力: Ncam サーバー (TCP)
↓
ネットワーク受信 (Active / Protocol / Address / Port)
↓
カメラ姿勢デコード (View / Projection)
↓
カメラ追加プロパティ (Properties)
↓
タイムコード変換 (Timecode)
↓
出力: トラッキングチャンネル
初心者の方は、以下日本語書籍も手元にあると安心です。

実際の案件事例まで踏み込んで紹介されていて、効率よくスキルアップするなら必携の二冊です!
パラメータ解説 ⚙️
Network Page 🌐
Active .active 🔌
Ncam システムからのデータ受信を開始・停止するスイッチ:
- オン: Ncam サーバーへ接続してデータ受信を行う
- オフ: 受信を停止しチャンネルの更新を止める (接続も切断)
Protocol .protocol 📡
Ncam サーバーから TouchDesigner へデータを送るネットワークプロトコルを選択
| 項目 | 内部名 | 説明 |
|---|---|---|
| TCP | .tcp |
TCP で接続 (現状唯一サポートされるプロトコル、将来拡張用のメニュー) |
Network Address .netaddress 🏠
Ncam サーバーのネットワークアドレス:
- Network Address: データ送信元 Ncam サーバーの IP アドレスまたはホスト名 (例:
192.168.1.100)
Network Port .port 🔢
Ncam サーバーの接続ポート:
- Network Port: Ncam サーバー側で公開されている TCP ポート番号
Channels Page 📺
Camera View .cameraview 🎥
カメラの位置と姿勢 (向き) を出力する形式を選択するメニュー
| 項目 | 内部名 | 説明 |
|---|---|---|
| Translation & Rotation (TR) | .trs |
位置 (tx, ty, tz) と回転 (rx, ry, rz) のチャンネルとして出力 |
| Matrix | .matrix |
4×4 変換行列の各要素 (16 チャンネル) として出力 |
| TR & Matrix | .both |
位置・回転チャンネルと 4×4 行列の両方を同時に出力 |
| Off | .off |
カメラ位置・姿勢を出力しない |
Camera Projection .cameraproj 🔭
カメラの投影 (プロジェクション) 設定を出力する形式を選択するメニュー
| 項目 | 内部名 | 説明 |
|---|---|---|
| Field of View (FOV) | .fov |
視野角 (角度値) として出力 |
| Matrix | .matrix |
4×4 投影行列として出力 |
| FOV & Matrix | .both |
FOV と投影行列の両方を同時に出力 |
| Off | .off |
投影情報を出力しない |
Camera Properties .cameraprops 🎛️
ズームやフォーカスといった追加のカメラプロパティを出力する形式を選択するメニュー
| 項目 | 内部名 | 説明 |
|---|---|---|
| Normalized | .normalized |
0〜1 に正規化された値で出力 |
| Physical | .physical |
ミリメートル等の物理単位で出力 |
| Both | .both |
正規化値と物理単位の両方を同時に出力 |
| Off | .off |
追加プロパティを出力しない |
Timecode .timecode ⏰
Ncam ストリームに埋め込まれたタイムコードの出力形式を選択するメニュー
| 項目 | 内部名 | 説明 |
|---|---|---|
| HH:MM::SS::FF | .on |
時・分・秒・フレームに分割した個別チャンネルとして出力 |
| Timecode | .timecode |
単一カウンタ (累積フレーム数) として出力 |
| Both | .both |
個別チャンネルとカウンタの両方を同時に出力 |
| Off | .off |
タイムコードを出力しない |
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: 実カメラ追従の CG 合成 (バーチャルプロダクション) 🎬
Ncam CHOP (TR) → Camera COMP (transform) → Render TOP → Composite TOP
- Ncam サーバーの IP アドレスとポートを Network Page に設定
- Camera View を「Translation & Rotation (TR)」に設定して位置・回転チャンネルを取得
- Camera COMP の Transform パラメータに Ncam CHOP の tx/ty/tz/rx/ry/rz を Export
- Render TOP の出力を実機カメラ映像に Composite TOP で合成
Example 2: 実機カメラの FOV と CG カメラの視野角を同期 🔭
Ncam CHOP (FOV) → Camera COMP (FOV parameter) → Render TOP
- Camera Projection を「Field of View (FOV)」に設定
- 出力された fov チャンネルを Camera COMP の FOV パラメータに Export
- 実機レンズのズーム操作と CG 空間カメラの視野角がリアルタイムで同期
- ズームしながらの撮影でも CG オブジェクトが正確に重なる
Example 3: SMPTE タイムコードによる外部システムとの同期 ⏰
Ncam CHOP (Timecode) → Trigger CHOP → 外部記録システム
- Timecode を「HH:MM::SS::FF」または「Both」に設定
- 出力された時・分・秒・フレームのチャンネルを参照
- 特定タイムコードで Trigger CHOP を発火させて記録系を起動
- 複数の収録系統がフレーム精度で揃ったマスタータイムを共有
関連オペレータ 🔗
類似機能OP 🔍
- OSC In CHOP — 汎用 OSC プロトコルでカメラトラッキング以外のデータも受信可能、Ncam 専用フォーマットには非対応
- Kinect CHOP — Kinect センサーから人体・カメラ姿勢を取得、Ncam のような映画品質トラッキングではない
組み合わせ推奨OP 🔄
- Filter CHOP — Ncam 出力のジッタを後段でスムージング
- Lag CHOP — 急な姿勢変化を遅延付きで滑らかにする
- Math CHOP — 座標系の単位変換 (m / cm) や軸の符号反転に使用
- Trigger CHOP — タイムコードや特定姿勢で外部イベントを起動
- Null CHOP — 出力経路の固定点として配置、デバッグや切替の起点
前処理・後処理CHOP 🎯
Info CHOP情報 📊
Ncam CHOPは Info CHOP による詳細情報取得に対応しています。
CHOP固有情報 🎚️
start: CHOPインターバルの開始(サンプル単位)length: CHOPのサンプル数sample_rate: フレーム毎秒のサンプルレートnum_channels: CHOPのチャンネル数time_slice: タイムスライス有効時は1、無効時は0export_sernum: Export接続の更新回数
汎用オペレータ情報 🔄
total_cooks: プロセス開始からのクック回数cook_time: 最後のクック時間(ミリ秒)cook_frame: 最後にクックされたフレーム番号warnings: 警告数errors: エラー数
トラブルシューティング ⚠️
よくある問題と解決策 🔧
❌ Problem: Ncam サーバーに接続できない / チャンネルが更新されない
✅ Solution:
- Network Page の Active がオンになっているか確認
- Network Address (IP / ホスト名) と Network Port が Ncam サーバー側と一致しているか確認
- ファイアウォール / NAT で TCP 通信がブロックされていないか確認
- Ncam サーバー側のサービスが起動しデータ送信モードになっているか確認
❌ Problem: カメラ姿勢チャンネルが出力されない / 行列だけしか出ない
✅ Solution:
- Camera View が「Off」になっていないか確認
- TR チャンネル (tx/ty/tz/rx/ry/rz) が必要なら「Translation & Rotation (TR)」または「TR & Matrix」を選択
- 4×4 行列が必要なら「Matrix」または「TR & Matrix」を選択
❌ Problem: FOV がゼロ / 不正な値になる
✅ Solution:
- Camera Projection が「Off」になっていないか確認
- FOV 値が必要なら「Field of View (FOV)」または「FOV & Matrix」を選択
- Ncam システム側でレンズキャリブレーションが完了しているか確認
❌ Problem: タイムコードチャンネルが想定外の形式で出てくる
✅ Solution:
- Timecode メニューを「HH:MM::SS::FF」「Timecode」「Both」から用途に応じ選択
- 他システムとフレーム合わせするなら「Both」で個別チャンネルとカウンタ両方を取得
- タイムコードが不要なら「Off」にして余計なチャンネル更新を避ける
❌ Problem: 出力にジッタやブレが目立つ
✅ Solution:
- 後段に Filter CHOP を入れて 1〜2 フレームの平滑化を適用
- 急な姿勢変化には Lag CHOP で時間方向の応答を緩める
- Ncam 側のトラッキング精度設定 (マーカー / IR センサー) を見直す
参考資料 📚
その他 🔗
- TouchDesigner Wiki — CHOP 概要
- TouchDesigner Wiki — Category:CHOPs
- TouchDesigner Wiki ホーム
- TouchDesigner 公式 Forum
- Facebook — TouchDesigner Help Group

