
概要 📖 – マルチプロジェクター補正データの読込
MPCDI TOPは、MPCDI 形式のファイルを読み込み、マルチプロジェクター投影に必要な歪み補正とブレンド情報を出力する TOPです。VESA が策定した業界標準フォーマットに対応し、ドーム投影やパノラマ投影での幾何補正・エッジブレンドを担います。
主な用途 🎯
- 複数プロジェクターの歪み補正データ読込(業界標準の .mpcdi ファイルから幾何補正情報を取得)
- ドーム・曲面スクリーンへの投影マッピング(湾曲面に合わせた画像変形を適用)
- プロジェクター同士の重なり領域のブレンド(継ぎ目を目立たなくするエッジブレンド処理)
- 複数領域のグリッド一括レイアウト出力(行・列指定で全リージョンをまとめて配置)
- 外部キャリブレーションツールとの連携(VIOSO・Scalable Display 等が書き出した補正を取り込み)
データフロー 🔄
入力: 投影したい映像
↓
MPCDI 補正処理(.mpcdi ファイルの歪み・ブレンド情報を適用)
↓
出力: プロジェクター向けに補正済みの映像
初心者の方は、以下日本語書籍も手元にあると安心です。

実際の案件事例まで踏み込んで紹介されていて、効率よくスキルアップするなら必携の二冊です!
パラメータ解説 ⚙️
MPCDI Page 📁
ファイル設定 .file 📁
読み込む .mpcdi ファイルの指定と再読み込みを行う設定
Configuration File .file 📄Configuration File (設定ファイル) — 読み込む .mpcdi ファイルの場所を指定します。
Reload Pulse .reloadpulse 🔄Reload Pulse (即時再読み込み) — ファイルをその場で再読み込みします。
出力レイアウト .outputformat 🗂️
出力する領域を単一で出すか、行・列のグリッドで並べるかを決めるメニュー
| 項目 | 内部名 | 説明 |
|---|---|---|
| Single Region | .single |
単一の領域を出力 |
| Grid Rows | .gridrows |
複数領域を行方向のグリッドで配置 |
| Grid Columns | .gridcols |
複数領域を列方向のグリッドで配置 |
領域選択 🎯
Buffer ID .bufferid 🔢Buffer ID (バッファ番号) — 出力するバッファの識別番号を指定します。
Region ID .regionid 🔢Region ID (領域番号) — 出力する領域の識別番号を指定します。
Layout Grid Size .layoutmax 📐Layout Grid Size (グリッド最大数) — グリッド出力を選んだとき、行と列の最大数を決めます。
投影範囲設定 📏
Near .near 📐Near (近クリップ値) — 投影範囲の手前側の値を設定します。
Far .far 📐Far (遠クリップ値) — 投影範囲の奥側の値を設定します。
ブレンド設定 🎚️
Alpha Beta Blending .alphabeta 🎚️Alpha Beta Blending (アルファベータブレンド) — アルファベータブレンドを適用するかどうかの切り替えです。
Gamma Encoding .gamma 🌗Gamma Encoding (ガンマ補正) — ガンマ補正を適用するかどうかの切り替えです。
実践アイデア 💡
Example 1: ドームスクリーン投影の補正 🛸
Movie File In TOP → MPCDI TOP (Single Region) → Render Select → Video Device Out TOP
ドーム型スクリーンに 1 台のプロジェクターで投影する際、MPCDI TOP に湾曲面用の .mpcdi ファイルを読み込ませ、映像を曲面に合わせて変形させてからプロジェクターへ出力する基本フロー。
- Movie File In TOP で投影したい映像を取り込む
- MPCDI TOP の Configuration File にドーム用の .mpcdi ファイルを指定
- Output by を Single Region にして対象の Region ID を選択
- 出力を Video Device Out TOP からプロジェクターへ送る
Example 2: 継ぎ目のブレンド投影 🎬
Composite TOP → MPCDI TOP (Grid Columns) → Layout TOP → Direct Display Out
パノラマ投影で複数プロジェクターの重なり部分を滑らかに繋ぐため、MPCDI TOP のグリッド出力とアルファベータブレンドを使い、各リージョンの補正済み映像をまとめて並べる用途。
- 投影素材を用意し MPCDI TOP に入力
- Output by を Grid Columns に設定し Layout Grid Size で行・列数を指定
- Alpha Beta Blending をオンにして重なり領域の継ぎ目を馴染ませる
Example 3: 外部補正データの取込 🛠️
Calibration Tool (.mpcdi) → MPCDI TOP → Level TOP → Null TOP
VIOSO や Scalable Display などの外部キャリブレーションツールが書き出した .mpcdi ファイルを MPCDI TOP で読み込み、補正データを TouchDesigner のネットワークに統合してから後段で色味を整える流れ。
- 外部ツールで生成した .mpcdi ファイルを Configuration File に指定
- Reload Pulse で再キャリブレーション後のファイルを即時反映する
関連オペレータ 🔗
類似機能OP 🔍
- Vioso TOP — VIOSO 補正システムとの直接連携で投影歪みを補正
- Scalable Display TOP — Scalable Display 製キャリブレーションでの幾何補正
- Projection TOP — キューブマップ等から各種投影方式へ画像を変換
組み合わせ推奨OP 🔄
- Render TOP — 3D シーンをレンダリングして補正対象の映像を生成
- Composite TOP — 複数映像ソースを合成してから補正に渡す
- Layout TOP — グリッド出力の各リージョンを画面上に整列
- Video Device Out TOP — 補正済み映像をプロジェクターへ出力
- Level TOP — 出力前に明るさ・コントラストを微調整
前処理・後処理TOP 🎯
- 前処理: Composite TOP、Render TOP、Movie File In TOP
- 後処理: Layout TOP、Level TOP、Null TOP、Video Device Out TOP
Info情報 📊
MPCDI TOP は Info CHOP による詳細情報取得に対応しています。
TOP固有情報 🖼️
resx: TOP の出力解像度 X (ピクセル単位)resy: TOP の出力解像度 Y (ピクセル単位)aspectx: アスペクト比 Xaspecty: アスペクト比 Ydepth: 3D テクスチャ / テクスチャ配列の深度 (2D テクスチャでは 1)gpu_memory_used: TOP が消費している GPU メモリ量 (MB 単位)
汎用オペレータ情報 🔄
total_cooks: プロセス開始からのクック回数cook_time: 最後のクック時間 (ミリ秒)cook_frame: 最後にクックされたフレーム番号warnings: 警告数errors: エラー数
TOP 共通情報 📡
resx / resy: 出力テクスチャの横・縦の解像度(ピクセル)aspectx / aspecty: 出力画像のアスペクト比depth: 3D テクスチャの深度(枚数)gpu_memory_used: このオペレータが使用している GPU メモリ量
トラブルシューティング ⚠️
よくある問題と解決策 🔧
❌ Problem: 投影映像が歪んだまま補正されない
✅ Solution:
Configuration Fileに正しい .mpcdi ファイルが指定されているか確認Buffer IDとRegion IDが投影したい領域に合致しているか確認- ファイル更新後は
Reload Pulseを実行して再読み込みする
❌ Problem: プロジェクターの継ぎ目が目立つ
✅ Solution:
Alpha Beta Blendingをオンにしてエッジブレンドを有効化- 重なり領域を後段で Level TOP を使い明るさ調整
- .mpcdi ファイル側のブレンド領域定義が正しいか確認
❌ Problem: 色味や明るさが想定と違う
✅ Solution:
Gamma Encodingの有効・無効を切り替えて確認- 出力前に Level TOP でガンマ・明度を補正
- プロジェクター側の色空間設定とファイルの想定が一致しているか確認
参考資料 📚
その他 🔗
- TouchDesigner Wiki — Category:TOPs
- TouchDesigner Wiki — Pixel Formats 解説
- TouchDesigner Wiki ホーム
- TouchDesigner 公式 Forum
- Facebook — TouchDesigner Help Group

