
概要 📖 – 環境画像で全体を照らす
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 テクスチャ
初心者の方は、以下日本語書籍も手元にあると安心です。

実際の案件事例まで踏み込んで紹介されていて、効率よくスキルアップするなら必携の二冊です!
パラメータ解説 ⚙️
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 TOP や Render TOP のRender 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 MAT の Env 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:
envlightspecmap— PreFilter Map TOP のEnvironment 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 を多数並べる必要がなくなります。
- HDRI ファイル (.hdr / .exr) を Movie File In TOP で読み込み
- Environment Light COMP の Environment Map に Movie File In TOP のパスを指定
- Environment Map 2D Type を
Equirectangularに設定 (HDRI は通常 Equirectangular 投影) - Dimmer で全体強度を調整 (HDRI 自体の輝度に応じて 0.5〜2.0 程度で調整)
- 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 TOP の Render Cube Map 出力をそのまま Environment Light COMP の環境マップに渡すことで、シーン内のリアルタイム反射を表現できます。Sphere SOP に Diffuse=0 / Specular=1 の PBR MAT を割当てると、周囲を映り込ませる動的クロームボールとして機能します。
- メインの Render TOP とは別に Cube Map 用 Render TOP を配置し Render Cube Map をオン
- Environment Light COMP の Environment Map に Cube Map 出力 TOP を指定
- PBR MAT を作成し Diffuse = 0 / Specular = 1 / Roughness = 0 (鏡面) に設定
- Sphere SOP を持つ Geometry COMP にその PBR MAT を割当て
- 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 に応じた正確なミップ階層反射が得られます。
- PreFilter Map TOP を配置し、入力に HDRI / 環境マップ TOP を接続
- Environment Light COMP の Environment Map にも同じ環境マップを指定 (Diffuse / 全般用)
- Use Pre-Filter Maps をオンに切替
- Pre-Filtered Specular Map に PreFilter Map TOP の
Environment Light Specular Map出力を指定 - 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 の Material に PBR 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 Map に PreFilter Map TOP の
Environment 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 面の並び順や向きを確認
参考資料 📚
その他 🔗
- TouchDesigner Wiki — COMP 概要
- TouchDesigner Wiki — Category:COMPs
- TouchDesigner Wiki — Category:Components
- TouchDesigner Wiki ホーム
- TouchDesigner 公式 Forum
- Facebook — TouchDesigner Help Group
公式リソース 📖
- TouchDesigner公式ドキュメント – Environment Light COMP
- TouchDesigner公式ドキュメント – PBR MAT (Environment Light と組み合わせる物理ベースマテリアル)
- TouchDesigner公式ドキュメント – PreFilter Map TOP (事前フィルタリング済み環境マップ生成)
- TouchDesigner公式ドキュメント – Render TOP (Environment Light を列挙して最終描画する出力 TOP)

