Irgendjemand hat vor kurzem in den Unity Foren nachgefragt, wie man die Hierarchy von einer Szene in die andere Szene bekommt. Ich zeige euch eine einfache Lösung mit einem Beispielprojekt, dass es euch in Action zeigt.

  • Alle Objekte mit einem Tag belegen.
  • Alle Objekte in einen Array einfügen.
  • Iterate durch das Array, aber nicht DontDestroyOnLoad benutzen.
  • Laded die neue Szene; alle Objekte wurden beibehalten.

Diese Methode benutzt GameObject.FindGameObjectsWithTag() und benötigt einfach nur, dass alle Game Objekte den selben Tag haben. Vielleicht möchtest du nicht in jeder Situation sämtliche Objekte haben, deswegen kannst du auch Object.FindObjectsOfType nutzen. Bei mehreren Tags und Arrays kannst du auch GameObject.FindGameObjectsWithTag() benutzen. Du musst dir aber sicher sein, dass du DontDestroyOnLoad an allen beibehaltenen Objekten aufrufen kannst.

FÜGT DIESES SKRIPT ZUM MANAGE- ODER KONTROLL-GAME OBJEKT UND RUFT DIESE FUNKTION VOR JEDEM SZENEN-LADEVORGANG AUF.

private var allObjects : Object[];

function PreserveObjects () {
allObjects = GameObject.FindGameObjectsWithTag("Preserve") as Object[];
for (allObject in allObjects) {
DontDestroyOnLoad(allObject);
} }

 

Dan Miller-Schroeder- design3

Danm SchroederDan hat, lange bevor er mit Game Development in Kontakt kam, Musik und Film studiert. Er ist begeistert, wie sehr beide Dinge sich mit interaktiven Systemen kombinieren lassen. Bevor er bei design3 angefangen hat zu arbeiten, hat er an Blu-Ray sowie interaktiven DVD Projekten gearbeitet. Wenn Dan dann gerade mal nicht über nicht-lineare Umgebungen nachdenkt, spielt er Schlagzeug und schreibt Musik für die Bands Sleeptalks und Vandella aus San Francisco. Seine Lieblingsspiele: Guild Wars, Diablo II, Star Wars: KOTOR, Borderlands & Call of Duty.Irgendjemand hat vor kurzem in den Unity Foren nachgefragt, wie man die Hierarchy von einer Szene in die andere Szene bekommt. Ich zeige euch eine einfache Lösung mit einem Beispielprojekt, dass es euch in Action zeigt.

Zum Seitenanfang