Making-of A Red Cabin

Rzut oka na środowisko pracy i możliwości Blendera, aktywnego konkurenta 3dsMax na rynku Arch-Wiz — od Adama Zoriana Radziszewskiego.

Czy da się z darmowego narzędzia, jakim jest Blender, wycisnąć topową jakość i jednocześnie uchwycić fotograficzny realizm w Arch-Wiz?

Zdecydowanie TAK!

Darmowe programy, już od dawna, przestały być tylko zabawkami dla pasjonatów i maniaków… Blender pokazuje pazury i udowadnia, że ma sporo do zaoferowania! Czy branża otworzy się na nowe i przyjmie go na stałe? To już głos do Ciebie czytelniku ;)

Z naszej strony staramy się pokazać, że są świetni specjaliści, którzy wiedzą jak klikać w te klocki i potrafią wycisnąć z Blendera wyjątkowe produkcje Arch-Wiz. Złapaliśmy Adama, który zgodził się uchylić rąbka tajemnicy swojego warsztatu i opowiedzieć nieco więcej o swojej ostatniej realizacji. Czytaj i na koniec zapraszamy do dyskusji/komentowania.


I - Początek

Na wstępie tego postu chciałbym podziękować Michałowi za zainteresowanie tą pracą i danie szansy na stworzenie Making-of z softwaru, który w branży Arch-Wiz jest raczej niszowy. Jednak wierzę, że zmiana i wzrost Blendera w naszym rynku to tylko kwestia czasu.

Przymiarki do projektu, gdzie główną rolę gra jesień zdarzyły się półtora roku temu, jeszcze na Coronie, gdy wróciwszy z wycieczki, zacząłem tworzyć swoje photoscany. Niestety, ówczesny komputer albo moje umiejętności były za słabe, by podołać wyzwaniu. Ów projekt bazuje na podstawie projektu, który wykonałem dla „Zbuduj Sam Dom” w Cycles, w letniej aurze. Tym razem postanowiłem skorzystać z Octane, który wydaje się lepiej traktować światło, aniżeli natywny silnik Blendera. Corona i V-Ray, pomimo najlepszych efektów, od ponad półtora roku nie są już kompatybilne z najnowszymi odsłonami Blendera. Jeden obrazek liczył się około 70 minut w 3200x2400 px na jednej karcie RTX 2080 Ti. Można byłoby znacznie skrócić ten czas, optymalizując rozdzielczość tekstur, ale jako że dzielę assety pomiędzy różnymi projektami, zmieniając coś raz, musiałbym się liczyć z tym, że zmiany będą również widoczne w innych realizacjach. Zamiast optymalizacji pakuję wszystko w pamięć RAM, nie martwiąc się o ograniczenia VRAM.

Sam making-of chciałbym podzielić na 9 etapów i przejść przez kolejne szczeble całej produkcji, skupiając się na głównych aspektach projektu. Ograniczona forma artykułu nie pozwala na opisanie najdrobniejszych szczegółów, jednak wierzę, że znajdziesz tutaj dużo dobrego.

foto-fin.jpg

Adam Zorian Radziszewski

Z wykształcenia jestem inżynierem budownictwa, ale prowadzenie skomplikowanych obliczeń nigdy nie było moim powołaniem. Szukałem bardziej kreatywnej drogi. Początkowo planowałem projektować i wykonywać meble z drewna, bo lubię jego zapach, jednak trafiłem na wizualizacje.

Zacząłem od Sketchupa, który szybko ustąpił Blenderowi z Cycles i tym sposobem działam obecnie w Arch-Wiz.

Mieszkam w Królestwie Niderlandów, gdzie od 3 lat prowadzę swoją działalność jako freelancer realizując ok 20-30 wyjątkowych projektów rocznie. Projektów, które stają się częścią mnie.

www
 

II - Konstrukcja Sceny

Ilu artystów 3D, tyle sposobów na stworzenie przestrzeni do pracy i finalnej sceny. Po jednym projekcie, który był tak źle zoptymalizowany, że przesunięcie jednego modelu trwało 60-90 sekund postanowiłem, że już więcej do tego nie dopuszczę. Aktualnie, większość moich projektów jest robiona na zasadzie linkowania. Folder projektu posiada główny plik, do którego są podpięte wszystkie inne pliki/modele.

Dzięki temu budynek jest tworzony w oddzielnym pliku, tak aby jego edycja nie była kłopotliwa, gdy główna scena posiada dużo poligonów. Większość modeli stałych, takich jak drzewa, krzaki, samochody, meble są podlinkowane pod główną scenę. Działa to trochę na zasadzie Proxy. Modele te mogę skalować, przesuwać, robić lustrzane odbicia, ale jeżeli chcę wejść w edycję, muszę zrobić to w pliku źródłowym z danym assetem. Nie jest to uciążliwe, wystarczą dwa kliknięcia – kwestia przyzwyczajenia, a komfort pracy zdecydowanie większy. Problem zaczyna się robić jedynie przy naprawdę dużych scenach, gdzie podlinkowanych jest wiele modeli, wówczas wzrasta długość wczytywania, chociaż i tak, te w 3dsMax, nie należą do krótkich :) Przykładowy, duży aerial w Blenderze otwiera mi się w okolicach 2 minut.

 

III - Modelowanie

Cały budynek został wymodelowany w Blenderze na podstawie planów dostarczonych przez klienta z pliku pdf. Aby przyśpieszyć pracę, wykorzystuję dużą liczbę modyfikatorów, i tak ściany budynku to zwykły cube pozbawiony góry i dołu, dopasowany do obrysu budynku. Następnie użyłem narzędzia solidify, by nadać im odpowiednią grubość. Otwory na okna zostały wycięte przy użyciu modeli booleans. Bryły te zostały wykorzystane również do dopasowania elewacji, gdyż siding to tak naprawdę jeden model z nałożonym modyfikatorem array z przesunięciem 156 mm. Okna wymodelowałem na potrzeby innego projektu, a pomimo tego, że jedno skrzydło składa się w wielu obiektów, to dopasowanie ich do istniejących wymiarów jest banalnie proste, a wszystko dzięki równoczesnej edycji wielu modeli jednocześnie.

Elementy drewniane były wykonane za pomocą dodatku FloorGenerator, który jest bliźniaczą kopią skryptu ze środowiska 3dsMax. Również i w tym przypadku, domyślny kształt elementów jest nadany poprzez modyfikator booleans.

 

IV - Materiały

Zważywszy na to, że aktualnie wszystkie silniki dążą do jak najprostszego tworzenia materiałów, konwersje między różnymi środowiskami są naprawdę proste, szczególnie gdy opierasz się na standardzie PBR. Pomimo że Octane przychodzi na pomoc z własnym konwerterem, to tworzę materiały samodzielnie. Głównie po to, by zachować materiały na Cycles. Co jest spowodowane tym, że wiele projektów dzieli te same modele, a nie zawsze renderuję wszystko w jednym silniku. Bądź co bądź, Cycles jest natywnym silnikiem Blendera i lepiej nie kasować sobie niepotrzebnie materiałów, by za jakiś czas musieć je odtwarzać ponownie.

Oczywiście, jeżeli wiem, iż dany model nie będzie używany wielokrotnie, jak chociażby teren z tego projektu, to nie marnuję czasu na tworzenie materiałów pod Cycles. Dużo zależy od silnika, w jakim aktualnie pracuję i prawdopodobieństwa wykorzystania konkretnych obiektów w przyszłości.

 

V - Assety

Do wykorzystania tych drzew przymierzałem się już półtora roku temu, gdy to po wycieczce do jakiegoś holenderskiego lasu wróciłem z dużą ilością zdjęć. Wydaje mi się, że każde z nas bacznie obserwuje otaczający świat, zastanawiając się, jak daną rzecz najłatwiej przenieść do przestrzeni 3D. W moim przekonaniu najlepszym sposobem jest fotogrametria połączona z modelowaniem. W momencie, gdy robiłem te drzewa, SpeedTree nie posiadał jeszcze opcji miksowania fotogrametrii z wygenerowanym drzewem, więc musiałem szukać alternatyw. Z pomocą przyszedł mi the Grove3D - płatny dodatek do Blednera, dzięki któremu generuje się drzewa na podstawie już istniejących algorytmów źródłowego oprogramowania. Tak wygenerowane drzewo połączyłem ręcznie z poprawionym modelem 3D. Jako, iż drzewo, to statyczny obiekt, a szczególnie jego podstawa, to nie będzie nigdy animowana, tak do retopologii używam instant meshes, który jest darmowy, szybki i tworzy w miarę dobrą siatkę. Następnie tworzę mapę UV i wypalam tekstury - diffuse i normalmapę z czystego skanu. Do tworzenia skanów wykorzystuje Meshroom/Reality Capture no i Blendera, który jest niewątpliwym kombajnem, jeżeli chodzi o swoje możliwości.

Z tego też powodu preferuję The Groove3D aniżeli SpeedTree, gdyż dzięki temu pierwszemu mam większą kontrolę oraz optymalizację modeli. Tak prezentują się przykładowe modele wykonane różnymi technikami:

 

VI - Particle settings

W dystrybucji liści/trawy/gałązek/włosów czy lecących ptaków z jednego miejsca do drugiego przychodzi z pomocą Blenderowy Particle Settings. Jest to świetne narzędzie, a z nadchodzącymi wersjami Blendera ma być jeszcze lepsze. Jako wsparcie można korzystać z płatnych wtyczek, które wielokrotnie bazują na ogólnodostępnych narzędziach z samego Blendera, tylko interfejs i przejrzystość jest w nieco innym wydaniu. Przykładem takich wtyczek może być Graswald lub Scatter — przynajmniej te dwie są najbardziej popularne. W tym przypadku korzystałem z Graswalda, gdyż chciałem użyć ich liści i patyków.

Jak w większości tego typu narzędzi, coś musi dystrybuować nam assety, a w moim przypadku użyłem do tego edytowalnego mesha o w miarę gęstej siatce, który okala wszystkie powierzchnie, na których chciałem rozsypać liście. Jest to spowodowane również tym, że chciałem mieć te liście na zalinkowanych assetach Megascans, których nie dam rady edytować z poziomu głównego pliku, więc także nie mam jak nadać im cząsteczek. Dzięki proportial editing i snapowaniu vertexów do podłoża, dopasowanie mesha dystrybującego liście nie jest trudne, a późniejsza edycja jest łatwa. Przykład znajduje się na filmie poniżej, gdzie kopiuje assety z jednego projektu do drugiego:

Rozsiewanie assetów w Blenderze za pomocą particle settings jest proste, a dystrybucja modeli opiera się o:

  • Białoczarną teksturę, wygenerowaną w blenderze lub zaimportowaną z folderu z teksturami,

  • Weight map na danych grupach vertexów.

Oczywiście nie ma jednej, słusznej metody do dystrybucji modeli, a ponadto można je łączyć. Wszystko jest zależne od projektu, własnych preferencji oraz specyfiki sytuacji. Osobiście częściej maluję vertexy w edycji weight paint.

Nasza scena zawiera 4 różne ustawienia particle, które były malowane za pomocą weight paint pod każde z ujęć. Na poniższym filmiku widać jak kształtuje się dystrybucja poszczególnych z nich oraz jak wygląda mesh dystrybuujący liście na ganku, dachu i krzakach.

 

VII - Oświetlenie

Jako że nie jestem zwolennikiem żonglerki mapami HDRI i większość moich prac oświetlam światłem typu Sun oraz Mapa Noemotions na tło/odbicia, to tym razem przewrotnie postanowiłem zastosować jedynie mapą HDRI.

Po wykonaniu parunastu testów doszedłem do wniosku, że najlepiej prezentuje się mapa dostarczona przez 3Dcollective, którą uprzednio polecono mi na grupie Biznes Wizualizacji.

O ile Cycles wszystkie mapy wczytuje z odpowiednią wartością Gamma, to w Octane trzeba ustawić wartość 1.0 samodzielnie, gdyż domyślnie ustawiona jest wartość 2.2. Kolejną różnicą w stosunku do Cycles jest mapping mapy, w Cycles obrót odbywa się przez obrót w nodzie mapping, natomiast w Octane poprzez przesuniecie wartości osi X w nodzie transformacji. Subtelne różnice, ale efekt cały czas ten sam.

 

VIII - Color management

Wielu użytkowników, szczególnie ci, którzy mieli styczność z innymi silnikami, narzeka na color management w Blenderze. Znawcą w tym problemie nie jestem, ale Octane przychodzi z własnymi opcjami, które czasami zaczynają się kłócić z Blenderowymi. Nie istnieje tutaj jedna, słuszna droga, ale w tym przypadku wyłączyłem Blenderowe ustawienia i korzystałem jedynie z Octanowskich.

 

IX - Rendering

Kernel w Octane powinien być zmieniony na path trace, a do tego projektu zastosowałem takie wartości sampli:

Następnie musiałem włączyć opcje Out of Core, wpisałem wartość z zapasem, jaką chciałem poświecić na renderowanie tej sceny i włączyłem octanowy denoising. Sam proces renderowania w rozdzielczości 3200x2400px trwała około 70 minut na RTX 2080Ti. Jak wspomniałem poprzednio, można byłoby to skrócić, chociażby przez zmianę rozdzielczości tekstur, jak chociażby pni drzew, które mają 8K/16K. Łatwo jest sobie wyobrazić, że 11GB VRAM mojej karty graficznej da się bardzo łatwo zapełnić. Dlatego ważne było skorzystanie z opcji Out of Core. Czyli zapakowanie wszystkiego w RAM, którego na pokładzie mam 128GB, którego na chwilę obecną jeszcze nie udało mi się w pełni wykorzystać.

Niektórzy twierdzą, że Out of Core spowalnia rendering, i być może jest to prawda, ale czas renderingu z włączoną opcją jest cały czas akceptowalny. Szczególnie że pracując na Coronie na i7 zdarzało mi się renderować jedną scenę po 5h, wiec jak dla mnie przeskok jest wyraźny.

 

X - Post processing

Chyba większość z nas używa do tego Photoshopa. Ja natomiast zaczynam lubić composytor wbudowany w Blendera, jest nieinwazyjny w sam Render i w miarę szybki, daje ładne efekty, a im dłużej korzystam z tej opcji, tym mniej brakuje mi frame buffera z Corony, w którym zwykłem robić postprodukcję renderów. Do lekkich poprawek zamalowywania lub poprawiania renderów wykorzystuje Gimpa, którego cena jest nieporównywalna w stosunku do Photoshopa, a w moim workflow jest w zupełności wystarczający.

 

XI - Podsumowanie

Mogę być nieobiektywny, gdyż 3dsMaxa używałem jedynie przez okres Trialu, i to do sprawdzenia jak wypada ta sama Corona w 3dsMax i Blender. Jednak zdecydowanie doradzałbym każdemu, kto chciałby zacząć przygodę z 3D, do ściągnięcia Blendera. Społeczność Blendera jest ogromna i posiada obszerne zasoby wiedzy i tutoriali. Polska “reprezentacja” jest bardzo pomocna i szybko wspiera w razie problemów. Ze swojej strony polecam grupę Blender Polska, która rozwiąże każdy problem. Kolejnym atutem tego oprogramowania jest prędkość jego wzrostu oraz rozwoju. Twórcy udostępniają ten program za darmo, jedynie prosząc o dobrowolne wsparcie fundacji Blendera [każdy samodzielnie może zdecydować, ile warte jest dla niego to oprogramowanie]. Jednak i bez darowizny można z niego korzystać.

Octane posiada również swoją darmową wersję Blendera, która jest ograniczona do jednej karty graficznej. Z autopsji wiem, że łatwiej jest dokupić kolejną kartę graficzną, aniżeli wymienić procesor, tak by skrócić czas wykonywania wizualizacji. W poprzednim roku do mojego GTX 1080 dokupiłem RTX 2080TI i poczułem niesamowity przeskok w prędkości wykonywania wizualizacji na silniku GPU. W tym roku wymieniłem mojego i76800K na Threadripper 3960x i muszę przyznać, że się trochę rozczarowałem, zarówno V-Ray, jak i Corona działały szybciej, ale nie była to tak odczuwalna różnica, jak w przypadku dodania nowej karty graficznej.

Uważam, że Blender i środowisko GPU szybko zdobywa nowych użytkowników i ta grupa rośnie w siłę. Praca nad wizualizacją nie jest już powiązana sztywno tylko z 3dsMax + V-Ray i widać inne kierunki rozwoju. Każdy, kto startuje lub szuka czegoś nowego, powinien wypróbować Blendera, bo warto.


O Blenderze można powiedzieć wiele. Jedni go kochają, inni ironicznie wyśmiewają, jednak powoli kończy się czas, kiedy można go nie dostrzegać. Coraz większa grupa profesjonalistów i poważnych biznesów opiera swoją produkcję o to narzędzie. Jeśli dołożymy do tego fakt, że wielkie firmy zaczynają inwestować w to środowisko, to jest spora szansa, że w niedalekiej przyszłości podium popularności oprogramowania 3D na świecie może ulec przetasowaniu.

Nawet jeśli jeszcze nie pracujesz w Blenderze, to warto czasami rzucić tam okiem i spojrzeć co słychać na tym polu. Ze swojej strony dodam, że gdybym miał teraz zaczynać z Arch-Wiz, to pewnie znałbym to środowisko — więcej info tutaj >>

Zapraszamy do komentowania i zadawania pytań w komentarzach. Podobało się — zostaw like!

Włożyliśmy w to sporo pracy, więc jeśli materiały tego typu są dla Ciebie wartościowe to mamy prośbę: pomóż dotrzeć do innych osób, którym ta wiedza może pomóc. Może wśród znajomych masz kogoś, komu warto podesłać ten artykuł? Podeślij link mailem, Messengerem albo udostępnij na Facebooku. Dzięki!

Previous
Previous

6 kierunków na to, co nas czeka w 2021 roku

Next
Next

Wycena wizualizacji 3D