Einheitliche Arbeit mit Fertighäusern
Prefabs sind spezielle Assets, die es Entwicklern ermöglichen, GameObjects zusammen mit ihren Komponenten und anderen Daten in konfigurierbaren Vorlagen zu speichern, die später zwischen den Szenen und anderen Projekten wiederverwendet oder über ein Skript instanziiert werden können, ohne sie erneut konfigurieren zu müssen.
Fälle, in denen Fertighäuser nützlich sind:
- Umweltgüter (Bäume, Büsche, Felsen usw.)
- NPCs (Nicht-Spieler-Charaktere)
- Projektile
- Spielerinstanzen
- Alle Objekte, die im Spiel wiederverwendet werden müssen
Beispielanwendung
Beim direkten Ziehen und Ablegen von Modellen in die Szene treten häufig Probleme auf, z. B.:
- Fehlende Texturen
- Falscher Maßstab
- Falsche Drehung
Die oben genannten Probleme können in der Szene leicht behoben werden (Zuweisung der richtigen Materialien, Änderung der Skalierung/Rotation usw.):
Wenn Sie jedoch vorhaben, das Modell wiederholt und/oder in verschiedenen Szenen zu verwenden, wird die Wiederholung der oben genannten Schritte schnell zu einer mühsamen Aufgabe, sodass wir das Modell stattdessen in einem Fertighaus speichern können.
So erstellen Sie ein Fertighaus
- Um ein Fertighaus in Unity zu erstellen, ziehen Sie das Objekt einfach per Drag & Drop aus der Szenenansicht in die Projektansicht.
- Nachdem das Prefab erstellt wurde, kann es in jede Szene eingefügt werden, wodurch eine exakte Kopie erstellt wird:
Bearbeiten von Fertighäusern
Das Bearbeiten vorhandener Prefabs erfolgt auf zwei Arten: durch Ändern im Prefab-Editor oder durch Ändern in der Szene.
Ändern im Prefab-Editor
- Wählen Sie das Fertighaus in der Projektansicht aus und klicken Sie dann in der Inspektoransicht auf "Open Prefab"
- Das Prefab wird im Editor geöffnet, wo Sie es ändern können.
- Wenn Sie mit der Änderung fertig sind, klicken Sie in der Hierarchieansicht auf den Zurückpfeil, um die Bearbeitung zu beenden und die Änderungen zu speichern.
Ändern in der Szene
- Legen Sie das Fertighaus in der Szenenansicht ab und bearbeiten Sie es dort.
- In meinem Fall habe ich der Hierarchie ein weiteres Objekt hinzugefügt (beachten Sie das (+)-Symbol neben dem Symbol).
- Beim Ändern von Fertighäusern in der Szene werden die Änderungen nicht automatisch gespeichert. Stattdessen müssen Sie das Stammobjekt des Fertighauses manuell auswählen und in der Inspektoransicht auf "Overrides" und dann auf "Apply All" klicken, um die Änderungen zu speichern, oder auf "Revert All" um die Änderungen rückgängig zu machen.
- Einige Aktionen werden beim Bearbeiten von Prefab direkt in der Szene nicht unterstützt. Wenn Sie beispielsweise die Hierarchie neu strukturieren müssen, wird Ihnen die Meldung "Cannot restructure Prefab instance" und die Optionen "Open Prefab" oder "Cancel" angezeigt.
Um die Prefab-Instanz neu zu strukturieren, klicken Sie entweder auf 'Open Prefab' oder klicken Sie mit der rechten Maustaste auf das Prefab in der Hierarchieansicht und klicken Sie dann auf Prefab -> Unpack oder Prefab -> Vollständig entpacken.
Durch das Entpacken von Prefab wird die Verknüpfung mit dem Haupt-Prefab entfernt, sodass es vollständig in der Szene bearbeitet werden kann.
Um das entpackte Prefab wieder zu speichern, wählen Sie den Ordner aus, in dem sich das ursprüngliche Prefab befindet, und ziehen Sie dann das geänderte Objekt per Drag & Drop aus der Hierarchieansicht in dieses Prefab.
Wenn die Änderungen zu drastisch sind, wird Ihnen manchmal eine Bestätigungsmeldung angezeigt.
Stellen Sie sicher, dass Sie noch einmal überprüfen, ob Sie das richtige Prefab ändern, und klicken Sie dann auf "Replace Anyway", um die Aktion abzuschließen, oder auf „Nicht ersetzen“, um die Aktion abzubrechen.
Das neue Fertigteil ist nun gespeichert und einsatzbereit.