Ændre baggrundsfarven på en scene

Side opdateret :
Dato for oprettelse af side :

Miljø til bekræftelse

Windows
  • Windows 11
Enhedslistens redaktør
  • 2020.3.25f1
Input System Pakke
  • 1.2.0

Forudsætninger for dette tip

Følgende indstillinger er foretaget på forhånd som en forudsætning for beskrivelsen af dette tip.

Om scenebaggrundsfarver

Baggrundsfarven på en scene i Unity ejes ikke af scenen, men er kameraindstillingen. Hvis du vælger Fra Main Camera hierarkiet, vises baggrundsfarven samtidig med kameraeksemplet.

Om ændring af baggrundsfarven

Kamerakomponenten har en "baggrund", hvorfra du kan ændre den.

Ændre baggrundsfarven via programmering

Når du har klikket på knappen, skal du flytte programmet og prøve at ændre baggrundsfarven. Se knaptippene for at få oplysninger om, hvordan du flytter knapklikprocessen. Kun programmet er beskrevet her.

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

Da vi ændrer kameraets baggrundsfarve, får vi først kamerakomponenten. Hvis du vedhæfter et script til kameraobjektet på forhånd eller har et kamera som et felt, vil koden være lidt kortere, men gameObject Denne gang søger jeg og henviser til det fra linket scene til. Enhver kode, der i sidste ende kan få kamerakomponenten, er fin.

Camera Når du har komponenten, skal du indstille backgroundColor egenskaben Color til at bestemme farven. Color Du kan indstille konstruktøren til et hvilket som helst tal eller indstille den foruddefinerede red og blue .

Kontrol af betjening

Prøv at køre det og se om det ændrer farve.