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
I problemi di cui sopra possono essere facilmente risolti nella scena (assegnazione dei materiali corretti, modifica della scala/rotazione, ecc.):
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.
- Dopo che il prefabbricato è stato creato, può essere inserito in qualsiasi scena, creando una copia esatta:
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.
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.
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.
Il nuovo prefabbricato è ora salvato e pronto per l'uso.