kruemel 2 Posted February 13 Report Share Posted February 13 Hi. ich finde leider nicht so ganz den fehler wie ich ein random prefab objekt in einem parent als child spawnen lassen kann. wie das mit objekten und dem hinzu fügen in ein parent geht habe ich soweit hin bekommen... nur würde ich gerne ein zufällig ausgeähltes prefab objekt aus einer liste in einem parent spawnen lassen. Hier mal mein aktuelles script dazu: using System.Collections; using System.Collections.Generic; using UnityEngine; public class Add_to_Parent : MonoBehaviour { public GameObject parentObj; public List<GameObject> Objekte; public int Size = 0; public int RandomNumber = 0 ; void Start() { Size = Objekte.Count; RandomNumber = Random.Range (0, Size); Instantiate (Objekte[RandomNumber], parentObj.transform.position, parentObj.transform.rotation ); Objekte[RandomNumber].transform.parent = parentObj.transform; } } hoffe ihr könnt mir weiter helfen. Vielen Dank 😊 Quote Link to post Share on other sites
Sascha 2,554 Posted February 13 Report Share Posted February 13 Du solltest "Objekte" in "Prefabs" umbenennen, dann wird der Fehler vielleicht gleich offensichtlich: Prefabs[RandomNumber].transform.parent = parentObj.transform; Du setzt hier den Parent des Prefabs, nicht der Instanz, die du erzeugt hast. Richtig wäre: var instance = Instantiate(Prefabs[RandomNumber], parentObj.transform.position, parentObj.transform.rotation); instance.transform.parent = parentObj.transform; Alternativ ginge auch: var instance = Instantiate(Prefabs[RandomNumber], parentObj); weil man so den Parent für das neu erstellte Objekt direkt mitgeben kann. Quote Link to post Share on other sites
kruemel 2 Posted February 13 Author Report Share Posted February 13 Ah stimmt wenn es Prefabs heißt leuchtet es besser ein als vorher 😅 Jetzt läuft mein random system tadelos und ohne fehler Super vielen dank. 😊👌 1 Quote Link to post Share on other sites
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.