Wreszcie przemieszczenie w Unreal Engine 5.3. Robimy to w 5 minut

Przemieszczenie wreszcie pojawiło się w Unreal Engine 5. Możesz to zrobić na poziomie materialnym i zastosować go zarówno do obiektów, jak i niekończących się krajobrazów.

Geometria przemieszczenia nie jest tworzona w taki sam sposób jak geometria nanitu, chociaż nazywa się ją tak samo. Dzięki temu geometria utworzona przez przemieszczenie nie wpływa na kąt odbicia i rozjaśnienia, dlatego lepiej zastosować do materiału mapę normalną. A także, dla mnie osobiście, komputer poważnie się zawiesza, jeśli przesuniesz układ scalony w pobliżu geometrii z przemieszczeniem. Najprawdopodobniej zostanie to poprawione w przyszłych wersjach.

Problemy z symulacją płynów i dlaczego jest to drogie?

Celem jest wykonanie 10 sekund bardzo szczegółowej symulacji płynów w celu uzyskania zbliżenia przy 60 klatkach na sekundę.

Po spędzeniu około dnia na eksperymentowaniu i porównywaniu MantaFlow z Flip Fluis wybrałem ten drugi, ponieważ MantaFlow zachowuje się bardzo nieprzewidywalnie, w zależności od rozdzielczości.

Obliczyłem, że woda dotrze do powierzchni basenu w 50 klatkach + potrzeba 10 sekund samej animacji przy 60 fps, co daje symulację 650 klatek przy rozdzielczości 150 milionów wokseli. Ta symulacja na Ryzen 3700x trwała 5 dni.

Dalej okazało się, że blender zawiesza się w renderowaniu, jeśli geometria w FlipFluids jest zbyt wielokątna. Naprawdę nie chciałem ponownie przeprowadzać symulacji w niższej rozdzielczości i ponownie czekać kilka dni. Spędziłem kilka dni szukając rozwiązania problemu, a nawet zacząłem myśleć o powrocie do MantaFlow.

Zmieniłem konfigurację sceny z Cycles na Octane Render, problem nadal występował, więc zdecydowałem się wrócić do Cycles.

Ogólnie Blender bardzo dobrze radzi sobie z dużą liczbą wielokątów, problem dotyczy geometrii FlipFluids. Twórcy dodatków przyznają się do problemu na swoim GitHubie i piszą, że leży on po stronie Blendera, ponieważ nie działa dobrze z geometrią HighPoly wykonaną w Pythonie lub czymś podobnym.

Postanowiłem spróbować wyeksportować geometrię do Alembica, aby móc ją później zaimportować z powrotem, więc nie powinno być z nią żadnych problemów. Próbowałem eksportować na różne sposoby, ale zawsze kończyło się to awarią blendera. Jeden eksport trwał nawet dłużej niż jeden dzień.

Następnie na amerykańskim forum znalazłem rozwiązanie gdzie było powiedziane, że w geometrii przed eksportem wystarczy zamienić modyfikatory i odłożyć modyfikator Smooth, po czym geometria FlipFluids została szybko wyeksportowana do Alembica. Zadziałało. Wyeksportowałem geometrię do Alembic, ukryłem oryginalną geometrię FlipFluids przed renderowaniem i rzutnią, ale pozostawiłem bąbelki i piankę i zaimportowałem geometrię Alembic.

Byłem mile zaskoczony, że geometria Alembic zachowała informacje o prędkości, a MotionBlur na wodzie działał poprawnie, a scena nie powodowała już awarii. Dokładniej, nie wystartowało od razu, ale nieco później.

Uruchomiłem render, zawiesił się dopiero następnego dnia, po około stu klatkach. To normalne, możesz żyć, właśnie uruchomiłem ponownie renderowanie od miejsca, w którym się zatrzymało.

W miejscu kontaktu strumienia z powierzchnią wody ciecz wygląda na ciemną. Wcale nie jest to „błękitna laguna”. Problemem są ograniczenia technologii PathTracing. W tym miejscu pojawia się ogromna ilość odbić i załamań od powierzchni wody oraz bąbelków, a renderer liczy maksymalnie 12 odbić, po czym rysuje czerń. Można oczywiście ustawić nie 12, ale 128, 1024 itd., ale wtedy na efekt renderowania będziemy czekać miesiącami. Dlatego do bąbelków dodałem turkusowy blask, a do samej wody 10 razy mniej tego samego blasku. Ościeżnica zniknęła, czas renderowania się nie zmienił. Renderuję od początku. Jednocześnie zdecydowałem się zacząć nie od klatki 50, a od klatki 100, gdzie wibracje są już widoczne na powierzchni wody. Dodałem też jasności do źródeł światła i trochę mgły do wody.

Po pewnym czasie testów zauważyłem, że w Blenderze 3.5 scena zachowuje się znacznie stabilniej niż w wersji 3.6, dlatego zdecydowałem się kontynuować w niej pracę. Trzeba było przekonfigurować materiały z kartą Mix, bo w wersji 3.6 działa to inaczej i pierwsze klatki trzeba będzie wyrenderować na nowo, bo teraz niektóre materiały wyglądają trochę inaczej.

Następnego dnia później obejrzałem pierwsze sekundy powstałej animacji i zauważyłem, że rośliny nie kołysały się na wietrze tak, jak planowałem, nie było tekstur na gałęziach i brakowało trawy. Problem w tym, że projekt robiłem na laptopie, a symulację i rendering na PC, a na PC na wersji 3.5 była stara wersja dodatków wegetacyjnych. Zainstalowano ponownie dodatek do roślinności, ponownie skonfigurowano roślinność. Zainstalowałem ponownie wtyczkę dla trawy, ponownie skonfigurowałem trawę. Ustawiłem ponownie renderowanie animacji.

Odkryłem program Batch Render Creator, dzięki niemu liczba awarii podczas renderowania spadła jeszcze bardziej.

Samoświecenie pod tym kątem, w pobliżu ciemnej szczeliny, z której wypływa woda, nie wygląda zbyt dobrze. Niestety blender nie posiada mapy Distance, która jest dostępna w 3ds Max i Corona, więc trzeba będzie wyrenderować wersję bez samoświecenia jeszcze raz i zmiksować je w AfterEffecs, żeby nie było samoświecenia w obszarze ​lukę, ale jest ona w innych miejscach.

Były też inne problemy, na przykład z pozycją kamery, ponieważ przesunąłem początek animacji z klatki 50 na klatkę 100, a także musiałem część z niej wyrenderować. Musiałem także majstrować przy węzłach geometrii, aby odciąć dno w pobliżu wody, ponieważ nie przeprowadziłem symulacji dla całej głębokości basenu.

W odpowiedzi na potencjalnych krytyków, którzy nigdy czegoś takiego nie robili, ale uważają, że w Houdinim lub PhoenixFD jest mniej problemów i wszystko można zrobić szybciej, sugeruję najpierw wykonanie symulacji ponad 150 milionów wokseli i wyrenderowanie jej na GPU wraz z z animowaną roślinnością i przemieszczeniem, a następnie napisz, ile czasu Ci to zajęło i jakie niuanse i niezgodności napotkałeś.

Dlaczego przerzuciłem się z 3ds Max na Blendera?

Kupili mi mój pierwszy komputer w 2002 roku, miałem 12 lat. Po około roku gry przestały mnie już interesować i zaoszczędziwszy 60 rubli na szkolnych obiadach, kupiłem swoją pierwszą płytę z 3ds Max 6. W 2003 i do 2006 roku nie miałem Internetu. Wszystko, co tam było, to sam program. I za każdym razem, gdy uruchamiałem komputer, najpierw uruchamiałem 3ds Max i badałem go „naukowo”. Pierwsze 500r. Zacząłem pracować w 3ds Max w 2006 roku w wieku 16 lat. Zapłacili mi za wizualizację klubu nocnego w moim mieście Iwanowo. Niestety ani ten render, ani inne nie zachowały się, bo... w 2007 roku padł dysk twardy komputera wraz ze wszystkimi informacjami. od 2007 roku prace się zachowały i tutaj jest na przykład kilka prac z tamtych czasów.
https://vk.com/album2903316_71222494

Następnie pracowałem w studiu gier, następnie u dystrybutora Autodesk, następnie prowadziłem kursy dotyczące 3ds Max i robiłem w nim projekty. Od 13 do 32 lat moje życie było ściśle związane z tym programem. Ale minął już rok, odkąd wszystkie moje projekty wykonuję w Blenderze, a na moim komputerze w pracy program 3ds Max nie jest nawet zainstalowany, a oto dlaczego:

  1. Blender Cycles X to bardzo szybki renderer GPU. Kiedyś napisałem artykuł o tym nie ma sensu uczyć się, jak dostroić V-Ray, ponieważ komputery PC stają się coraz potężniejsze i już wkrótce przejdziemy na renderowanie PathTrace. Artykuł napisałem w 2013 roku. Corona Render (PathTrace) pojawił się i stał się popularny w latach 2015-2016. W 2019 roku wypuszczono karty graficzne z akceleracją RTX, co skierowało wektor rozwoju w stronę renderowania GPU PathTrace i teraz, jeśli jeszcze nie przestawiłeś się na renderowanie GPU, powinieneś to zrobić. Jeśli Corona Render na moim komputerze renderuje scenę przez 1-2 godziny do 50-100 podpodziałów, a następnie ją odszumi, wówczas Blender na RTX 3060ti renderuje 1024 podpodziały w 2 minuty. 30 sek. w tym samym wnętrzu. Render osiąga 50-100 podpodziałów w ciągu kilku sekund. Te. aby dobrze odwzorować 8 kątów wnętrza, znacznie wyżej niż byłoby to w koronie, zajmuje mi to w sumie 20 minut zamiast ponad 8 godzin.
    Karta graficzna V-Ray przegrywa z Cycles także w tym sensie, że out-core nie działa w V-Ray i dlatego Twoja scena może po prostu nie zostać wyrenderowana, jeśli zawiera wnętrze i na przykład więcej niż dwie tekstury 8k.
  2. Blender jest darmowym rozwiązaniem OpenSource. Co oznacza ogromne oszczędności na zakupie oprogramowania, lub jeśli jesteś piratem, po raz kolejny chroni Cię przed „hemoroidami” poszukiwania dobrze działającego cracka bez wirusów, który nadal może się zawieszać, na przykład po zainstalowaniu równoległego, więcej najnowsza wersja.
  3. Prędkość pobierania. Blender uruchamia się w ciągu kilku sekund, w przeciwieństwie do 3ds Max, który uruchamia się w ciągu 30-60 sekund.
  4. Skróty klawiszowe w Blenderze są po prostu zaimplementowane wow. Obiekty przemieszczane są znacznie szybciej, a cały proces pracy ulega przyspieszeniu. Ponadto do tworzenia układów porzuciłem AutoCad, ponieważ w blenderze możesz używać klawiszy skrótu do przesuwania wielokątów i wierzchołków na precyzyjne odległości.
  5. Biblioteka BlenderKit i podobne dodatki. Jeśli potrzebujesz jakiegoś gotowego obiektu 3D, nie musisz iść do zasobów, pobierać go, rozpakowywać, a następnie klikać przycisk „Importuj” itp. Po prostu wybierasz żądany obiekt w interfejsie blendera i natychmiast przeciągasz go na scenę.
  6. Rzeźbienie i teksturowanie. Dla nich nie ma potrzeby osobnego kupowania MudBoxa, Zbrusha, Mari czy SustancePaintera, eksportowania modelu do Fbx, potem otwierania w tych programach, potem eksportowania z powrotem itp. W blenderze wystarczy przejść do zakładki rzeźbienia lub teksturowania i zrobić to, czego potrzebujesz. Jeśli nie jesteś wąsko wyspecjalizowanym specjalistą w rzeźbieniu lub teksturowaniu, funkcjonalność blendera będzie poza Twoimi oczami.
  7. Konfiguracja światła i materiałów jest znacznie szybsza dzięki krokowi 1. Te. Nie ma już czegoś takiego jak ustawianie renderu na noc, rano widzę, że jakiś materiał jest nieodpowiedni, albo światło jest nieodpowiednie, albo jakiś plakat się nie przemieścił, itp., i wtedy kładziemy go na render od nowa . Wszystkie tego typu błędy są widoczne od razu, bo zgrubny render trwa ułamek sekundy i nie trzeba nawet odchodzić, żeby zrobić sobie kawę.

Jak widać, wszystkie te punkty pozwalają zaoszczędzić mnóstwo czasu i usunąć niepotrzebne „hemoroidy”. Ale są też wady.

  1. Jeśli chodzi o wizualizację wnętrz, biblioteki dla blendera nie mogą jeszcze porównywać się z biblioteką dla 3ds Max, która jest dostępna na stronie 3ddd. Nie przeszkadza to jednak w pobraniu tego, czego potrzebujesz z 3ddd w formacie FBX i ponownej konfiguracji materiałów.
  2. Cykle przemieszczenia X są zaimplementowane gorzej niż w rendererach Corona lub Octane. Jest to bardziej zasobochłonne. W przypadku renderów z przemieszczeniem w rozdzielczościach wyższych niż 1600*1200 8 GB pamięci wideo może nie wystarczyć. Możesz jednak:
    a) obniżyć parametr Podział
    b) zainstaluj Octane, który jest bezpłatny dla blendera, jednak w tym przypadku będziesz musiał ręcznie przekonfigurować wszystkie materiały na oktan
    c) poczekać na nowe wersje blendera, rozwija się on bardzo szybko
    d) kup kartę RTX 3090 z 24 GB pamięci wideo

Dla mnie zalety znacznie przeważały nad wadami. I wydaje mi się, że z biegiem czasu dwie ostatnie wady znikną.

PS Jeśli próbowałeś Blendera i wydawało Ci się, że działa wolniej niż 3ds Max, upewnij się, że uruchamiasz go na osobnej karcie graficznej, a nie na wbudowanej.

Jeśli chcesz wypróbować czym jest Blender i sprawdzić jego szybkość i użyteczność, polecam go sprawdzić ten samouczek wideo, wszystko tam krótko, przejrzyście, na temat i bez wody.

Wyrównujemy koloryt tekstury, aby uniknąć efektu kafelkowania

Lekcja pracy z teksturami
Wyrównujemy ton faktury, aby uniknąć obsesyjnych powtórzeń „rozkładu częstotliwości”

0. Otwórz teksturę w Photoshopie
1. ctrl+j
2. Filtr – Rozmycie – Średnie (Filtr – Rozmycie – Średnie)
3. Kliknij dwukrotnie „Tło” - OK
4. Tło na wierzchniej warstwie
5. Krycie warstwy Tło 50% i metoda mieszania „Linear Light”
6. Filtr – Inne – Kontrast kolorów ustawiony na (50-100) (Filtr – inny – Górnoprzepustowy)
7. Połącz warstwy Filtr – Inne – przesunięcie (Filtr – inne – przesunięcie) i przesuń teksturę okiem tak, aby szwy były widoczne w środku.
8. Zakryj szwy stemplem lub usuń je, biorąc pod uwagę zawartość.

Projekt wyspy pod centrum handlowe

Nasze studio tworzy projekty wysp i stoisk wystawienniczych, od szkiców po wizualizacje 3D i rysunki w programie AutoCAD. Poniżej znajduje się przykład kilku naszych prac dla franczyzy Solntseturn:

Model 3D jest rysowany w rzeczywistej skali prawdziwe zdjęcie.

Model 3D jest rysowany w rzeczywistej skali prawdziwe zdjęcie.

Opracowanie projektu projektowego „wyspy” dla centrum handlowego od szkiców po wizualizację 3D i rysunek w programie AutoCAD.

Zamów projekt wyspy pod klucz - +7(985)468-80-21 lub mail@andreykozlov.ru

Cena:

Wizualizacja Twojej koncepcji na podstawie Twoich szkiców i referencji - 20 000 rubli.

Wizualizacja Twojej koncepcji na podstawie Twoich szkiców i referencji + przelot wideo - 30 000 RUR.

Ekspresowy projekt, wizualizacja i przelot wideo, bez Twojego szkicu, tylko na podstawie referencji, bez przeróbek - 40 000 rubli.