
概要 📖 – 深度カメラで立体を取込
ZED SOPは、ZED ステレオカメラの空間マッピングから立体メッシュジオメトリを生成する SOPです。サンプリングした点群からサーフェスを構築し、法線やテクスチャ座標を付与した実空間の 3D メッシュを出力します。
主な用途 🎯
- ZED ステレオカメラの空間マッピングから立体メッシュを生成
- 実空間のスキャンを 3D ジオメトリとして TouchDesigner に取り込み
- インスタレーションでの環境スキャン・空間再現
- 抽出メッシュへの法線・テクスチャ付与によるリアルな再現
- プロジェクションマッピング向けの実環境形状取得
データフロー 🔄
入力: ZED カメラの深度・点群データ
↓
空間マッピング処理(点のサンプリングとサーフェス生成)
↓
出力: メッシュジオメトリ
初心者の方は、以下日本語書籍も手元にあると安心です。

実際の案件事例まで踏み込んで紹介されていて、効率よくスキルアップするなら必携の二冊です!
パラメータ解説 ⚙️
Page 📁
カメラ接続 .zedtop 🎛️
データ取得元となる ZED カメラの指定:
ZED TOP .zedtop 📷
– ZED TOP (基準となる ZED TOP) — カメラを設定している主たる ZED TOP の名前を指定します。
– 指定した ZED TOP が、この SOP がどのカメラからデータを受け取るかを決定します。
サンプリング制御 .sample 📈
空間内の点をサンプリングしてサーフェスを生成する操作:
Sample .sample ✅
– Sample (サンプリング) — 有効な間は ZED カメラが空間内の点をサンプリングします。
– 無効にすると、サンプリングした点群からサーフェスを生成し、法線やテクスチャ属性も併せて作成します。
Reset .reset ♻️
– Reset (リセット) — 抽出したジオメトリを消去し、空間マッピングを初期状態に戻します。
Reset Pulse .resetpulse ⏏️
– Reset Pulse (リセット実行) — ボタンを離した瞬間 (button-up) に Reset を即座に実行します。
– Python では pulse() メソッドで実行します。
プレビュー .preview 👁️
Preview (プレビュー詳細度) — カメラがサンプリング中に表示するプレビューの詳細度を選択します。
| 項目 | 内部名 | 説明 |
|---|---|---|
| No Preview | .nopreview |
サンプリング中にプレビューを表示しない |
| Limited Preview | .limited |
プレビューの詳細度を制限して表示 |
| Full Preview | .full |
利用可能なすべての点をプレビュー表示 |
マッピング設定 .resolution 📏
空間マッピングの精度・範囲・メモリに関する設定:
Maximum Memory .maxmemory 💾
– Maximum Memory (最大メモリ) — 空間マッピングに使用する最大メモリ量を設定します。
Resolution .resolution 📐
– Resolution (解像度) — カメラが使う空間マッピングの解像度を設定します。
– 小さい解像度は詳細なジオメトリを作成し、大きい解像度はジオメトリの大きな変化のみを残します。
Range .range 🎯
– Range (距離範囲) — 空間マッピング後に抽出する対象物の距離範囲を設定します。
– 小さい範囲はカメラに近い対象を、大きい範囲はカメラから遠い対象を使います。
属性付与 .normals ✨
抽出メッシュに付与する法線・テクスチャ属性:
Normals .normals 🧭
– Normals (法線) — 有効にすると、抽出したジオメトリに法線が付与されます。
Texture .texture 🖼️
– Texture (テクスチャ) — 有効にすると、メッシュの空間マッピングテクスチャとテクスチャ座標が作成されます。
– 空間マッピングテクスチャは ZED TOP から取得できます。
メッシュ整形 .filter 🎚️
Filter (フィルタ強度) — メッシュのフィルタリングレベルを設定します。
| 項目 | 内部名 | 説明 |
|---|---|---|
| Low | .low |
ジオメトリの小さな穴が除去される |
| Medium | .medium |
ジオメトリが平滑化される |
| High | .high |
三角形数が削減され、ジオメトリが平滑化される |
点の統合 .consolidatepts 🔗
近接した点を統合する設定:
Consolidate Points .consolidatepts 🔗
– Consolidate Points (点の統合) — 有効にすると、近接して重複している点が統合されます。
実践アイデア 💡
Example 1: 実空間スキャン 🏠
ZED TOP → ZED SOP (Sample) → Geometry COMP → Render TOP
ZED TOP でカメラを設定し、ZED SOP の Sample を有効にして空間内の点をサンプリングします。サンプリング完了後にサーフェスを生成し、実空間のメッシュを 3D シーンに取り込む基本フローです。
- ZED TOP でカメラを設定し ZED SOP の ZED TOP パラメータに指定
- Sample を有効にして空間内の点をサンプリング
- Sample を無効にしてサンプリング点からサーフェスを生成
- 出力メッシュを Geometry COMP に接続してシーンに配置
Example 2: 質感付き再現 🖼️
ZED TOP → ZED SOP (Normals + Texture) → Phong MAT → Render TOP
ZED SOP の Normals と Texture を有効にして、抽出メッシュに法線とテクスチャ座標を付与します。空間マッピングテクスチャを ZED TOP から取得してマテリアルに適用し、実環境の質感を再現する用途です。
- Normals を有効にして抽出ジオメトリに法線を付与
- Texture を有効にしてテクスチャ座標を生成
- ZED TOP から空間マッピングテクスチャを取得してマテリアルに適用
Example 3: 軽量メッシュ化 ⚡
ZED SOP (Filter High) → Polyreduce SOP → Convert SOP
ZED SOP の Filter を High に設定して三角形数を削減し、後段で Polyreduce SOP を併用してさらにメッシュを軽量化します。リアルタイム描画の負荷を抑えたいインスタレーションでの整形フローです。
- Filter を High に設定して三角形数を削減・平滑化
- 後段の Polyreduce SOP でポリゴン数をさらに削減
関連オペレータ 🔗
類似機能OP 🔍
- Kinect SOP — 別の深度カメラからジオメトリを取得
組み合わせ推奨OP 🔄
- ZED TOP — カメラを設定し空間マッピングテクスチャを供給
- Polyreduce SOP — 抽出メッシュのポリゴン数を削減
- Facet SOP — 法線の再計算・平滑化
- Convert SOP — メッシュ形式を別ジオメトリ型に変換
前処理・後処理SOP 🎯
Info情報 📊
ZED SOP は Info CHOP によるジオメトリのメタ情報取得に対応しています。
ジオメトリ統計 📐
num_points: この SOP に含まれるポイント数num_prims: この SOP に含まれるプリミティブ数num_particles: この SOP に含まれるパーティクル数
GPU 転送タイミング 🎮
last_vbo_update_time: 別スレッドで SOP の CPU データを GPU 上のジオメトリデータに更新するのにかかった時間 (フレーム時間外)last_meta_vbo_update_time: 別スレッドで metaball や NURBS のようなメタサーフェスジオメトリデータを GPU に更新するのにかかった時間 (フレーム時間外)
汎用オペレータ情報 🔄
total_cooks: プロセス開始以降にこのオペレータがクックされた合計回数cook_time: 直近のクック所要時間 (ミリ秒)cook_frame: このオペレータが最後にクックされたフレーム番号warnings: このオペレータの警告数errors: このオペレータのエラー数
クック統計 ⏱️
cook_time: 直近のクックに要した時間 (ミリ秒)total_cooks: 累積クック回数
トラブルシューティング ⚠️
よくある問題と解決策 🔧
❌ Problem: メッシュが生成されない
✅ Solution:
ZED TOPパラメータに有効な ZED TOP が指定されているか確認Sampleを有効にして十分にサンプリングしてから無効に切り替えたか確認Rangeの距離範囲が対象物の位置を含んでいるか確認
❌ Problem: ジオメトリが粗い・荒れる
✅ Solution:
Resolutionを小さくして詳細なジオメトリを生成Filterを Medium / High にして平滑化Consolidate Pointsを有効にして近接した重複点を統合
❌ Problem: メモリ不足・動作が重い
✅ Solution:
Maximum Memoryを環境に合わせて調整Resolutionを大きくしてジオメトリの大きな変化のみ残す- 後段で Polyreduce SOP を使ってポリゴン数を削減
参考資料 📚
その他 🔗
- TouchDesigner Wiki — SOP 概要
- TouchDesigner Wiki — Category:SOPs
- TouchDesigner Wiki ホーム
- TouchDesigner 公式 Forum
- Facebook — TouchDesigner Help Group

