Ändern der Hintergrundfarbe einer Szene
Verifizierungsumgebung
- Fenster
-
- Windows 11
- Unity-Editor
-
- 2020.3.25f1
- Eingabesystem-Paket
-
- 1.2.0
Voraussetzungen für diesen Tipp
Die folgenden Einstellungen wurden im Vorfeld als Prämisse für die Beschreibung dieses Tipps vorgenommen.
Informationen zu Szenenhintergrundfarben
Die Hintergrundfarbe einer Szene in Unity gehört nicht der Szene, sondern ist die Kameraeinstellung.
Wenn Sie Aus Main Camera
der Hierarchie auswählen, wird die Hintergrundfarbe gleichzeitig mit der Kameravorschau angezeigt.
Ändern der Hintergrundfarbe
Die Kamerakomponente hat einen "Hintergrund", von dem aus Sie sie ändern können.
Programmgesteuertes Ändern der Hintergrundfarbe
Nachdem Sie auf die Schaltfläche geklickt haben, verschieben Sie das Programm und versuchen Sie, die Hintergrundfarbe zu ändern. In den Schaltflächentipps erfahren Sie, wie Sie den Schaltflächenklickvorgang verschieben können. Hier wird nur das Programm beschrieben.
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);
}
}
Da wir die Hintergrundfarbe der Kamera ändern werden, erhalten wir zuerst die Kamerakomponente.
Wenn Sie vorher ein Skript an das Kameraobjekt anhängen oder eine Kamera als Feld haben, wird der Code etwas kürzer, aber
gameObject
Diesmal suche ich und beziehe mich von verlinkt scene
darauf.
Jeder Code, der schließlich die Kamerakomponente abrufen kann, ist in Ordnung.
Camera
Sobald Sie die Komponente haben, legen Sie die Eigenschaft fest backgroundColor
, um die Color
Farbe zu bestimmen.
Color
Sie können den Konstruktor auf eine beliebige Zahl festlegen oder die vordefinierte red
und blue
.
Funktionsprüfung
Versuchen Sie, es auszuführen, und sehen Sie, ob es die Farbe ändert.