Mengubah warna latar belakang pemandangan

Laman dikemaskini :
Tarikh penciptaan halaman :

Persekitaran pengesahan

Windows
  • Windows 11
Penyunting Perpaduan
  • 2020.3.25f1
Pakej Sistem Input
  • 1.2.0

Prasyarat untuk petua ini

Tetapan berikut telah dibuat terlebih dahulu sebagai premis untuk penerangan petua ini.

Mengenai warna latar belakang pemandangan

Warna latar belakang adegan dalam Perpaduan tidak dimiliki oleh tempat kejadian, tetapi adalah tetapan kamera. Jika anda memilih Daripada Main Camera hierarki, warna latar belakang dipaparkan pada masa yang sama dengan pratonton kamera.

Perihal mengubah warna latar belakang

Komponen kamera mempunyai "latar belakang" yang mana anda boleh mengubahnya.

Mengubah warna latar belakang secara programatik

Selepas mengklik butang, gerakkan program dan cuba ubah warna latar belakang. Lihat Petua Butang untuk cara mengalihkan proses klik butang. Hanya program yang diterangkan di sini.

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

Oleh kerana kami akan menukar warna latar belakang kamera, kami akan mendapat komponen kamera terlebih dahulu. Jika anda melampirkan skrip pada objek kamera terlebih dahulu atau mempunyai kamera sebagai medan, kod itu akan menjadi sedikit lebih pendek, tetapi gameObject Kali ini, saya mencari dan merujuknya daripada dikaitkan scene dengan. Sebarang kod yang akhirnya boleh mendapatkan komponen kamera adalah baik.

Camera Sebaik sahaja anda mempunyai komponen, tetapkan backgroundColor sifat untuk Color menentukan warna. Color Anda boleh menetapkan pembina kepada mana-mana nombor atau menetapkan yang telah ditetapkan red dan blue .

Pemeriksaan operasi

Cuba jalankannya dan lihat sama ada ia berubah warna.