Crearea unui obiect bazat pe un prefabricat dintr-un script

Pagina actualizată :
Data creării paginii :

Mediul de verificare

Windows
  • Ferestre 11
Unity Editor
  • 2021.3.3F1
Pachet sistem de intrare
  • 1.3.0

Cerințe preliminare pentru acest sfat

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

Crearea unui obiect bazat pe un prefabricat într-un script

În sfaturile anterioare, am plasat obiecte din Prefabricate la vedere, dar în acest caz, plasăm un număr predeterminat de obiecte și lansăm jocul. Cu toate acestea, este posibil ca unele jocuri să dorească să adauge obiecte dinamic în timp ce jocul rulează. În acest caz, va trebui să îl adăugați din prefabricatul din script.

Crearea eșantionului

După implementarea noului proiect, plasați butonul. Să încercăm să generăm un obiect din prefabricat de fiecare dată când facem clic pe buton.

Creați un prefabricat. Aceasta este aceeași procedură ca și sfaturile anterioare.

Creați un script pentru a adăuga obiectul data viitoare când faceți clic pe buton. ButtonEvent Lăsați numele ca .

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 Definiți câmpul astfel încât să puteți seta în prealabil prefabricatele care urmează să fie generate.

Instantiate Puteți trece o metodă pentru a crea un GameObject obiect nou bazat pe acel obiect.

Poziția obiectului creat devine originea și, indiferent câte obiecte sunt create, obiectele se suprapun și este dificil de înțeles, astfel încât poziția este setată aleatoriu după creare. Valoarea ajustării poziției este adecvată deoarece este un eșantion.

Atașați scriptul la EventSystem.

GameObject este setat, așa că aruncați prefabricatul aici.

Când se face clic pe buton, se OnClick apelează metoda.

Executarea eșantionului

Odată creat, rulați jocul și faceți clic pe buton. Fiecare clic ar trebui să genereze un obiect.

Desigur, deoarece este generat pe baza prefabricatului, dacă valoarea prefabricatului se modifică, obiectul generat va fi generat în funcție de acea valoare.