Meta Człowiek? Czyli MetaHuman w Unreal Engine 5.

Zagadnienie tworzenia oraz animacji postaci jest ważną i zarazem ogromną dziedziną grafiki 3D. Czymże byłyby hollywoodzkie produkcje bez charakterów CGI albo gry komputerowe bez postaci, z którymi utożsamiamy się podczas rozgrywki. Dziedzina ta obejmuje szereg pomniejszych: Może modelowanie postaci bardziej stylizowanych i lowpoly? Może animacja mrożących krew w żyłach realistycznych stworów? A może robotyczne humanoidy? Jest to tak obszerny temat, że doczekał się własnych profesji, takich jak: Character Artist czy Character Animator.

Wśród całego tego zamieszania jest również miejsce na wysokiej jakości realistycznych ludzi – i o tym właśnie dziś.

Jaki jest plan?

Poruszymy technologię MetaHuman, która dostarcza nie tylko przyjazny edytor, ale — można powiedzieć — cały ekosystem do tworzenia cyfrowych ludzi. Pełna kompatybilność z Unreal Engine, zaawansowane shadery czy przygotowany Rig to tylko kilka pozycji.

Pobawimy się MetaHuman Creatorem i wymodelujemy własnego Meta Człowieka, którego importujemy do Unreal Engine. Wszystko to w towarzystwie i rozważaniach o ekosystemie — jakie są plusy, a gdzie minusy i ewentualne pułapki — ale…

Zanim MetaHuman

Nim pogrzebiemy w Meta Człowieku, warto byłoby przytoczyć to, jak w ogóle buduje się postaci 3D. Choćby w skrócie.

Po pierwsze koncept. Tak — bez pomysłu nie ruszymy. To właśnie na jego bazie dobierzemy odpowiednie narzędzia, techniki i technologie, którymi posłużymy się podczas modelowania, riggowania czy animacji postaci. Po drugie model. Na tym etapie tworzymy siatkę 3D wraz z teksturami/materiałami/shaderami. Wykorzystujemy do tego przeróżne narzędzia i nie mam tu na myśli wyłącznie Blendera, Mayę, Substance Paintera czy ZBrusha. Istnieje ogromna ilość przeróżnych pluginów, narzędzi i software’u pomagających nam przy modelowaniu postaci 3D. Są narzędzia pomagające wyrzeźbić sylwetkę (MakeHuman, Character Creator, itp.), są i wyspecjalizowane w kreowaniu ubrań (Marvelous Designer), są i takie, które pomagają przy tworzeniu potworów (ZBuilderZbrush Plugin). Po trzecie Skinning oraz Rigging. Czyli przygotowanie do animacji. Na tym etapie tworzymy szkielet (tak — szkielet z kości, tyle że wirtualnych), który powiązujemy z naszym modelem 3D poprzez Skinning (mówimy, które kości mają poruszać daną częścią modelu) i obudowujemy całość kontrolkami dla animatorów. Tutaj również istnieje masa narzędzi pomagających. Po czwarte animacja lub symulacja. Animować możemy ręcznie kluczując na timelinie, zdać się na Motion Capture czy wręcz zasymulować fizykę — zwłaszcza jeżeli chodzi o ubiór czy owłosienie. Z animacją powiązanych jest wiele technik i technologii. Animacje możemy retargetować (dzielić między różnymi szkieletami), zapętlać (to jest przede wszystkim cecha gier komputerowych — na przykład walk cycle) czy oprogramowywać (i znów nadmienię gry komputerowe, gdzie praca z animacją postaci wiąże się z dużą ilością kodu). W całości tego zagadnienia również pomagają narzędzia. Po piąte cała reszta. Jest tego więcej. Symulacja tłumów, efekty specjalne powiązane bezpośrednio z postaciami, proceduralność i wszystko to, co może wiązać się bezpośrednio lub pośrednio z postaciami 3D.

Wiedząc już co nieco na temat charakterów 3D, zabierzmy się za MetaHumana. Na pewno wrócimy do kilku pojęć.

Edytor w chmurze

Zakładając darmowe konto Epic Games otrzymujemy dostęp między innymi do silnika Unreal Engine, Quixel Megascans czy właśnie frameworka MetaHuman. Co więcej, z Meta Ludzi możemy korzystać komercyjnie i w pełni darmowej wersji, o ile będą oni renderowani, dzięki Unreal Engine (dowolnie: w grach, aplikacjach czy filmach). Podstawowym narzędziem przy tworzeniu postaci jest MetaHuman Creator – edytor oparty o pixel streaming. Aby z niego skorzystać wystarczy wspomniane konto Epic Games, przeglądarka internetowa i stabilne, szybkie łącze internetowe. Kreator znajduje się pod adresem: www.metahuman.unrealengine.com (pierwsze uruchomienie polega na połączeniu konta Epic Games i zaakceptowaniu warunków). Warto dodać, że praca z Meta Ludźmi przypomina pracę z dokumentami google – wszystko odbywa się w chmurze i jest zapisywane na bieżąco na naszym koncie Epic. Zatem do dzieła! Po uruchomieniu Kreatora (niestety chwilkę trzeba poczekać aż sesja zostanie dla nas utworzona) pierwszym widokiem jest wybór postaci do edycji. Jeżeli nie tworzyliśmy Meta Człowieka wcześniej, należy wybrać jeden z bazowych presetów. Jeżeli posiadamy w swej kolekcji już utworzonych przez nas MetaHumanów – możemy nimi zarządzać (edytować, duplikować, usuwać, itp.).Sam edytor jest bardzo intuicyjny, czytelny i prosty w obsłudze. Można go opisać, dzieląc na dwie części: Panel edycji oraz viewport 3D. Panel edycji zawiera trzy kategorie: edycja twarzy, edycja owłosienia oraz edycja ciała – więcej o tych kategoriach za chwilę. Viewport służy natomiast przede wszystkim do rzeźbienia twarzy (lewa sekcja) i podglądu finalnego Meta Człowieka w różnych scenariuszach oświetleniowych (górna sekcja) oraz różnych przygotowanych animacjach czy pozach (dolna sekcja). Poruszanie się po scenie 3D jest proste, a cała klawiszologia została opisana w prawej części viewportu.

Meta twarz brzmi znajomo

Przyszła pora na konkrety – zaczynamy edycję. Pierwszym krokiem będzie edycja twarzy. Tutaj podstawowym narzędziem jest Blend. Polega ono na mieszaniu ficzerów twarzy pomiędzy wybranymi postaciami bazowymi (od trzech do sześciu postaci). W kole w lewym panelu umieszczamy postaci, a w viewporcie z włączonym narzędziem blend (lewa sekcja viewportu) łapiemy – za na przykład nos – i wybieramy czyjego nosa użyjemy (można gradualnie – pomiędzy).Następnie użyjemy narzędzia move (włączane w lewej sekcji viewportu) i dostosujemy ogólne rysy ręcznie łapiąc za przygotowane kontrolki. Warto dodać, że możemy złamać tutaj symetrię.Teraz pora na bardziej zaawansowane rzeźbienie. Narzędziem sculpt (lewa sekcja viewportu) dostosowujemy pojedyncze ficzery twarzy. Efekty takiej rzeźby są najbardziej szczegółowe, a więc i czasochłonne. Jeżeli poświęcimy wystarczająco dużo czasu wyrzeźbimy aktorów, celebrytów i inne znane postaci.Zobaczmy teraz co do zaoferowania ma panel edycji skóry. Oprócz edycji ogólnego koloru, tekstury czy wilgotności, jesteśmy również w stanie nadać akcenty – piegi, zaczerwieniony nos, itp.Edycja oczu to przede wszystkim kolor, ale również zaczerwienienie czy wyrazistość rąbka rogówki.Ciekawym narzędziem jest panel edycji uzębienia, gdzie mamy dość dużą swobodę. Kolor zębów i dziąseł – jasna sprawa. Możemy również dostosować krzywiznę zębów, przesunięcia, odstępy a nawet nanieść osad.Ostatnim panelem w kategorii twarzy jest edycja makijażu. Tu możemy nadać podkład, cień do powiek czy szminkę.

Życie jest zbyt krótkie na nudne włosy

Przejdźmy teraz do kreowania owłosienia. I niestety muszę powiedzieć, że nie ma tego zbyt wiele. Edycja sprowadza się do wybrania odpowiedniego presetu fryzury, brwi, wąsów czy brody, których de facto nie ma zbyt wiele. Jest co prawda opcja kolorowania włosów, ale to wszystko.

Dodatkowo nie wszystkie fryzury są w pełni kompatybilne z Unreal Engine (o czym informuje nas komunikat u dołu viewportu), co oznacza że czeka nas z nimi dodatkowa praca – głównie optymalizacyjna.Mam ogromną nadzieję, że edycja owłosienia otrzyma update. Może jakiś edytor groomingu jak na przykład w Blenderze? Może większa biblioteka presetów? Czas pokaże.

Wyginam (nie) śmiało ciało

MetaHuman Creator żyje edycją twarzy – to wiadomo. Niestety najbardziej cierpi na tym ciało. Co mam na myśli? Niestety w tej kategorii jest najskromniej. Edycja proporcji to zaledwie dziewięć presetów na płeć, o ubraniach nie wspomnę. Jest ubogo, ale nie o ubrania w Meta Człowieku chodzi. Prawda jest taka, że ciało (jak i customowe owłosienie) – na ten moment – lepiej edytować “na zewnątrz”. Mamy taką możliwość – możemy umieścić naszego MetaHuman na przykład w Blenderze lub Zbrushu, a do ubrań polecam wspomniany wcześniej Marvelous Designer.

Co więcej w kreatorze?

Zakończyliśmy edycję Meta Człowieka – został zapisany na naszym koncie, ale zanim przejdziemy z nim do Unreal Engine, chciałbym dodać, że MetaHuman Creator jest w stanie pokazać nam również wygenerowane dla postaci LODs. Model MetaHuman automatycznie się skaluje, co oznacza, że nawet słabszy sprzęt powinien dać sobie radę z jego renderingiem w czasie rzeczywistym. Poniżej pokazuję różnicę pomiędzy najwyższą jakością MetaHuman (LOD0) a najniższą (LOD7):Dodatkowo zwrócę uwagę na jakość shaderów. Wszystkie materiały wykorzystują potęgę Realtime PBR. Przemyślany jest każdy drobny szczegół. Spójrzcie tylko na ten Subsurface Scattering (w tym ujęciu: światło prześwitujące przez uszy):Co więcej, po imporcie do Unreal Engine mamy pełen dostęp oraz pełną kontrolę nad tymi zaawansowanymi efektami.

Dobrze. Zostawiamy edytor/kreator (więcej o MetaHuman Creator w oficjalnej dokumentacji: www.docs.metahuman.unrealengine.com/en-US/. Teraz pora na…

Import do Unreal Engine

Wspomniałem kilkukrotnie wcześniej, że MetaHumana możemy śmiało wykorzystać w Unreal Engine (nawet komercyjnie). Jak? Otóż poprzez Quixel Bridge. Quixel Bridge to przeglądarka wspomnianych Megaskanów (przypominam, darmowych do wykorzystania w Unreal Engine). Jest to aplikacja, a w przypadku Unreal Engine 5 jest to po prostu kolejne okno edytora, w którym logujemy się na nasze konto Epic, aby móc w łatwy sposób dodawać do projektu Megaskany. Jedną z kategorii są właśnie Meta Ludzie. To właśnie z tego poziomu pobieramy naszego (jak i presetowe) MetaHuman bezpośrednio do projektu. Po pierwsze wybieramy w jakiej jakości ma zostać pobrany (chodzi głównie o rozmiary tekstur), następnie klikamy “Pobierz” (zapisujemy na dysku – chwilę to trwa), a potem “Dodaj”. Ważne! Jeżeli edytujemy Meta Człowieka w MetaHuman Creatorze (bo na przykład stwierdziliśmy, że nie podoba nam się nos) to nie zobaczymy zmian w naszym projekcie Unreal. Będziemy musieli powtórzyć procedurę importu.Po dodaniu do projektu, Unreal zgłosił nam, że brakuje odpowiednich pluginów i ustawień. Włączamy wszystkie i restartujemy edytor.

Gotowe! Teraz możemy działać do woli! Możemy zrobić z naszego Meta Człowieka grywalną postać (co jest stosunkowo proste dzięki gotowemu IK Rigowi), możemy nakręcić film (kluczując Control Rig w Sequencerze lub Retargetując do Motion Capture), możemy robić z nim co nam się żywnie podoba.

Zachęcam do eksperymentów, zwłaszcza że jakość MetaHuman jest ogromna, a w połączeniu z Unreal Engine daje fotorealistyczne efekty. To o czym mówimy dziś jest tylko kawałkiem potężnego ekosystemu. Istnieje kilka – nazwijmy to – mankamentów, ale pamiętajmy że MetaHuman (tak samo jak i Unreal Engine) cały czas jest rozwijany i ulepszany.