ハイダイナミックレンジ (HDR) は、標準ダイナミックレンジ (SDR) 画像よりも大きなダイナミックレンジの光度を持つ画像を生成する技術で、色と明るさを現実的に表現できます。
標準のレンダリングでは、ピクセルの赤、緑、青の値は 0 と 1 の間の 8 ビット値を使用して格納されます。0 は強度がないことを表し、1 はディスプレイデバイスの最大強度を表します。この制限された範囲の値は、現実の生活で光を知覚する方法を正確に反映しているわけではないため、非常に明るい要素や非常に暗い要素が存在する場合、非現実的な画像になります。
HDR レンダリングでは、ピクセル値は浮動小数点数を使用して格納されます。これにより、はるかに広い範囲の値が可能になり、人間の目が色と明るさを認識する方法をより正確に表します。
Unity では、内部レンダリング計算に HDR 画像を使用できます。この機能は HDR レンダリングと呼ばれます。HDR レンダリングを有効にすると、Unity はシーンを HDR 画像バッファにレンダリングし、その HDR 画像を使用してポストプロセスエフェクトなどのレンダリング操作を実行します。これは、計算がより現実的な値を使用して実行されることを意味し、より現実的な結果が得られます。
特定の互換性のあるプラットフォームでは、Unity はその HDR 画像のディスプレイデバイスへの送信をサポートします。この機能は HDR 出力と呼ばれます。
HDR を使用する利点
HDR を使用する不利な点
スクリプタブルレンダーパイプライン、URP および HDRP の HDR レンダリングと HDR 出力のサポートについては、レンダーパイプラインの機能比較 を参照してください。
トーンマッピングは、ある範囲から別の範囲に色値をマッピングする処理です。HDR を使用する場合は、トーンマッピングを使用して HDR 画像バッファの色を変換し、値がディスプレイデバイスが処理できる範囲内に収まるようにする必要があります。トーンマッピングを使用しない場合、特に非常に明るい領域で、画像のディテールと色情報の多くが失われる可能性があります。
SDR 出力で HDR レンダリングを使用する場合は、トーンマッピングを使用してHDR 画像バッファを表示用の SDR 画像に変換する必要があります。Unity はこれを可能にするトーンマッピングのポストプロセスエフェクトを提供します。Post-Processing Stack V2 パッケージ、URP 統合されたポストプロセスソリューション、HDRP 統合されたポストプロセスソリューション のすべてにトーンマッピングエフェクトが含まれています。
HDR 出力で HDR レンダリングを使用する場合、以下のいずれかの方法があります。
フォワードレンダリングパスでは、カメラは、カメラにポストプロセスエフェクトがある場合にのみ HDR をサポートします。これはパフォーマンス上の理由によるものです。カメラでポストプロセスエフェクトが行われない場合、シーンは HDR がサポートされていないバックバッファに直接レンダリングされます。
ディファードシェーディングレンダリングパスでは、カメラに対して HDR が有効になっている場合、ライティングバッファも浮動小数点バッファとして割り当てられます。これにより、ライティングバッファのバンディングが減少します。
Did you find this page useful? Please give it a rating:
Thanks for rating this page!
What kind of problem would you like to report?
Thanks for letting us know! This page has been marked for review based on your feedback.
If you have time, you can provide more information to help us fix the problem faster.
Provide more information
You've told us this page needs code samples. If you'd like to help us further, you could provide a code sample, or tell us about what kind of code sample you'd like to see:
You've told us there are code samples on this page which don't work. If you know how to fix it, or have something better we could use instead, please let us know:
You've told us there is information missing from this page. Please tell us more about what's missing:
You've told us there is incorrect information on this page. If you know what we should change to make it correct, please tell us:
You've told us this page has unclear or confusing information. Please tell us more about what you found unclear or confusing, or let us know how we could make it clearer:
You've told us there is a spelling or grammar error on this page. Please tell us what's wrong:
You've told us this page has a problem. Please tell us more about what's wrong:
Thank you for helping to make the Unity documentation better!
Your feedback has been submitted as a ticket for our documentation team to review.
We are not able to reply to every ticket submitted.