【Unity】背景色をC#スクリプトから変更する方法

(2022/4/22更新)

こんにちは!ゆっち(@yuchi_gamecre)です。

タイトルの通り、C#スクリプトを使って背景色を変更する機能を実装したので備忘として残しておきます。

時間経過に応じて背景の色を変更したい時などには使える方法かと思いますので、参考になれば幸いです。

変更方法

ヒエラルキーウインドウにある、「Main Camera」にアタッチされたスクリプトに記述していきます。

「Main Camera」にC#スクリプトをアタッチしていない場合は、C#スクリプトを作成の上アタッチします。

C#スクリプトを作成。
作成したスクリプトを「Main Camera」にアタッチ。

スクリプトに以下記述を追加し、保存します。

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

public class ColorChange : MonoBehaviour
{
    
    void Start()
    {
        GetComponent<UnityEngine.Camera>().backgroundColor = Color.black;
    }


    void Update()
    {
        
    }
}

ゲーム画面を起動すると、背景色が黒色になっていることが確認できます。

「Update()」内に条件分岐とともに当記述を行うことで、時間経過や状況に応じて背景色を変更することもできます。

また上記では色の指定を「Color.black」という定数を用いて行っていますが、RGBAなど細かく指定することができます。

指定方法は以下をご参照ください。

色の指定方法

色の指定は以下の3種類の方法で行うことができます。

①定数を使用

Unityには以下の通り主要な色には定数が設定されています。

以下の色を使用する場合は、定数を使用して色を指定することができます。

定数RGBA
black(0,0,0,1)
blue(0,0,1,1)
シアンcyan(0,1,1,1)
greyまたはgray(0.5,0.5,0.5,1)
green(0,1,0,1)
マゼンタmagenta(1,0,1,1)
red(1,0,0,1)
white(1,1,1,1)
yellow(1,0.92,0.016,1)

定数を使用する場合は、以下の通り「Color.(定数)」の記述になります。

GetComponent<UnityEngine.Camera>().backgroundColor = Color.black;

②RGBAを指定

定数にない色を細かく指定したい場合は、RGBAをそれぞれ0~255の間で指定します。

以下のような記述になります。

GetComponent<UnityEngine.Camera>().backgroundColor = new Color32(59, 59, 70, 0);

まとめ

今回はスクリプトから背景色を変更する方法を紹介しました。

Unityエディタから背景色を変更する方法も別記事で紹介する予定です。

コメント

  1. This website certainly has all the information I needed concerning this
    subject and didn’t know who to ask.

タイトルとURLをコピーしました