Tonemapping (トーンマッピング)は HDR (ハイダイナミックレンジ)から LDR (ローダイナミックレンジ)へのカラー値のマッピングとして一般的に理解されています。これは Unity において多くのグラフィックで任意の 16 ビット浮動小数点カラー値は旧来の 8 ビット値に [0, 1] の範囲にマッピングされることを意味します。
トーンマッピングはカメラで HDR が有効となっていないと正しく機能しない。また推奨として、光源を通常の intensity の値より大きくし、幅広い範囲を有効活用するとよい現実世界と同様、Luminance (明るさ)で人の眼あるいはそのつくりで認識できるのは一定の範囲のみです。
トーンマッピングは HDR をオンにした ブルーム とセットで機能的に動作します。注意すべき点としてトーンマッピングの前に Bloom を適用する必要があり、そうしないと高い範囲が失われるためです。一般に強い Luminance (明るさ)で効果が得られる処理はトーンマッピングより先に行う必要があります。(別の例が Depth of Field エフェクト です。)
intensity を LDR にマッピングする方法はいくつかあります( Mode により選択できます。)このエフェクトはいくつかのテクニックがあり、そのうち二つは adaptive ( AdaptiveReinhard や AdaptiveReinhardAutoWhite )で、その意味はカラーの変更が intensity の変化が完全に登録されるまで処理が遅延される、ということです。カメラと人の眼でこれと同じ現象があります。この効果により興味深いダイナミックなエフェクトが可能となり、暗いトンネルを抜けて明るい日差しに入るときの自然な目の慣れでも見られます。
次の 2 つのスクリーンショットは Photographic トーンマッピング(フォトグラフィックトーンマッピング)で異なる exposure (露光)値での例を示しています。バンディングが HDR カメラの使用により回避されていることに注意してください。
その他の イメージエフェクト 同様に、このエフェクトは Standard Assets をインストールすることで使用できます。
プロパティー | 機能 |
---|---|
Mode | 使用したいトーンマッピング(トーンマッピング)アルゴリズムを選択 |
Exposure | シミュレートされた露光、実際の明るさのレンジを定義 |
Average grey | シーンの平均的なグレー値であり、結果の intensity を定義 |
White | 白にマッピングされる最低値 |
Adaption speed | すべての adapitive であるトーンマッピングの調整速度 |
Texture size | すべての adapitive であるトーンマッピングの内部テクスチャサイズ。大きな値により intensity を計算するなかでディテールが得られる一方で、パフォーマンスが低下します。 |
このエフェクトは Unity がサポートするすべてのハードウェア上で実行できます。