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

Tremodell med standardmateriale

Problemene ovenfor kan enkelt løses i scenen (tilordne riktig materiale, endre skala/rotasjon osv.):

Tremodell med riktig materiale

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.

Unity 3D Lag en prefab

  • Etter at Prefab er opprettet, kan den slippes inn i en hvilken som helst scene, og lage en nøyaktig kopi:

Unity Prefab Project View

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.

Unity 3D Lagre prefabrikkerte endringer (metode 1)

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.

Unity 3D Lagre prefabrikerte endringer (metode 2)

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.

Unity 3D Replace Prefab Confirm Message

Den nye Prefab er nå lagret og klar til bruk.

Foreslåtte artikler
Hvordan male trær på terreng i enhet
Asset Bundle-bruk i Unity
Hvordan importere animasjoner til Unity
Velg riktig Skybox for miljøet ditt i Unity
Strategier for å beskytte Unity Games fra piratkopiering
Hvordan lage et FNAF-inspirert spill i Unity
Viktigheten av historiefortelling i Unity-spillutvikling