ひとりでのアプリ開発 - fineの備忘録 -

ひとりでアプリ開発をするなかで起こったことや学んだことを書き溜めていきます

Unity - HDRカラーピッカーとは

初めに

 Unity には、通常のカラーピッカーではなく、HDRカラーピッカーと呼ばれるものがあります。HDRカラーピッカーでは、色だけでなく光が当たった際の色の露出を調整することができます。本記事では、HDRカラーピッカーの使い方や Inspector から扱う方法などをまとめます。

HDR とは

 HDR とは、High Dynamic Range の略称です。従来(SDR:Standard Dynamic Range)では、限られた明るさしか表現できない部分がありました。

(例)

  • 明るすぎて、白飛びする
  • 暗すぎて、黒つぶれする

 HDR は SDR より明るさを表現できる範囲を広げたものになります。

HDR カラーピッカー

 HDR カラーピッカーでは、通常のカラーピッカーの下に Intensity(強度)が表示されます。これが光の強さを表します。

 ポストプロセスで光を使う際に見ることがあります。

 下の画像は、Color Adjustments (色調整) のプロパティです。Color Filter の部分に HDRカラーピッカーがあることが分かります。
 このエフェクトを使用すると、最終的にレンダリングされる画像の全体的なトーン、明度、コントラストを調整できます。

docs.unity3d.com

docs.unity3d.com

Inspector にHDR カラーピッカーを表示させる

 ColorUsageAttribute を使うことで、Inspector にHDRカラーピッカーを表示させることができます。

 第1引数が α 値を表示させるかどうか、第2引数が色を HDR カラーとして扱うかどうかを表します。

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class Sample : MonoBehaviour
{
    // 通常のカラーピッカー
    public Color _color;

    // HDRカラーピッカー
    [ColorUsage(false, true)] public Color _hdrColor;

    // α値付きのカラーピッカー
    [ColorUsage(true, true)] public Color _hdrColorWithAlpha;

}


最後に

 ColorUsageAttribute を覚えておきたい。