🎆

【Unity】スクリプトからMaterialのEmissionを動的にいじる

2024/11/18に公開

シンプルなコード。

private void UpdateEmission()
{
    targetMaterial.EnableKeyword("_EMISSION");
    targetMaterial.SetColor(EmissionColor, emissionColor * emissionIntensity);
}

このメソッドでは2つの重要な処理を行っている。

  1. EnableKeyword("_EMISSION")で、シェーダーのEmission機能を有効化
  2. SetColorで発光色と強度を設定

emissionColor * emissionIntensityでは、色(RGB)に強度(float)を乗算。これにより、

  • 色相や彩度はそのままに
  • 明るさだけを調整可能
  • 例:赤色(1,0,0)に強度2を掛けると(2,0,0)となり、同じ赤色でより明るく発光

そういうロジック。

Discussion