Jump to content
Unity Insider Forum

Unreal Engine 4 Grafik besser?


F1R3ON

Recommended Posts

Liebe Community,

vorweg das Thema soll sachlich behandelt werden, ich bin kein Fan-User von einer Engine, sowie Unity als auch die Unreal Engine haben Ihre Vor und Nachteile, dennoch wird mir eine Frage nicht ganz so klar beantwortet und zwar, wieso sollte die Unreal Engine 4 besser geeignet sein von leistungsstarken Spielen (Grafik)?

 

Könnte mir jemand oder mehrere Personen ausführlich erklären wieso das so ist?

Link zu diesem Kommentar
Auf anderen Seiten teilen

Da ich nie die UE genutzt habe, kann ich nichts vergleichendes sagen. Es ist aber schon so, dass Unity teilweise hinterher hinkt. Nicht viel, aber im Endeffekt kommt mit jedem Unityupdate etwas raus, was bei der UE schon längere Zeit geht.
Trotzdem kann man mit Unity auch AAA Games erstellen. Es müssen dann aber auch die besten Leute mit Unity arbeiten. Ob etwas viel Leistung braucht oder nicht, hängt davon ab, wie gut etwas optimiert ist. Und das hängt somit an den Leuten,  die damit arbeiten. Haste also ein gutes erfahrenes Team, wirst du am Schluß keinen Unterschied zur UE erkennen.
Die Engine ist erstmal nur ein Werkzeug mit gewissen fertigen Möglichkeiten. Wenn man das Werkzeug bedienen kann, dann wirds auch genauso gut wie mit nem anderen Werkzeug.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hier mal ein klassisches Gegenbeispiel, dieses Spiel wurde in Unity entwickelt (hab jetzt mal irgendein Video rausgesucht, gibt bessere).


Allerdings muss man dazu folgendes ergänzen:
- es wurden eigene optimierte Shader verwendet
- optimierte Grafikassets
- es wurden so gut wie keine Standard-Unity-Komponenten verwendet (kein Unitynavmesh, kein Mechanim)
- laufzeitoptimierte "objektübergreifende" Crowd Movement C#-Klassen

Soll heißen, wenn man in Unity einfach ein paar Assets zusammenwürfelt und Skripte "wahllos" an jedes Objekt in der Szene hängt, dann kann man davon ausgehen, daß vermutlich das Ergebnis langsamer sein wird, als wenn man etwas vergleichbares in Unreal tut. Nach meinen Erfahrungen in Unreal wird man über die "komplexere" API mehr dazu gezwungen komponentenübergreifend zu "denken" bzw. der Engine zuzuarbeiten. Allerdings wird man mit dieser Vorgehensweise auch in Unreal kein wirklich performantes Game kreieren. Ansonsten stimme ich Malzie zu 100% zu, beachtet man die Regeln der Engine und ersetzt performancehungrige Komponenten gegen eigene Lösungen, dann sollte man an die Performance von Unreal herankommen oder sie sogar übertreffen. Allerdings sehe ich die Stärke von Unity eher in der leichteren Bedienbarkeit und in der generell viel offeneren Plattform (2D und 3D Spiele, starke Community). Unreal ist sehr stark auf Multiplayer-"Shooter" zugeschnitten (zumindest viel mir das damals auf, wo ich es verwendet hatte) und daher steigt der Entwicklungsaufwand hier massiv, wenn man dieses Genre verlässt. Man kann es ein wenig vergleichen mit dem Unterschied zwischen C und C++(C#) oder dem Unterschied zwischen C und Java.

 

Link zu diesem Kommentar
Auf anderen Seiten teilen

vor 19 Stunden schrieb F1R3ON:

wieso sollte die Unreal Engine 4 besser geeignet sein von leistungsstarken Spielen (Grafik)?

Die Unreal Engine gibt dir einfach einfacher zu bedienende Tools an die Hand was Grafik betrifft. Der Shader Editor beispielsweise ist mit ein bisschen Übung richtig easy zu bedienen und man kann ziemlich gute Ergebnisse erzielen. Das wars dann meiner Meinung nach aber auch schon. Und das einfache Bedienen kommt da auch zu einem (für mich) teuren Preis nämlich, dass man unfassbar eingeschränkt wird. Ich wollte meinen Voxel Generator zu Unreal portieren aber das war ein Ding der Ewigkeit. Man kann Meshes nicht prozedural generieren (was auch Abseits von Voxeln hin und wieder ganz nett wäre - es gibt zwar schon länger ein Mesh womit das funktioniert, das ist aber nach wie vor experimentell)
Außerdem ist es wirklich unsinnig wenn man mal Shader benutzen möchte die über die (recht restriktiven) Möglichkeiten des Editors hinaus gehen (beispielsweise Triplanar), da muss man (damals war das zumindest so) in der Engine selbst rumwurschteln und ein Flag setzen, damit sie Shader Code verarbeitet (das sie eigentlich von Haus aus kann aber nicht machen will)

Back to the topic: Man kann wohl schon irgendwie sagen, dass es in der Unreal Engine leichter ist grafisch hochqualitative Szenen umzusetzen, die man zwar in Unity mehr oder weniger identisch machen könnte, aber eben mit einem etwas größeren Aufwand. Dafür finde ich persönlich geht das Coding in Unity deutlich leichter von der Hand und das liegt nicht nur an C# vs C++ (ich mag C++, ich hab auch den Voxel Generator in C++ geschrieben und als Plugin in Unity eingebunden), sondern weil die Befehle, etc irgendwie in Unity einfach intuitiver sind und nicht so viel außen rum geschrieben werden muss (für wenig Performancevorteil und ein deutlich größeres Risiko von Programmierfehlern -> In Unreal)

Mein Eindruck war allerdings unter anderem auch, dass die Unreal Engine einfach als "DIE" Engine gilt mit der man geile Grafikspiele machen kann und sich daher (und durch die Grafiktools die da kostenlos mitkommen) viele Grafiker rund um die Engine tummeln, die dann natürlich auch dementsprechend geilen Content produzieren, wohingegen Unity primär von allen anderen genutzt wird und dadurch auch viel Crap rauskommt, weil da eben nicht Leute dran arbeiten die ein abgeschlossenes Design-Studium o.ä. haben und das dementsprechend nicht so gut können. Es gibt imho (in jüngster Zeit sogar verstärkt) fast genau so viel Unreal Engine Crap Spiele wie Unity Engine Crap Spiele.

Und zum Abschluss noch einen Alpha Trailer eines meiner Meinung nach sehr gut aussehenden Unity Spiels :P

 

PS: Mir ist bei Vergleichen von Unity vs Unreal auch sehr oft aufgefallen, dass viele der "Community Showreel Unreal Szenen" (also Videos wo einfach mit der Grafikpower von Unreal in privaten Projekten geprotzt wird) oftmals gebaked sind während die meisten solcher Videos von Unity Szenen in Realtime rendern, das sollte man auch immer beachten wenn man Vergleiche zieht.

@edit: hab das hier per Zufall gefunden, ich denke das passt noch ziemlich gut hier rein ^^

Brackey's geht da konkret auf die Unity <-> Unreal Grafics ein, warum Unreal "so viel besser" aussieht als Unity Zeugs und wie man manches davon in Unity auch haben kann. Ich denke die Message ist aber viel mehr, dass es möglich ist und da sind noch "millions other things you can do to amp up the graphical quality of your game".

Link zu diesem Kommentar
Auf anderen Seiten teilen

Ich würde noch hinzufügen, dass beim hinzufügen eines Post Processing Volume in UE direkt passende Post Processing Effekte mit schönen Standardwerten aktiv sind. Der überwiegende Teil der Unity Nutzer weiß nicht wirklich wofür welcher Effekt überhaupt da ist.
Tonemapping beispielsweise ist einer der am häufigsten falsch verwendeten Effekte.

Bei Außenszenen punktet UE durch ein viel aktuelleres Terrain System.

Davon abgesehen erwähne ich noch mal, was viele überhaupt nicht wissen:
Unity & UE benutzen die selbe Lösung für realtime Lighting (Enlighten)

Link zu diesem Kommentar
Auf anderen Seiten teilen

Ich denke viele Vorurteile kommen auch daher, daß das Lighting Setup in Unreal leichter umzusetzen ist, da hier die Standardszene bereits ein entsprechendes Lightsetting aufsetzt. In Unity kann man mittlerweile eine gleichwertige Qualität erreichen (Color Setup = "Linear"; Rendermode "Deferred"), du musst aber a.) genau wissen, was du tust und b.) wie LifeIsGood sagte, genau wissen, wie man Post Processing Effekte in Unity gekonnt einsetzt und einstellt. Zudem musst du wissen, wie man Lightmaps erstellt und wie man sie am sinnvollsten einsetzt (Qualität & Performance). Ich denke in Unreal war zumindest früher vieles "integrierter", was es aber auch erschwert, wenn du Sonderlösungen brauchst (siehe 2D Spiele,  kein 3D-Shooter Game, andere Lightsettings etc). In Unity bekommt man einen Basic-Baukasten und man muss sich seine Features zusammenbauen. Hat man alles zusammen, dann ist so gut wie kein Unterschied mehr zwischen der Grafik von Unity und Unreal zu erkennen!

Und der Vergleich war noch ohne den neuen Postprocessing-Stack von Unity2017:

 

Link zu diesem Kommentar
Auf anderen Seiten teilen

Ihr seid wirklich eine super Community, vielen Dank für die zahlreichen Antworten auf meine Frage :D

Ja Unity punktet mit Benutzerfreundlichkeit und den einfachen Einstieg und den grenzenlosen Tutorials die schon existieren.

Ich hab mir die Unreal Engine angesehen und auch getestet nur find ich die Struktur und wie ein Projekt gepackt wird nicht gerade so atemberaubend, da macht Unity einiges besser.

Ein Vorteil von der UE, was ich zugleich als Nachteil auch empfinde sind die Blueprints, von der Performance sind die ein Horror...

Mir kommt es auch so vor das die Kompressionen besser von Unity? sind als von UE?

Link zu diesem Kommentar
Auf anderen Seiten teilen

Ist jetzt nur meine Meinung, aber ich mag Unity sehr, aber da muss ich zugeben, dass Unreal Engine einfach bessere Grafik anbietet. Liegt daran, dass vieles schon standardmäßig aktiviert ist und mehr Funktionen hat und länger besteht.
Wenn man die Lichter, Anti-Aliasing, Schattierung anschaut sieht das richtig gut aus.  

In Unity muss man da bisschen rumfummeln und eventuell Sachen zusammen finden und erzielt dann auch eine "Schönheit".

Auf jeden Fall kann man als Schlusswort sagen, dass dennoch dieser "Wow"-Effekt bezüglich Grafik bei beiden auftreten kann.

 

vor 14 Stunden schrieb Tiwaz:

Man kann Meshes nicht prozedural generieren

Ich habe einige davon gesehen Facepunch Studios arbeitet gerade an auch sowas. Die wollen den Hammer Editor von Valve bzw Source Engine sozusagen etwas nach machen, weil der neue Garrysmod in Unreal Engine sein wird und wollen das leicht für die rüber kommenden machen. Die sind bei dem Spiel nicht bei Unity geblieben leider. Und da generieren die Meshes.

Vielleicht hab ich auch nur Falsch verstanden ^^

Link zu diesem Kommentar
Auf anderen Seiten teilen

vor 15 Stunden schrieb MaZy:

Und da generieren die Meshes.

Vielleicht hab ich auch nur Falsch verstanden ^^

 

Am 7.11.2017 um 14:36 schrieb Tiwaz:

Man kann Meshes nicht prozedural generieren (... es gibt zwar schon länger ein Mesh womit das funktioniert, das ist aber nach wie vor experimentell)

Es gibt ein ProceduralMesh aber wie bereits geschrieben ist das nach wie vor experimentell (hab schon länger nicht mehr nachgeschaut, vllt ist es ja mittlerweile tatsächlich "final"), da könnte sich also noch einiges ändern daran und ich persönlich hätte keine Lust mein Produkt um eine experimentelle Komponente aufzubauen. ^^
Bei Unity setz ich einfach die Daten im ganz normalen Mesh und fertig.

Link zu diesem Kommentar
Auf anderen Seiten teilen

  • 2 weeks later...
Am 7.11.2017 um 17:45 schrieb F1R3ON:

Ein Vorteil von der UE, was ich zugleich als Nachteil auch empfinde sind die Blueprints, von der Performance sind die ein Horror...

Es gibt mittlerweile für Unity (zu) viele Visual Scripting Plugins. Bolt käme UE's Blueprints am Nächsten. Wenn 74€ für dich zu teuer sind: warte bis zum Asset Store Mega Sale in 6 Tagen.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Archiviert

Dieses Thema ist jetzt archiviert und für weitere Antworten gesperrt.

×
×
  • Neu erstellen...