Изменение цвета фона сцены
Среда верификации
- Виндоус
-
- 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
.
Проверка работы
Попробуйте запустить его и посмотрите, изменит ли он цвет.