Niewątpliwą zaletą Blendera jest cena. Całe zero złotych. Wadą jest skomplikowany dla początkujących interface. Optymalne ustawienia renderowania też mogą sprawić niektórym trudności. Dlatego zajmiemy się tym tematem.
Standardowo Blender posiada dwa silniki renderowania: bardzo realistyczny Cycles (ale niezwykle wolny) i niezwykle szybki Eevee (ale gorzej z realizmem), który już w wersji 2.80 zastąpił przestarzały Internal. Oba są cały czas rozwijane tak pod kątem szybkości jak i realizmu renderów. Przy pomocy skryptów Blendera można połączyć z dowolnym innym silnikiem, ale zazwyczaj są to produkty płatne albo sam skrypt ma sporo ograniczeń. Cycles i Eevee są dostępne od razu po uruchomieniu programu.
Ja korzystam głównie z Cycles, bo znam go bez porównania lepiej i Eevee nie zawsze daje mi taki efekt, jak bym oczekiwał, nawet gdy ustawiam go zgodnie z tutorialami. Niestety ich ustawienia różnią się nieco, dlatego tym razem skupię się na tym pierwszym.
Cycles bardzo chętnie korzysta z GPU karty graficznej. Najlepiej współpracuje z CUDA Nvidii, ale radzi też sobie z innymi kartami a nawet chipsetami na płycie głównej.
Aby sprawdzić, czy Twoja karta współpracuje z Blenderem (i włączyć jej obsługę), otwórz okno Prefences i przejdź do zakładki System. Tutaj znajdź ustawienia Cycles Render Devices. Dla kart z architekturą CUDA trzeba wcisnąć przycisk CUDA i poniżej wybrać karty, które będą używane do obliczeń, w końcu komputer może mieć ich więcej niż jedną.
W oknie właściwości Properties dostępne są teraz dwie zakładki dotyczące renderowania, które już opisywałem we wpisie Blender dla bardzo początkujących. Ilość dostępnych parametrów może przyprawić o ból głowy i do ogarnięcia wszystkich odsyłam do dokumentacji. Tutaj zajmiemy się najważniejszymi. Zacznijmy od tej pierwszej.
Tutaj wybieramy silnik renderujący (np. Cycles) i procesor (najlepiej GPU jeśli Blender dogaduje się z kartą graficzną). Renderowanie będzie wielokrotnie szybsze niż przy pomocy CPU. Przy kilku kartach graficznych na pokładzie renderowanie śmiga aż miło.
Tutaj przede wszystkim wybieramy ilość próbek do renderowania (Render) i podglądu (Viewport). Im więcej, tym mniej szumów, ale dłuższy czas renderowania. Na szczęście teraz Blender ma rewelacyjny odszumiacz pozwalający na drastyczne zmniejszenie próbek. O ile jednak w grafikach statycznych mogą pojawić się artefakty, to w animacjach w zasadzie nie widać różnicy. Dla większości scen wystarczy 400 próbek bez odszumiania i poniżej 100 z odszumianiem. Ale jeśli scena zawiera wiele przezroczystych elementów, to i 5000 próbek może być mało.
W tej zakładce ustawiamy maksymalną ilość odbić lub przejść przez materiały przezroczyste promienia świetlnego. Im więcej tym większy realizm sceny (widać np. tzw. „wycieki kolorów”,), ale też dużo dłuższe renderowanie. Blender nie musi liczyć wszystkich odbić, ale i tak lepiej je ograniczyć. Dla większości scen wystarczy wszędzie wpisać 8.
Dodatkowo można włączyć kaustykę dla odbić i szkła, ale to już zdecydowanie mocno wydłuża czas renderowania i zwiększa zaszumienie. Jeśli kaustyka w scenie nie jest potrzebna (w końcu nie zawsze jest widoczna), to lepiej ją wyłączyć.
Zgodnie z nazwą ta zakładka odpowiada za wydajność. Ustawiamy tu ilość wątków procesowa wykorzystywanych do renderowania (najlepiej zostawić na auto) oraz wielkość kafelków, na które będzie dzielona scena, co znacznie przyspiesza renderowania, bo Blender nie musi trzymać w pamięci całej sceny. Ponadto renderowane jest kilka kafelków jednocześnie. Ktoś eksperymentalnie dowiódł, że dla CPU optymalna wielkość płytki to 16x16px a dla GPU - 256x256px.
Zaznaczenie Progressive Refine spowoduje renderowanie całej sceny naraz, co jest dobre do podglądu podczas modelowania (po kilku przebiegach mamy już jako taki podgląd całości), ale do finalnego renderu lepiej to wyłączyć.
Tutaj wybieramy rozmiar renderu w pikselach i ewentualnie skalowanie (pozwala to szybko przełączyć mały podgląd 25% na docelowy render 100% albo nawet 200%).
Render region pozwala na wyrenderowanie fragmentu sceny (np. po drobnej zmianie małego elementu) w celu późniejszego scalenia w Photoshopie. Aby zaznaczyć region należy w podglądzie z kamery wcisnąć CTRL+B i zaznaczyć odpowiedni prostokąt. Powyższy checkbox służy głównie do wyłączania regionu.
Poniżej wybieramy zakres klatek do renderowania animacji, krok (np. co 4 klatkę) oraz ilość FPS, co ma znaczenie podczas renderowania do pliku video, ale lepiej renderować do serii grafik, o czym napiszę za chwilę.
Tutaj ustawiamy miejsce i nazwę pliku docelowego (przyda się w renderowaniu wsadowym) oraz format pliku i kilka dodatkowych ustawień związanych z danym formatem np. przezroczystość, głębię koloru lub stopień kompresji.
Dwa slashe „//” oznaczają, że pliki wynikowe będą zapisywane w tym samym folderze, co plik Blend. Do nazwy zawsze będą automatycznie dodane 4-cyfrowe numery klatek (przydatne podczas renderowania sekwencji klatek animacji).
Jak już wspomniałem, w przypadku animacji nie zaleca się renderowania od razu do formatu video, bo w przypadku jakiegokolwiek błędu traci się cały dorobek. Lepiej jest renderować np. do serii plików PNG (tak wiem, mogą to być tysiące plików) i w razie czego w kosmos leci tylko aktualnie renderowana klatka, od której potem można wznowić renderowanie. Docelowo można je zmontować w dowolnym programie do montażu np. HitFilm czy nawet w samym Blenderze, który ma do tego swoje narzędzia.
Każdą klatkę można automatycznie poddać Compositingowi lub połączyć w sekwencerze z innymi scenami, dźwiękiem, czy nawet innymi gotowymi filmami. W oknie compositingu ustawia się odszumianie, dlatego warto zaznaczyć tą opcję.
Do końcowego renderingu nie trzeba odpalać całego programu, w końcu interfejs użytkownika też potrzebuje trochę mocy i pamięci komputera. Lepiej odpalić proces z linii poleceń, a odpowiednio przygotowany plik wsadowy przez weekend zrobi całą robotę. Kiedyś mój komputer nieprzerwanie działał prawie 3 tygodnie (w dzień przygotowywałem kolejne sceny, w nocy trwało renderowanie wsadowe), co skończyło się zajechaniem procesora, płyty głównej i pamięci. I to dokładnie 1 maja. Peszek…
Nie wiem, o ile szybciej trwa rendering, ale ktoś wyliczył, że o około 10%, co przy tysiącach klatek animacji daje całkiem niezły zysk.
Blender ma bardzo dużo parametrów, z którymi można go uruchomić, ale realnie przydaje się kilka. Najlepiej jest przygotować sobie odpowiedni plik wsadowy np. render.bat umieszczony w tym samym folderze co pliki blend. Ogólna budowa linii uruchomienia Blendera wygląda tak:
Zostanie otworzony plik cow.blend i wyrenderowana klatka 1 ze sceny scene. Zauważ, że nazwa pliku jest w cudzysłowie. Jest to ważne, bo gdyby w nazwie pliku była spacja, to wystąpiłby błąd.
Przy renderowaniu wsadowym bardzo ważna jest, wspomniana już wcześniej, zakładka Output. Docelowe pliki mają podaną tam nazwę oraz 4-cyfrowe określenie wyrenderowanej klatki (wg powyższych ustawień będzie to render0001.tif).
Dla każdej sceny można ustawić niezależne nazwy. Rozszerzenie jest zależne od wybranego formatu pliku wynikowego.
Zostanie wyrenderowane 101 klatek (od 0000 do 0100) do pliku video lub (przy powyższych ustawieniach) do serii plików graficznych tif, z których każdy będzie miał nazwę z dołączonym numerem klatki. Taką sekwencję bez problemu można zmontować np. w HitFilmie.