Unity vs Unreal Engine dla rozwoju XR: który jest lepszy?
Jeśli chcesz stworzyć aplikację XR dla swojej firmy lub osobistego projektu, nie ma lepszego czasu niż teraz.
obecnie silniki gier 3D, takie jak Unity3D i Unreal Engine, pozwalają osobom bez wcześniejszego doświadczenia w tworzeniu VR tworzyć rozwiązania VR na równi z weteranami branży. Szczególnie biorąc pod uwagę, że można eksperymentować z obu silników za darmo tak długo, jak chcesz.
udział w rynku gier zbudowanych z silników gier na Steam. Źródło: Reddit
początkowo te platformy oprogramowania zostały zbudowane w celu tworzenia gier wideo 3D, jednak ponieważ rozwój dla VR (i AR) ma wiele podobieństw z tworzeniem gier, te silniki gier zostały przyjęte przez społeczności XR.
nie musisz daleko iść, aby odnieść sukces.
jednak pojawia się kolejne wyzwanie. Jaki silnik wybrać? Jedność czy nierealność? A może coś zupełnie innego?
istnieje kilka opcji (CryEngine, ApertusVR, sumeryjski Amazon), jednak istnieją dwa silniki, które dominują na rynku rozwoju XR: Unity3D i Unreal Engine 4.
najlepsza część? Oba silniki gry mogą być używane jako darmowa wersja. Jeśli nie chcesz pozostawić tego do rzutu monetą, ten artykuł pomoże Ci zrozumieć, jakie są mocne i słabe strony obu tych rozwiązań.
Ten artykuł obala również wiele mitów, które otaczają te silniki gier, aby pomóc Ci wybrać bez stronniczości ten, który jest najlepszy dla Twojego projektu. Patrzymy z perspektywy dewelopera wirtualnej rzeczywistości, jednak nawet twórcy gier coś z tego będą mieli.
zacznijmy od szybkiego przeglądu każdego z nich.
Unity3D przegląd
Unity3D to silnik programistyczny, który został po raz pierwszy wydany w 2005 roku. Od tego czasu stała się najpopularniejszą platformą rozwoju 3D i 2D na świecie. Oto kilka statystyk:
- 60% zawartości AR/VR i 50% gier mobilnych jest wykonanych z Unity3D
- ponad 24 miliardy instalacji silnika w ciągu ostatnich 12 miesięcy
- obsługuje 28 platform (z iOS & Oculus to Windows Mixed Reality and all in-between)
ze względu na dużą popularność na platformach mobilnych, istnieje trwały mit, że Unity3D jest dobry tylko dla projektów mobilnych.
dzieje się tak głównie dlatego, że w przeszłości Unity3D same w sobie były mocno ukierunkowane na rynek mobilny, zwłaszcza podczas wzrostu rynku Apple AppStore i Google Play.
prawdę mówiąc, w ciągu ostatnich kilku lat silnik rozwinął się tak bardzo, że teraz jest to wielopłaszczyznowa platforma programistyczna, która może być używana do każdego złożonego rozwiązania XR.
mit: Unity jest dobre dla mobilnych rozwiązań VR/AR
prawda: Unity jest dobre zarówno dla rozwiązań wieloplatformowych, jak i złożonych projektów XR (np. całe szkolenie Audi logistics i Car configurator jest tworzone w ramach platformy Unity3D). Lub sprawdź studium przypadku symulacji treningowej VR Circuit Stream firmy INVISTA.
a co z Unreal Engine?
Unreal Game Engine 4 Przegląd
źródło obrazu
Unreal Engine ma długą historię jako silnik gry sięgającą 1998 roku. Przez cały okres jego istnienia był licencjonowany do kilku studiów AAA dla tytułów takich jak Unreal/Unreal Tournament I Deus Ex. Miał kilka iteracji, takich jak Unreal Engine 2 & 3.
wszystko zmieniło się w 2015 roku, kiedy czwarta wersja tego wszechobecnego silnika rozwojowego została udostępniona za darmo ogółowi społeczeństwa.
Uwaga: Istnieje 5% opłaty licencyjnej za produkty napędzane silnikiem Unreal, które zarabiają więcej niż $3,000 na kwartał kalendarzowy. Nie ma opłat licencyjnych, jeśli używasz silnika Unreal Engine w architekturze, motoryzacji, filmie, telewizji, transmisji, wydarzeniach na żywo, szkoleniach i symulacjach lub innych projektach innych niż gry
poniżej znajdują się kluczowe statystyki dla Unreal Engine 4:
- ponad 7 milionów użytkowników ze społeczności projektantów i przedsiębiorstw
- ponad 15 obsługiwanych platform
obecnie niezależni deweloperzy i duże studia mogą używać silnika Unreal Engine do swoich różnych projektów, w tym gier, systemów edukacyjnych i rozwiązań biznesowych.
ze względu na pochodzenie Unreal Engine, powszechnie uważa się, że Unreal Engine 4 jest świetnym narzędziem tylko wtedy, gdy pracujesz nad złożonymi projektami wartymi wiele milionów dolarów, zwłaszcza grami wideo.
lista tytułów AAA opracowanych z UE4, które ukażą się w 2020 roku. Ktoś jeszcze jest podekscytowany Remake ’ em Final Fantasy VII?
chociaż prawdą jest, że niektóre z popularnych gier, takich jak Fortnite, są tworzone przy użyciu Unreal Engine 4, firma stojąca za UE4, Epic games, aktywnie rozwija segment mobilny, wraz ze wspieraniem projektów społecznościowych poprzez program grantów dla deweloperów Unreal.
istnieją również gry specyficzne dla VR, takie jak Batman: Arkham VR autorstwa Rocksteady Studios.
mit: Unreal Engine 4 nadaje się tylko do gier AAA
prawda: Unreal Engine 4 może być używany do tworzenia gier VR/AR, gier 2D, 3D i mobilnych.
z biegiem lat zarówno Unity3D, jak i Unreal Engine rozwiązały swoje słabe strony, więc wybranie jednego z nich zamiast drugiego nie jest prostym zadaniem.
aby to zrobić, porozmawiajmy o różnicach w rozwoju XR z tymi platformami za pomocą kilku obiektywów.
który silnik ma najlepszą infrastrukturę?
aby właściwie porównać te dwa silniki, musisz zrozumieć, że różnica tkwi nie tylko w aspektach technicznych (chociaż o nich porozmawiamy w dalszej części), ale także w infrastrukturze, która je otacza.
ważnym elementem infrastruktury są magazyny aktywów, dokumentacja i społeczność.
porozmawiajmy o każdym z nich szczegółowo.
magazyny zasobów
każde wirtualne środowisko musi być wypełnione wirtualnymi obiektami, które reprezentują rzeczywisty lub wyimaginowany świat.
poniżej znajduje się przykład rozwiązania szkoleniowego VR, które zostało opracowane dla Callaway Energy Center:
możesz tworzyć zasoby 3D od zera za pomocą oprogramowania do modelowania 3D, takiego jak Maya, Blender lub 3ds Max, lub możesz kupić zasoby za pośrednictwem Sklepu Assets Store.
zarówno Unity, jak i Unreal Engine mają rynki aktywów, które pozwalają na zakup gotowych modeli 3D, obiektów, środowisk i tak dalej.
aktualna liczba aktywów na rynku Unreal Engine wynosi około 10 000:
ilość aktywów w Unity Asset Store jest pięciokrotnie większa, z około 31 000+ samych aktywów 3D:
różnica między dwoma rynkami aktywów staje się czynnikiem w zależności od tego, jaki projekt jesteś już idę.
zasoby Unreal Engine są bardziej zorientowane na gotowe produkcje gier. Wiele z nich było wcześniej używanych w grach AAA.
to tłumaczy ich wyższą jakość wizualną. Wśród tych aktywów są zamki, technologia sci-fi i potwory.
źródło obrazu: UnrealEngine.com
Jeśli tworzysz grę z odpowiednim ustawieniem fantasy lub sci-fi i stwierdzisz, że niektóre zasoby UE4 są idealne dla Twojego projektu, Unreal Engine 4 marketplace może być decydującym czynnikiem.
jednocześnie, jeśli tworzysz aplikację VR dla biznesu, grafika nie jest tak ważna, jak trafność i iteracyjny rozwój.
biorąc pod uwagę, że masz więcej zasobów do wyboru w sklepie Unity3D, łatwiej jest znaleźć bardziej odpowiednie modele i szybko prototypować środowisko biznesowe bez konieczności zatrudniania modelarzy 3D i tworzenia wirtualnych rekwizytów od zera:
Poniżej znajduje się przykład modelu 3D silnika odrzutowego, który można znaleźć w sklepie Unity Asset. Może być stosowany w symulacji szkolenia VR do konserwacji jet:
źródło obrazu: 3D asset, który reprezentuje wojskowy silnik odrzutowy
jeśli chodzi o aktywa, sklep Unity3D jest bardzo zaawansowany. Jednak Unreal Engine nadrabia zaległości,a firma Epic Games wydała niedawno Pakiet Quixel Megascans z 10 000 wysokiej jakości skanów materiałów z biblioteki Quixel.
porozmawiajmy o dokumentacji i szkoleniach dostępnych dla tych silników.
dokumentacja& Szkolenie
zarówno Unity3D, jak i Unreal Engine 4 mają obszerną dokumentację na temat korzystania z silników i rozwoju XR:
- Unity3D XR documentation
- Unreal Engine XR documentation
ale prawdziwa wartość edukacyjna pochodzi ze szkolenia zewnętrznego.
chociaż istnieją wysokiej jakości Kursy szkoleniowe, które uczą, jak budować aplikacje XR zarówno dla Unity3D, jak i Unreal Engine, ponownie, liczba tych kursów jest znacznie większa dla programistów Unity.
na przykład platforma edukacyjna Udemy oferuje około 2200 kursów dla Unreal Development i 5500 dla Unity. Chociaż większość z tych kursów nauczy Cię, jak tworzyć gry, podstawową wiedzę można wykorzystać do budowania innych rodzajów aplikacji.
jeśli chodzi o kursy biznesowe i korporacyjne, te mają tendencję do korzystania ze środowiska Unity3D ze względu na rozwiniętą infrastrukturę i niższy punkt wejścia dla nowych programistów.
możesz dowiedzieć się o strukturze kursu XR i o tym, jak dokładnie uczy on budowania gotowych aplikacji XR, pobierając program naszego 10-tygodniowego szkolenia programistycznego XR na żywo.
porozmawiajmy szczegółowo o różnicy między społecznościami deweloperskimi Unity3D i Unreal Engine.
społeczność programistów
co roku deweloperzy przesuwają granice tego, co jest możliwe W XR.
zarówno Unity3D, jak i Unreal Engine dokładają wszelkich starań, aby dostarczyć programistom odpowiednią dokumentację i materiały szkoleniowe, ale w tej dziedzinie nieuchronnie pozostajesz sam, aby dowiedzieć się, którą opcję wybrać.
błędy, usterki, zmiażdżenia, nierozwiązane tajemnice kodu zdarzają się każdego dnia. Kto pomoże Ci je rozwiązać, zwłaszcza gdy jesteś zdany na siebie?
inni deweloperzy.
tutaj rola społeczności otaczającej silnik gry staje się najważniejsza, zwłaszcza w rozwijającej się branży XR
Unity3D, jako swobodnie dostępny silnik, istnieje dłużej niż Unreal Engine 4, więc oczywiście ma większą społeczność niezależnych programistów wokół niego.
na przykład na forum Unreal Engine jest 12 000 tematów na temat programowania w C++ i 4600 wątków na temat VR i AR.
na forum Unity3D jest ponad 128 000 wątków na temat skryptów i ponad 6100 tematów na temat tworzenia VR. Oznacza to, że jeśli wystąpi jakikolwiek problem, istnieje większa szansa na znalezienie kogoś z tym samym problemem, który pomoże Ci dowiedzieć się o jego rozwiązaniu.
kolejną rzeczą w społeczności Unreal Engine 4 jest to, że jest ona podzielona między Nie-programistów, którzy tworzą aplikacje głównie z wizualnym systemem skryptowym zwanym Blueprints i programistów, którzy znają i używają C++.
przykład funkcji opartej na schemacie
w społeczności Unreal Engine jest więcej nie-programistów. Zobaczysz, że liczba dyskusji na forum jest dwa razy większa niż liczba dyskusji na temat programowania w C++.
Ten podział staje się oczywisty, ponieważ wielu programistów C++ nie aktywnie wykorzystuje planów w swoim procesie rozwoju: dzieje się tak dlatego, że rozwiązania oparte na kodzie są zwykle bardziej zoptymalizowane pod kątem zasobów i elastyczne niż te oparte na schematach.
tak więc, doświadczeni programiści C++ mogą nie być w stanie pomóc nie-programistom po prostu dlatego, że nie mówią tym samym językiem.
wręcz przeciwnie, każdy programista Unity3D zna c# — jego podstawowy język programowania, dzięki czemu doświadczeni programiści mogą łatwo pokazać początkującym programistom liny. Jest to również coś, czego uczymy na kursie XR Development for Unity od samego początku.
porozmawiajmy o różnicy między procesem rozwoju szczegółowo w następnej sekcji.
proces rozwoju
oba silniki mają wiele podobieństw, jeśli chodzi o rozwój aplikacji XR. Jednak istnieją również poważne różnice i porozmawiamy o nich w tej sekcji.
porównanie C# vs C++ i schematów
być może największą różnicą między tymi dwoma silnikami jest to, że wykorzystują one różne języki programowania.
Chociaż istnieje kilka języków programowania, których można używać z Unity3D, podstawowym językiem platformy jest C#.
Unreal Engine 4, z drugiej strony, pozwala programistom wybierać między programowaniem w C++ a systemem skryptów graficznych Blueprint.
Dyskusje o tym, który język, C# czy c++, jest lepszy, istnieją od wieków i, szczerze mówiąc, są bez znaczenia.
oba języki doskonale nadają się do tworzenia XR i wszystko sprowadza się do tego, który z nich jest bardziej komfortowy lub ma większe doświadczenie.
jednak C# może być nieco łatwiejsze dla początkujących, a oto dlaczego.
Po pierwsze, kod C# jest prostszy.
weźmy prymitywny obiekt 3D, taki jak sześcian, i Sprawmy, aby unosił się i obracał jednocześnie:
oto kod do tego z oficjalnej dokumentacji 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;
};
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()
a oto kod, aby osiągnąć ten sam wynik w 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);
}
}
wynik:
źródło obrazu
zauważ, że w przykładzie Unreal Engine musisz utworzyć dwa oddzielne pliki, jeden dla deklaracji i jeden dla definicji.
warto zauważyć, że nawet jeśli duża część kodu jest tworzona automatycznie przez Unreal Engine, może się to wydawać nieco skomplikowane, jeśli dopiero zaczynasz pracę nad programem.
jednocześnie Unreal Engine posiada interfejs graficzny Blueprint, który można wykorzystać do tworzenia złożonych aplikacji. Nie wymaga kodowania, a przepływ pracy jest oparty na węzłach.
z oficjalnej dokumentacji Unreal Engine 4
prawie każda sekcja w dokumentacji Unreal Engine jest wspierana zarówno w C++, jak i w przykładach Blueprint.
nauka jest dość łatwa, zwłaszcza gdy dopiero zaczynasz. Jednak, aby w pełni wykorzystać możliwości UE4, zaleca się naukę C++ i łączenie rozwiązań opartych na Blueprint z kodem.
Uwaga: istnieje niestandardowa wtyczka Unity3D, Playmaker, która pozwala na wizualne skrypty w Unity3D tak samo jak plany w UnrealEngine 4.
kolejną możliwą zaletą C# jest to, że 90% firm programistycznych VR/AR używa C#, co przekłada się na w dużej mierze udokumentowaną bazę kodu i większą ilość przetestowanych rozwiązań w społeczności programistycznej.
dostęp do kodu źródłowego Platformy: Unreal Engine Vs Unity3D
obie platformy są samowystarczalne-oferowane przez nie narzędzia i przepływy pracy są wystarczające do tworzenia aplikacji XR dowolnego typu bez modyfikacji kodu źródłowego platform.
istnieje jednak jedna zasadnicza różnica między UE4 a Unity3D.
Unreal Engine 4 jest silnikiem open source. Unity3D nie jest.
oznacza to, że możesz bezpłatnie modyfikować kod źródłowy UE4 do swoich potrzeb. Jednocześnie możesz przeglądać kod źródłowy Unity3D, ale aby go zmodyfikować, musisz nabyć licencję enterprise.
chociaż może to być problem dla większych produkcji, mniejsze zespoły programistów powinny dokładnie rozważyć, czy w ogóle powinny modyfikować kod źródłowy platformy, w przeciwnym razie jedna szybka poprawka może wywołać lawinę błędów w innym miejscu.
Jeśli potrzebujesz niestandardowych funkcji w Unity3D, w większości przypadków wystarczy skrypt oparty na platformie i wtyczki ze sklepu asset store.
porównanie Grafiki Unity3D i Unreal Engine
gdybyśmy cofnęli się w czasie do 2012 roku, kiedy Unreal Engine 4 został po raz pierwszy ujawniony opinii publicznej, jakość grafiki była wtedy niespotykana.
podczas gdy Unity3D koncentrował się głównie na tworzeniu gier indie i mobilnych, Unreal Engine został zbudowany na kościach produkcji AAA-game.
od tego czasu panował mit, że jeśli chcesz fotorealistyczną grafikę, musisz użyć Unreal Engine 4.
mit: jeśli potrzebujesz oszałamiającej grafiki, użyj Unreal Engine 4
Truth: Zarówno Unreal Engine 4, jak i Unity3D są zdolne do tworzenia fotorealistycznych scen i zapewniają narzędzia do tworzenia oszałamiających efektów wizualnych
oto porównanie Grafiki między tymi dwoma platformami:
To powiedziawszy, Unreal Engine 4 ma kilka zalet w dziale Grafiki.
wszystkie gotowe projekty Unreal Engine, w tym zasoby, sceny i projekty samouczków wyglądają lepiej.
ciekawostka: Unreal Engine 3 zawiera w pełni funkcjonalny edytor flar obiektywowych, podczas gdy Unreal Engine 4 traktuje flary obiektywowe jako efekt stricte post-processingowy. Unity3D nadal ma wiele opcji edycji efektów soczewki przed przetworzeniem. Alternatywnie można tworzyć niestandardowe mieszkania w UE4 za pomocą węzłów materiałowych.
dzięki Unity3D możesz potrzebować poprawek, aby jak najlepiej wykorzystać swoje zasoby 3D.
zaawansowane shadery, zaawansowane podświetlenie dynamiczne, materiały PBR – to po prostu mniej pracy dla Ciebie na początku w Unreal Engine 4 niż w Unity3D.
jednak jeśli używasz schematów, złożone przepływy pracy węzłów mogą powodować problemy z wydajnością.
duża ilość węzłów, skomplikowana matematyka i wymagające zasobów pętle operacyjne mogą spowolnić działanie w porównaniu z zoptymalizowanym rozwiązaniem kodu C++.
Poniżej znajduje się przykład, który pokazuje, jak złożony system blueprint radykalnie zmniejsza liczbę klatek na sekundę w porównaniu z kodem c++. Jednak różnica wydaje się być wyrównana dzięki włączonym procesom wielowątkowym i natywności.
porównanie wydajności rozwiązań C++ i Blueprint
porównanie renderowania: Unreal Engine 4 vs Unity 3D
renderowanie w Unreal Engine 4
Unreal Engine jest silnikiem gry, który zrobił fale w branży gier wideo jako jeden z pierwszych do obsługi DirectX Raytracing (DXR), co pozwala używać tylko ray tracing na przejściach, które go potrzebują i rasteryzacji na tych, które nie. Zapewniło to zarówno jakość renderowania, jak i szybkość renderowania, czego oczekuje każdy programista!
od tego czasu UE 4 robi ogromne postępy, aby poprawić szybkość i jakość renderowania z każdą kolejną aktualizacją.
najnowszy system wodny w Unreal Engine 4.26 z pewnością stworzy każdy zbiornik wodny, o którym można pomyśleć, od małych stawów po ogromne oceany.
najnowsza aktualizacja Unreal Engine 4 wprowadziła również nowy system cinematic cloud. W tradycyjnych metodach opartych na teksturach skydome chmury często wyglądały na płaskie i niskiej jakości, gdy były oglądane z lotu ptaka lub od dołu. Tak już nie jest w przypadku systemu lamp objętościowych UE4, ponieważ są one wyższej jakości i utrzymują się pod wszystkimi kątami widzenia.
Nowy komponent Volumetric Cloud został zaprojektowany do obsługi interakcji z oświetleniem otoczenia z komponentu Sky Light silnika Unreal Engine oraz dwóch kierujących świateł reprezentujących słońce i księżyc.
Unreal Engine 4.26 został również wydany z różnymi ulepszeniami kolejki renderowania wideo, takimi jak bardziej kontrolowane końcowe wyjście renderowania, wektory ruchu kamery, Głębokość Z i inne. Nowo dodana obsługa kodeków Apple Pro i Avid nxhr przyczynia się również do wysokiej jakości eksportu multimediów.
kolejna iteracja Unreal Engine zostanie ujawniona pod koniec 2021 roku. Unreal Engine 5 będzie wyposażony w wysokiej klasy system odbić, w pełni dynamiczne globalne oświetlenie i renderowanie ambisonics.
renderowanie w Unity 3D
Unity oferuje dwie techniki renderowania, czyli „ścieżki.”Aby rozpocząć projekt na właściwej stopie, należy wcześnie podjąć decyzję o tym, którą ścieżkę użyć: renderowanie do przodu (domyślne) lub renderowanie odroczone.
renderowanie do przodu jest doskonałą opcją dla tych, którzy chcą pracować z przezroczystością i niestandardowymi modelami cieniowania. Jeśli możesz zarządzać ilością światła w grze, renderowanie do przodu może być szybkim rozwiązaniem.
(źródło)
dzięki Odroczonemu renderowaniu odraczamy cieniowanie i mieszanie informacji świetlnych aż do pierwszego przejścia przez ekran, gdzie pozycje, statystyki i materiały dla każdej powierzchni są renderowane do 'bufora geometrii’ (bufora G) jako serii tekstur przestrzeni ekranu. Odroczone renderowanie jest potężną techniką, ale wymaga wysokiej klasy sprzętu, aby zapewnić najlepszą wydajność. Nie jest również obsługiwany przez niektóre urządzenia mobilne.
ok, spoko. Ale co z fotorealistycznym renderingiem?
Po latach aktywnego rozwoju, przekraczanie granic realizmu i artystycznej ekspresji jest teraz w zasięgu renderowania skryptowego Unity. Najnowsze Unity Universal render Pipeline (URP) i High Definition render Pipeline (HDRP) budują bardziej wciągającą grafikę dla wciągających cyfrowych doświadczeń od realistycznych materiałów po kinowe efekty świetlne.
najnowsza aktualizacja HDRP 10 zawiera lepsze narzędzia, które pomogą Ci debugować oświetlenie, podczas gdy nowy tryb głębi ostrości pozwoli uzyskać piękne, wysokiej jakości obrazy z śledzonym rozmyciem rozmycia.
URP zapewnia przyjazne dla artystów przepływy pracy do tworzenia zoptymalizowanej grafiki na różnych platformach za pomocą jednego kliknięcia. Jego zaawansowany system okluzji otoczenia ekranu przybliża jasność lub ciemność powierzchni w oparciu o jej otaczające powierzchnie i jej ekspozycję na oświetlenie otoczenia. Pozwala to poprawić jakość wizualną oświetlenia otoczenia w scenach, dzięki czemu cienie obiektów są bardziej realistyczne niż kiedykolwiek wcześniej.
Fun act: oba silniki aktywnie współpracują z zewnętrznymi studiami 3D, aby zapewnić płynne przejście formatów 3D do silnika. Na przykład zarówno Unity3D, jak i UE4 obsługują format Universal Scene Description (USD) opracowany przez Pixar w celu obsługi potoków zasobów i umożliwienia zespołom pracy przy użyciu odwołań do zasobów i nadpisań.
ogólnie rzecz biorąc, pamiętaj, że zawsze możesz osiągnąć te same wyniki z Unity3D i w tym momencie obie platformy są doskonalone do tego stopnia, że nie ma widocznego rozróżnienia między jakością wizualną, którą mogą wyprodukować, pozostawiając wybór Twoim osobistym preferencjom.
ważne projekty wykonane z Unreal Engine 4 i Unity3D
oba silniki zostały szeroko wykorzystane do produkcji AAA i rozwoju gier indie, a najbardziej znane gry ostatnich lat zostały wykonane na obu platformach.
jednak w ciągu ostatnich kilku lat nastąpiła dramatyczna zmiana i obie platformy są obecnie wykorzystywane nie tylko dla branży rozrywkowej, ale dla bardziej praktycznych i zorientowanych na biznes rozwiązań.
ze względu na postęp technologii XR, firmy, centra edukacyjne i przedsiębiorstwa produkcyjne szeroko korzystają z aplikacji XR, aby poprawić swój przepływ pracy i zyski na wiele sposobów.
projekty XR oparte na Unreal Engine 4
na przykład firma opracowująca leki C4X Discovery używa Unreal Engine 4 do wizualizacji danych molekularnych, a tym samym przyspieszenia rozwoju nowych leków.
Wizualizacja złożonych danych w VR umożliwiła naukowcom obserwowanie związków z nowej perspektywy, łatwiejsze wykrywanie wad projektowych, a także efektywną współpracę na całym świecie bez konieczności przebywania w tym samym pomieszczeniu.
Wizualizacja złożonych danych w VR ma wiele zastosowań. Inny przykład pochodzi z Air Canada, która wykorzystała silnik Unreal Engine do stworzenia prezentacji VR dla swoich najlepszych usług klasy biznes.
warto zauważyć, że 97% projektu zostało wykonane z planami, a nie kodowaniem. Powodem jest to, że projekty VR zorientowane na prezentację są łatwiejsze do zrealizowania niż szkolenie XR, ponieważ wymaga bardziej złożonej interakcji niż po prostu obserwowanie czegoś.
porozmawiajmy o niektórych projektach XR, które znane firmy wykorzystują do zrewolucjonizowania procesów szkoleniowych i operacyjnych.
projekty XR oparte na Unity3D
Audi, niemiecki gigant motoryzacyjny, opracował modułowe szkolenie VR z 20 różnymi programami w kilku językach, aby poprawić procesy logistyczne, serwisowe i produkcyjne.
źródło obrazu: audi-mediacenter.com
szkolenie VR, według Audi, cieszy się dużą popularnością wśród pracodawców, poprawia proces uczenia się, motywację pracowników i ambicje stażystów.
INVISTA, globalna firma produkująca półprodukty polimerowe i chemiczne z siedzibą w USA, wykorzystuje rozwiązanie XR oparte na Unity3D do symulacji środowiska pracy i szkolenia pracowników w VR, skracając czas szkolenia, oszczędzając koszty surowców i skracając przestoje operacyjne.
Boeing, GE, US Navy używają aplikacji VR/AR opartych na Unity3D do szkolenia personelu z większą wydajnością, z korzyściami, takimi jak poprawa zachowania szkolenia, poprawa bezpieczeństwa i skrócenie przestojów operacyjnych, aby wymienić tylko kilka.
jednak firmy używają Unity3D również w celach prezentacyjnych . Spójrz na tę prezentację BMW 2019 i spróbuj zgadnąć, który z nich jest renderowany, a który prawdziwy:
link do YouTube
podsumowanie
w ciągu ostatnich kilku lat oba silniki rozwijały się skokowo, usuwając swoje słabe strony i konsekwentnie podążając za najnowszymi trendami w branży.
kiedyś był to Unity3D dla projektów mobilnych i Unreal Engine dla gier AAA, ale od tego czasu wiele się zmieniło.
obie platformy doskonale nadają się do tworzenia złożonych rozwiązań XR i projektów niezależnych. Obie platformy są w stanie tworzyć oszałamiające efekty wizualne i aplikacje wieloplatformowe.
chociaż Unity3D obsługuje więcej platform i jest znany ze swojego wieloplatformowego podejścia do rozwoju, oba silniki są zoptymalizowane do pracy ze wszystkimi najnowszymi technologiami XR dostępnymi na rynku. Wielu programistów twierdzi, że Unity jest dobrym wyborem ze względu na łatwość użycia.
wszystko sprowadza się do twojego wcześniejszego doświadczenia i środowiska, w którym pracujesz.
masz duże doświadczenie w programowaniu w C++? Unreal Engine to dobry sposób.
jednak, jeśli dopiero zaczynasz jako programista, to C# Unity może być bardziej praktycznym językiem dla początkujących, ponieważ ma większą społeczność i bazę kodu VR wokół niego.
Jeśli Twoja aplikacja jest mocno skoncentrowana na prezentacji i grafice, na przykład gra komputerowa z aktywami AAA lub prezentacja wizualna dla biznesu, prawdopodobnie Unreal Engine 4 z systemem schematów i świetnymi efektami wizualnymi po wyjęciu z pudełka jest dobrym rozwiązaniem.
z drugiej strony, jeśli pracujesz nad złożonym rozwiązaniem biznesowym, które wymaga wielu dostosowań, iteracyjnego rozwoju, prototypowania i optymalizacji, to nauka środowiska Unity3D może być świetną opcją.
uważnie przestudiuj obie platformy, zrozum, co działa lepiej dla Ciebie i pamiętaj, że możesz wypróbować obie platformy za darmo.
powodzenia w realizacji projektów!
Leave a Reply