UnityでスクリプトからHDRな色を使いたい時がちょこちょこ出てきたので忘れないようにメモしときます。
環境
Unity 5.5.0f3 Personal
概要
マテリアルのEmissionの設定に使うようなColorPickerをスクリプトのインスペクタからでも使えるようにしようと言う話
↑こんな感じのやつ
やり方
非常に簡単でした。
Unityの方でAttributeを用意してくれてるのでエディタ拡張など必要ありません!!(さすがUnity!!)
colorPicker.cs
[ColorUsage(false, true, 0f, 8f, 0.125f, 3f)]
public Color color;
こんな感じに使いたい変数の上に[ColorUsage(bool, bool, float, float, float, float]
と書くだけです。
引数は順番に...
- アルファ値を設定出来るようにするか
- HDRで設定出来るようにするか
- 最小輝度
- 最大輝度
- 最小露出値
- 最大露出値
です。
なので、HDRを設定するために2つ目の引数をtrue
にすればOKです!
詳しくは、Unityのリファレンスを見てください。
最後に
これでスクリプトにHDRな色を設定出来るようになると思います。
正直、最小露出値と最大露出値がどこに影響してるかよく分かってないです(-_-;)
コメントで教えていただけたら幸いです。