Alterar a cor de fundo de uma cena

Página atualizada :
Data de criação de página :

Ambiente de verificação

Windows
  • Janelas 11
Unity Editor
  • 25.3.2020F1
Pacote do sistema de entrada
  • 1.2.0

Pré-requisitos para esta dica

As configurações a seguir foram feitas com antecedência como premissa para a descrição desta dica.

Sobre as cores de fundo da cena

A cor de fundo de uma cena em Unity não pertence à cena, mas é a configuração da câmera. Se você selecionar Da hierarquia, a cor do plano de Main Camera fundo será exibida ao mesmo tempo que a visualização da câmera.

Sobre a alteração da cor do plano de fundo

O componente Câmera tem um "plano de fundo" a partir do qual você pode alterá-lo.

Alterar a cor do plano de fundo programaticamente

Depois de clicar no botão, mova o programa e tente alterar a cor de fundo. Consulte as Dicas de botão para saber como mover o processo de clique no botão. Apenas o programa é descrito aqui.

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

Uma vez que vamos mudar a cor de fundo da câmera, vamos primeiro obter o componente da câmera. Se você anexar um script ao objeto da câmera de antemão ou tiver uma câmera como um campo, o código será um pouco mais curto, mas gameObject Desta vez, estou pesquisando e me referindo a ele a partir de link. scene Qualquer código que possa eventualmente obter o componente da câmera é bom.

Camera Depois de ter o componente, defina backgroundColor a propriedade para determinar a Color cor. Color Você pode definir o construtor para qualquer número ou definir o predefinido red e blue .

Verificação de operação

Tente executá-lo e ver se ele muda de cor.