Modificarea culorii de fundal a unei scene

Pagina actualizată :
Data creării paginii :

Mediul de verificare

Windows
  • Ferestre 11
Unity Editor
  • 2020.3.25F1
Pachet sistem de intrare
  • 1.2.0

Cerințe preliminare pentru acest sfat

Următoarele setări au fost făcute în avans ca premisă pentru descrierea acestui sfat.

Despre culorile de fundal ale scenei

Culoarea de fundal a unei scene din Unity nu este deținută de scenă, ci este setarea camerei. Dacă selectați Din ierarhie, culoarea de Main Camera fundal este afișată în același timp cu previzualizarea camerei.

Despre schimbarea culorii de fundal

Componenta Cameră are un "fundal" din care o puteți schimba.

Modificarea programatică a culorii de fundal

După ce faceți clic pe buton, mutați programul și încercați să schimbați culoarea de fundal. Consultați Sfaturi pentru butoane pentru a afla cum să mutați procesul de clic pe buton. Numai programul este descris aici.

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

Deoarece vom schimba culoarea de fundal a camerei, vom obține mai întâi componenta camerei. Dacă atașați un script la obiectul camerei în prealabil sau aveți o cameră ca câmp, codul va fi puțin mai scurt, dar gameObject De data aceasta, caut și mă refer la ea de la legat scene la. Orice cod care poate obține în cele din urmă componenta camerei este în regulă.

Camera După ce aveți componenta, setați backgroundColor Color proprietatea pentru a determina culoarea. Color Puteți seta constructorul la orice număr sau puteți seta predefinit red și blue .

Verificarea funcționării

Încercați să-l rulați și vedeți dacă își schimbă culoarea.