Unity arbeider med prefabrikkerte
Prefabrikker er spesielle eiendeler som lar utviklere lagre GameObjects sammen med komponentene og andre data i konfigurerbare maler, som senere kan gjenbrukes mellom scenene og andre prosjekter, eller instansieres via et skript, uten å måtte konfigurere dem en gang til.
Tilfeller der Prefabs er nyttige:
- Miljøverdier (trær, busker, steiner, etc.)
- NPCer (ikke-spillerkarakterer)
- Prosjektiler
- Spillerforekomster
- Eventuelle gjenstander som må gjenbrukes i spillet
Eksempelbruk
Når du drar og slipper modeller direkte til scenen, vil de ofte få noen problemer, for eksempel:
- Mangler teksturer
- Feil målestokk
- Feil rotasjon
Problemene ovenfor kan enkelt løses i scenen (tilordne riktig materiale, endre skala/rotasjon osv.):
Men hvis du planlegger å bruke modellen gjentatte ganger og/eller i forskjellige scener, vil det raskt bli en kjedelig oppgave å gjenta trinnene ovenfor, så i stedet kan vi lagre modellen til en Prefab.
Hvordan lage en prefab
- For å lage en Prefab i Unity, dra og slipp objektet fra scenevisningen til prosjektvisningen.
- Etter at Prefab er opprettet, kan den slippes inn i en hvilken som helst scene, og lage en nøyaktig kopi:
Redigering av prefabrikker
Redigering av eksisterende Prefabs gjøres på 2 måter: ved å modifisere dem i Prefab-editoren eller ved å modifisere dem i Scene.
Endre i Prefab Editor
- Velg Prefab i prosjektvisningen, og klikk deretter i inspektørvisningen "Open Prefab"
- Prefab vil bli åpnet i editoren, hvor du kan endre den.
- Når du er ferdig med å endre, klikker du på bakoverpilen i hierarkivisningen for å avslutte redigeringen og lagre endringene.
Modifiserer i scenen
- Slipp prefabrikken inn i scenevisningen og rediger den der.
- I mitt tilfelle har jeg lagt til et annet objekt i hierarkiet (legg merke til (+)-symbolet nær ikonet)
- Når du endrer prefabs i scenen, lagres ikke endringene automatisk, i stedet må du velge rotobjektet til prefab manuelt, og i Inspector View klikker du på "Overrides" og klikker deretter "Apply All" for å lagre endringene, eller "Revert All" for å tilbakestille endringene.
- Noen handlinger støttes ikke når du redigerer Prefab direkte i scenen, for eksempel hvis du trenger å omstrukturere hierarkiet, vil du bli presentert med meldingen "Cannot restructure Prefab instance" og med alternativer til enten "Open Prefab" eller "Cancel".
For å restrukturere Prefab-forekomsten, klikk enten 'Open Prefab' eller høyreklikk på prefabrikken i hierarkivisningen og klikk deretter Prefab -> Pakk ut eller Prefab -> Pakk ut fullstendig.
Utpakking av Prefab vil fjerne tilknytningen til hovedprefab, og dermed gjøre den fullstendig redigerbar i scenen.
For å lagre den utpakkede prefabrikken tilbake, velg mappen der den originale prefabrikken er plassert, og dra og slipp det endrede objektet fra hierarkivisningen inn i det prefabrikatet.
Noen ganger, hvis endringene er for drastiske, vil du bli presentert med en bekreftelsesmelding.
Pass på å dobbeltsjekke at du endrer den riktige prefabrikken, og klikk deretter på "Replace Anyway" for å fullføre handlingen eller "Ikke erstatt" for å avbryte handlingen.
Den nye Prefab er nå lagret og klar til bruk.