Costruisci la casa

*Questo contenuto è tradotto usando AI (Beta) e potrebbe contenere errori. Per visualizzare questa pagina in inglese, clicca qui.

Ci sono volute molte iterazioni e test rapidi all'inizio del processo per rendere la casa sia divertente che spaventosa, facile da esplorare e qualcosa in cui perdersi.Ti mostreremo come abbiamo pensato attraverso lo spazio e lo abbiamo costruito utilizzando pacchetti per rendere l'aggiornamento di sedie individuali e intere stanze più veloce verso la Terminare.

Inizia con una disposizione 2D

Poiché la casa è sia la maggioranza dell'area giocabile che un intero personaggio per sé, volevamo dare molta attenzione a come assicurarsi che rimanesse sia reale che divertente.Abbiamo iniziato con l'idea che la casa dovrebbe contenere diversi giochi visivi e audio, storie e stanze di puzzle corrotte, e volevamo che i giocatori si avvicinassero inizialmente alla casa con poca conoscenza di ciò che stava succedendo, imparando cosa è successo alla casa e alla famiglia che ha vissuto lì mentre giocava.

Per bilanciare tutti questi elementi importanti, abbiamo iniziato a immaginare l'ambiente 3D con un layout 2D! Iniziando con la risoluzione dei battiti della storia generali , o dei momenti chiave, volevamo che il giocatore esperienza, abbiamo disegnato un layout dello Spazio, e abbiamo pensato a come guideremmo il giocatore dove volevamo loro mentre mantenevamo un ambiente che si sentiva più grande della vita.

Una bozza precoce di ciò che volevamo che l'area giocabile e l'ambiente circostante fossero.

Una volta che avevamo la nostra bozza iniziale dell'intero layout, abbiamo usato terreno per disporre rapidamente le colline circostanti, il lago, la strada e la corsia fino alla casa.Non ci siamo preoccupati della qualità visiva della demo a questo punto, ma ci siamo concentrati su quanto tempo ci vuole per arrivare a casa e su ciò che ci vorrebbe per dare al giocatore scorci della casa e dell'evento nel cielo.

Concetto iniziale di come volevamo che il giocatore si avvicinasse alla casa.Per guidare i giocatori a voler dare un'occhiata più da vicino alla casa, abbiamo usato gli alberi per oscurare la loro vista mentre continuava a dare scorci della casa e dell'evento nel cielo.

Usando entrambe le parti semplici insieme alle risorse del Creator Store , siamo stati in grado di aggiungere rapidamente contenuti che ci hanno aiutato a comporre l'Ambiente, tra cui:

  • Rendere la curva della strada in modo che i giocatori non potessero vedere tutto il percorso fino alla fine.
  • Aggiungere alberi con aree più dense in cui volevamo chiarire che il giocatore non poteva Accesso, insieme a aree più sottili in cui volevamo incoraggiarli a esplorare.
  • Alzare la corsia della casa in modo che quando i giocatori si avvicinino, dovranno scalata. Questo ha dato alla casa una presenza più intimidante.
  • Posizionare l'evento gigante dietro la tempesta nel cielo in modo che i giocatori possano vedere le parti, ma non l'intera cosa, fino a quando non si avvicinano alla casa stessa.
  • Posizionare e determinare la forma generale della casa con cui alla fine ci siamo accordati.

Nessuna quantità di esperienza garantisce che le tue prime idee siano le migliori.Questo è il motivo per cui abbiamo ottenuto risorse in Studio rapidamente e abbiamo utilizzato parti semplici e risorse del Creator Store per riempire l'ambiente con risorse temporanee.Ciò ci ha permesso di non dover fare tutto in anticipo e potremmo iniziare a testare il gioco nei primi giorni.

Versione più antica utilizzando parti semplici e il Creator Store.

Mentre volevamo alla fine sostituire le risorse temporanee con le Proprio, l'unica cosa a cui ci interessava all'inizio era delineare le basi e giocare l'esperienza per assicurarsi che l'ambiente fosse divertente da muovere e non fosse troppo grande o troppo "spara dritto" in modo che i giocatori fossero incoraggiati ad esplorare.

Colpo anticipato dell'approccio alla corsia.

Pianifica ogni stanza

L'esterno doveva essere solo un assaggio della storia generale per immergere il giocatore e renderlo familiare con il mondo in cui stava giocando.Il personaggio principale era la casa stessa, e volevamo che i giocatori spendessero la maggior parte del loro gameplay all'interno per tubature segreti e trovare sorprese in ogni stanza.Per fare ciò, dovevamo capire quali stanze la casa dovesse includere, quando volevamo che i giocatori corrissero ad esse, e dove dovrebbero esistere all'interno della casa.Abbiamo disegnato un layout 2D della casa e il team ha rimbalzato idee per cose fantastiche che potrebbero accadere.Nessuna idea è stata ignorata a questo punto.

Progetto 2D precoce con descrizioni di quali eventi spaventosi volevamo che accadesse in ogni stanza.

Abbiamo utilizzato scatole 2D di ogni stanza per capire come volevamo sistemarle l'una con l'altra.Ogni stanza dovrebbe essere un'occasione per fare qualcosa, e abbiamo lanciato molte idee, tra cui gli usi principali di ogni stanza, le battute spaventose che potremmo usare per sorprendere il Giocatoree i potenziali enigmi che potrebbero affrontare.

Ogni stanza doveva lavorare insieme e volevamo raccontare la storia lentamente e progressivamente.Sapevamo che non potevamo controllare dove qualcuno andasse per primo, quindi abbiamo programmato alcuni dei puzzle più difficili di essere più lontani dalla porta d'ingresso e più difficili da imbattersi.Questo ha significato aggiungere alcuni piani alla casa, incluso un soffitto e un seminterrato per motivi sia di gioco che tematici.Puzzle finale in un seminterrato che sembra malvagio e spaventoso? Iscriviti a noi!

Costruisci una griglia 3D

Tutti i primi piani e le idee nel mondo non creano un'esperienza divertente, quindi era il momento di iniziare a rendere l'idea 3D! Il layout esterno è stato bloccato e abbiamo fatto spazio per l'espansione o il restringimento della casa.Le prime iterazioni sono state fatte in un'altra applicazione 3D in cui potevamo creare scatole e forme semplici per iniziare a trasformare quell'immagine 2D in uno Spaziogiocabile.Potresti scoprire che costruire le prime versioni in Studio e utilizzare parti semplici è il tuo metodo preferito.Non c'è modo sbagliato, fintanto che ottieni le tue idee in 3D e le giochi rapidamente!

Vista dall'alto verso il layout. Noterai che è capovolta dal concetto.
Le maglie grigie sono maglie semplici che puoi utilizzare per iniziare a creare lo spazio in 3D.

Niente diventa più semplice man mano che il lavoro diventa più complesso, quindi era importante per noi sperimentare spesso e trovare la struttura dell'ambiente che volevamo creare.Le prime iterazioni della casa sono state semplici come le immagini che vedi sopra, e le forme semplici ci hanno permesso di essere il più flessibili possibile e di apportare rapidamente modifiche alle dimensioni delle stanze mentre giocavamo attraverso la demo.Anche la scala era importante fin dall'inizio, quindi abbiamo sempre costruito con un avatar sia nella nostra applicazione 3D che all'interno di Studio in modo da poter sapere quanto grande una porta o quanto alte dovrebbero essere le scale.

Volevamo che sia i personaggi realistici che i blocchi si sentissero naturali in scala all'esterno della casa.
>

Quando sono stati dentro casa, volevamo che tutto si sentisse spazioso, ma non assurditamente grande!
>

Abbiamo attraversato molte piccole e grandi iterazioni per decidere su ciò che abbiamo nella demo finale.Confronta le bozze iniziali sopra con una versione molto più tardiva del foyer, e vedrai molte delle decisioni originali che abbiamo preso dopo aver giocato attraverso la casa sono state in grado di rimanere!

Successiva iterazione della disposizione della casa. La maggior parte della disposizione è rimasta la stessa della casella grigia iniziale!

Mobili e oggetti

Avevamo bisogno di molti mobili e oggetti per riempire una casa di questa dimensione, quindi prima di iniziare a riempire una scatola grigia con tutti i suoi contenuti, abbiamo fatto un documento per tracciare tutto ciò che potevamo usare che completasse il tipo di stanza e i puzzle in cui eravamo nel processo di creazione.Raccogliendo tutti i nostri pensieri in un unico punto, potremmo organizzare, prioritizzare e vedere dove potremmo riutilizzare il contenuto in diverse stanze.Mentre questa era una quantità sufficiente di pianificazione in anticipo, ci ha salvato dal fare troppo poco contenuto o troppi oggetti non necessari.

Questa lista ci ha dato una buona comprensione di ciò che doveva avere la priorità quando la boxe grigia estraeva il contenuto e lo popolava in tutta la casa.Aggiungendo contenuti di priorità elevata in anticipo, potremmo facilmente vedere quando le risorse fossero ripetitive, avessero proporzioni errate o quando avrebbero avuto bisogno di una seconda variazione o di uno scambio di texture quando fossero in determinate stanze.Qualche contenuto che abbiamo bloccato in anticipo alla fine non è stato importante per l'esperienza e rimosso, ma non abbiamo perso molti lavori nel processo poiché si trattava di blocchi rapidi.Per tutti i mobili e gli oggetti che abbiamo conservato, li abbiamo resi in pacchetti nella loro fase di blocco, e questo ci ha reso più facile sostituire tutto nella casa con le loro versioni finali.

Versioni in scatola grigie anticipate.
>

Versioni finali del contenuto.
>

A causa della quantità enorme di risorse necessarie per questa demo, riutilizzare le texture il più possibile era estremamente importante per mantenere nel nostro budget di memoria.Molti dei mobili condividono gli stessi bordi o fogli incollabili per legno, metallo, pietra, vetro e tessuto, e abbiamo utilizzato texture trasparenti ovunque potessimo.Ad esempio, abbiamo utilizzato una texture trasparente per i tessuti in modo da poter avere variazioni di colore senza dover creare una seconda StrutturaAlbedo.Per maggiori informazioni su come riutilizzare le texture, vedi Pianificazione, riutilizzo e budget.

Quattro texture che abbiamo riutilizzato in diversi ambienti.

Fotogrammetria

Sapevamo che avevamo bisogno di molto più contenuto di quello che avevamo tempo di costruire da soli, quindi abbiamo deciso di accelerare il processo di creazione di contenuti di alta qualità su una texture 1:1 utilizzando la fotogrammetria proveniente dal Creative Commons (CC0). Photogrammetria è il processo di cattura di centinaia di immagini di oggetti da ogni angolo per creare modelli di alta qualità con proporzioni accurate e i modelli di Creative Commons sono per lo più modelli gratuiti che sono tipicamente educativi in natura che puoi usare e/o condividere legalmente.Questi modelli possono variare da risorse modellate a mano a risorse realizzate con la fotogrammetria, e lavorare con esse in questo processo ci ha permesso di saltare il passo laborioso di creazione di un modello ad alta risoluzione dettagliato.

La storia di fondo che abbiamo creato per la famiglia li descrive come "collezionisti eccentrici" che dabblano nell'occulto.Hanno raccolto reperti da tutto il Mondo, e volevamo che la casa fosse piena di cose per riflettere quella storia.Siamo stati in grado di reperire i dati di scansione da contenuto del museo CC0 per modelli come antiquariato , statue e lavoro di tassidermia , quindi iniziare la mappatura UV, la riclassificazione e il lavoro sulle texture necessari per ottimizzarli per Studio.

I dati di scansione originali si mescolano con una StrutturaDiffusa.

Mapping UV è il processo di modellazione 3D di decodifica della mesh di un modello 3D e proiezione di un'immagine 2D su di essa.U" e V" rappresentano gli assi della texture 2D perché "X", "Y" e "Z" rappresentano gli assi del modello 3D.Gli UV tendono ad essere automatizzati al momento della scansione e tendono a essere mal fatto per i fini dello sviluppo del gioco.Ad esempio, gli UV per alcuni modelli di fotogrammetria possono sembrare un mucchio di aerei individuali, ma questo non è il più performante per un'esperienza mobile quando i creatori sono limitati a 10.000 vertici.A volte avremmo avuto fortuna con i dati della scansione, ma la maggior parte del tempo avevamo bisogno di aggiornare o di rifare completamente queste coordinate della texture bidimensionale per i fini dell'esperienza.

Dati di scansione originali con UV automatizzati.

Inoltre, la maggior parte delle maglie dai modelli includerebbe solo la texture Diffusa con informazioni di illuminazione incluse nella texture quando il modello è stato inizialmente scansionato.Mentre questo potrebbe essere utile da utilizzare come base per la Strutturadi Albedo della Mesh, maglia, richiederebbe comunque una pulizia manuale in cui dovevamo dipingere la luce e l'ombra.Se una mesh avesse una forte illuminazione direzionale, potrebbe sembrare strana dove l'illuminazione del mondo non Corrisponde.Per questo motivo, abbiamo dovuto ricreare la maggior parte delle texture PBR per i modelli che abbiamo utilizzato dal contenuto del museo CC0.

Texture di dati di scansione originali con illuminazione cucita nel diffuso.

Renderizzazione fisicamente basata (PRB) è la nozione di utilizzare ombreggi e illuminazione realistici più accuratamente simulando e rappresentando i materiali e l'illuminazione nel Mondoreale.Era importante per noi quando creavamo le texture PBR per non avere alcuna o pochissima informazione di illuminazione inclusa nella texture Albedo perché il motore di Studio calcola questo da IBL (Illuminazione basata sull'immagine), oltre a utilizzare i valori della superficie Normale, Ruvida e Metallica della texture per rappresentare correttamente i materiali del mondo reale.In confronto, una texture Diffusa può avere alcuni o tutti i dettagli di queste singole mappe cotti in una Struttura, che è utile quando potresti aver bisogno della StrutturaDiffusa per portare quei dettagli da sola senza l'aiuto di IBL o altre singole texture PBR.Quando decidi se mantenere una texture Diffusa o creare le tue texture PBR personali, considera i tuoi limiti di budget di progettazione o memoria per ciò che ha senso per la tua esperienza.

Le maglie dei dati di scansione che abbiamo utilizzato di solito sono state piuttosto buone, ma alcune maglie hanno dovuto essere pulite.Ad esempio, alcune maglie hanno avuto buchi problematici che doveva essere riempito, bordi frastagliati che doveva essere levigato, o bordi sottili che doveva essere ingrossato.Per questo processo, abbiamo utilizzato Zbrush per modificare i dati di scansione.

Note da sinistra a destra: Troppo sottile e frastagliato | Il modello intero ha bisogno di un po' di polacco | Anche troppo sottile e frastagliato.Riempi e liscia.| Riempi i buchi.
La stessa mesh dopo aver pulito i dati della scansione.

Questo processo non era affatto perfetto, ma ripulendo il modello ad alta risoluzione, era significativamente più facile automatizzare o manualmente ricostruire la Mesh, magliadel modello. Retopologizing è il processo di modifica della distribuzione e della struttura dell'edge di un modello 3D e, per i nostri scopi, il retopologizing consente una migliore texture di cucitura quando si crea una versione di risoluzione inferiore di un modello ad alta risoluzione.I modelli di risoluzione inferiore sono significativamente più facili sulle Prestazione, in particolare sui dispositivi mobili, e mantiene ancora i dettagli ad alta risoluzione dalla mesh e dalle texture.

Per la ritopologizzazione manuale o automatica, puoi utilizzare qualsiasi applicazione 3D a tua scelta.Abbiamo scelto di utilizzare 3DS Max per ritopologizzare manualmente e Zbrush per ritopologizzare automaticamente utilizzando lo strumento Zremesher o Decimation.Lo strumento Zremesher ci ha permesso di auto-rettopologizzare una mesh per mantenere i quad che richiedono un conteggio vert più elevato per mantenere la forma, mentre lo strumento Decimation ci ha permesso di auto-rettopologizzare utilizzando triangoli con un conteggio vert più basso e era ancora in grado di mantenere la forma.

Lo strumento Zremesher in Zbrush.
Lo strumento di decimazione in Zbrush.

Indipendentemente dalla rotta automatica che potremmo scegliere per i nostri modelli/mesh, probabilmente abbiamo dovuto fare un po' di pulizia poiché l'auto-rettopologizzazione dipende molto dalla Mesh, magliaad alta risoluzione, come è stata costruita e il suo algoritmo.Tendevamo a scegliere il percorso di decimazione con una mesh triangolata perché era più importante per noi avere un minor numero di vertici mentre mantenevamo la forma originale.

La sovrapposizione e la cattiva topologia causano errori normali della superficie che possono verificarsi quando si auto-ricostruisce.Questo doveva essere risolto, altrimenti avremmo avuto problemi di mesh e illuminazione sul modello.
Il processo di disegno a mano delle facce aderenti ai normali della superficie ad alta risoluzione.

Dopo aver completato il processo di rielaborazione della mesh con nuovi UV, abbiamo dovuto quindi cuocere e trasferire i dettagli e le texture della mesh ad alta risoluzione. Marmoset > ha reso più facile eseguire questo processo quando si cuociono mappe di mesh e si trasferiscono qualsiasi texture originali dal modello ad alta risoluzione al modello a bassa risoluzione, ma puoi trovare altri flussi di lavoro e metodi in altre applicazioni 3D che funzionano meglio per te.Indipendentemente dallo strumento, assicurati che qualsiasi texture originale sul modello ad alta risoluzione sia assegnata al modello durante la cottura.

Assegnare le texture originali sul modello ad alta risoluzione al modello corvo durante la cottura.
Nuove UV e texture PBR di dimensioni 512 con illuminazione dipinta.
Ritopologizzato a mano con le texture trasferite.Farlo a mano ha significato che potevamo controllare il modo in cui la geometria fluiva e dove spendevamo i vertici.Molte volte è una scelta migliore, soprattutto quando una mesh ad alta risoluzione è composta da molti oggetti separati o ha forme problematiche.
Rientralizzazione automatica in un'applicazione 3D.Fare questo in automatico ha risparmiato il tempo di creazione della mesh di bassa risoluzione a mano, ma il compromesso è stato una mesh con un maggior numero di vertici per mantenere la silhouette e un modello più impegnativo con cui lavorare quando si creano UV

Dopo aver finalizzato le nostre texture PBR di Albedo, Normal, Metalness e Roughness in Substance Painter , le nostre nuove risorse sono state pronte per essere importate in Studio! Ci sono state alcune differenze di qualità tra le risorse dei dati di scansione vs.le risorse retopologizzate, ma alla fine era un compromesso degno quando l'asset era solo 1.000 vertici invece di 1.000.000.Ha anche mantenuto il nostro budget di memoria intatto e ha permesso all'esperienza di funzionare più fluidamente.

Scansione dei dati del corvo.
>

risorsain gioco manualmente ritopologizzate.
>

Scansione dei dati candelabra.
>

Rientralizzazione automatica delle risorsain gioco.
>

Utilizzare pacchetti

Pacchetti sono un sistema che ti consente di archiviare e utilizzare una versione di uno o più oggetti, e quando aggiorni quella versione, aggiorna tutte le istanze di quell'oggetto o gruppo in una volta sola.Ad esempio, se crei un oggetto albero e lo posizioni all'interno della tua esperienza, devi solo aggiornare il pacchetto affinché le centinaia di quell'oggetto si aggiornino alla tua nuova versione contemporaneamente.Sapevamo fin dall'inizio che avremmo avuto due stati della maggior parte delle stanze della casa, il loro stato normale e il loro stato corrotto, e avevamo bisogno di mantenere entrambe le copie della casa e i loro contenuti durante l'intero processo di iterazione.Per questo motivo, abbiamo deciso quali oggetti doveva essere condivisi in ogni stato della casa e li abbiamo convertiti in pacchetti.

Esempio di un pacchetto per un'intera camera da letto. Tutto ciò che era unico al suo stato normale o corrotto viveva al di fuori di questo pacchetto.

I pacchetti ci hanno permesso di modificare tutto, dal taglio del legno sui pannelli murali a intere stanze, quindi entrambi gli stati della stanza si aggiorneranno alle nostre modifiche.Abbiamo anche potuto convertire SurfaceAppearance oggetti in pacchetti in modo da poter aggiornare l'aspetto di un materiale ovunque nell'esperienza in una sola volta.La riutilizzazione dei materiali è stata fondamentale per rendere la demo il più performante possibile per i dispositivi nonostante la sua chiara complessità.

Ad esempio, le seguenti immagini mostrano un pacchetto di modello armillario con un gruppo complesso di risorse figlie, tra cui un pacchetto di aspetto della superficie metallica che utilizziamo in diversi luoghi nella demo.Ovunque abbiamo aggiornato il pacchetto di apparizione della superficie in metallo, potremmo anche eseguire un aggiornamento di massa che forzerebbe anche il pacchetto di modello armillario ad aggiornare anche il pacchetto di apparizione della superficie figlia.

Risorsa Armillaria
>

Pacchetto modello armillare
>

Pacchetto di apparizione della superficie metallica
>

Per ulteriori informazioni su come trasformare un oggetto individuale o un gruppo di oggetti come Models o Folders in un pacchetto, o su come scegliere un creatore del pacchetto per l'Accessodi modifica, vedi Pacchetti .Abbiamo scelto di designare il Vistech Demo Group come creatore di tutti i nostri pacchetti perché ha permesso a tutti nel nostro gruppo di accedere e modificare i pacchetti ogni volta che ne hanno avuto bisogno.Ci ha anche permesso di condividere questi pacchetti tra ogni esperienza di proprietà del gruppo!

Impostiamo i pacchetti genitori, come l'armilla sopra o un'intera stanza, a aggiornare automaticamente in modo che le modifiche al modello o alla cartella vengano condivise automaticamente tra tutte le istanze di quel pacchetto senza che dobbiamo Controllare /Verificaremanualmente.Questo processo ha significato che potevamo creare facilmente modifiche per gli stati normali e corrotti di ogni stanza.Ad esempio, le seguenti due immagini mostrano lo stato normale e corrotto dello studio che è stato creato attraverso il stesso pacchetto.Solo pochi oggetti al di fuori dei loro pacchetti differiscono tra loro, anche considerando che lo stato corrotto è laterale!

L'utilizzo dei pacchetti ci ha permesso di creare due versioni di una stanza, mentre trattiamo solo il contenuto di una sola.

Invece di lavorare interamente nello stesso file luogo dell'esperienza, abbiamo costruito un luogo di archiviazione delle risorse con tutte le nostre componenti con link di pacchetto.Ogni volta che apportiamo un cambiamento a un pacchetto in questo Postodi archiviazione, si aggiorna automaticamente e immediatamente in ogni luogo che utilizza quel pacchetto.Potremmo modificare oggetti, aggiungere funzioni e lavorare su dettagli senza dover navigare nell'umore e nella luce della esperienza principale che potrebbe rendere difficile vedere ciò che stavamo facendo.

Il luogo di archiviazione delle risorse con ogni componente all'interno della demo.

I pacchetti ci hanno permesso di avere più libertà di esplorare diverse idee in 3D senza dover fare un sacco di lavoro extra.Potremmo pianificare, testare o persino tornare a qualsiasi versione precedente di una risorsa se un esperimento non ha funzionato in pratica o ha rotto l'esperienza.Ci sono state molte volte in cui ore di lavoro di valore sono state ripristinate tornando indietro una versione nei pacchetti.Alla Terminare, non potevamo raggiungere il livello finale di polacco in questa demo senza pacchetti.