Eenheid Werken met Prefabs
Prefabs zijn speciale middelen waarmee ontwikkelaars GameObjects samen met hun componenten en andere gegevens kunnen opslaan in configureerbare sjablonen, die later kunnen worden hergebruikt tussen de scènes en andere projecten, of kunnen worden geïnstantieerd via een script, zonder ze te hoeven configureren opnieuw.
Gevallen waarin prefabs nuttig zijn:
- Milieuactiva (bomen, struiken, rotsen, enz.)
- NPC's (niet-spelerpersonages)
- Projectielen
- Spelerinstanties
- Alle objecten die in het spel opnieuw moeten worden gebruikt
Voorbeeld gebruik
Wanneer u modellen rechtstreeks naar de scène sleept en neerzet, treden er vaak enkele problemen op, zoals:
- Ontbrekende texturen
- Verkeerde schaal
- Verkeerde rotatie
De bovenstaande problemen kunnen eenvoudig worden opgelost in de scène (toewijzen van het juiste materiaal, wijzigen van de schaal/rotatie, enz.):
Als u echter van plan bent het model herhaaldelijk en/of in verschillende scènes te gebruiken, zal het herhalen van de bovenstaande stappen snel een vervelende klus worden. In plaats daarvan kunnen we het model opslaan in een prefab.
Hoe u een prefab maakt
- Om een prefab te maken in Unity, sleept u het object eenvoudigweg vanuit de scèneweergave naar de projectweergave.
- Nadat de Prefab is gemaakt, kan deze in elke scène worden geplaatst, waardoor een exacte kopie ontstaat:
Prefabs bewerken
Het bewerken van bestaande Prefabs gebeurt op 2 manieren: door ze aan te passen in de Prefab-editor of door ze aan te passen in de Scene.
Aanpassen in de Prefab Editor
- Selecteer het Prefab in de Projectweergave en klik vervolgens in de Inspector View "Open Prefab"
- De Prefab wordt geopend in de editor, waar u deze kunt aanpassen.
- Wanneer u klaar bent met wijzigen, klikt u op de pijl Terug in de Hiërarchieweergave om het bewerken af te sluiten en de wijzigingen op te slaan.
Aanpassen in de scène
- Zet het prefab neer in de scèneweergave en bewerk het daar.
- In mijn geval heb ik nog een object aan de hiërarchie toegevoegd (let op het (+) symbool naast het pictogram)
- Wanneer u prefabs in de scène wijzigt, worden de wijzigingen niet automatisch opgeslagen. In plaats daarvan moet u handmatig het hoofdobject van de prefab selecteren en in Inspector View op "Overrides" klikken en vervolgens op "Apply All" klikken om de wijzigingen op te slaan., of "Revert All" om de wijzigingen ongedaan te maken.
- Sommige acties worden niet ondersteund bij het rechtstreeks in de scène bewerken van Prefab. Als u bijvoorbeeld de hiërarchie moet herstructureren, krijgt u het bericht "Cannot restructure Prefab instance" te zien en opties voor "Open Prefab" of "Cancel".
Om de Prefab-instantie te herstructureren, klikt u op 'Open Prefab' of klikt u met de rechtermuisknop op de prefab in de hiërarchieweergave en klikt u vervolgens op Prefab -> Uitpakken of Prefab -> Volledig uitpakken.
Als u Prefab uitpakt, wordt de associatie met het hoofdprefab verwijderd, waardoor het volledig bewerkbaar wordt in de scène.
Om het uitgepakte Prefab weer op te slaan, selecteert u de map waarin het originele Prefab zich bevindt en sleept u vervolgens het gewijzigde object vanuit de Hiërarchieweergave naar dat Prefab.
Soms, als de wijzigingen te ingrijpend zijn, krijgt u een bevestigingsbericht te zien.
Zorg ervoor dat u nogmaals controleert of u de juiste Prefab aanpast en klik vervolgens op "Replace Anyway" om de actie af te ronden of op "Niet vervangen" om de actie te annuleren.
De nieuwe Prefab is nu opgeslagen en klaar voor gebruik.