Articles

Unity vs Unreal Engine per lo sviluppo XR: quale è meglio?

Se vuoi sviluppare un’applicazione XR per la tua azienda o il tuo progetto personale, non c’è momento migliore di adesso.

In questi giorni, i motori di gioco 3D come Unity3D e Unreal Engine consentono alle persone senza precedenti esperienze di sviluppo VR di creare soluzioni VR alla pari con i veterani del settore. Soprattutto dato che puoi sperimentare entrambi i motori gratuitamente finché vuoi.

Utente Reddit

Quota di mercato di giochi costruiti con motori di gioco su Steam. Fonte: Reddit

Inizialmente queste piattaforme software sono state costruite per sviluppare videogiochi 3D, tuttavia poiché lo sviluppo per VR (e AR) condivide molte somiglianze con lo sviluppo del gioco, questi motori di gioco sono stati adottati dalle comunità XR.

Non devi andare lontano per storie di successo.

Tuttavia, si presenta un’altra sfida. Quale motore dovresti scegliere? Unità o irreale? O qualcosa di completamente diverso, forse?

Ci sono diverse opzioni (CryEngine, ApertusVR, Amazon Sumerian), ma ci sono due motori che stanno dominando la quota di mercato del mercato di sviluppo XR: Unity3D e Unreal Engine 4.

La parte migliore? Entrambi i motori di gioco possono essere utilizzati come versione gratuita. Se non si vuole lasciare fino a un lancio della moneta, questo articolo vi aiuterà a capire quali sono i punti di forza e di debolezza di entrambe queste soluzioni.

Questo articolo sfata anche molti miti che circondano questi motori di gioco per aiutarti a scegliere senza pregiudizi quello che è meglio per il tuo progetto. Stiamo cercando dalla lente di uno sviluppatore di realtà virtuale tuttavia, anche gli sviluppatori di giochi avranno qualcosa fuori di esso.

Iniziamo con una rapida panoramica di ognuno di essi.

Unity3D Panoramica

Unity3D è un motore di sviluppo che è stato rilasciato per la prima volta nel 2005. Da allora è diventata la piattaforma di sviluppo 3D e 2D più popolare al mondo. Qui ci sono solo alcune statistiche:

  • 60% di AR/VR contenuto e il 50% di giochi per dispositivi mobili sono realizzati con Unity3D
  • Oltre 24 miliardi di installa del motore negli ultimi 12 mesi
  • Supporta 28 piattaforme (iOS & Oculus per Windows Misto di Realtà e tutti in-tra)

a Causa della sua grande popolarità con le piattaforme mobili, c’è un persistente mito che Unity3D è solo un bene per mobile-oriented progetti.

Questo è soprattutto perché, in passato, Unity3D stessi pesantemente preso di mira il mercato della telefonia mobile, soprattutto durante l’ascesa di AppStore di Apple e Play Market di Google.

In verità, negli ultimi anni il motore è avanzato così tanto che ora è una piattaforma di sviluppo sfaccettata che può essere utilizzata per qualsiasi soluzione XR complessa.

Mito: Unity è buono per VR/AR mobile

Verità: Unity è buono sia per soluzioni multipiattaforma che per progetti XR complessi (ad esempio, l’intera formazione Audi logistics e car configurator viene creata all’interno della piattaforma Unity3D). Oppure controlla il caso di simulazione di allenamento VR di Circuit Stream di INVISTA.

Che dire di Unreal Engine?

Unreal Game Engine 4 Panoramica

Image source

Unreal Engine ha una lunga storia come motore di gioco risalente al 1998. Nel corso della sua vita è stato concesso in licenza a una manciata di AAA-studios per titoli come Unreal/Unreal Tournament e Deus Ex. Ha avuto diverse iterazioni, come Unreal Engine 2 & 3.

Le cose hanno preso un’inversione a U nel 2015, quando la 4a versione di questo onnipresente motore di sviluppo è stata resa gratuita al grande pubblico.

Nota: C’è una tassa di royalty del 5% per i prodotti Unreal Engine alimentati che rendono più di $3.000 per trimestre di calendario. Non ci sono royalty se si utilizza Unreal Engine per architettura, automotive, cinema, televisione, trasmissione, eventi dal vivo, formazione e simulazione, o altri progetti non-giochi

Di seguito sono riportate le statistiche chiave per Unreal Engine 4:

  • Più di 7 milioni di utenti della comunità di design e enterprise
  • Oltre 15 piattaforme supportate

In questi giorni, gli sviluppatori indie e i principali studi possono utilizzare Unreal Engine per i loro vari progetti, inclusi giochi, sistemi educativi e soluzioni aziendali.

A causa dell’origine di Unreal Engine, è una percezione comune che Unreal Engine 4 sia un ottimo strumento solo quando si lavora su complessi progetti multimilionari, in particolare sui videogiochi.

Giochi realizzati con Unreal Engine 4 Un elenco di titoli AAA sviluppati con UE4 che usciranno nel 2020. Qualcun altro eccitato da Final Fantasy VII remake?

Mentre è vero che alcuni dei titoli di gioco popolari, come Fortnite, sono costruiti utilizzando Unreal Engine 4, la società dietro UE4, Epic games, sta attivamente sviluppando un segmento mobile, insieme a sostenere progetti comunitari attraverso il loro programma di sovvenzioni Unreal Dev.

Ci sono anche giochi VR-specifici come Batman: Arkham VR da Rocksteady Studios.

Mito: Unreal Engine 4 è solo un bene per AAA-titoli di gioco

Verità: Unreal Engine 4 può essere utilizzato per lo sviluppo VR/AR, giochi 2D, 3D e lo sviluppo mobile allo stesso modo.

Nel corso degli anni, sia Unity3D che Unreal Engine hanno affrontato i loro punti deboli, quindi scegliere uno di loro rispetto all’altro non è un compito semplice.

Per farlo, parliamo delle differenze per lo sviluppo di XR con queste piattaforme attraverso diversi obiettivi.

Quale motore ha la migliore infrastruttura?

Per confrontare correttamente questi due motori, bisogna capire che la differenza non sta solo negli aspetti tecnici (anche se ne parleremo anche nella sezione seguente), ma anche nell’infrastruttura che li circonda.

Fattori importanti dell’infrastruttura è costituito da negozi di beni, documentazione e comunità.

Parliamo di ognuno di questi in dettaglio.

Asset Stores

Ogni ambiente virtuale deve essere popolato con oggetti virtuali che rappresentano un mondo reale o immaginario.

Di seguito è riportato un esempio di una soluzione di formazione VR sviluppata per Callaway Energy Center:

Soluzione di traning VR presso Ameren Missouri

È possibile creare risorse 3D da zero utilizzando un software di modellazione 3D come Maya, Blender o 3ds Max, oppure è possibile acquistare le risorse tramite

Sia Unity che Unreal Engine hanno mercati di asset che consentono di acquistare modelli 3D, oggetti, ambienti predefiniti e così via.

Il numero attuale di risorse nel marketplace di Unreal Engine è di circa 10.000:

Libreria di asset di Unreal Engine

La quantità di asset in Unity Asset Store è cinque volte superiore, con circa 31.000+ asset 3D da solo:

Libreria di asset di Unity

La differenza tra i due mercati di asset diventa un fattore a seconda del progetto andando per.

Le risorse di Unreal Engine tendono ad essere più orientate verso le produzioni di giochi finiti. Molti di loro sono stati precedentemente utilizzati nei giochi AAA.

Questo spiega la loro maggiore qualità visiva. Tra questi beni ci sono castelli, sci-fi tech, e mostri.

Fonte immagine: UnrealEngine.com

Se stai sviluppando un gioco con un’ambientazione fantasy o fantascientifica pertinente e scopri che alcune risorse UE4 sono perfette per il tuo progetto, Unreal Engine 4 marketplace può essere un fattore decisivo.

Allo stesso tempo, se stai sviluppando un’applicazione VR per il business, la grafica non è importante quanto la rilevanza e lo sviluppo iterativo.

Dato che hai più risorse tra cui scegliere nello store Unity3D, è più facile trovare modelli più rilevanti e prototipare rapidamente il tuo ambiente aziendale senza dover assumere modellatori 3D e creare oggetti virtuali da zero:

Di seguito è riportato un esempio di modello 3D con motore a reazione che puoi trovare nello store di Unity Asset. Potrebbe essere utilizzato nella simulazione di addestramento VR per la manutenzione del getto:

Fonte immagine: Asset 3D che rappresenta il motore a reazione militare

In termini di risorse, il negozio di Unity3D è molto avanzato. Tuttavia, Unreal Engine sta recuperando terreno, e Epic Games ha recentemente rilasciato un pacchetto di Megascans Quixel con 10.000 scansioni di materiali di alta qualità dalla libreria Quixel.

Parliamo della documentazione e della formazione disponibili per questi motori.

Documentazione & Formazione

Sia Unity3D che Unreal Engine 4 hanno una documentazione ampiamente sviluppata su come utilizzare i motori e sullo sviluppo XR in particolare:

  • Unity3D XR documentation
  • Unreal Engine XR documentation

Ma il vero valore educativo deriva dalla formazione esterna.

Anche se ci sono corsi di formazione di qualità che insegnano come costruire applicazioni XR sia per Unity3D e Unreal Engine, ancora una volta, il numero di questi corsi è significativamente più grande per gli sviluppatori di Unity.

Ad esempio, la piattaforma Udemy education offre circa 2.200 corsi per Unreal Development e 5.500 per Unity. Sebbene la maggior parte di questi corsi ti insegni come sviluppare giochi, le conoscenze di base possono essere utilizzate anche per costruire altri tipi di applicazioni.

Per quanto riguarda i corsi di business e enterprise-oriented, quelli tendono a utilizzare ambiente Unity3D a causa della sua infrastruttura sviluppata e punto di ingresso più basso per i nuovi sviluppatori.

Puoi conoscere la struttura dietro il corso XR e come esattamente ti insegna a costruire applicazioni XR finite scaricando il programma per la nostra formazione di sviluppo live XR basata su progetti di 10 settimane.

Parliamo in dettaglio della differenza tra le comunità di sviluppo per Unity3D e Unreal Engine.

Comunità degli sviluppatori

Ogni anno gli sviluppatori stanno spingendo ulteriormente i confini di ciò che è possibile in XR.

Sia Unity3D che Unreal Engine stanno facendo del loro meglio per fornire agli sviluppatori documentazione e materiali di formazione pertinenti, ma in questo campo si è inevitabilmente lasciati soli a capire quale opzione scegliere.

Bug, glitch, schiaccia, misteri di codice irrisolti si verificano ogni giorno. Chi ti aiuterà a risolverli, specialmente quando sei da solo?

Altri sviluppatori.

Questo è dove il ruolo della comunità che circonda game engine diventa fondamentale, specialmente in un settore XR emergente

Unity3D, come motore liberamente accessibile, è stato più a lungo di Unreal Engine 4, quindi, naturalmente, ha una comunità più grande di sviluppatori indie che lo circonda.

Ad esempio, sul forum di Unreal Engine ci sono 12.000 argomenti sulla programmazione C++ e 4.600 thread sullo sviluppo VR e AR.

Sul forum di Unity3D ci sono oltre 128.000 thread su scripting e oltre 6.100 argomenti sullo sviluppo VR. Ciò significa che se si verifica un problema, c’è una migliore possibilità di trovare qualcuno con lo stesso problema che può aiutarti a conoscere la loro soluzione.

Un’altra cosa sulla comunità di Unreal Engine 4 è che è divisa tra non programmatori che creano applicazioni per lo più con un sistema di scripting visivo chiamato Blueprints e sviluppatori che conoscono e usano C++.

Un esempio di funzionalità basata su Blueprint

Ci sono più non programmatori nella comunità di Unreal Engine. Vedrai che il numero di discussioni basate su Blueprint sul forum è il doppio del numero di discussioni di programmazione C++.

Questa divisione diventa evidente perché molti sviluppatori C++ non utilizzano attivamente i Blueprint nel loro processo di sviluppo: questo perché le soluzioni basate sul codice sono solitamente più ottimizzate per le risorse e flessibili di quelle basate sui Blueprint.

Pertanto, gli sviluppatori esperti di C++ potrebbero non essere in grado di aiutare i non programmatori semplicemente perché non parlano la stessa lingua.

Al contrario, ogni sviluppatore Unity3D conosce c# — il suo linguaggio di sviluppo primario, in modo che gli sviluppatori esperti possano facilmente mostrare agli sviluppatori principianti le corde. È anche qualcosa che insegniamo nel corso XR Development for Unity fin dall’inizio.

Parliamo della differenza tra il processo di sviluppo in dettaglio nella prossima sezione.

Il processo di sviluppo

Entrambi i motori condividono molte somiglianze quando si tratta di sviluppo di applicazioni XR. Tuttavia, ci sono importanti distinzioni pure e parleremo di quelli in questa sezione.

C# vs C++ e Blueprints Confronto

Forse, la più grande differenza tra i due motori è che utilizzano diversi linguaggi di programmazione.

Sebbene ci siano diversi linguaggi di programmazione che è possibile utilizzare con Unity3D, la lingua principale per la piattaforma è c#.

Unreal Engine 4, d’altra parte, consente agli sviluppatori di scegliere tra la programmazione C++ e il sistema di scripting visivo Blueprint.

I dibattiti su quale linguaggio, c# o c++, sia migliore, sono in circolazione da secoli e, francamente, non hanno senso.

Entrambi i linguaggi sono perfettamente adatti per lo sviluppo XR, e tutto si riduce a quello con cui sei più a tuo agio o con cui hai più esperienza.

Tuttavia, c# potrebbe essere un po ‘ più facile per i principianti, ed ecco perché.

Prima di tutto, il codice c # è più semplice.

Prendiamo un oggetto 3D primitivo, come cube, e lo facciamo fluttuare e ruotare allo stesso tempo:

Ecco un codice per questo dalla documentazione ufficiale di Unreal Engine:

FloatingActor.h
// Copyright 1998-2019 Epic Games, Inc. All Rights Reserved.
#pragma once
#include "CoreMinimal.h"
#include "GameFramework/Actor.h"
#include "FloatingActor.generated.h"
UCLASS()
class QUICKSTART_API AFloatingActor : public AActor
{
GENERATED_BODY()
public:
// Sets default values for this actor's properties
AFloatingActor();
UPROPERTY(VisibleAnywhere)
UStaticMeshComponent* VisualMesh;
protected:
// Called when the game starts or when spawned
virtual void BeginPlay() override;
public:
// Called every frame
virtual void Tick(float DeltaTime) override;
};

FloatingActor.cpp
// Copyright 1998-2019 Epic Games, Inc. All Rights Reserved.
#include "FloatingActor.h"
// Sets default values
AFloatingActor::AFloatingActor()
{
// Set this actor to call Tick() every frame. You can turn this off to improve performance if you don't need it.
PrimaryActorTick.bCanEverTick = true;
VisualMesh = CreateDefaultSubobject<UStaticMeshComponent>(TEXT("Mesh"));
VisualMesh->SetupAttachment(RootComponent);
static ConstructorHelpers::FObjectFinder<UStaticMesh> CubeVisualAsset(TEXT("/Game/StarterContent/Shapes/Shape_Cube.Shape_Cube"));
if (CubeVisualAsset.Succeeded())
{
VisualMesh->SetStaticMesh(CubeVisualAsset.Object);
VisualMesh->SetRelativeLocation(FVector(0.0f, 0.0f, 0.0f));
}
}
// Called when the game starts or when spawned
void AFloatingActor::BeginPlay()

Ed ecco il codice per ottenere lo stesso risultato in Unity3D:

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class floatingactor : MonoBehaviour
{
// Start is called before the first frame update
void Start()
{
}
// Update is called once per frame
void Update()
{
float delta = Time.deltaTime;
float vertDelta = Mathf.Sin(Time.time + Time.deltaTime) - Mathf.Sin(Time.time);
float rotDelta = Time.deltaTime * 20.0f;
transform.Rotate(0, rotDelta, 0, Space.World);
transform.position = transform.position + new Vector3(0, 0.25f * vertDelta, 0);
}
}

Risultato:

Sorgente immagine

Si noti che è necessario creare due file separati nell’esempio di Unreal Engine, uno per la dichiarazione e uno per la definizione.

Vale la pena notare che anche se un grosso pezzo di codice viene creato automaticamente da Unreal Engine, può sembrare un po ‘ complicato se si sta appena iniziando lo sviluppo.

Allo stesso tempo, Unreal Engine dispone di un sistema di interfaccia di scripting visivo Blueprint che è possibile utilizzare per creare applicazioni complesse pure. Non richiede il codice e il flusso di lavoro è basato su nodi.
Approccio basato su nodi in UE4

Dalla documentazione ufficiale di Unreal Engine 4

Quasi tutte le sezioni della documentazione di Unreal Engine sono supportate da esempi in C++ e Blueprint.

È abbastanza facile imparare i progetti, specialmente quando hai appena iniziato. Tuttavia, per ottenere il massimo da UE4 si consiglia di imparare C++ e combinare soluzioni basate su Blueprint con il codice.

Nota: c’è un plugin Unity3D personalizzato, Playmaker, che consente lo scripting visivo in Unity3D allo stesso modo dei progetti in UnrealEngine 4.

Un altro possibile vantaggio di c# è che il 90% delle aziende di sviluppo VR / AR utilizza c#, il che si traduce in una base di codice ampiamente documentata e in una maggiore quantità di soluzioni testate nella comunità di sviluppo.

Accesso al codice sorgente della piattaforma: Unreal Engine vs Unity3D

Entrambe le piattaforme sono autosufficienti-gli strumenti e i flussi di lavoro che offrono sono più che sufficienti per creare applicazioni XR di qualsiasi tipo senza modifiche al codice sorgente delle piattaforme.

Tuttavia, c’è una grande differenza tra UE4 e Unity3D.

Unreal Engine 4 è un motore open source. Unity3D non lo è.

Ciò significa che è possibile modificare il codice sorgente UE4 in base alle proprie esigenze, gratuitamente. Allo stesso tempo, è possibile visualizzare il codice sorgente Unity3D, ma per modificarlo è necessario acquisire una licenza enterprise.

Anche se questo potrebbe essere un insuccesso per le produzioni più grandi, i team di sviluppatori più piccoli dovrebbero considerare attentamente se dovrebbero modificare il codice sorgente della piattaforma, altrimenti una soluzione rapida potrebbe generare una valanga di bug altrove.

Se hai bisogno di alcune funzionalità personalizzate in Unity3D, nella maggior parte dei casi lo scripting e i plugin basati su piattaforma dall’archivio delle risorse dovrebbero essere sufficienti.

Confronto grafico Unity3D e Unreal Engine

Se dovessimo viaggiare nel tempo indietro al 2012, quando Unreal Engine 4 è stato rivelato per la prima volta al grande pubblico, la qualità della grafica era senza precedenti al momento.

Mentre Unity3D era principalmente focalizzato sullo sviluppo di giochi indie e mobili, Unreal Engine è stato costruito sulle ossa delle produzioni di giochi AAA.

Da allora, il mito prevalente era che se si desidera una grafica fotorealistica, è necessario utilizzare Unreal Engine 4.

Mito: Se avete bisogno di grafica mozzafiato, utilizzare Unreal Engine 4

Verità: Sia Unreal Engine 4 che Unity3D sono in grado di creare scene fotorealistiche e forniscono strumenti per creare immagini straordinarie

Ecco un confronto di grafica tra queste due piattaforme:

Detto questo, Unreal Engine 4 ha alcuni vantaggi nel reparto grafico.

Tutti i progetti Unreal Engine pronti all’uso, inclusi asset, scene e progetti tutorial, hanno un aspetto migliore.

Fatto interessante: Unreal Engine 3 includeva un editor completo di lens flares, mentre Unreal Engine 4 tratta lens flares come un effetto strettamente post-processing. Unity3D ha ancora un ampio numero di opzioni per modificare gli effetti lente prima dell’elaborazione. In alternativa, è possibile creare appartamenti personalizzati in UE4 utilizzando nodi di materiale.

Con Unity3D, potresti aver bisogno di qualche ritocco per ottenere il meglio dalle tue risorse 3D.

Shader avanzati, illuminazioni dinamiche avanzate, materiali PBR: è solo meno lavoro per te all’inizio in Unreal Engine 4 che in Unity3D.

Tuttavia, se stai usando i Blueprints, i flussi di lavoro dei nodi complessi possono causare problemi di prestazioni.
Una grande quantità di nodi, matematica complicata e loop operativi che richiedono risorse possono rallentare le cose rispetto a una soluzione di codice C++ ottimizzata.

Di seguito è riportato un esempio che mostra come un complesso sistema blueprint riduce drasticamente FPS rispetto a un codice C++. Tuttavia, la differenza sembra essere attenuata con i processi MultiThread e nativization abilitati.

Un confronto delle prestazioni tra soluzioni C++ e Blueprint

Confronto del rendering: Unreal Engine 4 vs Unity 3D

Rendering in Unreal Engine 4

L’Unreal Engine è un motore di gioco che ha fatto le onde nel settore dei videogiochi, come uno dei primi a supportare DirectX Raytracing (DXR), che consente di utilizzare solo il ray tracing su passaggi di bisogno e di rasterizzazione e su quelli che non lo fanno. Ciò ha assicurato che sia la qualità del rendering che la velocità di rendering siano soddisfatte, che è ciò che ogni sviluppatore vuole!

Da allora, UE 4 ha fatto passi da gigante per migliorare la velocità di rendering e la qualità con ogni aggiornamento successivo.

Il sistema idrico più recente in Unreal Engine 4.26 è sicuro di creare qualsiasi corpo d’acqua si può pensare, da piccoli stagni a enormi oceani.

L’ultimo aggiornamento di Unreal Engine 4 ha anche introdotto un nuovo sistema di cloud cinematografico. Con i metodi tradizionali basati su texture skydome, le nuvole spesso apparivano piatte e di bassa qualità se viste da una prospettiva aerea o dal basso. Questo non è più il caso con il sistema di luci volumetriche di UE4 in quanto sono di qualità superiore e reggono in tutti gli angoli di visione.

Il nuovo componente volumetrico Cloud è stato progettato per supportare le interazioni con l’illuminazione dell’ambiente dal componente Sky Light dell’Unreal Engine e da due luci direzionali che rappresentano sole e luna.

Unreal Engine 4.26 è stato anche rilasciato con vari miglioramenti alla coda di rendering video come output di rendering finale più controllato, vettori di movimento della fotocamera, profondità Z e altro ancora. Il nuovo supporto aggiunto per i codec Apple Pro e Avid NxHR contribuisce anche all’esportazione dei media di alta qualità.

La prossima iterazione di Unreal Engine sarà rivelata alla fine del 2021. Unreal Engine 5 sarà caratterizzato da un sistema di riflessione di fascia alta, illuminazione globale completamente dinamica e rendering ambisonica.

Rendering in Unity 3D

Unity offre due tecniche di rendering, o “percorsi.”Per iniziare il progetto con il piede giusto, le decisioni devono essere prese in anticipo su quale percorso utilizzare: rendering in avanti (predefinito) o rendering differito.

Il rendering in avanti è un’opzione eccellente per coloro che vogliono lavorare con modelli di trasparenza e ombreggiatura personalizzati. Se riesci a gestire i conteggi di luce nel tuo gioco, il rendering in avanti può essere una soluzione ad alta velocità.


(Source)

Con il rendering differito, rimandiamo l’ombreggiatura e la fusione delle informazioni sulla luce fino a dopo un primo passaggio sullo schermo in cui le posizioni, le normali e i materiali per ogni superficie vengono renderizzati in un ‘buffer geometrico’ (G-buffer) come una serie di trame dello spazio dello schermo. Il rendering differito è una tecnica potente, ma richiede hardware di fascia alta per fornire le migliori prestazioni. Inoltre non è supportato da alcuni dispositivi mobili.

Ok, figo. Ma per quanto riguarda il rendering fotorealistico?

Dopo anni di sviluppo attivo, spingere i limiti del realismo e dell’espressione artistica è ora alla portata della pipeline di rendering Scriptable di Unity. Le ultime Universal Render Pipeline (URP) e HDRP (High Definition Render Pipeline) di Unity stanno creando una grafica più coinvolgente per esperienze digitali coinvolgenti, dai materiali realistici agli effetti di luce cinematografici.

L’ultimo aggiornamento HDRP 10 include strumenti migliori per aiutarti a eseguire il debug dell’illuminazione, mentre la nuova modalità profondità di campo produrrà immagini bellissime e di alta qualità con sfocatura sfocatura tracciata dal percorso.

URP fornisce flussi di lavoro adatti agli artisti per la creazione di grafica ottimizzata su una vasta gamma di piattaforme con un solo clic. Il suo sofisticato sistema di occlusione ambientale dello spazio dello schermo approssima la luminosità o l’oscurità di una superficie in base alle superfici circostanti e all’esposizione all’illuminazione ambientale. Ciò consente di migliorare la qualità visiva dell’illuminazione ambientale nelle scene rendendo le ombre degli oggetti più realistiche che mai.

Fun act: entrambi i motori collaborano attivamente con studi 3D esterni per garantire una transizione fluida dei formati 3D nel motore. Ad esempio, sia Unity3D che UE4 supportano il formato Universal Scene Description (USD) sviluppato da Pixar per supportare le pipeline degli asset e consentire ai team di lavorare utilizzando riferimenti e sostituzioni degli asset.

Nel complesso, ricorda che puoi sempre ottenere gli stessi risultati con Unity3D e a questo punto nel tempo entrambe le piattaforme sono perfezionate al punto in cui non c’è distinzione visibile tra la qualità visiva che possono produrre, lasciando la scelta alle tue preferenze personali.

Progetti notevoli realizzati con Unreal Engine 4 e Unity3D

Entrambi i motori sono stati ampiamente utilizzati per la produzione AAA e lo sviluppo di giochi indie, e i giochi più famosi degli ultimi anni sono stati realizzati utilizzando entrambe le piattaforme.

Tuttavia, negli ultimi anni, si è verificato il drammatico passaggio e entrambe le piattaforme vengono ora utilizzate non solo per l’industria dell’intrattenimento, ma per soluzioni più pratiche e orientate al business.

Grazie ai progressi della tecnologia XR, le aziende, i centri di istruzione e le imprese manifatturiere utilizzano ampiamente le applicazioni XR per migliorare il flusso di lavoro e i profitti in una miriade di modi.

Progetti XR Basati su Unreal Engine 4

Ad esempio, una società di sviluppo di farmaci C4X Discovery utilizza Unreal Engine 4 per visualizzare i dati molecolari e, quindi, accelerare lo sviluppo di nuovi farmaci.

La visualizzazione di dati complessi in VR ha permesso agli scienziati di osservare i composti da una nuova prospettiva, individuare più facilmente i difetti di progettazione e collaborare efficacemente in tutto il mondo senza la necessità di essere nella stessa stanza.

La visualizzazione di dati complessi in VR ha molte applicazioni. Un altro esempio viene da Air Canada, che ha utilizzato Unreal Engine per creare una presentazione VR per il loro servizio di business class di volo superiore.

Vale la pena notare che il 97% del progetto è stato fatto con i Blueprints, non con la codifica. Il motivo è che i progetti VR orientati alla presentazione sono più facili da realizzare rispetto alla formazione XR, perché richiede un’interazione più complessa rispetto alla semplice osservazione di qualcosa.

Parliamo di alcuni progetti XR che importanti aziende utilizzano per rivoluzionare i loro flussi di lavoro di formazione e operazioni.

Progetti XR Basati su Unity3D

Audi, un colosso automobilistico tedesco, ha sviluppato una formazione VR modulare con 20 diversi programmi in diverse lingue per migliorare i flussi di lavoro di logistica, assistenza e formazione alla produzione.


Fonte immagine: audi-mediacenter.com

La formazione VR, secondo Audi, è molto popolare tra i datori di lavoro e migliora il processo di apprendimento, la motivazione dei lavoratori e l’ambizione dei tirocinanti.

INVISTA, una società globale di polimeri e intermedi chimici con sede negli Stati Uniti, utilizza una soluzione XR basata su Unity3D per simulare un ambiente di lavoro e formare i dipendenti in VR, riducendo i tempi di formazione, risparmiando i costi delle materie prime e riducendo i tempi di inattività operativi.

Ottieni lo sviluppo XR con Unity Syllabus

Vuoi sapere esattamente cosa imparerai? Scarica il programma del corso.

Boeing, GE, US Navy sta utilizzando VR/AR applicazioni basate su Unity3D per la formazione di personale con maggiore efficienza, con vantaggi come la formazione di conservazione, miglioramento della sicurezza, e ridotti tempi di inattività, per citarne solo alcuni.

Tuttavia, le aziende utilizzano Unity3D anche per scopi di presentazione. Dai un’occhiata a questa vetrina BMW 2019 e prova a indovinare quale è reso e quale è reale:

YouTube Link

Sommario

Negli ultimi anni entrambi i motori si sono sviluppati a passi da gigante, affrontando i loro punti deboli e seguendo costantemente le ultime tendenze del settore.

Era Unity3D per i progetti mobili e Unreal Engine per i giochi AAA, ma le cose sono cambiate così tanto da allora.

Entrambe le piattaforme sono perfettamente appropriate per creare soluzioni XR complesse e progetti indie allo stesso modo. Entrambe le piattaforme sono in grado di creare immagini straordinarie e applicazioni multipiattaforma.

Sebbene Unity3D supporti più piattaforme ed è noto per il suo approccio di sviluppo multipiattaforma, entrambi i motori sono ottimizzati per lavorare con tutte le recenti tecnologie XR sul mercato. Molti sviluppatori sostengono unità è una buona scelta a causa della facilità d’uso.

Tutto si riduce alla tua esperienza precedente e all’ambiente in cui stai lavorando.

Hai molta esperienza con la programmazione C++? Unreal Engine è la strada da percorrere.

Tuttavia, se stai appena iniziando come sviluppatore, il C# di Unity potrebbe essere un linguaggio più pratico per i principianti, perché ha una comunità più grande e una base di codice VR che lo circonda.

Se la tua applicazione è fortemente focalizzata sulla presentazione e sulla grafica, ad esempio un gioco desktop con risorse AAA o una presentazione visiva per il business, allora, possibilmente, Unreal Engine 4 con il suo sistema di Blueprints e grandi effetti visivi fuori dalla scatola è una strada da percorrere.

D’altra parte, se stai lavorando su una soluzione aziendale complessa che richiede molta personalizzazione, sviluppo iterativo, prototipazione e ottimizzazione, l’apprendimento dell’ambiente Unity3D potrebbe essere un’ottima opzione.

Studia attentamente entrambe le piattaforme, capisci cosa funziona meglio per te e ricorda che puoi provare entrambe le piattaforme gratuitamente.

Buona fortuna con i tuoi progetti!

Ottieni lo sviluppo XR con Unity Syllabus

Vuoi sapere esattamente cosa imparerai? Scarica il programma del corso.