Unreal Engine 4: come costruirsi il proprio videogioco

Unreal Engine 4: come costruirsi il proprio videogioco

Con questo articolo vogliamo capire insieme a voi come funziona una tecnologia grafica evoluta come Unreal Engine 4. Andiamo a vedere tutti gli strumenti, le modalità di funzionamento e i risultati che è possibile ottenere con un SDK sempre più alla portata dell'utente comune. L'articolo è diviso in due parti: ci occuperemo prossimamente, infatti, di Matinee, Blueprint Visual Script, SpeedTree, PhysX e molto altro ancora.

di Rosario Grasso pubblicato il nel canale Videogames
Epic
 

Il Viewport

Dopo aver aperto il Progetto, la prima cosa che gli sviluppatori notano è il Viewport collocato al centro dell'Editor. Il Viewport si può vedere come una finestra che ci consente di affacciarci sui mondi creati con Unreal Engine. Si può navigare in questi mondi esattamente come si farebbe in un gioco, mondi che qui si possono vedere in chiave schematica come accadrebbe in un progetto di architettura. All'interno dei Viewport di Unreal Editor si trovano diverse serie di strumenti e di visualizzatori che permettono agli sviluppatori di monitorare costantemente tutti i dati che servono.

Unreal Engine 4

Ci sono due tipi principali di Viewport nell'Unreal Editor, ovvero Perspective e Orthographic. La prima è proprio una prospettiva all'interno del gioco tridimensionale, mentre la seconda permette di osservare le immagini secondo uno degli assi principali. Il pannello adibito al Viewport, in realtà, può mostrare contemporaneamente più di un Viewport, che possono essere disposti in griglia e visualizzati in maniera ingrandita. Il layout di default è di tipo 4x4.

I Viewport possono essere configurati secondo diverse modalità di visualizzazione, ovvero Lit, Unlit e Wireframe. La prima ci consente di visionare quale sarà il risultato finale del nostro lavoro all'interno del videogioco. Unlit, invece, sottrae dalla scena tutte le illuminazioni. Wireframe, infine, mostra solamente i bordi dei poligoni.

Unreal Engine 4

Lit

Unreal Engine 4

Unlit

Unreal Engine 4

Wireframe

Lit, Unlit e Wireframe sono le modalità di visualizzazione principali, ma in realtà ne abbiamo molte altre. Detail Lighting abilita un materiale neutro per tutta la scena, usando però le normal map proprie dei materiali originali. Questo strumento è utile per verificare se l'illuminazione applicata nella scena è eccessivamente presente e per questo potenzialmente fastidiosa. Lighting Only differisce rispetto alla modalità precedente per via dell'esclusione in questo caso anche delle normal map.

Unreal Engine 4

Detail Lighting

Unreal Engine 4

Lighting Only

Light Complexity mostra invece la quantità di illuminazioni non statiche che stanno riguardando la geometria della scena di gioco. È uno strumento utile per capire quanto costa l'illuminazione in termini di capacità di calcolo impiegata. Più luci ci sono, infatti, e più ombre andranno elaborate. Shader Complexity è, poi, la variante dello strumento precedente dedicata stavolta agli Shader, e dà l'idea agli sviluppatori di quante istruzioni relative agli shader sono chiamate in causa, e quindi delle prestazioni richieste. Viene usato per calcolare soprattutto l'impatto delle particelle, che tengono a causare lag spike prestazionali con un consistente quantitativo di chiamate al sistema video in intervalli di tempi ridotti. Non si tratta di una visione d'insieme, perché ovviamente calcolare l'impatto prestazionale contando solamente le chiamate matematiche è diverso da calcolare la stessa resa tenendo in considerazione anche le texture da visualizzare e gli altri calcoli necessari affinché la scena tridimensionale risulti completa. Shader Complexity utilizza dei colori per segnalare quanto è costosa la scena in termini di risorse di elaborazione consumate. Il passaggio dal verde al rosso indica che si va da una zona "poco costosa" a una "molto costosa", mentre se si va da rosso a bianco evidentemente ci può essere un consumo di risorse eccessivamente marcato.

Unreal Engine 4

Light Complexity

Unreal Engine 4

Shader Complexity

Ci sono modalità di visualizzazione per praticamente ciascun aspetto grafico. Quella per le riflessioni, ad esempio, rimpiazza tutti i materiali con una superficie piatta e rugosità pari a 0, quindi sostanzialmente con degli specchi. In questo modo è possibile verificare il dettaglio delle riflessioni in ogni parte della scena per eventualmente piazzare più Reflection Capture Actors nelle aree in cui si desidera avere più dettaglio.

Le modalità relative al Buffer permettono di visualizzare le immagini così come si presentano ai vari stadi del GBuffer della scheda video. Si può vedere quindi come risulta la scena con la sola occlusione ambientale abilitata, le sole rugosità o il solo effetto di SubSurface. La schermata nel Viewport può visualizzare anche i soli Base Color o il risultato del texturing in connessione al solo effetto di occlusione ambientale. Quanto all'occlusione ambientale bisogna differenziare tra l'effetto in sé stesso e le texture di AO applicate ai materiali, che sono invece il frutto di un calcolo fatto dall'engine basato sulle superfici e sulle normal map ad esse applicate. Opacity è utile soprattutto in presenza di materiali che godono dell'effetto di Subsurface Scattering, visto che lo strumento Opacity controlla l'intensità della luce che penetra tra gli oggetti.

Unreal Engine 4

Buffer Overview

Unreal Engine 4

Base Color

Scene Color mostra i risultati nella scena prima dell'applicazione di qualsiasi effetto in post-processing, come bloom, color correction o anti-aliasing. Non mancano strumenti per monitorare il LOD, il livello di esposizione o la densità degli strati presenti in un paesaggio.

Unreal Engine 4

Scene Color

I Viewport dispongono di funzioni avanzate che permettono, ad esempio, di escludere alcuni effetti dalla visualizzazione, come i particellari o l'anti-aliasing. O, ancora, è possibile ancorare la visuale a uno degli Actor, in modo da concentrarsi su di esso e verificare l'applicazione di tutti gli effetti visivi. La funzione Picture-in-Picture, inoltre, permette di visualizzare l'anteprima di ciò che "vede" un attore di tipo camera.

 
^