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

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

Environment Light COMP の IBL ライティング機能を示す図

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

概要 📖 – 環境画像で全体を照らす

Environment Light COMPは、環境マップ (Equirectangular 球面 / Cube Map) から PBR レンダリング向けの環境光 (Image-Based Lighting) を供給する Light 系 COMPです。PBR MAT と組み合わせて拡散光と反射光の両方を環境マップから取得し、PreFilter Map TOP との連携で鏡面反射品質を制御できる、物理ベースレンダリングの中核となる光源です。

主な用途 🎯

  • PBR MAT と連携した物理ベースレンダリングでの環境光 (Image-Based Lighting) 供給
  • Equirectangular 球面マップによる HDRI スカイドーム / スタジオ環境のシーン全体への適用
  • Cube Map TOP / Render TOP の Render Cube Map 出力を環境マップとして参照する動的反射表現
  • PreFilter Map TOP と組み合わせた事前フィルタリング済み Specular Map による高品質鏡面反射
  • Diffuse / Specular を 0 にしたマテリアルでの純粋反射オブジェクト (クロームボール等) の表現
  • Environment Map Quality と PBR MAT 側 Env Light Quality でサンプル数を調整しレンダリング品質と速度のトレードオフを制御

データフロー 🔄

入力: 環境マップ TOP (Equirectangular または Cube Map) + 任意の PreFilter Map TOP の Specular Map

Environment Light COMP (Light Color / Dimmer / Quality / Rotate を適用)

PBR MAT を介して内部 Geometry に IBL ライティングを供給

出力: Render TOP による最終 2D テクスチャ

Tips

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

まる。
まる。

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


パラメータ解説 ⚙️

Light Page 💡

Light Color / Dimmer .lightcolordimmer 🎨

光の色と強度の指定:

  • Light Color: c — 光の色。Color List / Hue Saturation Value / Red Green Blue の 3 通りで指定可能 (該当ボックスをクリックすると下部の色編集フィールドが切替わる)
  • Dimmer: dimmer — 光の強度を静的値または時間変化する値として制御

Environment Map .envlightmap 🌐

環境マップ用 TOP テクスチャ:

  • Environment Map: envlightmap — マテリアルの環境マップを定義する TOP テクスチャ。Environment Mapping は物体が周囲を反射するシミュレーションで、ここで指定された TOP が反射対象として使われる。Env Map は通常ライティングに加算されるため、純粋反射の物体を作るには Diffuse / Specular を 0 にする必要がある。Cube Map TOPRender TOPRender Cube Map パラメータで作成した Cube Map も入力可能

Environment Map 2D Type .envlightmaptype2d 🗺️

2D 環境マップの投影種別を選択するメニューパラメータ

項目 内部名 説明
Equirectangular .equirectangular 2D 環境マップを Equirectangular (正距円筒) 投影として解釈 (現状唯一の選択肢)

Environment Map Quality .envlightmapquality ⚙️

環境光サンプル数の品質倍率:

  • Environment Map Quality: envlightmapquality — Environment Light が使用するサンプル数を制御する乗数。値が大きいほどノイズが減り品質が向上するがコストも増加。この値は PBR MATEnv Light Quality パラメータと乗算される

Environment Map Rotate .envlightmaprotate 🔄

環境マップの回転制御:

  • Environment Map Rotate: envlightmaprotate — 上の Environment Map で指定したテクスチャを回転させる角度。シーン内の太陽位置や反射方向を調整する用途で利用

Use Pre-Filter Maps .envlightmapprefilter

Pre-Filter Maps 利用の切替:

  • Use Pre-Filter Maps: envlightmapprefilter — 環境マップの pre-filtering を制御。事前フィルタリング済み環境マップは生成コストが高いが、レンダリング品質は大幅に向上する

Pre-Filtered Specular Map .envlightspecmap

Pre-Filtered Specular Map の入力 TOP:

  • Pre-Filtered Specular Map: envlightspecmapPreFilter Map TOPEnvironment Light Specular Map 出力を指定。Use Pre-Filter Maps が有効なときに高品質鏡面反射のソースとして使用される

Render Page 🖼️

Material / Render .material 🎨

マテリアル割当と描画制御:

  • Material: material — 内部ジオメトリに適用する MAT のパス
  • Render: render — Render TOP でコンポーネントを描画対象とするか (Component の Render Flag と論理 AND で評価)

Draw Priority / Pick Priority .priority 🔝

描画順序とピック優先度:

  • Draw Priority: drawpriority — Component が描画される順序 (小さい値ほど後に描画)。同じ親 COMP 内の他 Component 同士、または Render TOP の Geometry に列挙される最上位 Component 同士で比較される。透明オブジェクトの順序制御に有用
  • Pick Priority: pickpriority — Render Pick CHOP / DAT の Search Area で複数オブジェクトが見つかった場合の選択優先度 (描画順や同一ピクセルでの可視性には影響しない)

Wireframe Color / Light Mask .wcolorlightmask 💡

ワイヤフレーム色と被影響ライト絞り込み:

  • Wireframe Color: wcolor — ワイヤフレームシェーディングモード時に Component の色として使う RGB
  • Light Mask: lightmask — このジオメトリに影響を与えるライトのサブセット指定。Render TOP のライトリストと本パラメータの双方に列挙されたライトのみ適用される

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 選択した色空間のデフォルト基準白を使用
Standard (SDR) .sdr 標準ダイナミックレンジ (SDR) 基準白
High (HDR) .hdr ハイダイナミックレンジ (HDR) 基準白
UI .ui UI 表示用の基準白

実践アイデア 💡

Example 1: HDRI スタジオ環境による PBR ライティング 🌅

HDRI .hdr ファイル → Movie File In TOP (Equirectangular) → Environment Light COMP (envlightmap = movie_in1, Dimmer = 1.0) → PBR MAT → Geometry COMP → Render TOP

Equirectangular 投影された HDRI スタジオ環境マップを Environment Light COMP に与え、PBR MAT を適用した Geometry に物理的に正しい IBL を供給する基本構成です。屋内スタジオ・屋外日中・夕景など環境マップを差し替えるだけでシーンの雰囲気を一括変更でき、ライト COMP を多数並べる必要がなくなります。

  1. HDRI ファイル (.hdr / .exr) を Movie File In TOP で読み込み
  2. Environment Light COMP の Environment Map に Movie File In TOP のパスを指定
  3. Environment Map 2D TypeEquirectangular に設定 (HDRI は通常 Equirectangular 投影)
  4. Dimmer で全体強度を調整 (HDRI 自体の輝度に応じて 0.5〜2.0 程度で調整)
  5. PBR MAT を Geometry COMP の Material に割当て、Render TOP の Lights に Environment Light COMP のパスを追加

Example 2: 動的 Cube Map による反射クロームボール 🔮

シーンレンダリング Render TOP (Render Cube Map = ON) → Environment Light COMP (envlightmap = render1_cube) → PBR MAT (Diffuse=0, Specular=1) → Sphere SOP

Render TOPRender Cube Map 出力をそのまま Environment Light COMP の環境マップに渡すことで、シーン内のリアルタイム反射を表現できます。Sphere SOP に Diffuse=0 / Specular=1 の PBR MAT を割当てると、周囲を映り込ませる動的クロームボールとして機能します。

  1. メインの Render TOP とは別に Cube Map 用 Render TOP を配置し Render Cube Map をオン
  2. Environment Light COMP の Environment Map に Cube Map 出力 TOP を指定
  3. PBR MAT を作成し Diffuse = 0 / Specular = 1 / Roughness = 0 (鏡面) に設定
  4. Sphere SOP を持つ Geometry COMP にその PBR MAT を割当て
  5. Environment Map Rotate で映り込み方向の微調整、Environment Map Quality でサンプル品質を制御

Example 3: PreFilter Map TOP による高品質鏡面反射 ✨

HDRI TOP → PreFilter Map TOP (Environment Light Specular Map 出力) → Environment Light COMP (Use Pre-Filter Maps = ON, Pre-Filtered Specular Map = prefilter1) → PBR MAT → Render TOP

高品質な鏡面反射を実現するには PreFilter Map TOP を経由して環境マップを事前フィルタリングします。Use Pre-Filter Maps をオンにし、PreFilter Map TOP の Environment Light Specular Map 出力を Pre-Filtered Specular Map に接続することで、PBR MAT の roughness に応じた正確なミップ階層反射が得られます。

  1. PreFilter Map TOP を配置し、入力に HDRI / 環境マップ TOP を接続
  2. Environment Light COMP の Environment Map にも同じ環境マップを指定 (Diffuse / 全般用)
  3. Use Pre-Filter Maps をオンに切替
  4. Pre-Filtered Specular Map に PreFilter Map TOP の Environment Light Specular Map 出力を指定
  5. Environment Map Quality と PBR MAT 側 Env Light Quality を併用して最終品質を調整

関連オペレータ 🔗

類似機能OP 🔍

  • Light COMP — Point / Cone / Distant / Area などの解析的光源を扱う基本ライト COMP。Environment Light が IBL を担うのに対し、こちらは方向性のある直接照明を担当
  • Camera COMP — Environment Light と同じく Render TOP に列挙されるシーン構成 COMP。視点を定義する側で対概念

組み合わせ推奨OP 🔄

  • PBR MAT — Environment Light の IBL を受け取り Diffuse / Specular に反映する標準マテリアル。Env Light Quality は Environment Map Quality と乗算
  • Render TOP — Environment Light COMP を Lights に列挙して最終 2D 画像を生成する出力 TOP
  • PreFilter Map TOP — 事前フィルタリング済み Specular Map / Diffuse Map を生成し、Use Pre-Filter Maps オン時に高品質鏡面反射を実現
  • Cube Map TOP — 6 面立方体マップを生成し Environment Map として与える代表的な TOP
  • Movie File In TOP — HDRI ファイル (.hdr / .exr) を読み込んで Equirectangular 環境マップとして Environment Light に渡す
  • Geometry COMP — Environment Light の影響を受ける描画対象。PBR MAT を割当てて IBL を反映

前処理・後処理COMP 🎯


Info CHOP情報 📊

Environment Light 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: エラー数
  • cook_abs_frame: 絶対時間基準でのクックフレーム番号
  • cook_start_time: オペレータがクックを開始した時刻
  • cook_end_time: クックが完了した時刻
  • cooked_this_frame: 現在のフレームでクックされた場合は 1

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

よくある問題と解決策 🔧

❌ Problem: 反射や環境光がジオメトリに反映されない
✅ Solution:

  • Geometry COMP の MaterialPBR MAT が割当てられているか確認 (Phong MAT 等の従来 MAT は Environment Light を受け取らない)
  • Render TOP の Lights パラメータに Environment Light COMP のパスが追加されているか確認
  • Environment Light COMP の Environment Map に有効な TOP が指定されているか、そして Render パラメータがオンになっているか確認

❌ Problem: 鏡面反射がぼやけて見える / 期待した光沢にならない
✅ Solution:

  • Use Pre-Filter Maps をオンにし、Pre-Filtered Specular MapPreFilter Map TOPEnvironment Light Specular Map 出力を接続
  • Environment Map Quality を増やしてサンプル数を上げる (PBR MAT の Env Light Quality と乗算されるため両方の値を確認)
  • PBR MAT 側の Roughness を下げてより鏡面に近付ける (Roughness=0 で完全鏡面)

❌ Problem: 純粋反射のクロームボールを作りたいのに環境光が拡散光として乗ってしまう
✅ Solution:

  • PBR MAT の Diffuse を 0 に設定して拡散成分を消す
  • Specular を 1 に、Roughness を 0 にして鏡面のみの応答にする
  • 公式 docs にも記載のとおり、Env Map は通常ライティングに加算されるため、純粋反射には Diffuse / Specular 個別調整が必須

❌ Problem: 環境マップの方向や向きが意図と違う
✅ Solution:

  • Environment Map Rotate で環境マップを回転させて太陽位置や反射方向を調整
  • Equirectangular 投影の HDRI は左右方向の回転で水平方向の向きが変わるため、シーン内の主要光源の向きに合わせて値を選ぶ
  • Cube Map を入力している場合は事前に Cube Map TOP 側で 6 面の並び順や向きを確認

参考資料 📚

その他 🔗

公式リソース 📖

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