Was ist eigentlich ein Prefab?

Prefab Screenshot

Bei meiner Einarbeitung in Unity bin ich auf den Begriff Prefab gestoßen. Er stellte sich die Frage: was ist ein Prefab eigentlich? In diesem Beitrag möchte ich näher darauf eingehen.

Was ist eigentlich ein Prefab?

Prefab kommt aus dem englischen und bedeutet so viel wie “Fertigbau” oder “vorgefertigt”. Es handelt sich hierbei also um vorgefertigte Dinge.

Ein Prefab wird genutzt, um Objekte in einem Spiel mehrfach zu benutzen. Es ist umständlich, jedes Mal ein Objekt neu zu programmieren, wenn man es wieder benötigt. Aus diesem Grund erstellt ein Programmierer ein Prefab, ein komplexes Objekt, das Scripte beinhaltet. Darin können Parameter voreingestellt werden, die in eine Vorlage übernommen werden. Dies nutzt man bei wiederkehrenden Objekten, wie zum Beispiel dem Protagonisten einer Geschichte, der in mehreren Kapiteln seinen Auftritt hat. Er wird öfter im Spiel benötigt und für den Programmierer ist das von Vorteil, wenn er die Figur nicht jedes Mal neu programmieren muss. Prefabs können nicht nur einzelne Objekte, sondern auch Objektsammlungen sein. Sie sind wie die Blaupause eines Objekts.

Was bringen mir Prefabs?

Ziel eines Prefab ist es die Arbeit an einem Programm zu erleichtern. Damit verbessern sie den Arbeitsablauf beim Programmieren. Eine flexiblere und produktivere Arbeitsweise ist mit ihnen möglich. Die Fehlerquote beim Programmieren sinkt durch die Verwendung von Prefabs. Zeitraubende Fehler werden ausgemerzt.

Prefabs lassen sich untereinander zusätzlich verschachteln. Wird beispielsweise ein Gebäude programmiert, so enthält dieses einzelne Zimmer und innerhalb der Zimmer befinden sich Möbelstücke. Sie lassen sich somit aufteilen und wiederverwerten. Gleichzeitig können verschiedene Programmierer an unterschiedlichen Teilen eines Objekts arbeiten.

Wird ein Prefab verwendet, so übernimmt es die Eigenschaften des Originals. Im Nachhinein können auch Aspekte variiert werden. Eigenschaften können überschrieben, zusätzliche Komponenten und weitere Objekte hinzugefügt werden. Durch die Verwendung von Preferred wird das versehentliche überschreiben von Daten vermieden.

Prefabs in Unity

Im Programm Unity können Prefabs verwendet werden. Diese sind dann mit dem “Prefab Asset”, einer Prefabsammlung, verbunden. Das Prefab Asset fungiert wir ein Zentralspeicher. Was in der Prefabvorlage dort verändert wird, ändert sich automatisch in allen Versionen und allen Szenen des Spiels. Der Hauptcharakter ist beispielsweise in Prefab, denn er wird für jeden Level des Spiels benötigt und er muss nicht für jeden Level neu programmiert werden. Sie werden in Unity im Hierarchiefenster blau unterlegt. In Unity funktionieren Modelle wie schreibgeschützte Prefabs. Der Entwurf selbst kann nicht geändert werden. Der Programmier kann ihn als Vorlage nutzen.

Vom Hierarchiefenster wird das Objekt in Assets und dort in den Prefabordner verschoben. Somit wird das Objekt automatisch zum Prefab. Im Programm Unity steht dann zur Auswahl, das Objekt als Originalprefab abzuspeichern oder als Prefabvariante.

Um am Prefab Änderungen vorzunehmen, muss im Inspectorfenster der Open Prefab Button betätigt werden. Dann befindet sich Unity im Prefabmodus. Das Programm öffnet in dem Fall ein Fenster, in welchem nur das Prefab geändert wird.

Prefabs werden in Unity im Projektfenster von einem blauen Würfel markiert.

Werden Prefabs verändert, können diese im gesamten Projekt angepasst werden.

Hier geht’s zu Unity

Schlagwörter:

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.