Skip to content
第02回 Shader Graph基礎

3 / 4 RGB成分の乗算と明るさの比較 ​

このステップの目的

色を数値の組として読み、倍率を一つ変えた結果を予測して確認します。

RGBを三つの値として扱う ​

RGBは赤(Red)・緑(Green)・青(Blue)の成分です。例えば計算へ入る値が(0.8, 0.4, 0.2)なら、倍率0.5を掛けた結果は(0.4, 0.2, 0.1)です。三つの値をまとめたものを、このGraphでは三成分のベクトルとして扱います。

倍率は一つの数値です。Floatは小数を含む数値を扱う型で、Shader GraphではFloatプロパティを使います。

Intensityの追加 ​

  1. BlackboardにFloatプロパティIntensityを追加します。既定値を1にし、Exposedを有効にします。
  2. TintとBase Colorの間にMultiplyノードを置きます。
  3. TintをMultiplyのA、IntensityをBへ接続し、Multiplyの出力をBase Colorへつなぎます。
  4. Graphを保存します。Material側のIntensityも1にします。以前と同じ色が表示されることを確認します。
色の各成分に同じ倍率を掛ける
Tint
色の値をAへ渡す
Multiply
Intensity
倍率をBへ渡す
Multiply
Multiply
計算した色を出力する
Base Color

予測する値と画面の明るさ ​

同じMaterial・Camera・表示設定でIntensityだけを変更します。まずTintを白にし、Intensityを0、0.5、1へ変えてください。0なら黒、1なら元の色へ戻ります。

入力RGBの例Intensity計算結果
(0.8, 0.4, 0.2)0(0, 0, 0)
(0.8, 0.4, 0.2)0.5(0.4, 0.2, 0.1)
(0.8, 0.4, 0.2)1(0.8, 0.4, 0.2)

表は乗算へ入る数値の計算例です。Color欄の数値の解釈や画面への変換には色空間が関係するため、画面を見て「明るさが半分に感じられる」と断定しません。比較中はProjectのColor Spaceや露出を変更せず、Intensityの効果を確かめます。

Intensityを1へ戻し、Tintと倍率を別々の入力として保存します。

チェックリスト
  • Multiplyの入力と出力の接続を説明できる。
  • 倍率0・0.5・1の計算結果を予測し、表示条件を固定して比較した。