「毎日Unity」の技術ブログ

開発で役立つ情報を発信する

【UnityC#】スクリプトからオブジェクトを光らせる方法

スクリプトからオブジェクトのエミッションカラーを変更することで光らせる方法を記事にしました。

[ カラーネームを使う方法 ]

これはカラーネームでオブジェクトのエミッションカラーを指定する方法です。Unityには11種類のカラーネームが存在しています。
下記のスクリプトをオブジェクトにアタッチすると、アタッチされたオブジェクトのエミッションカラーが赤に変更され、赤色に光ります。

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class ScriptTest : MonoBehaviour
{
    void Start()
    {
        this.gameObject.transform.GetComponent<Renderer>().material.EnableKeyword("_EMISSION");
        this.gameObject.transform.GetComponent<Renderer>().material.SetColor("_EmissionColor", Color.red);
    }
}

これはカラーネーム一覧です↓
docs.unity3d.com

[ カラーコードを使う方法 ]

これはR,G,B,Aでオブジェクトのエミッションカラーを指定する方法です。
下記のスクリプトをオブジェクトにアタッチすると、アタッチされたオブジェクトのエミッションカラーが赤に変更され、赤色に光ります。

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class ScriptTest : MonoBehaviour
{
    void Start()
    {
        this.gameObject.transform.GetComponent<Renderer>().material.EnableKeyword("_EMISSION");
        this.gameObject.transform.GetComponent<Renderer>().material.SetColor("_EmissionColor", new Color(1, 0, 0, 1));
    }
}