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

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

Camera COMP の機能を示す図

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

概要 📖 – 3D ビューポイント

Camera COMPは、3D シーンを 2D に投影するための視点・視野角・クリッピング距離を定義する COMPです。Geometry COMP・Light COMP と組み合わせて Render TOP の Camera パラメータに登録することで、3D シーンの 2D レンダリングが行われます。

主な用途 🎯

  • Render TOP の視点として 3D シーンを 2D 画像に投影
  • Perspective / Orthographic / Blend / Custom 4 種の投影方式の切替
  • Focal Length + Aperture による実写カメラ風の画角指定
  • Quad Reprojection によるプロジェクションマッピング向け台形補正
  • IPD Shift を用いたステレオ / VR 用デュアルカメラ構築

データフロー 🔄

入力: Translate / Rotate + FOV / Focal / Aperture

投影行列の生成 (View Matrix + Projection Matrix)

出力: Render TOP が参照する視点情報

Tips

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

まる。
まる。

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


パラメータ解説 ⚙️

Xform Page 📁

Transform Order .xord 🎛️

コンポーネントに対する Scale / Rotate / Translate の適用順序を指定するメニューパラメータ

項目 内部名 説明
Scale Rotate Translate .srt T * R * S * Position (デフォルト)
Scale Translate Rotate .str R * T * S * Position
Rotate Scale Translate .rst T * S * R * Position
Rotate Translate Scale .rts S * T * R * Position
Translate Scale Rotate .tsr R * S * T * Position
Translate Rotate Scale .trs S * R * T * Position

Rotate Order .rord 🎛️

X / Y / Z 軸の回転を合成する順序を指定するメニューパラメータ

項目 内部名 説明
Rx Ry Rz .xyz R = Rz * Ry * Rx
Rx Rz Ry .xzy R = Ry * Rz * Rx
Ry Rx Rz .yxz R = Rz * Rx * Ry
Ry Rz Rx .yzx R = Rx * Rz * Ry
Rz Rx Ry .zxy R = Ry * Rx * Rz
Rz Ry Rx .zyx R = Rx * Ry * Rz

Transform 値 📏

位置・回転・スケールを XYZ 軸で指定する基本パラメータ:

  • Translate: t (tx, ty, tz) — X / Y / Z 軸の移動量
  • Rotate: r (rx, ry, rz) — X / Y / Z 軸まわりの回転角度 (度)
  • Scale: s (sx, sy, sz) — X / Y / Z 軸の非一様スケール
  • Pivot: p (px, py, pz) — Scale / Rotate の基準点
  • Uniform Scale: scale — 3 軸を一括スケーリング (カメラ COMP では非推奨)

Parent / Look At / Path 🎯

親階層・Look At 制約・SOP パス追従パラメータ:

  • Parent Transform Source: parentxformsrc — 親 transform の参照元 (Parent (Hierarchy) / Specify Parent Object / World Origin)
  • Parent Object: parentobject — 任意の OP パスを親として制約に使用
  • Look At: lookat — 別 3D COMP を常に向き続ける Look At 制約のターゲット
  • Forward Direction: forwarddir — 前方ベクトルの軸 (+X / -X / +Y / -Y / +Z / -Z)
  • Look At Up Vector: lookup — Don't use up vector / Use up vector / Use quaternions / Use Roll の 4 種から選択
  • Path SOP: pathsop — このコンポーネントが追従するパスを定義する SOP
  • Position / Roll: pos / roll — パス上の位置 (0-1) と回転角度
  • Orient along Path: pathorient — オンの場合、コンポーネントの +Z 軸がパスの進行方向を向く
  • Auto-Bank Factor: bank — パスの曲率に応じた自動バンク (0 で無効)

Pre-Xform Page 📁

Pre-Xform Page 📁

Pre-Xform レイヤ (メイン Xform の前に適用される追加 transform):

  • Apply Pre-Transform: pxform — Pre-Xform レイヤの有効化
  • Transform Order (Pre): pxord — Xform Page と同じ 6 種の順序選択
  • Rotate Order (Pre): prord — Xform Page と同じ 6 種の回転順序選択
  • Translate / Rotate / Scale / Pivot (Pre): pt / pr / ps / pp — Pre レイヤの位置・回転・スケール・ピボット
  • Reset Transform / Commit to Main: preset / pcommit — Pre レイヤをリセット、または Main へコミット
  • Xform Matrix/CHOP/DAT: xformmatrixop — 4×4 行列を直接指定して transform を適用 (XformMatrix * PreXForm * Position)

View Page 📁

Projection .projection 🎛️

カメラの投影方式を決定するメニューパラメータ

項目 内部名 説明
Perspective .perspective 標準の透視投影
Orthographic .ortho 正投影 (遠近感なし、Ortho Width で表示幅を指定)
Perspective to Ortho Blend .persporthoblend Projection Blend パラメータで透視と正投影をブレンド
Custom Projection Matrix .custommatrix Proj Matrix/CHOP/DAT で 4×4 行列を直接指定

Viewing Angle Method .viewanglemethod 🎛️

カメラの視野角を定義する方式の選択

項目 内部名 説明
Horizontal FOV .horzfov FOV Angle を水平方向の視野角として使用
Vertical FOV .vertfov FOV Angle を垂直方向の視野角として使用
Focal Length and Aperture .focalaperture Focal LengthAperture の組合せで視野角を定義 (実写カメラのレンズ単位での指定)

View 値 📏

視野角・クリッピング・ウィンドウオフセット等の視界パラメータ:

  • Projection Blend: projectionblend — Perspective ⇔ Ortho のブレンド係数 (Projection が persporthoblend のときのみ有効)
  • Ortho Width: orthowidth — Orthographic 投影時の表示幅
  • FOV Angle: fov — 視野角 (度)。FOV = arctan(0.5 / Throw) * 2 の関係でスクリーン幅から逆算可能
  • Focal Length / Aperture: focal / aperture — 実写カメラ風のレンズ + センサーサイズ指定 (mm 単位)
  • Near / Far: near / far — クリッピング距離 (Z バッファ精度のため両者の差を小さく保つ)
  • Window X / Y / Size / Roll: win (winx / winy) / winsize / winroll — レンダリング画面のオフセット・ズーム・回転
  • IPD Shift: ipdshift — 両眼立体視 (Cube Map / VR) の瞳孔間距離

Quad Reprojection 📐

Quad Reprojection / カスタム射影設定:

  • Quad Reproject SOP: quadreprojsop — 再射影対象の四角形を定義する SOP
  • Quad Reproject Points 1-4: quadreprojpts (1-4) — bottom-left / bottom-right / top-left / top-right の順で 4 点インデックスを指定
  • Proj Matrix/CHOP/DAT: projmatrixop — Custom Projection Matrix 選択時に使用する 4×4 行列ソース
  • Custom Projection GLSL DAT: customproj — Vulkan depth clip range [0,1] で動作するカスタム GLSL 投影関数 DAT

Settings Page 📁

Background / Fog 🌫️

背景色と Fog (霧) 効果:

  • Background Color (R / G / B / Alpha): bgcolor (bgcolorr / bgcolorg / bgcolorb / bgcolora) — レンダリング背景色とアルファ
  • Pre-Multiply RGB by Alpha: premultrgbbyalpha — 背景色を事前乗算
  • Fog: fog — Off / Linear / Exponential / Squared Exponential の 4 種から霧の方程式を選択
  • Fog Density / Near: fogdensity / fognear — 霧の密度・開始距離

Common Page 🔧

Parent Shortcut .parentshortcut 🔗

コンポーネント内部からこの COMP へのパスとして使えるショートカット名:

  • Parent Shortcut: コンポーネント内部の任意の場所からこの COMP を参照する際のショートカット名 (parent.<name> 形式で利用可能)

Global OP Shortcut .opshortcut 🌐

プロジェクト全体からこの COMP を参照するグローバル名:

  • Global OP Shortcut: プロジェクト内のあらゆる場所からこの COMP へのパスとして使えるグローバル名 (op.<name> 形式で利用可能)

Internal OP .iop 📎

Internal OP シーケンス (コンポーネント内部 OP への名前付き参照):

  • Shortcut: iop0shortcut — コンポーネント内部の OP に対するショートカット名
  • OP: iop0op — このコンポーネント内部の対象 OP へのパス

Node View .nodeview 👁️

ノードビューア (Network エディタ上のサムネイル) に表示する内容を決定

項目 内部名 説明
Default Viewer .default コンポーネントタイプ標準のビューアを表示
Operator Viewer .opviewer 指定した任意 OP のノードビューアを表示

Operator Viewer .opviewer 🖼️

Operator Viewer モード時に表示する対象 OP:

  • Operator Viewer パス: Node View が opviewer モードのとき、そのビューア内容として表示する OP のパス

Cloning .cloning 🧬

マスター COMP の内容を複製する Cloning 設定:

  • Enable Cloning: enablecloning — Clone Master の内容を継続的に複製するかを切替
  • Enable Cloning Pulse: enablecloningpulse — その瞬間だけ Clone Master の内容を瞬時に複製
  • Clone Master: clone — 複製元となるマスターコンポーネントへのパス

Load on Demand .loadondemand

必要時のみメモリにロードする遅延ロード設定:

  • Load on Demand: オンの場合、このコンポーネントは実際に必要となるまでメモリにロードされない (起動時間・メモリ消費の最適化)

External .tox .externaltox 💾

外部 .tox ファイルとの連携設定:

  • Enable External .tox: enableexternaltox — 起動時に外部 .tox ファイルからロード
  • Enable External .tox Pulse: enableexternaltoxpulse — 外部 .tox ファイルから即時リロード
  • External .tox Path: externaltox — ディスク上の .tox ファイルへのパス
  • Reload Custom Parameters: reloadcustom — コンポーネントのカスタムパラメータ値を再読み込み
  • Reload Built-In Parameters: reloadbuiltin — コンポーネントの組み込みパラメータ値を再読み込み
  • Save Backup of External: savebackup — .toe ファイル内に外部 .tox のバックアップコピーを保存
  • Sub-Component to Load: subcompname — .tox 内部の特定 COMP のみを取り出してロード

Relative File Path Behavior .relpath 📁

このコンポーネント内部での相対ファイルパスの解決基準

項目 内部名 説明
Use Parent’s Behavior .inherit 親コンポーネントの設定を継承
Relative to Project File (.toe) .project .toe プロジェクトファイルからの相対パスとして解決
Relative to External COMP File (.tox) .externaltox 外部 .tox ファイルからの相対パスとして解決

Parameter Color Space .parmcolorspace 🎨

このコンポーネント内の色パラメータをどの色空間として解釈するか

項目 内部名 説明
sRGB .srgb 標準的な sRGB ガンマ空間
sRGB – Linear .srgblinear sRGB プライマリでガンマ線形 (1.0)
Rec.601 (NTSC) .rec601ntsc Rec.601 NTSC 規格の色空間
Rec.709 .rec709 HDTV 用 Rec.709 色空間
Rec.2020 .rec2020 UHDTV / HDR 向け Rec.2020 広色域
DCI-P3 .dcip3 デジタルシネマ DCI-P3 色空間
DCI-P3 (D60) .dcip3d60 D60 白点 DCI-P3
Display-P3 (D65) .displayp3d65 D65 白点 Display-P3 (Apple ディスプレイ等)
ACES2065-1 .aces2065-1 ACES アーカイブ用色空間 (AP0 プライマリ)
ACEScg .acescg ACES CG 作業用色空間 (AP1 プライマリ)
Passthrough .passthrough 色変換を行わず値をそのまま扱う

Parameter Reference White .parmreferencewhite

色パラメータの基準白色の扱い

項目 内部名 説明
Default For Color Space .default 選択した色空間のデフォルト基準白を使用
Use Parent Panel .useparent 親パネルの基準白設定を継承
Standard (SDR) .sdr 標準ダイナミックレンジ (SDR) 基準白
High (HDR) .hdr ハイダイナミックレンジ (HDR) 基準白
UI .ui UI 表示用の基準白

実践アイデア 💡

Example 1: Render TOP に視点を提供する標準パイプライン 🎬

Geometry COMP → Camera COMP (Perspective + FOV) → Render TOP

Geometry COMP と Light COMP に Camera COMP を組み合わせ、Render TOP の Camera パラメータに登録することで 3D シーンを 2D に描画。FOV Angle を 30-60° の範囲に保つと自然な遠近感が得られる。

  1. Camera COMP を作成し、Translate Z を後方 (例: 5) に設定
  2. Look At パラメータに /geo1 を入力してターゲット追従
  3. Render TOP の Camera 欄に /cam1 を登録
  4. FOV Angle を 35-45° に調整して画角を決定

Example 2: ステレオ / VR 用デュアルカメラ 👓

Camera COMP (左: IPD Shift = -0.032) + Camera COMP (右: IPD Shift = +0.032) → 2 系統の Render TOP → Composite TOP

IPD Shift パラメータを使い、左右で人間の瞳孔間距離 (約 63mm) を反映した 2 台の Camera COMP を構築。Cube Map レンダリング時は Translate X ではなく IPD Shift で指定する必要がある。

  • 2 台の Camera COMP を作成 (cam_L / cam_R)
  • cam_L の IPD Shift を -0.032、cam_R を +0.032 に設定
  • Render TOP を 2 つ用意し、それぞれの Camera パラメータに左右を登録
  • Composite TOP で 2 系統を Side-by-Side 配置

Example 3: Quad Reprojection でプロジェクションマッピング 📺

Geometry COMP (Rectangle SOP) → Camera COMP (Custom Projection + Quad Reproject SOP) → Render TOP → 物理スクリーン

物理スクリーンの 4 隅にマッピングされる四角形を SOP で定義し、Quad Reproject Points 1-4 に bottom-left / bottom-right / top-left / top-right の順に頂点インデックスを指定して台形補正レンダリングを実現。

  1. Rectangle SOP で物理スクリーン形状を再現する四角形を作成
  2. Camera COMP の Quad Reproject SOP に SOP パスを入力
  3. Quad Reproject Points 1-4 に頂点インデックスを bottom-left → bottom-right → top-left → top-right で入力
  4. Render TOP 出力を物理スクリーンに送出して台形補正を確認

関連オペレータ 🔗

類似機能OP 🔍

  • Geometry COMP — 視点ではなくシーン側を提供する 3D コンテナ
  • Light COMP — 視点ではなくシーン側に光源を提供
  • Window COMP — 出力ウィンドウとしての COMP (Render TOP の表示先)

組み合わせ推奨OP 🔄

  • Render TOP — Camera COMP の出力を 2D 画像にレンダリング
  • Geometry COMP — Camera の視界に入るシーン側
  • Light COMP — シーンに光源を追加
  • Composite TOP — 複数 Camera の Render 出力を統合
  • CHOP to DAT — Custom Projection Matrix モードでの行列指定

前処理・後処理COMP 🎯


Info COMP情報 📊

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

COMP 固有情報 🧩

  • num_children: コンポーネント内部の子 OP の総数
  • num_dats: 内部 DAT の数
  • num_chops: 内部 CHOP の数
  • num_tops: 内部 TOP の数
  • num_sops: 内部 SOP の数

汎用オペレータ情報 🔄

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

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

よくある問題と解決策 🔧

❌ Problem: Z バッファのちらつき (z-fighting) が発生する
✅ Solution:

  • Near を可能な限り大きく、Far を可能な限り小さく設定して両者の差を縮める
  • 重なっている面同士に微小な Translate Z オフセットを与える
  • Render TOP のレンダリング解像度・深度バッファ精度を上げる

❌ Problem: FOV を変えても画角が変わらない
✅ Solution:

  • Viewing Angle Method が Focal Length and Aperture になっていないか確認 (この場合 focal / aperture で制御)
  • Projection が Orthographic になっていると FOV は無効、Ortho Width で制御
  • Window Size / Window X-Y で別途ズーム/オフセットがかかっていないか確認

❌ Problem: Quad Reprojection で台形補正が想定通りにならない
✅ Solution:

  • Quad Reproject Points 1-4 の順序を bottom-left → bottom-right → top-left → top-right に厳守
  • 参照する SOP がレンダリング対象 COMP 内に存在し、ワールド変換が適用される状態か確認
  • Projection を Custom Projection Matrix ではなく既定のままにする (Quad Reproject は通常 Projection と独立)

参考資料 📚

公式リソース 📖

コミュニティ 💬

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