تغییر رنگ پسزمینه یک صحنه

صفحه به روز شده :
تاریخ ایجاد صفحه :

محیط تایید

ویندوز
  • ویندوز 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هنگامی که جزء را دارید، ویژگی را Color برای تعیین رنگ تنظیم backgroundColor کنید. Color شما می توانید سازنده را به هر عددی تنظیم کنید یا از پیش تعریف شده red و blue .

بررسی عملیات

سعی کنید ان را اجرا کنید و ببینید که ایا رنگ ان تغییر می کند.