更改场景的背景颜色

更新页 :
页面创建日期 :

验证环境

窗户
  • 视窗 11
统一编辑器
  • 2020.3.25f1
输入系统包
  • 1.2.0

此提示的先决条件

作为此提示描述的前提,已预先进行了以下设置。

关于场景背景颜色

Unity 中场景的背景色不属于场景,而是摄像机设置。 如果选择从层次结构, Main Camera 背景颜色将与摄像机预览同时显示。

关于更改背景颜色

相机组件有一个“背景”,您可以从中更改它。

以编程方式更改背景颜色

单击按钮后,移动程序并尝试更改背景颜色。 请参阅按钮 提示 ,了解如何移动按钮单击过程。 此处仅介绍该程序。

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

由于我们将更改相机的背景颜色,因此我们将首先获取相机组件。 如果事先将脚本附加到相机对象或将相机作为字段,则代码会短一些,但是 gameObject 这一次,我正在搜索并从链接 scene 中引用它。 任何最终可以获取相机组件的代码都可以。

Camera获得组件后,设置backgroundColorColor属性以确定颜色。 Color可以将构造函数设置为任意数字,也可以设置预定义red的 和 blue

操作检查

尝试运行它,看看它是否会改变颜色。