Tworzenie obiektu na podstawie prefabrykatów ze skryptu

Strona zaktualizowana :
Data utworzenia strony :

Środowisko weryfikacji

Windows
  • Okna 11
Edytor Unity
  • 2021.3.3f1
Pakiet systemu wejściowego
  • 1.3.0

Wymagania wstępne dotyczące tej porady

Poniższe ustawienia zostały wcześniej wprowadzone jako przesłanka do opisu tej wskazówki.

Tworzenie obiektu na podstawie prefabrykatów w skrypcie

W poprzednich Tipach umieszczaliśmy obiekty z prefabrykatów do widoku, ale w tym przypadku umieszczamy z góry określoną liczbę obiektów i uruchamiamy grę. Jednak niektóre gry mogą chcieć dodawać obiekty dynamicznie podczas działania gry. W takim przypadku będziesz musiał dodać go z prefabrykatów w skrypcie.

Tworzenie próbki

Po wdrożeniu nowego projektu umieść przycisk. Spróbujmy wygenerować obiekt z prefabrykatów za każdym razem, gdy klikniemy przycisk.

Utwórz prefabrykat. Jest to ta sama procedura, co poprzednie wskazówki.

Utwórz skrypt, aby dodać obiekt przy następnym kliknięciu przycisku. ButtonEvent Pozostaw nazwę jako .

using UnityEngine;

public class ButtonEvent : MonoBehaviour
{
  [SerializeField] private GameObject SpritePrefab;

  public void OnClick()
  {
    // Instantiate にプレハブを渡すとそれをもとに新しいオブジェクトを生成する
    var obj = Instantiate(SpritePrefab);

    // 配置位置はランダムに
    obj.transform.localPosition = new Vector3(Random.value * 6 - 3, Random.value * 6 - 3);
  }
}

GameObject Zdefiniuj pole, aby można było wcześniej ustawić, które prefabrykaty mają być generowane.

Instantiate Można przekazać metodę, aby utworzyć GameObject nowy obiekt na podstawie tego obiektu.

Pozycja utworzonego obiektu staje się początkiem i bez względu na to, ile obiektów jest tworzonych, obiekty nakładają się na siebie i trudno jest je zrozumieć, więc pozycja jest ustawiana losowo po utworzeniu. Wartość korekty położenia jest odpowiednia, ponieważ jest to próbka.

Dołącz skrypt do EventSystem.

GameObject jest ustawiony, więc upuść prefabrykat tutaj.

Po kliknięciu przycisku wywoływana jest OnClick metoda.

Przykładowe wykonanie

Po utworzeniu uruchom grę i kliknij przycisk. Każde kliknięcie powinno wygenerować obiekt.

Oczywiście, ponieważ jest generowany na podstawie prefabrykatów, jeśli wartość prefabrykatów ulegnie zmianie, wygenerowany obiekt zostanie wygenerowany zgodnie z tą wartością.