Změna barvy pozadí scény

Stránky aktualizovány :
Datum vytvoření stránky :

Ověřovací prostředí

Windows
  • Systém Windows 11
Editor jednoty
  • 2020.3.25f1
Vstupní systémový balíček
  • 1.2.0

Předpoklady pro tento tip

Následující nastavení byla provedena předem jako předpoklad pro popis tohoto tipu.

O barvách pozadí scény

Barva pozadí scény v Unity není vlastněna scénou, ale je to nastavení kamery. Pokud vyberete možnost Z Main Camera hierarchie, barva pozadí se zobrazí současně s náhledem kamery.

O změně barvy pozadí

Komponenta Fotoaparát má "pozadí", ze kterého ji můžete změnit.

Změna barvy pozadí programově

Po kliknutí na tlačítko přesuňte program a zkuste změnit barvu pozadí. Informace o přesunutí procesu kliknutí na tlačítko najdete v tipech pro tlačítka . Zde je popsán pouze program.

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

Vzhledem k tomu, že budeme měnit barvu pozadí fotoaparátu, nejprve dostaneme komponentu fotoaparátu. Pokud k objektu kamery předem připojíte skript nebo máte kameru jako pole, kód bude o něco kratší, ale gameObject Tentokrát to hledám a odkazuji na něj z odkazu scene . Jakýkoli kód, který může nakonec získat komponentu fotoaparátu, je v pořádku.

Camera Jakmile máte komponentu, nastavte backgroundColor Color vlastnost pro určení barvy. Color Můžete nastavit konstruktor na libovolné číslo nebo nastavit předdefinované red a blue .

Kontrola provozu

Zkuste jej spustit a zjistěte, zda změní barvu.