Unity arbejder med præfabrikater

Prefabs ​​er specielle aktiver, der gør det muligt for udviklere at gemme GameObjects sammen med deres komponenter og andre data i konfigurerbare skabeloner, som senere kan genbruges mellem Scenerne og andre projekter eller instansieres via et script uden at skulle konfigurere dem igen.

Tilfælde hvor Prefabs er nyttige:

  • Miljøaktiver (træer, buske, klipper osv.)
  • NPC'er (ikke-spillere)
  • Projektiler
  • Spillerforekomster
  • Eventuelle genstande, der skal genbruges i spillet

Eksempel på brug

Når du trækker og slipper modeller direkte til scenen, vil de ofte blive forårsaget af nogle problemer, såsom:

  • Manglende teksturer
  • Forkert skala
  • Forkert rotation

Træmodel med standardmateriale

Problemerne ovenfor kan nemt løses i scenen (tildeling af det eller de korrekte materialer, ændring af skalaen/rotationen osv.):

Træmodel med et korrekt materiale

Men hvis du planlægger at bruge modellen gentagne gange og/eller i forskellige scener, vil gentagelse af ovenstående trin hurtigt blive en kedelig opgave, så i stedet kan vi gemme modellen til en præfabrikat.

Sådan opretter du et præfabrikat

  • For at oprette en præfabrikeret i Unity skal du blot trække og slippe objektet fra scenevisningen til projektvisningen.

Unity 3D Opret et præfabrikat

  • Efter at præfabrikatet er oprettet, kan det slippes ind i en hvilken som helst scene og skabe en nøjagtig kopi:

Unity præfabrikeret projektvisning

Redigering af præfabrikater

Redigering af eksisterende præfabrikater sker på 2 måder: ved at ændre dem i Prefab-editoren eller ved at ændre dem i scenen.

Ændring i Prefab Editor

  • Vælg præfabrikatet i projektvisningen, og klik derefter i inspektørvisningen "Open Prefab"

  • Prefab'et åbnes i editoren, hvor du kan ændre det.

  • Når du er færdig med at ændre, skal du klikke på tilbagepilen i hierarkivisningen for at afslutte redigeringen og gemme ændringerne.

Unity 3D Gem præfabrikerede ændringer (metode 1)

Ændring i scenen

  • Slip præfabrikatet i scenevisningen, og rediger det der.

  • I mit tilfælde har jeg tilføjet et andet objekt til hierarkiet (Bemærk (+) symbolet nær ikonet)
  • Når du ændrer prefabs i scenen, gemmes ændringerne ikke automatisk, i stedet skal du manuelt vælge rodobjektet for Prefab, og i Inspector View skal du klikke på "Overrides" og derefter klikke på "Apply All" for at gemme ændringerne, eller "Revert All" for at fortryde ændringerne.

  • Nogle handlinger understøttes ikke, når du redigerer Prefab direkte i scenen, for eksempel, hvis du skal omstrukturere hierarkiet, vil du blive præsenteret for beskeden "Cannot restructure Prefab instance" og med muligheder for enten "Open Prefab" eller "Cancel".

For at omstrukturere Prefab-instansen skal du enten klikke på 'Open Prefab' eller højreklikke på præfabrikatet i hierarkivisningen og derefter klikke på Prefab -> Unpack eller Prefab -> Pak helt ud.

Udpakning af Prefab vil fjerne dens tilknytning til den primære Prefab, hvilket gør den fuldt redigerbar i scenen.

For at gemme det udpakkede præfabrikat tilbage, skal du vælge mappen, hvor det originale præfabrikat er placeret, og derefter trække og slippe det ændrede objekt fra hierarkivisningen til det præfabrikat.

Unity 3D Gem præfabrikerede ændringer (metode 2)

Nogle gange, hvis ændringerne er for drastiske, vil du blive præsenteret for en bekræftelsesmeddelelse.

Sørg for at dobbelttjekke, at du ændrer den rigtige Prefab, og klik derefter på "Replace Anyway" for at afslutte handlingen eller "Erstat ikke" for at annullere handlingen.

Unity 3D Replace Prefab Confirm Message

Den nye Prefab er nu gemt og klar til brug.

Foreslåede artikler
Sådan maler du træer på terræn i enhed
Asset Bundle-brug i Unity
Must-have almene aktiver for enhed
Unity Scripting API og Unity Pro
Sådan importeres animationer til Unity
Vælg den rigtige Skybox til dit miljø i enhed
Strategier til at beskytte Unity Games mod piratkopiering