いぬおさんのおもしろ数学実験室

おいしい紅茶でも飲みながら数学、物理、工学、プログラミング、そして読書を楽しみましょう

Unityで2Dのライトの明るさをスクリプトで変化させる

タイトルの通りです。今、2Dシューティングゲームを書いています。2Dでもライトが使えるそうで、ゲームに入れてみることに。こんな感じで、よさそうです!

しかし、スクリプトから明るさを変化させたかったのですがなかなかうまくいかず、サイトもあちこち見て試しましたがそれでもダメ。スクリプトの先頭辺りに書く「using」行ですが、あれ、なぜか勝手に増えることがありますよね(?)。そのためにエラーが起こることがあって「なんだ、こりゃ」と思っていました。しかし今回はよかったです。ふと気づくと

using UnityEngine.Rendering.Universal;

が付け加わっていて、なぜかうまくいきました……。以下のコードで明るさを変化させることができます。ここではグローバルライトを相手にしています。

------------------------------

using UnityEngine.Rendering.Universal;//スクリプトの先頭辺りに入れる

 

GameObject goLight = GameObject.Find("Global Light 2D");
goLight.GetComponent<Light2D>().intensity = 1.0f;//ここで明るさを指定

------------------------------

というわけで今回はここまで。次回をお楽しみに~!!