Unreal Engine 4: gli strumenti, come funziona, cosa cambia

Unreal Engine 4: gli strumenti, come funziona, cosa cambia

Riprendiamo l'analisi delle caratteristiche più importanti di Unreal Engine 4, in modo da poter capire come funziona alla base un motore grafico di ultima generazione con tutte le sue funzioni, gli strumenti e le varie opzioni grafiche.

di Rosario Grasso pubblicato il nel canale Videogames
Epic
 

Fisica

Unreal Engine 4 utilizza l'engine fisico PhysX 3.3 per la gestione dei calcoli inerenti la simulazione della fisica e le collisioni. PhysX offre la possibilità di rilevare in maniera accurata le collisioni nonché le interazioni fisiche tra gli oggetti presenti nella scena. Questo contribuisce a incrementare l'immersività di ogni scena, dando ai giocatori la sensazione di interagire effettivamente con la scena e che quest'ultima stia rispondendo alla loro azione in un qualche modo.

PhysX

Collision Responses e Trace Responses sono i due moduli alla base della gestione che Unreal Engine 4 fa delle collisioni e del ray tracing durante il run time. Ogni oggetto che può collidere viene associato a un Object Type che racchiude una serie di risposte che definiscono come quest'ultimo interagisce con gli altri oggetti. I due oggetti che si ritrovano in prossimità della stessa posizione nello spazio tridimensionale possono impattare l'uno con l'altro, sovrapporsi o semplicemente ignorarsi a seconda dei parametri impostati.

PhysX

Nell'elenco delle proprietà, infatti, si trovano un sacco di parametri relativi alla fisica a partire dall'impostazione di base che prevede di scegliere tra Simple e Complex Collision. Le collisioni semplici riguardano gli oggetti, le sfere, le capsule e le forme convesse che possono essere modificate tramite l'editor delle mesh. Complex Collision, invece, agisce a livello di poligoni e non può essere associata a un attore in particolare.

Se per due oggetti, come un PhysicsBody e un WorldDynamic, viene spuntata la voce "Block", allora si verificherà una collisione nel momento in cui le posizioni nel mondo di gioco coincideranno. Questa è la condizione minima affinché ci sia un'interazione fisica, ma ovviamente non è sufficiente per avere un impatto che possa definirsi realistico. Se si vuole avere un effetto visivo che sottolinei l'impatto bisogna infatti ricorrere al Blueprint o al codice. Questo potrebbe essere, ad esempio, un evento di calore.

PhysX

Nel Blueprint della sfera si possono spuntare le voci ReceiveHit e OnComponentHit, ma è ovviamente molto importante che si gestisca l'effetto affinché si verifichi solo quando c'è una collisione.

Quando il dettaglio visivo è particolarmente sostenuto è importante andare a verificare che i calcoli per la fisica siano semplici. È più facile calcolare la fisica, infatti, se i poligoni coinvolti nella collisione sono in numero contenuto. Inoltre, in termini di gameplay, bisogna stare attenti a non far sì che si generino troppi detriti che potrebbero ostacolare il giocatore durante il movimento.

Alla base della gestione della fisica vi è la creazione di mesh capaci di gestire le collisioni. Nel menù Collision all'interno dell'editor delle mesh, infatti, si trovano diverse voci relative ai K-DOP (K discrete oriented polytope). Si tratta di quello che in computer graphics viene definito bounding volume, ovvero un volume di delimitazione contrassegnato da K assi piani allineati che corrispondono grosso modo alla forma della mesh.

PhysX

Recandosi in Collision Menu -> Auto Convex Collision si ha la possibilità di configurare la Convex Decomposition impostando il numero di parti sensibili alla collisione all'interno della mesh, ovviamente con l'obiettivo di allinearle il più possibile alla mesh finale senza consumare molte risorse di elaborazione. Sono due modi diversi di ottimizzare i calcoli della fisica, che poi possono essere rivisti nel run time con il comando da console show COLLISION, che evidenzia appunto tutti i modelli di collisione presenti nella scena. Stat Game, invece, mostra varie utili statistiche su quanto tempo serve a renderizzare i vari effetti di collisione.

PhysX

NVIDIA inoltre mette a disposizione di Epic APEX PhysX Lab, uno strumento che può essere utilizzato per generare mesh distruttibili. Unreal Engine 4 al momento non supporta questo strumento nella sua interezza, ma limitatamente ai moduli APEX Destructibles e APEX Cloth. Per creare asset di tipo APEX Cloth, inoltre, si può usare il plug-in DCC per 3Ds Max o Maya o lo strumento standalone incluso dell'SDK Apex. Attori distruttibili con un singolo livello di profondità possono essere creati anche con uno strumento interno a Unreal Engine 4 che si chiama Voronoi.

Apex

APEX PhysX Lab

Uno degli elementi di gioco che più degli altri fanno uso della fisica sono i veicoli. Alla base della creazione di un veicolo vi è una mesh scheletrale e un Physics Asset che ne determini il comportamento in funzione delle regole della fisica. Servono poi un Animation Blueprint, un Vehicle Blueprint, un Blueprint alla base del funzionamento delle ruote e un TireType Data Asset per gestire il comportamento del battistrada e degli altri elementi del pneumatico.

PhysX

Nel Content Browser si preme su Add New, poi Blueprint e infine si seleziona la voce WheeledVehicle. Operazione che poi va ripetuta per tutte le altre componenti prima elencate, per poi introdurre la configurazione degli input e associare un Blueprint GameMode. Fate doppio-click su quest'ultimo per cambiare la classe Pawn selezionando il Blueprint creato per i veicoli.

PhysX

In quest'ultimo bisogna anche associare i controlli per ogni asse e gli eventi collegati alle azioni, come è esposto nel dettaglio nella documentazione.

  • Articoli Correlati
  • 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.
  • Unreal Engine 4: come sarà la next-gen? Unreal Engine 4: come sarà la next-gen? Epic Games ha mostrato ufficialmente all'E3 2012 il nuovo step evolutivo della sua tecnologia di motori grafici che, con ogni probabilità, sarà alla base della prossima generazione di videogiochi. Vediamo in questo articolo quali sono le informazioni già note su Unreal Engine 4.
4 Commenti
Gli autori dei commenti, e non la redazione, sono responsabili dei contenuti da loro inseriti - info
-Maxx-28 Luglio 2015, 22:56 #1
Sono contento di aver letto anche questo secondo articolo, la parte che ho trovato più interessante è quella relativa al bilanciamento qualità-prestazioni: concetti come framerate/frametime e draw call sono importanti anche per l'utente finale in quanto consentono di capire l'importanza dei parametri di funzionamento da impostare quando si va ad eseguire un videogioco (mi riferisco ovviamente all'ambito PC).

Questo mi dà lo spunto per fare alcune riflessioni sul mondo del gaming.

- Una cosa è certa: produrre un videogioco richiede veramente tanto impegno ed un enorme lavoro di rifinitura e ciò dovrebbe far riflettere non tanto gli utenti ma gli stessi addetti ai lavori.
Quando bisogna preoccuparsi di così tanti dettagli si rischia di perdere di vista quelle che sono le priorità quali ottimizzazione e scalabilità onde evitare casi eclatanti di cattiva programmazione come quelli emersi negli ultimi tempi (Batman su tutti).

- E' vero anche che il PC è un mercato molto particolare e variegato nonché difficilmente appetibile per chi vede un'efficienza finanziaria superiore nel produrre per gli ecosistemi console eppure, alla fine della fiera, si continua con la politica del multi-piattaforma e delle uscite seriali a ritmi serrati.
Lo sforzo di investimento economico viene spostato sempre di più nel reparto PR e marketing lasciando margini più risicati di risorse (sia di denaro che di tempo) a chi ne ha realmente bisogno: i programmatori!

- Una volta si faceva l'upgrade dell'hardware perché il software sul mercato richiedeva necessariamente una potenza di elaborazione superiore, ora si fa upgrade perché forse si ha la possibilità di far girare meglio il software prodotto frettolosamente.

Ma quanto durerà ancora questo gioco?
appleroof29 Luglio 2015, 11:07 #2
complimenti, ottimo articolo, è raro trovare articoli così completi e che spiegano aspetti tecnici in modo che possano essere comprensibili a semplici appassionati

l'unreal engine si presenta come tradizione uno strumento potente e flessibile, la mia domanda è però come mai non sembra finora riscuotere il successo che ha avuto il suo predecessore, mi pare non. ci sia ancora alcun annuncio di tripla a che adotteranno l'ue4...
bobafetthotmail02 Agosto 2015, 19:10 #3
Originariamente inviato da: -Maxx-
Quando bisogna preoccuparsi di così tanti dettagli si rischia di perdere di vista quelle che sono le priorità quali ottimizzazione e scalabilità onde evitare casi eclatanti di cattiva programmazione come quelli emersi negli ultimi tempi (Batman su tutti).
è molto probabile che i giochi migliori inizieranno ad essere quelli che usano engine di terze parti, perchè in tal modo lasciano tutta la parte di ottimizzazione/performance/eccetera nelle mani di chi fa il game engine, che in genere ha forte interesse a tenerlo bello tirato.

In questo modo già ora ci sono molti giochi indie o comunque con budget limitati che hanno una qualità grafica elevata.

E visto che gli engine di partenza sono multipiattaforma, fare un porting è uno scherzo (rispetto a fare un porting di un gioco normale).

il PC è un mercato molto particolare e variegato nonché difficilmente appetibile per chi vede un'efficienza finanziaria superiore nel produrre per gli ecosistemi console
è anche vero che è al 90% una questione di paraocchi (visto che la differenza tra una console e un PC si sta annullando oramai).

Ma quanto durerà ancora questo gioco?
Finchè la gente poco esperta o gli inscimmiati continuano a comprare tutto al day 1 senza pensare che magari è uguale agli altri 10 precedenti o che probabilmente sarà scritto coi piedi, cioè probabilmente per sempre.
MannaggialaPupazza06 Agosto 2015, 21:06 #4
Originariamente inviato da: bobafetthotmail
Finchè la gente poco esperta o gli inscimmiati continuano a comprare tutto al day 1 senza pensare che magari è uguale agli altri 10 precedenti o che probabilmente sarà scritto coi piedi, cioè probabilmente per sempre.

gli inscimmiati
massì, quando il marketing tira, questi sono i risultati

Devi effettuare il login per poter commentare
Se non sei ancora registrato, puoi farlo attraverso questo form.
Se sei già registrato e loggato nel sito, puoi inserire il tuo commento.
Si tenga presente quanto letto nel regolamento, nel rispetto del "quieto vivere".

La discussione è consultabile anche qui, sul forum.
 
^