Articles

Unity vs Unreal Engine für die XR-Entwicklung: Welche ist besser?

Wenn Sie eine XR-Anwendung für Ihr Unternehmen oder Ihr persönliches Projekt entwickeln möchten, gibt es keinen besseren Zeitpunkt als jetzt.

Heutzutage ermöglichen 3D-Game-Engines wie Unity3D und Unreal Engine Menschen ohne vorherige VR-Entwicklungserfahrung, VR-Lösungen auf Augenhöhe mit Branchenveteranen zu erstellen. Zumal Sie mit beiden Engines kostenlos experimentieren können, solange Sie möchten.

Reddit-Benutzer

Marktanteil von Spielen, die mit Game Engines auf Steam erstellt wurden. Quelle: Reddit

Ursprünglich wurden diese Softwareplattformen für die Entwicklung von 3D-Videospielen entwickelt, aber da die Entwicklung für VR (und AR) viele Ähnlichkeiten mit der Spieleentwicklung aufweist, wurden diese Game Engines von den XR-Communities übernommen.

Für Erfolgsgeschichten muss man nicht weit gehen.

Es stellt sich jedoch eine weitere Herausforderung. Welchen Motor sollten Sie wählen? Einheit oder unwirklich? Oder vielleicht etwas ganz anderes?

Es gibt mehrere Optionen (CryEngine, ApertusVR, Amazon Sumerian), aber es gibt zwei Motoren, die den Marktanteil des XR-Entwicklungsmarktes dominieren: Unity3D und Unreal Engine 4.

Das Beste? Beide Spiel-Engines können als kostenlose Version verwendet werden. Wenn Sie es nicht einem Münzwurf überlassen möchten, hilft Ihnen dieser Artikel zu verstehen, welche Stärken und Schwächen diese beiden Lösungen haben.

Dieser Artikel entlarvt auch viele Mythen, die diese Spiel-Engines umgeben, um Ihnen zu helfen, ohne Voreingenommenheit diejenige zu wählen, die für Ihr Projekt am besten geeignet ist. Wir schauen aus der Linse eines Virtual-Reality-Entwicklers, aber auch Spieleentwickler werden etwas daraus machen.

Beginnen wir mit einem kurzen Überblick über jeden einzelnen von ihnen.

Unity3D Übersicht

Unity3D ist eine Entwicklungs-Engine, die erstmals 2005 veröffentlicht wurde. Seitdem ist es die beliebteste 3D- und 2D-Entwicklungsplattform der Welt. Hier sind nur ein paar Statistiken:

  • 60% der AR/VR-Inhalte und 50% der Handyspiele werden mit Unity3D erstellt
  • Über 24 Milliarden Installationen von Engine in den letzten 12 Monaten
  • Unterstützt 28 Plattformen (von iOS & Oculus zu Windows Mixed Reality und alles dazwischen)

Aufgrund seiner hohen Beliebtheit bei mobilen Plattformen gibt es einen anhaltenden Mythos, dass Unity3D nur für mobile Projekte geeignet ist.

Das liegt vor allem daran, dass Unity3D in der Vergangenheit selbst stark auf den mobilen Markt ausgerichtet war, insbesondere während des Aufstiegs des AppStore von Apple und des Play Market von Google.In Wahrheit hat sich die Engine in den letzten Jahren so weit weiterentwickelt, dass sie jetzt eine facettenreiche Entwicklungsplattform ist, die für jede komplexe XR-Lösung verwendet werden kann.

Mythos: Unity eignet sich gut für mobile VR/AR

Wahrheit: Unity eignet sich sowohl für plattformübergreifende Lösungen als auch für komplexe XR-Projekte (z. B. werden gesamte Audi-Logistik- und Fahrzeugkonfiguratorschulungen innerhalb der Unity3D-Plattform erstellt). Oder schauen Sie sich die VR-Trainingssimulations-Fallstudie von Circuit Stream von INVISTA an.

Was ist mit der Unreal Engine?

Unreal Game Engine 4 Übersicht

Bildquelle

Die Unreal Engine hat eine lange Geschichte als Game Engine, die bis ins Jahr 1998 zurückreicht. Im Laufe seiner Lebensdauer wurde es an eine Handvoll AAA-Studios für Titel wie Unreal / Unreal Tournament und Deus Ex lizenziert. Es hatte mehrere Iterationen, wie Unreal Engine 2 & 3.

2015 vollzog sich eine Kehrtwende, als die 4. Version dieser allgegenwärtigen Entwicklungs-Engine für die breite Öffentlichkeit kostenlos wurde.Hinweis: Für Produkte mit Unreal Engine, die mehr als 3.000 US-Dollar pro Kalenderquartal verdienen, wird eine Lizenzgebühr von 5% erhoben. Es gibt keine Lizenzgebühr, wenn Sie die Unreal Engine für Architektur, Automobil, Film, Fernsehen, Rundfunk, Live-Events, Training und Simulation oder andere Nicht-Spiele-Projekte verwenden

Unten sind die wichtigsten Statistiken für Unreal Engine 4:

  • Mehr als 7 Millionen Benutzer aus der Design- und Unternehmensgemeinschaft
  • Über 15 unterstützte Plattformen

Heutzutage können Indie-Entwickler und große Studios Unreal Engine für ihre verschiedenen Projekte verwenden, darunter Spiele, Bildungssysteme und Geschäftslösungen.Aufgrund der Herkunft von Unreal Engine ist es eine allgemeine Wahrnehmung, dass Unreal Engine 4 nur dann ein großartiges Werkzeug ist, wenn Sie an komplexen Multi-Millionen-Dollar-Projekten arbeiten, insbesondere an Videospielen.

Games made with Unreal Engine 4Eine Liste von AAA-Titeln, die mit UE4 entwickelt wurden und 2020 erscheinen. Ist noch jemand von Final Fantasy VII Remake begeistert?Während es wahr ist, dass einige der beliebtesten Spiele-Titel, wie Fortnite, mit Unreal Engine 4 gebaut werden, entwickelt das Unternehmen hinter UE4, Epic Games, aktiv ein mobiles Segment, zusammen mit der Unterstützung von Community-Projekten durch ihre Unreal Dev Grants Programm.

Es gibt auch VR-spezifische Spiele wie Batman: Arkham VR von Rocksteady Studios.

Mythos: Unreal Engine 4 ist nur gut für AAA-Spiele-Titel

Wahrheit: Unreal Engine 4 kann für VR / AR-Entwicklung, 2D-Spiele, 3D und mobile Entwicklung gleichermaßen verwendet werden.

Im Laufe der Jahre haben sowohl Unity3D als auch Unreal Engine ihre Schwachstellen behoben, sodass es keine einfache Aufgabe ist, einen von ihnen dem anderen vorzuziehen.

Um dies zu tun, lassen Sie uns über die Unterschiede für die XR-Entwicklung mit diesen Plattformen durch mehrere Linsen sprechen.

Welcher Motor hat die beste Infrastruktur?

Um diese beiden Motoren richtig vergleichen zu können, müssen Sie verstehen, dass der Unterschied nicht nur in technischen Aspekten liegt (obwohl wir im folgenden Abschnitt auch darüber sprechen werden), sondern auch in der Infrastruktur, die sie umgibt.

Wichtige Faktoren der Infrastruktur besteht aus Vermögenswerten speichert, Dokumentation und Gemeinschaft.

Lassen Sie uns über jeden von ihnen im Detail sprechen.

Assets Stores

Jede virtuelle Umgebung muss mit virtuellen Objekten gefüllt sein, die eine reale oder imaginäre Welt darstellen.

Nachfolgend finden Sie ein Beispiel für eine VR-Trainingslösung, die für das Callaway Energy Center entwickelt wurde:

VR-Trainingslösung bei Ameren Missouri

Sie können 3D-Assets mit einer 3D-Modellierungssoftware wie Maya, Blender oder 3ds Max von Grund auf neu erstellen oder die Assets über den Assets Store erwerben.

Sowohl Unity als auch Unreal Engine verfügen über Asset-Märkte, auf denen Sie vorgefertigte 3D-Modelle, Objekte, Umgebungen usw. kaufen können.

Die aktuelle Anzahl der Assets im Unreal Engine Marketplace liegt bei rund 10.000:

Bibliothek der Unreal Engine-Assets

Die Anzahl der Assets im Unity Asset Store ist mit mehr als 31.000 3D-Assets allein das Fünffache:

Unity Asset Library

Der Unterschied zwischen den beiden Asset-Märkten wird zu einem Faktor, je nachdem, für welches Projekt Sie sich entscheiden.

Unreal Engine-Assets sind tendenziell eher auf fertige Spieleproduktionen ausgerichtet. Viele von ihnen wurden zuvor in AAA-Spielen verwendet.

Das erklärt ihre höhere visuelle Qualität. Unter diesen Vermögenswerten gibt es Burgen, Science-Fiction-Technologie und Monster.

Bildquelle: UnrealEngine.com

Wenn Sie ein Spiel mit einem relevanten Fantasy- oder Sci-Fi-Setting entwickeln und feststellen, dass einige UE4-Assets perfekt für Ihr Projekt sind, kann der Unreal Engine 4 Marketplace ein entscheidender Faktor sein.

Zur gleichen Zeit, wenn Sie eine VR-Anwendung für Unternehmen entwickeln, sind Grafiken nicht so wichtig wie Relevanz und iterative Entwicklung.

Da Sie im Unity3D Store aus mehr Assets auswählen können, ist es einfacher, relevantere Modelle zu finden und Ihre Geschäftsumgebung schnell zu prototypisieren, ohne 3D-Modellierer einstellen und virtuelle Requisiten von Grund auf neu erstellen zu müssen:

Nachfolgend finden Sie ein Beispiel für ein 3D-Modell eines Düsentriebwerks, das Sie im Unity Asset Store finden. Es könnte in der VR-Trainingssimulation für die Jet-Wartung verwendet werden:

Bildquelle: 3D-Asset, das ein militärisches Düsentriebwerk darstellt

In Bezug auf Assets ist unity3ds Store sehr fortschrittlich. Die Unreal Engine holt jedoch auf, und Epic Games hat kürzlich ein Quixel Megascans-Paket mit 10.000 hochwertigen Materialscans aus der Quixel-Bibliothek veröffentlicht.

Lassen Sie uns über die Dokumentation und das Training für diese Motoren sprechen.

Dokumentation & Training

Sowohl Unity3D als auch Unreal Engine 4 verfügen über eine umfangreiche Dokumentation zur Verwendung der Engines und zur XR-Entwicklung.:

  • Unity3D XR Dokumentation
  • Unreal Engine XR Dokumentation

Aber der wirkliche pädagogische Wert kommt von externen Schulungen.

Obwohl es qualitativ hochwertige Schulungen gibt, in denen Sie lernen, wie Sie XR-Anwendungen für Unity3D und Unreal Engine erstellen, ist die Anzahl dieser Kurse für Unity-Entwickler erheblich größer.Zum Beispiel bietet die Udemy-Bildungsplattform rund 2.200 Kurse für Unreal Development und 5.500 für Unity an. Obwohl die meisten dieser Kurse Ihnen beibringen, wie man Spiele entwickelt, können die Grundkenntnisse auch zum Erstellen anderer Arten von Anwendungen verwendet werden.

Wie für die Business-und Enterprise-orientierte Kurse, neigen diese Unity3D-Umgebung aufgrund seiner entwickelten Infrastruktur und niedrigeren Einstiegspunkt für neue Entwickler zu nutzen.

Sie können mehr über die Struktur des XR-Kurses erfahren und wie genau Sie darin lernen, fertige XR-Anwendungen zu erstellen, indem Sie den Lehrplan für unser 10-wöchiges projektbasiertes Live-XR-Entwicklungstraining herunterladen.

Lassen Sie uns ausführlich über den Unterschied zwischen den Entwicklungsgemeinschaften für Unity3D und Unreal Engine sprechen.

Entwicklergemeinschaft

Jedes Jahr erweitern Entwickler die Grenzen dessen, was in XR möglich ist.

Sowohl Unity3D als auch Unreal Engine geben ihr Bestes, um Entwicklern relevante Dokumentationen und Schulungsmaterialien zur Verfügung zu stellen.

Fehler, Pannen, Quetschungen und ungelöste Code-Rätsel treten jeden Tag auf. Wer wird Ihnen helfen, diese zu lösen, besonders wenn Sie alleine sind?

Andere Entwickler.

Hier wird die Rolle der Community, die die Game Engine umgibt, von größter Bedeutung, insbesondere in einer aufstrebenden XR-Branche

Unity3D als frei zugängliche Engine gibt es schon länger als Unreal Engine 4, daher gibt es natürlich eine größere Community von Indie-Entwicklern.

Im Forum von Unreal Engine gibt es beispielsweise 12.000 Themen zur C ++ – Programmierung und 4.600 Themen zur VR- und AR-Entwicklung.

Im Unity3D-Forum gibt es mehr als 128.000 Threads zum Thema Scripting und mehr als 6.100 Themen zur VR-Entwicklung. Was das bedeutet, ist, dass, wenn ein Problem auftritt, gibt es eine bessere Chance, jemanden mit dem gleichen Problem zu finden, die Sie über ihre Lösung lernen helfen können.Eine andere Sache über die Community von Unreal Engine 4 ist, dass sie zwischen Nicht-Programmierern, die Anwendungen hauptsächlich mit einem visuellen Skriptsystem namens Blueprints erstellen, und Entwicklern, die C ++ kennen und verwenden, aufgeteilt ist.

Ein Beispiel für eine Blueprint-basierte Funktion

Es gibt mehr Nicht-Programmierer in der Unreal Engine-Community. Sie werden sehen, dass die Anzahl der Blueprint-basierten Diskussionen im Forum doppelt so hoch ist wie die Anzahl der C ++ – Programmierdiskussionen.

Diese Aufteilung wird offensichtlich, weil viele C ++ – Entwickler Blueprints nicht aktiv in ihrem Entwicklungsprozess verwenden: Denn Code-basierte Lösungen sind in der Regel ressourcenoptimierter und flexibler als Blueprint-basierte. Daher sind erfahrene C ++ – Entwickler möglicherweise nicht in der Lage, Nicht-Programmierern zu helfen, nur weil sie nicht dieselbe Sprache sprechen.

Im Gegenteil, jeder Unity3D—Entwickler kennt C # – seine primäre Entwicklungssprache, so dass erfahrene Entwickler Anfängern leicht die Seile zeigen können. Es ist auch etwas, was wir von Anfang an im XR Development for Unity-Kurs unterrichten.

Lassen Sie uns im nächsten Abschnitt ausführlich über den Unterschied zwischen dem Entwicklungsprozess sprechen.

Der Entwicklungsprozess

Beide Engines haben viele Gemeinsamkeiten, wenn es um die Entwicklung von XR-Anwendungen geht. Es gibt jedoch auch wichtige Unterschiede, über die wir in diesem Abschnitt sprechen werden.

C # vs C++ und Blueprints Vergleich

Der vielleicht größte Unterschied zwischen den beiden Engines besteht darin, dass sie unterschiedliche Programmiersprachen verwenden.

Obwohl es mehrere Programmiersprachen gibt, die Sie mit Unity3D verwenden können, ist die Hauptsprache für die Plattform C #.

Unreal Engine 4, auf der anderen Seite können Entwickler zwischen C ++ Programmierung und Blueprint Visual Scripting-System zu wählen.

Die Debatten darüber, welche Sprache, C # oder C ++, besser ist, gibt es schon seit Ewigkeiten und sind, ehrlich gesagt, bedeutungslos.

Beide Sprachen eignen sich perfekt für die XR-Entwicklung, und es kommt darauf an, mit welcher Sie sich wohler fühlen oder mehr Erfahrung haben.

Allerdings kann C # für Anfänger etwas einfacher sein, und hier ist der Grund.

Zunächst einmal ist C # -Code einfacher.

Nehmen wir ein primitives 3D-Objekt wie cube und lassen es gleichzeitig schweben und rotieren:

Hier ist ein Code dafür aus der offiziellen Unreal Engine-Dokumentation:

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()

Und hier ist der Code, um das gleiche Ergebnis in Unity3D zu erzielen:

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);
}
}

Ergebnis:

Bildquelle

Beachten Sie, dass Sie im Unreal Engine-Beispiel zwei separate Dateien erstellen müssen, eine für die Deklaration und eine für die Definition.

Es ist erwähnenswert, dass, obwohl ein großer Teil des Codes von Unreal Engine automatisch erstellt wird, es ein wenig kompliziert erscheinen mag, wenn Sie gerade erst mit der Entwicklung beginnen.

Gleichzeitig verfügt Unreal Engine über ein Blueprint Visual Scripting Interface-System, mit dem Sie auch komplexe Anwendungen erstellen können. Sie müssen nicht codieren und der Workflow ist knotenbasiert.
Knotenbasierter Ansatz in UE4

Aus der offiziellen Unreal Engine 4-Dokumentation

Fast jeder Abschnitt in der Unreal Engine-Dokumentation wird sowohl von in C ++ als auch von Blueprint-Beispielen unterstützt.

Es ist ziemlich einfach, Blaupausen zu lernen, besonders wenn Sie gerade erst anfangen. Um jedoch das Beste aus UE4 herauszuholen, wird empfohlen, C ++ zu lernen und Blueprint-basierte Lösungen mit Code zu kombinieren.

Hinweis: es gibt ein benutzerdefiniertes Unity3D-Plugin, Playmaker, das visuelles Scripting in Unity3D auf die gleiche Weise wie Blueprints in UnrealEngine 4 ermöglicht.Ein weiterer möglicher Vorteil von C # ist, dass 90% der VR / AR-Entwicklungsunternehmen C # verwenden, was zu einer weitgehend dokumentierten Codebasis und einer größeren Anzahl getesteter Lösungen in der Entwicklungsgemeinschaft führt.

Zugriff auf den Quellcode der Plattform: Unreal Engine Vs Unity3D

Beide Plattformen sind autark – die Tools und Workflows, die sie anbieten, sind mehr als genug, um XR—Anwendungen jeglicher Art ohne Änderungen am Quellcode der Plattformen zu erstellen.

Es gibt jedoch einen großen Unterschied zwischen UE4 und Unity3D.

Unreal Engine 4 ist eine Open-Source-Engine. Unity3D nicht.

Das bedeutet, dass Sie den UE4-Quellcode kostenlos an Ihre Bedürfnisse anpassen können. Gleichzeitig können Sie den Unity3D-Quellcode anzeigen, aber um ihn zu ändern, müssen Sie eine Enterprise-Lizenz erwerben.

Während dies für größere Produktionen ein Deal Breaker sein kann, sollten kleinere Entwicklerteams sorgfältig überlegen, ob sie den Quellcode der Plattform überhaupt ändern sollten, da sonst eine schnelle Lösung eine Lawine von Fehlern an anderer Stelle hervorrufen kann.

Wenn Sie benutzerdefinierte Funktionen in Unity3D benötigen, sollten in den meisten Fällen plattformbasiertes Scripting und Plugins aus dem Asset Store ausreichen.

Unity3D und Unreal Engine Grafikvergleich

Wenn wir bis 2012 zurückreisen würden, als Unreal Engine 4 zum ersten Mal der Öffentlichkeit vorgestellt wurde, war die Qualität der Grafiken zu dieser Zeit beispiellos.

Während sich Unity3D hauptsächlich auf die Entwicklung von Indie- und Handyspielen konzentrierte, wurde Unreal Engine auf den Knochen von AAA-Spieleproduktionen aufgebaut.

Seitdem war der vorherrschende Mythos, dass man Unreal Engine 4 verwenden muss, wenn man fotorealistische Grafiken haben möchte.

Mythos: Wenn Sie atemberaubende Grafiken benötigen, verwenden Sie Unreal Engine 4

Wahrheit: Sowohl Unreal Engine 4 als auch Unity3D sind in der Lage, fotorealistische Szenen zu erstellen und bieten Werkzeuge für die Erstellung atemberaubender Visuals

Hier ist ein Vergleich der Grafiken zwischen diesen beiden Plattformen:

Das heißt, Unreal Engine 4 hat ein paar Vorteile in der Grafikabteilung.

Alle Out-of-Box-Unreal Engine-Projekte, einschließlich Assets, Szenen und Tutorial-Projekte, sehen besser aus.

Interessante Tatsache: Unreal Engine 3 enthielt einen voll funktionsfähigen Lens Flares-Editor, während Unreal Engine 4 Lens Flares als reinen Nachbearbeitungseffekt behandelt. Unity3D bietet weiterhin eine Vielzahl von Optionen zum Bearbeiten von Linseneffekten vor der Verarbeitung. Alternativ können Sie benutzerdefinierte Ebenen in UE4 mithilfe von Materialknoten erstellen.

Mit Unity3D benötigen Sie möglicherweise einige Optimierungen, um das Beste aus Ihren 3D-Assets herauszuholen.

Erweiterte Shader, erweiterte dynamische Beleuchtung, PBR-Materialien – es ist einfach weniger Arbeit für Sie zu Beginn in Unreal Engine 4 als in Unity3D.

Wenn Sie jedoch Blueprints verwenden, können komplexe Knoten-Workflows zu Leistungsproblemen führen. Eine große Anzahl von Knoten, komplizierte Mathematik und ressourcenintensive Betriebsschleifen können die Dinge im Vergleich zu einer optimierten C ++ – Codelösung verlangsamen.

Nachfolgend finden Sie ein Beispiel, das zeigt, wie ein komplexes Blueprint-System die FPS im Vergleich zu einem C ++ – Code drastisch reduziert. Der Unterschied scheint jedoch mit aktivierten MultiThread- und Nativierungsprozessen geglättet zu werden.

Ein Leistungsvergleich zwischen C ++ – und Blueprint-Lösungen

Rendering-Vergleich: Unreal Engine 4 vs Unity 3D

Rendering in Unreal Engine 4

Die Unreal Engine ist eine Spiel-Engine, die in der Videospielbranche Wellen geschlagen hat und als eine der ersten DirectX Raytracing (DXR) unterstützt, sodass Sie nur Raytracing für Pässe verwenden können, die dies benötigen, und Rasterisierung für diejenigen, die dies nicht tun. Dies stellte sicher, dass sowohl die Renderqualität als auch die Rendergeschwindigkeit erfüllt werden, was jeder Entwickler will!

Seitdem hat UE 4 mit jedem nächsten Update massive Fortschritte gemacht, um die Rendergeschwindigkeit und -qualität zu verbessern.

Das neueste Wassersystem in Unreal Engine 4.26 ist sicher, jedes Gewässer zu schaffen, das Sie sich vorstellen können, von kleinen Teichen bis zu riesigen Ozeanen.

Das neueste Update für Unreal Engine 4 führte auch ein neues Cinematic Cloud-System ein. Mit traditionellen Methoden, die auf Skydome-Texturen basieren, erschienen Wolken oft flach und von geringer Qualität, wenn sie aus der Luftperspektive oder von unten betrachtet wurden. Dies ist beim volumetrischen Beleuchtungssystem des UE4 nicht mehr der Fall, da es von höherer Qualität ist und in allen Blickwinkeln hält.

Die neue volumetrische Wolkenkomponente wurde entwickelt, um Interaktionen mit der Umgebungsbeleuchtung der Himmelslichtkomponente der Unreal Engine und zwei richtenden Lichtern, die Sonne und Mond darstellen, zu unterstützen.

Die Unreal Engine 4.26 wurde ebenfalls mit verschiedenen Verbesserungen der Video-Rendering-Warteschlange veröffentlicht, z. B. einer kontrollierteren endgültigen Renderausgabe, Kamerabewegungsvektoren, Z-Tiefe und mehr. Die neu hinzugefügte Unterstützung für Apple Pro- und Avid NxHR-Codecs trägt ebenfalls zum hochwertigen Medienexport bei.

Die nächste Iteration der Unreal Engine wird Ende 2021 enthüllt. Die Unreal Engine 5 wird über ein High-End-Reflexionssystem, eine volldynamische globale Beleuchtung und Ambisonics-Rendering verfügen.

Rendern in Unity 3D

Unity bietet zwei Rendering-Techniken oder „Pfade.“ Um Ihr Projekt auf dem richtigen Fuß zu starten, müssen Sie frühzeitig entscheiden, welchen Pfad Sie verwenden möchten: Vorwärtsrendern (Standard) oder verzögertes Rendern.

Forward Rendering ist eine ausgezeichnete Option für diejenigen, die mit Transparenz und benutzerdefinierten Schattierungsmodellen arbeiten möchten. Wenn Sie die Anzahl der Lichter in Ihrem Spiel verwalten können, kann das Vorwärts-Rendering eine Hochgeschwindigkeitslösung sein.


(Quelle)

Beim verzögerten Rendern verschieben wir die Schattierung und Mischung von Lichtinformationen bis nach einem ersten Durchgang über den Bildschirm, bei dem Positionen, Normale und Materialien für jede Oberfläche in einem „Geometriepuffer“ (G-Buffer) als eine Reihe von Bildschirmraumtexturen gerendert werden. Verzögertes Rendern ist eine leistungsstarke Technik, erfordert jedoch High-End-Hardware, um die beste Leistung zu erzielen. Es wird auch nicht von einigen mobilen Geräten unterstützt.

Ok, cool. Aber was ist mit fotorealistischem Rendering?

Nach Jahren der aktiven Entwicklung ist das Überschreiten der Grenzen von Realismus und künstlerischem Ausdruck nun in Reichweite der skriptfähigen Renderpipeline von Unity. Die neueste Universal Render Pipeline (URP) und High Definition Render Pipeline (HDRP) von Unity erstellen immersivere Grafiken für immersive digitale Erlebnisse, von realistischen Materialien bis hin zu filmischen Lichteffekten.

Das neueste HDRP 10-Update enthält bessere Tools, mit denen Sie die Beleuchtung debuggen können, während der neue Tiefenschärfemodus schöne, qualitativ hochwertige Bilder mit Path-Traced-Defocus-Unschärfe erzeugt.

URP bietet künstlerfreundliche Workflows zum Erstellen optimierter Grafiken auf einer Reihe von Plattformen mit nur einem Klick. Sein ausgeklügeltes Screen Space Ambient Occlusion-System nähert sich der Helligkeit oder Dunkelheit einer Oberfläche basierend auf ihren umgebenden Oberflächen und der Exposition gegenüber Umgebungslicht an. Auf diese Weise können Sie die visuelle Qualität der Umgebungsbeleuchtung in Ihren Szenen verbessern, indem Sie die Schatten von Objekten realistischer als je zuvor gestalten.

Fun act: Beide Engines arbeiten aktiv mit externen 3D-Studios zusammen, um einen reibungslosen Übergang von 3D-Formaten in die Engine zu gewährleisten. Beispielsweise unterstützen sowohl Unity3D als auch UE4 das von Pixar entwickelte USD-Format (Universal Scene Description), um Asset-Pipelines zu unterstützen und Teams die Arbeit mit Asset-Referenzen und Überschreibungen zu ermöglichen.

Denken Sie insgesamt daran, dass Sie mit Unity3D immer die gleichen Ergebnisse erzielen können und zu diesem Zeitpunkt beide Plattformen bis zu dem Punkt perfektioniert sind, an dem es keinen sichtbaren Unterschied zwischen der visuellen Qualität gibt, die sie erzeugen können.

Bemerkenswerte Projekte mit Unreal Engine 4 und Unity3D

Beide Engines wurden ausgiebig für die AAA-Produktion und die Entwicklung von Indie-Spielen verwendet, und die bekanntesten Spiele der letzten Jahre wurden mit beiden Plattformen erstellt.

In den letzten Jahren kam es jedoch zu einem dramatischen Wechsel, und beide Plattformen werden jetzt nicht nur für die Unterhaltungsindustrie, sondern auch für praktischere und geschäftsorientiertere Lösungen genutzt.

Aufgrund der Fortschritte der XR-Technologie nutzen Unternehmen, Bildungszentren und Fertigungsunternehmen XR-Anwendungen ausgiebig, um ihren Workflow und ihre Gewinne auf vielfältige Weise zu verbessern.

XR-Projekte auf Basis der Unreal Engine 4

Zum Beispiel verwendet ein Arzneimittelentwicklungsunternehmen C4X Discovery die Unreal Engine 4, um molekulare Daten zu visualisieren und so die Entwicklung neuer Medikamente zu beschleunigen.Die Visualisierung komplexer Daten in VR ermöglichte es Wissenschaftlern, Verbindungen aus einer neuen Perspektive zu beobachten, Konstruktionsfehler leichter zu erkennen und effektiv auf der ganzen Welt zusammenzuarbeiten, ohne sich im selben Raum befinden zu müssen.

Die Visualisierung komplexer Daten in VR hat viele Anwendungen. Ein weiteres Beispiel kommt von Air Canada, die Unreal Engine verwendet, um eine VR-Präsentation für ihre Top-Flug Business Class Service zu erstellen.

Es ist erwähnenswert, dass 97% des Projekts mit Blueprints und nicht mit Codierung durchgeführt wurden. Der Grund dafür ist, dass präsentationsorientierte VR-Projekte einfacher durchzuführen sind als XR-Schulungen, da sie eine komplexere Interaktion erfordern, als nur etwas zu beobachten.

Lassen Sie uns über einige XR-Projekte sprechen, mit denen namhafte Unternehmen ihre Trainings- und Betriebsabläufe revolutionieren.

XR-Projekte Auf Basis von Unity3D

Der deutsche AutomobilrieseAudi hat ein modulares VR-Training mit 20 verschiedenen Programmen in mehreren Sprachen entwickelt, um seine Trainingsabläufe in den Bereichen Logistik, Service und Produktion zu verbessern.


Bildquelle: audi-mediacenter.com

VR-Training ist laut Audi bei Arbeitgebern sehr beliebt und verbessert den Lernprozess, die Motivation der Mitarbeiter und den Ehrgeiz der Auszubildenden.

INVISTA, ein weltweit tätiges Unternehmen für Polymer- und chemische Zwischenprodukte mit Sitz in den USA, nutzt eine Unity3D-basierte XR-Lösung, um eine Arbeitsumgebung zu simulieren und Mitarbeiter in VR zu schulen.

Holen Sie sich die XR-Entwicklung mit Unity Syllabus

Möchten Sie genau wissen, was Sie lernen werden? Laden Sie den Lehrplan herunter.

Boeing, GE, US Navy verwenden VR/AR-Anwendungen auf Basis von Unity3D, um Mitarbeiter effizienter zu schulen, mit Vorteilen wie verbesserter Schulungsbindung, verbesserter Sicherheit und reduzierten Betriebsausfallzeiten, um nur einige zu nennen.

Unternehmen nutzen Unity3D aber auch zu Präsentationszwecken. Schauen Sie sich dieses BMW 2019 Showcase an und versuchen Sie zu erraten, welches gerendert und welches echt ist:

YouTube Link

Zusammenfassung

In den letzten Jahren haben sich beide Motoren sprunghaft weiterentwickelt, ihre Schwachstellen behoben und beharrlich den neuesten Branchentrends gefolgt.

Früher war es Unity3D für mobile Projekte und Unreal Engine für AAA-Spiele, aber seitdem haben sich die Dinge so sehr verändert.

Beide Plattformen eignen sich perfekt für die Erstellung komplexer XR-Lösungen und Indie-Projekte. Beide Plattformen sind in der Lage, atemberaubende Visuals und plattformübergreifende Anwendungen zu erstellen.Obwohl Unity3D mehr Plattformen unterstützt und für seinen plattformübergreifenden Entwicklungsansatz bekannt ist, sind beide Engines für die Arbeit mit der neuesten XR-Technologie auf dem Markt optimiert. Viele Entwickler behaupten, Unity sei aufgrund der Benutzerfreundlichkeit eine gute Wahl.

Es hängt alles von Ihrer bisherigen Erfahrung und Umgebung ab, in der Sie arbeiten.

Haben Sie viel Erfahrung mit C++ Programmierung? Die Unreal Engine ist der richtige Weg.

Wenn Sie jedoch gerade erst als Entwickler anfangen, ist C # von Unity möglicherweise eine praktischere Sprache für Anfänger, da es eine größere Community und eine größere Codebasis gibt.

Wenn Ihre Anwendung stark auf Präsentation und Grafik ausgerichtet ist, z. B. ein Desktop-Spiel mit AAA-Assets oder visuelle Präsentation für Unternehmen, dann ist möglicherweise Unreal Engine 4 mit seinem Blueprints-System und großartigen visuellen Effekten ein Weg zu gehen. Wenn Sie andererseits an einer komplexen Geschäftslösung arbeiten, die viel Anpassung, iterative Entwicklung, Prototyping und Optimierung erfordert, ist das Erlernen der Unity3D-Umgebung möglicherweise eine gute Option.

Studieren Sie beide Plattformen sorgfältig, verstehen Sie, was für Sie besser funktioniert, und denken Sie daran, dass Sie beide Plattformen kostenlos ausprobieren können.

Viel Glück mit euren Projekten!

Holen Sie sich die XR-Entwicklung mit Unity Syllabus

Möchten Sie genau wissen, was Sie lernen werden? Laden Sie den Lehrplan herunter.