Nierealnie po raz piąty! Pierwsze kroki w Unreal Engine 5.
Najnowsze technologie bywają bardzo pociągające, prawda? Istnieją w branży również takie momenty, które potrafią przekonać niejednego technologicznego konserwatystę. Podążając za rozwojem, obserwując oraz bawiąc się, często zastanawiamy się, jak dany efekt został osiągnięty oraz ilu ludzi za tym stało. W końcu niektórzy z nas postanawiają przyjrzeć się temu z bliska.
Unreal Engine jest przełomowy. Zawsze był. Każda pojawiająca się nowa wersja silnika przynosiła coś rewolucyjnego i fantastycznego. Tak jest i tym razem: piątka, bo o niej dzisiaj, pozwala na więcej i lepiej, więc przyjrzymy się temu, co UE5 oferuje, spróbujemy swoich sił. Warto choćby dlatego, że żyjemy w czasach, w których technologia jest dostępna dla każdego i każdy może jej posmakować – tak, najnowsza wersja Unreal Engine jest darmowa!
Zanim rozpoczniemy
Na wstępie muszę zaznaczyć, iż Unreal Engine 5 w tej chwili dostępny jest we wczesnej wersji – oznacza to, że pewne aspekty i narzędzia mogą się zmienić. Dokumentacja jest budowana, a support od producentów – Epic Games – nie jest pełen. Dodatkowo nie zalecają oni właściwej produkcji, a jedynie testowanie nowych narzędzi i prototypowanie. Wersja pełna (produkcyjna), jak zapewniają twórcy, powinna pojawić się na początku 2022.
Unreal Engine jest z nami już jakiś czas. Pierwsza wersja to 1998 rok, druga – 2002, trzecia – 2006, a czwarta zadebiutowała w 2014.
UE to przede wszystkim silnik gier komputerowych, choć już od jakiegoś czasu wykorzystywany jest w różnych dziedzinach: animacje filmowe, wizualizacje i wszelkiego rodzaju aplikacje realtime 3D nie są mu straszne. Unreal pozwala bawić się technologiami takimi, jak na przykład Realtime Ray Tracing czy VR.
Z wersją 5 jego możliwości zostały znacznie poszerzone. Oto najważniejsze aspekty aktualnej wersji.
NANITE
Virtualized micropolygon geometry system, bo tym jest ów NANITE, pozwala twórcom i artystom skupić się na maksymalnym detalu modeli 3D umieszczanych w scenie, bez konieczności specjalnej optymalizacji. Dzięki NANITE jesteśmy w stanie wykorzystać w świecie setki modeli fotogrametrycznych, modeli bezpośrednio z ZBrush czy CAD, bez tworzenia Normal Map lub LODsów. To wszystko bez znaczących spadków wydajności. Magia! Inteligentny streaming detalu w realtime.
LUMEN
W pełni dynamiczne rozwiązanie dla refleksów oraz realtime Global Illumination. Wysokiej jakości oświetlenie i odbicia bez konieczności wypalania lightmap i specjalnego dostosowywania sceny. LUMEN pozwala artystom osiągnąć ultrarealistyczne efekty świetlne.
WORLD PARTITION i DATA LAYERS
Nowy system budowania wielkich, otwartych światów zmienia to, jak zarządzane są sceny (levele). Pozwala na współpracę zespołu nad jednym światem, bez wchodzenia sobie w drogę. System automatycznie dzieli świat na komórki i zarządza ich streamingiem.
Przykładowy projekt UE5, przedstawiający wszystkie nowe ficzery – Valley of The Ancient
CONTROL RIG, FULL-BODY IK, MOTION WARPING
Toolset dla animatorów, pozwalający przyspieszyć i zoptymalizować pracę nad animacjami – zarówno prostych elementów, jak i skomplikowanych postaci. Budowanie rigów wewnątrz Unreal, zaawansowane narzędzia IK (kinematyki odwrotnej) oraz zaawansowana synchronizacja ruchów postaci.
METASOUNDS
Dla dźwiękowców i pasjonatów audio powstał nowy system do proceduralnego generowania dźwięków. W pełni programowalny, zwiększający kontrolę nad tym, co słyszymy. Oszczędny w środkach – każdy z grafów Mata Sound jest natywizowany do optymalnego obiektu C++.
NOWY UNREAL EDITOR
Z każdą nową wersją silnika jego edytor jest liftingowany. Tak jest i tym razem. Odświeżony został UI. Mamy więcej możliwości pracy z oknami, co uprzyjemnia pracę. Dla nowych użytkowników, jak i dla tych, którzy siedzą w Unrealu już jakiś czas, interfejs jest przejrzysty i intuicyjny.
VALLEY OF THE ANCIENT
To przykładowy projekt, również darmowy, pokazujący wszystkie najważniejsze ficzery piątej wersji. Świetny materiał szkoleniowy, dość spory – potrzebujemy około 100GB wolnej przestrzeni, aby móc się nim pobawić.
Warto dodać, że oficjalne kanały Epic Games (takie, jak Online Learning, YouTube czy dokumentacja Unreal Engine) znacząco pomagają w nauce UE5. Community również jest już mocno nasycone, mimo wczesnej wersji. Na pewno znajdziemy informację o tym, jak przesiąść się z czwórki, gdzie szukać pomocy czy jak przeskoczyć różne kłody.
(Nie) najtrudniejszy pierwszy krok
Aby rozpocząć zabawę z UE5, musimy spełnić kilka warunków. Po pierwsze i najważniejsze: musimy dysponować dość mocnym sprzętem (zwłaszcza, jeżeli chcemy przetestować najnowsze rozwiązania typu NANITE czy LUMEN). Minimalne wymagania to: Windows 10 64-bit, procesor Quad-core Intel lub AMD: 2.5 GHz, 8 GB RAM, karta graficzna NVIDIA GTX 1080, AMD VEGA 64.
Druga sprawa to konto Epic Games, aby móc pobrać silnik z launchera. Unreal Engine 5 jest dostępny darmowo i z pełnym kodem źródłowym. Istnieje możliwość pobrania, edytowania i kompilowania UE5 (tak, można stworzyć własną piątkę), ale tutaj potrzebna jest specjalistyczna wiedza, Visual Studio oraz repozytoria GitHub lub Perforce. My zajmiemy się najprostszą instalacją wersji z launchera Epic Games.
Po pobraniu i zalogowaniu się w nim możemy przystąpić do instalacji Unreal Engine 5. Po zainstalowaniu silnika (jakieś 10 GB) widnieje on na naszej liście – stąd uruchomimy go po raz pierwszy.
Epic Games launcher – uruchomienie Unreal Engine 5
Krok drugi: nowy projekt
Uruchomienie Unreala wyświetli nam okno wyboru projektów. Z tego miejsca możemy przekonwertować nasze projekty UE4 do wersji UE5. Warto zaznaczyć, że jeżeli projekt UE4 tworzony był w oparciu o Blueprinty (Unrealowy Visual Scripting), to konwersja powinna zostać przeprowadzona automatycznie i bezboleśnie. Jeżeli natomiast kodowaliśmy w C++, może być potrzebna dodatkowa praca z plikami źródłowymi.
Okno wyboru projektów pozwala nam tworzyć nowe projekty. Jest kilka kategorii i szablonów, od których możemy zacząć: gry, filmy, architektura czy product design. Możemy rozpocząć pracę od szablonu studia fotograficznego, gry pierwszo- lub trzecioosobowej, sceny archviz i tak dalej. Dla nowego projektu określamy warunki początkowe, które w każdej chwili możemy później zmienić: cy projekt ma być oparty o Blueprinty lub C++, jaka jest docelowa platforma (aplikacje Unreal Engine możemy budować na high-endowe PC, konsole PlayStation i Xbox, a nawet na platformy mobilne Android czy iOS), czy dołączyć zestaw początkowych assetów (takich, jak tekstury, materiały, dźwięki lub modele 3D), czy włączyć raytracing (tutaj potrzebujemy karty RTX).
Załóżmy zatem nasz pierwszy unrealowy projekt. Wybieramy kategorię games, następnie projekt blank. Projekt oprzemy o Blueprinty i dołączymy zestaw początkowych assetów. Podajemy lokalizację oraz nazwę i klikamy create/utwórz.
Unreal Engine 5: okno wyboru i tworzenia projektów
Krok trzeci: podstawowa nawigacja
Po utworzeniu i uruchomieniu projektu naszym oczom ukaże się Unreal Editor, czyli edytor główny. Początkowo to w nim spędzimy najwięcej czasu, tu budujemy sceny/światy. Z jego poziomu zarządzamy assetami i uruchamiamy edytory specjalistyczne (na przykład edytor materiałów, edytor static mesh i tak dalej). Tutaj zarządzamy ustawieniami całego projektu.
Domyślny układ Edytora Głównego Unreal Engine 5
W domyślnym układzie główną rolę gra okno viewportu, podglądu naszej sceny. To w tym oknie manipulujemy wszelkimi obiektami. Viewport, oprócz standardowego w pełni oświetlonego podglądu 3D (Lit), posiada kilka dodatkowych funkcji. Dzięki niemu możemy sprawdzić, jak wyglądają kolidery niewidoczne dla użytkownika (Player Collision), podejrzeć LODsy naszych obiektów (Mesh LOD Coloration), zwizualizować konkretny bufor (Buffer Visualization) czy zwizualizować NANITE. Po scenie 3D poruszamy się jak w grze komputerowej. Za pomocą popularnej kombinacji klawiszy WASD (konkretnie to WASD + PPM) „latamy” po naszej scenie, a wszelkie manipulacje i selekcje obiektów wykonujemy poprzez kliknięcia myszą.
Okno viewportu 3D
Po prawej stronie znajduje się World Outliner oraz panel details. Warto wspomnieć, że jest to domyślna lokalizacja. Edytor można swobodnie dostosować do własnych potrzeb, dowolnie edytować layout – dokować okna, zamykać je w panele i tak dalej. W razie, gdybyśmy się zgubili, możemy zresetować do domyślnego widoku, a dla tych, którzy przesiadają się z Unreal Engine 4, jest opcja ustawienia layoutu czwórki.
World Outliner to okno, w którym wylistowani są wszyscy aktorzy na scenie. Dlaczego aktorzy? Każdy obiekt, który „wrzucamy” na scenę, jest tak zwanym aktorem.
Panel details służy do edycji właściwości aktualnie zaznaczonych (poprzez – na przykład – selekcję w viewporcie czy zaznaczenie w Outlinerze) aktorów. Właściwości, jakie możemy zmieniać, różnią się w zależności od typu aktora. Kiedy zaznaczone jest światło, możemy przykładowo zmienić jego intensywność, kolor lub zasięg. Kiedy zaznaczony jest obiekt 3D, zmienić możemy jego materiał lub ustawić właściwości związane z symulowaniem fizyki (np. masę).
Panel World Outliner oraz details
Nad Viewportem znajduje się sekcja, z której możemy dodawać podstawowych/prymitywnych aktorów, zmienić tryb edytora, zarządzać ustawieniami projektu/levelu czy uruchomić końcowy podgląd naszej aplikacji i zbudować ją na konkretną platformę.
Do podstawowych aktorów zaliczamy proste modele 3D, typu cube czy cylinder, światła, kamery, efekty wizualne i inne. Tryby edytora to między innymi: podstawowy tryb manipulacji i edycji aktorów, tryb landscape do rzeźbienia terenu czy tryb foliage do instancjonowanych obiektów typu roślinność.
Na dole edytora znajduje się Content Drawer – sekcja służąca do zarządzania assetami i pozwalająca na tworzenie własnych aktorów w projekcie. Tutaj importujemy do naszego projektu tekstury czy modele 3D. Stąd odpalamy specjalistyczne edytory assetów. Dwukrotne kliknięcie na asset otwiera jego edytor. W naszym przypadku, przy tworzeniu projektu, zaznaczyliśmy, że chcemy załączyć startowy content – właśnie tutaj znajdują się te assety.
Content Drawer i startowe assety
Krok czwarty – to już nie żarty
Zapoznaliśmy się z tym, co do zaoferowania ma Unreal Engine 5. Zainstalowaliśmy silnik. Utworzyliśmy pierwszy projekt i poznaliśmy podstawową nawigację. Pora w końcu coś stworzyć!
Zacznijmy od wyrzucenia ze sceny niepotrzebnych obiektów. Klikając, zaznaczamy i usuwamy (delete) podłogę, krzesła, stół i statuetkę. Niech zostanie samo „niebo”. Do budowy wykorzystamy zestaw startowych assetów. Otwierając Content Drawer i zaglądając do folderu StarterContent/Architecture, zobaczymy kilka obiektów 3D, z których zbudujemy swoje pierwsze proste pomieszczenie. Operacją drag and drop przeciągamy obiekt Floor_400x400 na scenę. Pojawiła nam się podłoga. Obiektem możemy manipulować: dostosować jego pozycję, skalę i rotację – służą do tego narzędzia w prawym górnym rogu viewportu lub panel details i właściwość transform, dla której wpisujemy wartości z palca.
Narzędzia transformacji obiektów
Korzystając z tej wiedzy i dostępnych obiektów, przygotujmy coś na wzór domku.
Wykorzystanie startowych obiektów do zbudowania pomieszczenia
Pora naszą architekturę pomalować. W folderze StarterContent/Materials znajdziemy różne materiały, którymi obłożymy nasze obiekty. Można to zrobić na wiele sposobów. Na początek: drag and drop (uwaga: w naszym przypadku jeden obiekt 3D równa się jednemu materiałowi – tak zostały przygotowane startowe assety, ale istnieje możliwość, aby obiekt 3D miał więcej niż jeden materiał).
Kolejno udekorujemy naszą scenę assetami z folderu StarterContent/Props, a z sekcji create (sekcja nad viewportem) utworzymy kilka świateł spot light (reflektor).
Efekt końcowy
Kolejne (przyszłe) kroki
Postawiliśmy dziś kilka pierwszych kroków w Unreal Engine 5. Jest to oczywiście początek pogoni za najnowszą technologią realtime. Przed nami między innymi głębsze zrozumienie głównego edytora, tworzenie i import własnych obiektów/materiałów/tekstur, praca z efektami i oświetleniem, specjalistyczne edytory i wiele, wiele innych zagadnień. Masa eksploracji i eksperymentów, a potencjał ogromny. Pamiętajmy o tym, że Unreal jest dla każdego, dlatego gorąco zachęcam spróbować. Nie każdy od razu musi zostać UE developerem, choć kto wie…