ライトのカラーを、スクリプトから操作できるようにしてみましょう。
今回の例では、スポットライトを用意して、ブルー(青)の色合いを調整してみます。
左右キーで、ライトの青色の濃さを、制御できるようにしました。
左キーを押せば少しずつ青色に変色し、右キーを押せば白に戻っていきます。
関連記事:
ライトの明るさをスクリプトから操作
3つのスポットライトをキー操作で点灯
スポットライトを点滅
ライトの色を徐々に変更
平面(Plane)とスポットライトを作成します。
スポットライトの位置と角度を変えます。
Planeのカラーを黒に変更します。
MainCameraの位置、角度を変更して、ライトを見やすくします。
ゲームビューではこのように見えています。
空のオブジェクトを作成します。
LightManager.csを作成し、GameObject(空のオブジェクト)に追加します。
LightManager.csを記述します。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 |
using System.Collections; using System.Collections.Generic; using UnityEngine; public class LightManager : MonoBehaviour { [SerializeField] GameObject lightObject; private Color lightColor; private float colorValue; void Start () { lightColor = lightObject.GetComponent<Light>().color; colorValue = 1.0f; } void Update () { if(Input.GetKey(KeyCode.RightArrow)) { lightObject.GetComponent<Light>().color = lightColor; lightColor = new Color(colorValue, colorValue, 1); if(colorValue < 1.0f) { colorValue+=0.01f; } } if(Input.GetKey(KeyCode.LeftArrow)) { lightObject.GetComponent<Light>().color = lightColor; lightColor = new Color(colorValue, colorValue, 1); if(colorValue > 0) { colorValue-=0.01f; } } } } |
Light Objectのフィールドに、SpotLightを入れます。
ゲームプレイして、左右キーを押してみましょう。
左キーを押せば少しずつ青色に変色し、右を押せば白に変化していきます。