更改場景的背景顏色

更新頁 :
頁面創建日期 :

驗證環境

窗戶
  • 視窗 11
統一編輯器
  • 2020.3.25f1
輸入系統包
  • 1.2.0

此提示的先決條件

作為此提示描述的前提,已預先進行了以下設置。

關於場景背景顏色

Unity 中場景的背景色不屬於場景,而是攝像機設置。 如果選擇從層次結構, Main Camera 背景顏色將與攝像機預覽同時顯示。

關於更改背景顏色

相機元件有一個“背景”,您可以從中更改它。

以程式設計方式更改背景顏色

按兩下按鈕後,移動程式並嘗試更改背景顏色。 請參閱按鈕 提示 ,瞭解如何移動按鈕按兩下過程。 此處僅介紹該程式。

using System.Linq;
using UnityEngine;

public class ButtonEvent : MonoBehaviour
{
  public void OnClick()
  {
    // カメラコンポーネントを取得
    var cameraObject = gameObject.scene.GetRootGameObjects().FirstOrDefault(obj => obj.GetComponent<Camera>() != null);
    var camera = cameraObject.GetComponent<Camera>();

    // 背景色を変更
    camera.backgroundColor = new Color(0.3f, 0.0f, 0.1f);
  }
}

由於我們將更改相機的背景顏色,因此我們將首先獲取相機元件。 如果事先將腳本附加到相機物件或將相機作為字段,則代碼會短一些,但是 gameObject 這一次,我正在搜索並從連結 scene 中引用它。 任何最終可以獲取相機元件的代碼都可以。

Camera獲得元件后,設置backgroundColorColor屬性以確定顏色。 Color可以將建構函數設定為任意數位,也可以設定預訂red的 和 blue

操作檢查

嘗試運行它,看看它是否會改變顏色。