Промяна на цвета на фона на сцена

Страницата се актуализира :
Дата на създаване на страница :

Среда за проверка

Уиндоус
  • Прозорци 11
Редактор на единство
  • 2020.3.25ф1
Пакет на входната система
  • 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 .

Проверка на операцията

Опитайте се да го стартирате и да видите дали променя цвета си.