Canviar el color de fons d'una escena

Pàgina actualitzada :
Data de creació de la pàgina :

Entorn de verificació

Windows
  • Finestres 11
Editor d'unitat
  • 25.3.2020
Paquet del sistema d'entrada
  • 1.2.0

Requisits previs per a aquest consell

La configuració següent s'ha fet amb antelació com a premissa per a la descripció d'aquest consell.

Sobre els colors de fons de l'escena

El color de fons d'una escena a Unity no és propietat de l'escena, sinó que és l'escenari de la càmera. Si seleccioneu De Main Camera la jerarquia, el color de fons es mostra al mateix temps que la previsualització de la càmera.

Sobre el canvi del color de fons

El component Càmera té un "fons" des del qual podeu canviar-lo.

Canviar el color de fons mitjançant programació

Després de fer clic al botó, moveu el programa i proveu de canviar el color de fons. Consulteu els consells dels botons per saber com moure el procés de clic al botó. Aquí només es descriu el programa.

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

Com que canviarem el color de fons de la càmera, primer obtindrem el component de la càmera. Si connecteu prèviament un script a l'objecte de la càmera o teniu una càmera com a camp, el codi serà una mica més curt, però gameObject Aquesta vegada, hi busco i m'hi refereixo des de l'enllaç scene . Qualsevol codi que eventualment pugui obtenir el component de la càmera està bé.

Camera Un cop tingueu el component, definiu backgroundColor la Color propietat per determinar-ne el color. Color Podeu establir el constructor a qualsevol nombre o establir el predefinit red i blue .

Comprovació de l'operació

Proveu d'executar-lo i comproveu si canvia de color.