Zmienianie koloru tła sceny

Strona zaktualizowana :
Data utworzenia strony :

Środowisko weryfikacji

Windows
  • Okna 11
Edytor Unity
  • 2020.3.25f1
Pakiet systemu wejściowego
  • 1.2.0

Wymagania wstępne dotyczące tej porady

Poniższe ustawienia zostały wcześniej wprowadzone jako przesłanka do opisu tej wskazówki.

Informacje o kolorach tła sceny

Kolor tła sceny w Unity nie jest własnością sceny, ale jest ustawieniem kamery. W przypadku wybrania opcji Z Main Camera hierarchii kolor tła będzie wyświetlany w tym samym czasie, co podgląd kamery.

Informacje o zmienianiu koloru tła

Komponent Camera ma "tło", z którego można go zmienić.

Programowa zmiana koloru tła

Po kliknięciu przycisku przesuń program i spróbuj zmienić kolor tła. Zobacz Porady dotyczące przycisków, aby dowiedzieć się, jak przenieść proces klikania przycisku . Tylko program jest opisany tutaj.

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);
  }
}

Ponieważ będziemy zmieniać kolor tła aparatu, najpierw otrzymamy komponent kamery. Jeśli wcześniej dołączysz skrypt do obiektu kamery lub masz kamerę jako pole, kod będzie nieco krótszy, ale gameObject Tym razem szukam i odwołuję się do niego z linku scene . Każdy kod, który może ostatecznie uzyskać komponent kamery, jest w porządku.

Camera Po uzyskaniu składnika ustaw backgroundColor właściwość Color , aby określić kolor. Color Można ustawić konstruktor na dowolną liczbę lub ustawić wstępnie zdefiniowane red i blue .

Kontrola działania

Spróbuj go uruchomić i sprawdź, czy zmieni kolor.