Изменение цвета фона сцены

Страница обновлена :
Дата создания страницы :

Среда верификации

Виндоус
  • Windows 11
Редактор Unity
  • 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 Получив компонент, задайте backgroundColor свойство, Color чтобы определить цвет. Color Вы можете установить конструктор на любое число или установить предопределенный red и blue .

Проверка работы

Попробуйте запустить его и посмотрите, изменит ли он цвет.