Unityでカメラからの距離に応じて色の調整をする

UnityのStandardAssetsにあるColorCorrectionCurvesを使用すると、カメラからの距離に応じて色の調整をする事が出来ます。

なのでゲームの全体の色合いを変更したい時はColorCorrectionCurvesを使用するといいかもしれません。

ドラマ相棒のような全体が青みがかった感じが出したいと思った時等、簡単に変更する事が出来ます。

スポンサーリンク

ColorCorrectionCurves

カメラのインスペクタでAdd Component→Image Effects→Color Adjustments→Color Corrections(Curves, Saturation)を選択します。

ColorCorrectionCurvesのインスペクタ

↑がModeをAdvancedにした場合に表示される項目です。

ModeはSimpleとAdvancedが選択出来、Simpleは単純なRGBの調整が出来、Advancedは深さに応じたRGBの調整項目も表示されます。

Saturationは彩度を調整出来ます。0にするとグレースケール(白黒)になります。

Red、Green、Blueは前景にあるゲームオブジェクトの色合いを距離に応じて変更する為の設定で、アニメーションカーブを使用します。
アニメーションカーブで近距離の場合の色、遠距離の場合の色を設定します。

Red(depth)、Green(depth)、Blue(depth)は背景にあるスカイボックス等の色合いを調整出来ます。

Blend Curveは前景と背景のカラーブレンドの調整をします。

Selective Color Correctionにチェックを入れると

KeyとTargetという新しい項目があらわれます。

Key(元の画像)の色をTargetで選択した色に変える事が出来るみたいですが、いまいちわかりません・・・・(^_^;)

設定項目を見終わったので試しに実行して確認してみましょう。

↑のようになりました。

アニメーションカーブを変更した後元に戻す(Ctrl+Zキー)をした時でも見た目が変更した状態のまま変わらない事があります。

そんな時はSaturationの値を変更したあと元の値に戻せば反映されます。

全体の色合いを変更したい時はColorCorrectionCurvesを使用するといいかもしれません。

スポンサーリンク

記事をシェアして頂ける方はこちら

フォローして頂くとやる気が出ます