I prefab sono oggetti stabili che utilizzano una gerarchia di entità e componenti per contenere le informazioni di base condivise da tutte le istanze prefab.
In questo modo è più facile modificare i prefab nel loro insieme o in parti, mentre si continua a costruire e progettare il livello. Puoi creare un'istanza ed eseguire l'override degli asset creati in Scene Graph per creare nuovi oggetti di gioco e prefab.
I prefab fungono da timbro per gli oggetti del gioco, quindi puoi posizionare il prefab nella scena tutte le volte che vuoi. Tutte le istanze create possono essere modificate come gruppo o singolarmente.
Per ulteriori informazioni sulla potenza e sul potenziale dei prefab, fai riferimento alla documentazione seguente:
Salvataggio di entità come prefab
I prefab devono essere costruiti il più strettamente possibile, la progettazione del prefab non deve essere eccessivamente complicata. I prefab con numerose entità e componenti consumano molti dati e possono causare problemi al tuo progetto.
È possibile utilizzare un solo tipo di componente alla volta su un'entità. Ciò significa che una volta selezionato un tipo di componente non è possibile riutilizzarlo sulla stessa entità. Per utilizzare lo stesso componente devi aggiungere un'altra entità, quindi aggiungilo alla nuova entità.
Per creare un prefab:
Nell'Outliner, fai clic destro sull'entità genitore e seleziona Salva come prefab.... Si apre la finestra Crea nuovo prefab.
Fai clic sull'immagine per ingrandirla.
Puoi nidificare prima le entità nell'Outliner o aggiungere poi nuove entità a un prefab nella modifica dell'editor prefab.
Assegna un nome al prefab e seleziona Crea classe di entità. L'editor prefab si apre con il prefab creato all'interno della viewport. La miniatura prefab viene visualizzata in Esplora contenuti.
I prefab possono essere nidificati e raggruppati nell'Outliner per semplificare le funzionalità di modifica.
Seleziona la miniatura del prefab e trascinala fuori da Esplora contenuti nella viewport. In questo modo viene creata un'altra istanza del prefab.
Propagazione delle modifiche in tutte le istanze prefab
Un'istanza prefab è più di una copia visiva di un originale. Apportare modifiche con l'Editor dei prefabbricati fa sì che tutte le istanze adottino automaticamente tutte le modifiche salvate. È utile utilizzare le gerarchie in Scene Graph per determinare come interagiscono i prefab e le entità figlio con il genitore. Soprattutto quando utilizzi asset i cui punti cardine potrebbero essere decentrati o non utilizzi Unità Unreal per allinearti con gli oggetti nel mondo.
In questo modo si risparmia tempo perché non è necessario trovare ogni istanza prefab e ricreare le stesse modifiche più e più volte.
Puoi raggruppare diversi prefab in una gerarchia per creare prefab più complessi.
Override di istanze prefab
Puoi eseguire l'override dei componenti in un'istanza prefab per apportare modifiche univoche a quella singola istanza. Quando esegui l'override di un componente, appare un'icona Override sull'entità dell'Outliner, nella scheda del componente e accanto al componente sottoposto a override nel pannello Dettagli.
Gli override sostituiscono il progetto del prefab genitore, a livello del componente interessato, con le modifiche alle proprietà sottoposte a override del componente. Puoi eseguire l'override dei componenti in due modi:
Modifica un prefabbricato nell'editor dei prefabbricati.
Esegui l'override di un'entità o un componente dalla scheda componente.
Dall'editor dei prefabbricati, aggiungi un nuovo componente o crea un componente Verse per aggiungere funzionalità come il movimento o l'intrattabilità al prefabbricato. Il salvataggio di queste modifiche nell'editor dei prefabbricati garantisce che la modifica avvenga in ogni istanza del prefabbricato nella scena.
L'override di un'entità viene eseguito aggiungendo un nuovo componente o creando un componente Verse per aggiungere funzionalità come il movimento o l'intrattabilità.
L'override di un'entità o di un componente dalla scheda del componente in un'istanza del prefabbricato applica le modifiche univoche a quella singola istanza. Nell'immagine sottostante, le due case in legno sono basate sullo stesso progetto prefabbricato originale, ma nella seconda casa sono state apportate delle modifiche alle schede dei componenti chiave per aggiungere mesh diverse o ruotare parti del prefabbricato in direzioni diverse, in modo da mostrare un nuovo lato della casa.
Per eseguire l'override di un componente:
Da Esplora contenuti, trascina un'istanza del prefab nella viewport.
Nell'Outliner, seleziona l'entità nell'istanza prefab.
Nel pannello Dettagli, fai clic sul pulsante del menu della scheda componente e seleziona Esegui override del componente.
Seleziona una nuova proprietà per il componente. L'override di questo componente, per questa istanza, è ora diverso dal prefab genitore e rimane invariato anche se si apportano modifiche al prefab genitore.
Icone di override
Le icone di override sono cerchi blu con una freccia blu rivolta verso il centro del cerchio. L'icona indica che un componente di questa entità è stato sottoposto a override. Quando le entità vengono sottoposte a override, è possibile utilizzarle più volte nella scena e le entità continuano a funzionare in modo coerente anche in un prefab.
Le nuove entità aggiunte a un prefabbricato hanno cerchi verdi con un segno più al centro per indicare che sono state aggiunte dopo che il prefabbricato è stato stabilito.
Gerarchie di prefabbricati
Le gerarchie di prefabbricati sono create nidificando entità e prefabbricati in un prefabbricato o in un'entità genitore. La genitorialità permette di:
Ridimensionare le funzioni dei componenti di un prefabbricato per specificare come deve funzionare il prefabbricato nella scena.
Determinare il modo in cui le entità figlio interagiscono con il prefabbricato genitore.
Le gerarchie consentono di agganciare gli asset a un determinato vettore nella scena tramite il posizionamento del punto cardine. Questo è utile non solo per l'allestimento, ma anche per gli elementi di gameplay che utilizzano le coordinate.
Posizionamento dei punti cardine e snapping griglia
Punti cardine e snapping griglia utilizzano transform_component di un'entità per allineare gli oggetti di gioco e i prefabbricati nella scena.
L'editor dei prefab non utilizza la griglia per scalare i prefab. Utilizza invece il menu di scelta rapida dell'Outliner per determinare l'offset per il punto cardine di un prefab.
Lo snapping griglia è relativo alle dimensioni dell'asset. Per garantire che gli asset si comportino come previsto, devono essere scalati a 512 Unità Unreal e utilizzare lo stesso set di misurazione della griglia in UEFN. Se non scali gli asset, reimposta i punti cardine degli asset e scala di nuovo le impostazioni di snapping griglia.
Il posizionamento del punto cardine al centro di un prefab non funziona per tutti i tipi di asset, ad esempio le scale. In alternativa, puoi utilizzare l'opzione Modifica trasformazione in Modalità Modellazione per eseguire l'offset del punto cardine per assicurarti che i tuoi asset appaiano e si allineino dove vuoi nel mondo.
Scopri di più sullo spazio mondo 3D con il documento Sistema di coordinate Sinistra-Su-Avanti.
Composizione in Scene Graph
La composizione in Scene Graph fornisce un modo per allineare gli asset. Tutte le entità figlio e i prefabbricati ruotano su un offset rispetto all'oggetto genitore. Se si ruota una struttura prefab di 360 gradi, l'oggetto si sposta attorno al suo centro sulla griglia.
Quando si ruota un attore in UEFN, la rotazione è determinata dalla posizione dell'attore nel mondo. Ciò rende più difficile allineare i singoli attori per creare una struttura completa.
È utile utilizzare le gerarchie in Scene Graph per determinare come interagiscono i prefab e le entità figlio con il genitore. Soprattutto quando utilizzi asset i cui punti cardine potrebbero essere decentrati o non utilizzi Unità Unreal per allinearti con gli oggetti nel mondo.
È utile anche quando si posizionano asset decorativi in relazione a prefabbricati genitore su cui sono posizionati nella scena.
Per saperne di più sull'utilizzo del componente Trasformazione, vedi il documento Componente Trasformazione (RYANS DOC LINK HERE).
Classe prefab in Verse
I prefab creati nel progetto sono esposti come classe a Verse nel file Assets.digest.verse del tuo progetto. Puoi generare istanze dei tuoi prefab creando un'istanza della classe Prefab e aggiungendole a un'entità nella scena utilizzando Verse.
Per saperne di più sull'utilizzo dei prefab, consulta Creazione del proprio componente in Verse.