Data publikacji: 25-04-2018 | Data aktualizacji: 31-03-2020 | Autor: Mateusz Ciećwierz
Data publikacji: 25-04-2018 | Data aktualizacji: 31-03-2020 | Autor: Mateusz Ciećwierz
Jeśli wykonujesz wizualizacje to jest bardzo duża szansa na to, że prędzej czy później napotkasz problemy z wieszającym się renderem. Sytuacje mogą być różne, ale zazwyczaj kończą się tym samym, czyli brakiem możliwości przeliczenia renderu. Czasami po kliknięciu przycisku Render program potrafi od razu się zawiesić, czasami w połowie procesu liczenia, a innym razem może zatrzymać się na pewnym etapie liczenia i już na nim pozostać.
Jako użytkownik 3ds Maxa będę opisywał tutaj sytuacje, które pojawiają się w tym programie, ale jestem pewien, że wiele z nich może się powtarzać niezależnie od wykorzystywanego oprogramowania. Rady, które przeczytasz w tym artykule prawdopodobnie da się wykorzystać w każdym innym oprogramowaniu 3d.
Warto zacząć od tego, że obecnie nowsze wersje 3ds Maxa są dużo bardziej stabilne niż jeszcze te sprzed około 6-7 lat. Wersje 2012, 2013 potrafiły się po prostu zawieszać podczas pracy w programie bez żadnego powodu i nie było na to żadnej recepty. W tym tekście skupię się jednak na sytuacjach, gdy program zawiesza się ewidentnie podczas renderowania i jakie mogą być tego przyczyny. Jeśli napotkamy taki problem to warto zadać sobie kilka pytań.
Jeśli np. korzystamy z V-raya, to trzeba unikać sytuacji gdy w naszej scenie są materiały np. Standard, Arch&Design, Corona lub jakiekolwiek inne. Jest szansa, że mając takie materiały w scenie render policzy się, ale jest bardzo duża szansa na to, że będzie liczył się dłużej, mogą pojawić się jakieś dziwne kolorowe plamy lub proces renderowania będzie się zawieszał.
Jak najprościej zapobiec takiej sytuacji? Można korzystać z różnych skryptów, które pozwolą nam w automatyczny sposób przekonwertować chociaż część materiałów. W wypadku V-raya istnieje narzędzie - V-Ray Scene Convenventer, które umożliwi przekonwertowanie np. materiałów typu Standard lub Corona.
Jeśli np. importujemy scenę z innego programu, to prawdopodobnie będą znajdować się w niej różnego rodzaju materiały. Najprostszym rozwiązaniem jest w tym wypadku zaznaczenie wszystkich obiektów i przypisanie im jednego zwykłego materiału V-ray. Mamy wtedy 100% pewność, że nie nie ukryje się przed nami jakiś inny materiał.
Czy w scenie są światła z różnych silników renderujących?
Podobnie jak w sytuacji z materiałami musimy unikać łączenia ze sobą świateł V-ray, Corona, Standard itp. Chociaż w wypadku świateł typu Standard mamy możliwość ustawienia go tak by współgrał z V-rayem. Bardzo łatwo dodać do swojej sceny kilka niechcianych świateł np. wraz z modelami z zewnętrznych bibliotek, więc warto zwrócić na to od razu uwagę gdy je dodajemy. W przeciwieństwie do materiałów wszelkiego rodzaju światła bardzo łatwo odnaleźć w scenie. Wystarczy, że na początek użyjemy opcji “Unhide all” by mieć pewność, że wszystkie elementy są widoczne, a następnie możemy włączyć listę obiektów i sprawdzić czy znajduje się na niej jakieś niechciane oświetlenie.
Przykład różnego typu świateł w jednej scenie widocznych na liście:
Czy w scenie są modele z zewnętrznych bibliotek?
Korzystanie z różnego rodzaju gotowych modeli jest nieuniknione. Wielokrotnie zdarzy się również, że będą to modele nie do końca wykonane w profesjonalny sposób. Jak najbardziej prawdopodobne jest, że cała scena może zacząć się wieszać podczas renderowania i nie tylko przez np. jeden model lampy lub innego obiektu. Co możemy zrobić w takiej sytuacji? Jeśli mamy podejrzenia, że render nie chce się liczyć właśnie z tego powodu, to polecam skasować wszystkie podejrzane modele i spróbować wtedy przeliczyć wizualizację. Jeśli nic to nie da, to proponuję skasować kolejną część sceny. i tak w kółko aż uda się ustalić, o który model chodzi. Nie jest to najszybsza metoda, ale niestety czasami jest to jedyne rozwiązanie.
Ok, a co w sytuacji gdy jesteśmy pewnie, że wszystkie światła, materiały i modele są w porządku, a mimo tego render nie chce się liczyć? Może się to objawiać np. tym, że proces liczenia Light Cache trwa dużo dłużej niż zazwyczaj lub gdy w ogóle obliczenia trwają w nieskończoność. Może również się zdarzyć, że sam render liczy się dużo dłużej niż zazwyczaj lub po prostu scena się zawiesza np. w połowie. W takim wypadku istnieje bardzo duża szansa, że brakuje nam pamięci RAM. Jest bardzo prosty sposób by to sprawdzić. Podczas procesu liczenia się naszej sceny możemy włączyć Menadżer zadań (klikając np. Ctrl+Alt+Delete) i zobaczyć jak wygląda zużycie naszego procesora i pamięci.
Jeśli wygląda podobnie do przykładu powyżej to wszystko jest w porządku. Czyli procesory (wątki) pracują na 100% swoich możliwości, a pamięć RAM nie jest wykorzystywana w 100%. To co może nas zaniepokoić to sytuacja, gdy zużycie procesorów bardzo się waha np od 20-30%, a pamięć ram wykorzystana jest w 100%. W takim wypadku prawdopodobnie będzie nam też bardzo ciężko zrobić cokolwiek na komputerze ponieważ będzie reagował bardzo wolno i ciągle się zawieszał na kilka lub kilkanaście sekund.
Co to znaczy i co możemy z tym zrobić? Prawdopodobnie mamy w naszej scenie za dużo poligonów (np. ciężkich modeli jak drzewa), za dużo wykorzystaliśmy tekstur o b.dużych rozdzielczościach typu 4k lub korzystamy z Displacement (opcja ta bardzo lubi spowalniać render). Są dwie drogi w takiej sytuacji. Albo staramy się optymalizować naszą scenę, albo zwiększamy pamięć ram, którą posiada nasz komputer. Naturalnie tańszą i lepszą opcją będzie optymalizacja sceny. Jeśli wyrobimy w sobie odpowiednie nawyki to prawdopodobnie uda nam się znacznie ograniczyć ilość wymaganej pamięci RAM. Kilka wskazówek dotyczących optymalizacji sceny znajdziecie w tym artykule “10 rad jak przyspieszyć działanie programu 3ds Max”. Głównie warto się skupić na wykorzystywaniu V-ray proxy ponieważ to zazwyczaj umożliwia nam zaoszczędzenie bardzo dużo pamięci. Ewentualnie korzystanie z mniejszych tekstur tam gdzie nie jest to potrzebne, ale nie będzie to aż tak odczuwalne jak np. zamienienie kilku drzew na V-ray proxy. Oczywiście może się zdarzyć, że mamy po prostu bardzo ciężką scenę i sama optymalizacja nie rozwiąże problemu. W takim wypadku pozostaje nam dokupienie kilku dodatkowych kości pamięci.
Mam nadzieję, że te wskazówki pomogą wam uniknąć problemów w postaci wieszających się renderów, a nawet jeśli je napotkacie, to że uda się je szybko rozwiązać.
Jeśli ten tekst pomógł Ci rozwiązać podobny problem to daj znam znać w komentarzach poniżej.
Zachęcamy również do zapoznania się z naszymi kursami online z programu 3ds Max, które znajdziesz pod tym adresem.
Pozdrawiam! :)
Liczba dostępnych kursów: 35
Łączny czas trwania kursów: 186 godzin
Liczba dostępnych kursów: 29
Łączny czas trwania kursów: 340 godzin
Liczba dostępnych kursów: 23
Łączny czas trwania kursów: 128 godzin
Liczba dostępnych kursów: 15
Łączny czas trwania kursów: 80 godzin
Szukasz czegoś innego?