🎆
【Unity】スクリプトからMaterialのEmissionを動的にいじる
シンプルなコード。
private void UpdateEmission()
{
targetMaterial.EnableKeyword("_EMISSION");
targetMaterial.SetColor(EmissionColor, emissionColor * emissionIntensity);
}
このメソッドでは2つの重要な処理を行っている。
-
EnableKeyword("_EMISSION")
で、シェーダーのEmission機能を有効化 -
SetColor
で発光色と強度を設定
emissionColor * emissionIntensity
では、色(RGB)に強度(float)を乗算。これにより、
- 色相や彩度はそのままに
- 明るさだけを調整可能
- 例:赤色(1,0,0)に強度2を掛けると(2,0,0)となり、同じ赤色でより明るく発光
そういうロジック。
Discussion