はなちるのマイノート

Unityをメインとした技術ブログ。自分らしくまったりやっていきたいと思いますー!

【Unity】インスペクターでHDR カラーピッカーを扱う方法(ColorUsage)

はじめに

Unityを色を選択する際に、このようなカラーピッカーがあることをご存知でしょうか。

f:id:hanaaaaaachiru:20200505171738p:plainf:id:hanaaaaaachiru:20200505171741p:plain

おそらくよく見かけるのは右の方のカラーピッカーだと思いますが、ColorUsageAttributeを使うことで左側のHDRカラーピッカーを使うことができます。

そもそもHDRってなんやねんという声が聞こえてきそうですが、従来の色の表現SDR(Standard Dynamic Range)よりも明るさの表現を広げたもののことを指すそうです。
【Unity】HDRってなんやねーん!という人のための解説 │ エクスプラボ

では早速みていきましょう。

属性

冒頭でも述べましたがColorUsageAttributeを使うことでHDRカラーピッカーを使うことができます。

ColorUsageAttribute(bool showalpha, bool hdr)

3つのオーバーロードがありますが、一番使うのはこの属性だと思います。(一応orderもありますが省略)

名前 意味
showalpha alpha(透明度)を設定できるか
hdr hdrカラーピッカーを使うか

使い方

using UnityEngine;

public class Sample : MonoBehaviour
{
    // よくみる普通のカラーピッカー
    [SerializeField] private Color _color;

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

    // Alpha(透明度)付きのカラーピッカー
    [ColorUsage(true, true), SerializeField] private Color _hdrColorWithAlpha;

}

さいごに

HDRカラーピッカーで指定した色とPostProcessingbloomをうまく活用するととても綺麗な色を作ることができるので、オススメです。

良かったらうまく活用してみてください。

ではまた。