Unità che lavora con i prefabbricati

I prefabbricati sono risorse speciali che consentono agli sviluppatori di archiviare GameObject insieme ai loro componenti e altri dati in modelli configurabili, che possono essere successivamente riutilizzati tra le scene e altri progetti o istanziati tramite uno script, senza bisogno di configurarli di nuovo.

Casi in cui i prefabbricati sono utili:

  • Beni ambientali (alberi, cespugli, rocce, ecc.)
  • NPC (personaggi non giocanti)
  • Proiettili
  • Istanze del giocatore
  • Tutti gli oggetti che devono essere riutilizzati nel gioco

Esempio di utilizzo

Quando si trascinano e si rilasciano i modelli direttamente nella scena, spesso vengono generati con alcuni problemi, ad esempio:

  • Trame mancanti
  • Scala sbagliata
  • Rotazione sbagliata

Modello ad albero con materiale predefinito

I problemi di cui sopra possono essere facilmente risolti nella scena (assegnazione dei materiali corretti, modifica della scala/rotazione, ecc.):

Modello di albero con un materiale corretto

Tuttavia, se prevedi di utilizzare il modello ripetutamente e/o in varie scene, ripetere i passaggi precedenti diventerà rapidamente un compito noioso, quindi, invece, possiamo salvare il modello in un prefabbricato.

Come creare un prefabbricato

  • Per creare un prefabbricato in Unity, è sufficiente trascinare e rilasciare l'oggetto dalla vista scena alla vista progetto.

Unity 3D Crea un prefabbricato

  • Dopo che il prefabbricato è stato creato, può essere inserito in qualsiasi scena, creando una copia esatta:

Vista del progetto prefabbricato Unity

Modifica prefabbricati

La modifica dei prefabbricati esistenti viene eseguita in 2 modi: modificandoli nell'editor di prefabbricati o modificandoli nella scena.

Modifica in The Prefab Editor

  • Selezionare il prefabbricato nella vista Progetto, quindi fare clic nella vista Ispettore "Open Prefab"

  • Il prefabbricato verrà aperto nell'editor, dove potrai modificarlo.

  • Al termine delle modifiche, fare clic sulla freccia indietro nella visualizzazione gerarchica per uscire dalla modifica e salvare le modifiche.

Unity 3D Salva modifiche prefabbricate (metodo 1)

Modifica nella scena

  • Rilascia il prefabbricato nella vista scena, quindi modificalo lì.

  • Nel mio caso, ho aggiunto un altro oggetto alla gerarchia (notare il simbolo (+) vicino all'icona)
  • Quando si modificano i prefabbricati nella scena, le modifiche non vengono salvate automaticamente, invece, è necessario selezionare manualmente l'oggetto radice del prefabbricato e in Inspector View fare clic su "Overrides" quindi fare clic su "Apply All" per salvare le modifiche o "Revert All" per annullare le modifiche.

  • Alcune azioni non sono supportate quando si modifica Prefab direttamente nella scena, ad esempio, se è necessario ristrutturare la gerarchia, verrà visualizzato il messaggio "Cannot restructure Prefab instance" e con le opzioni per "Open Prefab" o "Cancel".

Per ristrutturare l'istanza prefabbricata, fai clic su 'Open Prefab' o fai clic con il pulsante destro del mouse sulla prefabbricazione nella visualizzazione Gerarchia, quindi fai clic su Prefabbricazione -> Disimballa o Prefabbricazione -> Disimballa completamente.

Il disimballaggio di Prefab rimuoverà la sua associazione con il prefabbricato principale, rendendolo così completamente modificabile nella scena.

Per salvare nuovamente il prefabbricato decompresso, selezionare la cartella in cui si trova il prefabbricato originale, quindi trascinare e rilasciare l'oggetto modificato dalla vista gerarchica in quel prefabbricato.

Unity 3D Salva modifiche prefabbricate (metodo 2)

A volte, se le modifiche sono troppo drastiche, ti verrà presentato un messaggio di conferma.

Assicurati di ricontrollare che stai modificando il prefabbricato corretto, quindi fai clic su "Replace Anyway" per finalizzare l'azione o su "Non sostituire" per annullare l'azione.

Unity 3D sostituisce il messaggio di conferma del prefabbricato

Il nuovo prefabbricato è ora salvato e pronto per l'uso.

Articoli suggeriti
Come dipingere alberi sul terreno in Unity
Utilizzo del pacchetto di risorse in Unity
API di scripting Unity e Unity Pro
Come importare animazioni in Unity
Scegliere lo Skybox giusto per il tuo ambiente in Unity
Strategie per proteggere Unity Games dalla pirateria
Come realizzare un gioco ispirato a FNAF in Unity