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

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

MPCDI DAT のキャリブレーションファイル読み込み機能を示す図

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

概要 📖 – マルチプロジェクタ・キャリブレーションデータの読み込み

MPCDI DATは、VESA 標準の .mpcdi 設定ファイルを読み込み、マルチプロジェクタのキャリブレーション情報を DAT テーブルとして展開する DATです。Buffer (ディスプレイサーフェス) と Region (個別プロジェクタ出力領域) の単位で情報を取り出し、プロジェクションマッピングや多面投影の構成データとして活用します。

主な用途 🎯

  • VESA MPCDI 規格に準拠した .mpcdi 設定ファイルの読み込み
  • マルチプロジェクタ環境におけるキャリブレーション情報の取得 (Buffer / Region)
  • プロジェクションマッピングにおける幾何補正・ブレンディング情報の参照
  • ドーム投影等で複数プロジェクタを統合運用する際の構成データソース
  • Near / Far クリップ値の出力 (Camera COMP の near/far 設定への伝達)

データフロー 🔄

入力: .mpcdi ファイル

MPCDI DAT が指定 Buffer / Region をパース

出力: DAT テーブル (各行に幾何・ブレンド・色情報)

Tips

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

まる。
まる。

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


パラメータ解説 ⚙️

MPCDI Page 📋

Configuration File .file 📁

読み込む .mpcdi ファイルとリロード操作:

  • Configuration File: .mpcdi 形式の VESA 標準キャリブレーションパッケージファイルのパス
  • Reload Pulse: パルスボタンで .mpcdi ファイルを即座に再読み込み

Output by .outputby 🎛️

DAT 行の出力単位の決定 (単一 Region か Buffer 全体か)

項目 内部名 説明
Single Region .single 指定した Region ID 1 件のみを DAT 行に展開
Full Buffer .fullbuffer 指定した Buffer ID 配下の全 Region を DAT 行に展開

Buffer / Region 指定 🔢

Buffer ID .bufferid 🪟
– 出力対象とする Buffer (ディスプレイサーフェス) の ID
.mpcdi ファイル内で定義された Buffer を識別する整数値

Region ID .regionid 🎯
– 出力対象とする Region (個別プロジェクタの担当領域) の ID
Output bySingle Region のときに参照される

Range 📏

Near .near 📐
– Camera COMP に渡すための near クリップ距離
– 通常は 0.1 〜 1.0 の小さな正値を設定

Far .far 📐
– Camera COMP に渡すための far クリップ距離
– 投影空間の最遠面までを覆う十分大きな値を設定


Common Page 🔧

Language .language 📝

DAT が動作するスクリプト言語の決定方法

項目 内部名 説明
Input .input 入力 DAT のスクリプト言語を使用
Node .node この DAT 自身のスクリプト言語を使用

Edit/View Extension .extension 📄

外部エディタに公開するファイル拡張子の選択

項目 内部名 説明
dat .dat 汎用的なファイル拡張子 dat を使用
From Language .language DAT のスクリプト言語に応じた拡張子を自動選択
Custom Extension .custom Custom Extension で指定したカスタム拡張子を使用

Custom Extension .customext 🔤

Edit/View ExtensionCustom Extension のときに適用される拡張子:

  • Custom Extension 文字列: Edit/View Extensioncustom のときに使用される任意のファイル拡張子

Word Wrap .wordwrap 🔁

ノード表示でのワードラップ (折り返し) の有効化

項目 内部名 説明
Input .input 入力 DAT の Word Wrap 設定を継承
On .on Word Wrap を有効化 (ノード上の長い行を折り返し表示)
Off .off Word Wrap を無効化 (折り返さずそのまま表示)

実践アイデア 💡

Example 1: シングルプロジェクタの幾何補正データ取得 🎯

MPCDI File → MPCDI DAT (Single Region) → DAT to CHOP → Camera COMP

1 台のプロジェクタに対応する Region の幾何補正情報を MPCDI DAT から取り出し、DAT to CHOP で数値化して Camera COMP の near/far / 視点行列に流す基本フロー。

  1. Configuration File に .mpcdi ファイルのパスを指定
  2. Output bySingle Region に設定
  3. 対象プロジェクタの Buffer IDRegion ID を入力
  4. DAT to CHOP で行情報を数値化し Camera COMP のパラメータに Export

Example 2: マルチプロジェクタ・ドーム投影の構成読込 🌐

MPCDI File → MPCDI DAT (Full Buffer) → Select DAT (per region) → Render TOP × N

ドーム投影のように複数プロジェクタを 1 つの Buffer にまとめた構成で、Full Buffer モードで全 Region の情報を取り出し、Select DAT で各プロジェクタ用の行を分配して Render TOP の出力を切り分ける用途。

  • Output byFull Buffer に設定し全 Region を一括取得
  • Select DAT で Region ID 別に行を分割
  • 各 Region のキャリブレーション値を対応する Render TOP / Window COMP に分配

関連オペレータ 🔗

類似機能OP 🔍

  • File In DAT — 汎用ファイルのテキスト読み込み
  • XML DAT — 構造化ファイル (XML) のパース読み込み

組み合わせ推奨OP 🔄

  • DAT to CHOP — MPCDI DAT の数値列を CHOP チャンネルに変換
  • Camera COMP — MPCDI が提供する near/far / 視点情報を Camera COMP に適用
  • Render TOP — マルチプロジェクタ用に Region 別の Render TOP を構成
  • Window COMP — 各プロジェクタへの実出力ウィンドウへ Region 情報を配線

前処理・後処理DAT 🎯


Info CHOP情報 📊

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

DAT 固有情報 📋

  • num_rows: DAT の行数
  • num_cols: DAT の列数
  • type: DAT の型 (table / text)
  • is_table: テーブル形式の場合 1、テキスト形式の場合 0

汎用オペレータ情報 🔄

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

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

よくある問題と解決策 🔧

❌ Problem: ファイルが読み込まれない / 行が空のまま
✅ Solution:

  • Configuration File のパスが正しい .mpcdi ファイルを指しているか確認
  • Reload Pulse を押して明示的に再読み込み
  • ファイル拡張子・配置先パーミッションを OS 側で確認

❌ Problem: 想定した Region の情報が出力されない
✅ Solution:

  • Output bySingle Region / Full Buffer のどちらに設定されているか確認
  • Buffer ID / Region ID.mpcdi ファイル内で定義された値と一致するか確認
  • Full Buffer モードで全行を確認したい場合は出力 DAT を Table View で開いて検証

❌ Problem: Camera COMP に渡した near / far で描画が破綻する
✅ Solution:

  • Near はゼロ近傍を避け 0.01 〜 1.0 程度の正値を設定
  • Far は投影空間の最遠面を覆うのに十分大きい値を設定
  • near と far の比が過大だと深度精度が落ちるため、必要最小限のレンジに絞る

参考資料 📚

その他 🔗

公式リソース 📖

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