Cambiar el color de fondo de una escena
Entorno de verificación
- Windows
-
- Ventanas 11
- Unity Editor
-
- 2020.3.25f1
- Paquete del sistema de entrada
-
- 1.2.0
Requisitos previos para esta sugerencia
Los siguientes ajustes se han realizado de antemano como premisa para la descripción de este consejo.
Acerca de los colores de fondo de escena
El color de fondo de una escena en Unity no es propiedad de la escena, sino que es la configuración de la cámara.
Si selecciona Desde Main Camera
la jerarquía, el color de fondo se muestra al mismo tiempo que la vista previa de la cámara.
Acerca de cómo cambiar el color de fondo
El componente Cámara tiene un "fondo" desde el que puede cambiarlo.
Cambiar el color de fondo mediante programación
Después de hacer clic en el botón, mueva el programa e intente cambiar el color de fondo. Consulte las sugerencias de botones para saber cómo mover el proceso de clic en el botón. Sólo el programa se describe aquí.
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);
}
}
Como cambiaremos el color de fondo de la cámara, primero obtendremos el componente de la cámara.
Si adjunta un script al objeto de cámara de antemano o tiene una cámara como campo, el código será un poco más corto, pero
gameObject
Esta vez, estoy buscando y refiriéndome a él desde linked scene
to.
Cualquier código que eventualmente pueda obtener el componente de la cámara está bien.
Camera
Una vez que tenga el componente, establezca backgroundColor
la Color
propiedad para determinar el color.
Color
Puede establecer el constructor en cualquier número o establecer el predefinido red
y blue
.
Comprobación de funcionamiento
Intente ejecutarlo y vea si cambia de color.