Plamy na renderze - Skąd się biorą i co z nimi zrobić? Poradnik

Data publikacji: 19-05-2020  |  Data aktualizacji: 04-04-2024  | Autor: Mateusz Ciećwierz

Przeliczasz sceny, korzystając z Irradiance Map i na Twoich wizualizacjach pojawiają się plamy? Przeważnie wynika to z niskich ustawień parametrów, jak również z trudności renderowania drobnych detali. Sprawdź, co zrobić, by rozwiązać ten problem. Doświetl scenę światłami, np. dodaj dodatkowe V-ray Light, pamiętaj jednak, że może to zmienić finalny wygląd wizualizacji. Innym sposobem jest skorzystanie z Brute Force. Mimo dłuższego czasu renderowania, Brute Force daje lepszą jakość, eliminując plamy na wizualizacji. Popraw parametry Irradiance Map. Zmiana ustawień Irradiance Map może poprawić czystość renderu, ale nie zawsze eliminuje plamy w pełni. Przeczytaj artykuł i zobacz, jak zmiana ustawień wpływa na render konkretnej sceny.

Plamy na renderze - Skąd się biorą i co z nimi zrobić? Poradnik


Prawdopodobnie każdy kto przygotowuje wizualizacje z wykorzystaniem V-raya napotkał na problem z występowaniem plam na renderach. Zauważyłem, że pytanie to przewija się wielokrotnie na różnych grupach i do dziś wiele osób ma z tym problem. Niestety w typ wypadku włączenie Denoisera nie pomoże za wiele, a część ludzi traktuje to chyba jak lekarstwo na wszystko :)

Jakie są przyczyny pojawiania się plam na renderach?

Jeśli na Twoich renderach występują plamy to na 95% przeliczasz je wykorzystując Irradiance Map jako Primary engine. Trzeba przyznać, że rendery w ten sposób liczą się bardzo szybko i poglądowe wizualizacje możemy otrzymać w kilka minut, ale niestety kosztem jakości.


Problemy z plamami pojawiają się głównie w wypadku wizualizacji wnętrz, gdzie większość sceny oświetlona jest światłem odbitym. Gdy pracujemy nad wizualizacjami architektury, a nasza scena jest oświetlona w całości światłem słonecznym, to plamy raczej nie powinny się pojawiać. Ewentualnie w słabo oświetlonych miejscach.

Wpływ na pojawianie się tego typu problemów mają również oczywiście ustawione parametry. Gdy korzystamy z Irradiance Map na niskich ustawieniach, to możemy być pewni, że na renderze pojawią się plamy.

Dodatkowo wszelkie plamy bardzo lubią pojawiać się na drobnych detalach jak gzymsy i sztukaterie (przykład poniżej). Z takich elementów naprawdę ciężko się jest ich pozbyć.


Co możemy zrobić z plamami?

  • Jednym z najprostszych sposobów, który nie wydłuży czasu liczenia, a może nawet go skrócić jest doświetlenie sceny dodatkowymi światłami. W wypadku wnętrz może być to po prostu dodatkowy V-ray Light.

    Osobiście jednak nie jestem fanem takiego rozwiązania ponieważ zmieni to finalny wygląd naszej wizualizacji. Polecałbym go jednak osobom, które mają słabsze komputery lub tym, którym zależy na czasie.

    Poniżej możecie zobaczyć porównanie tej samej wizualizacji przeliczoną z tymi samymi ustawieniami, ale w przykładzie po prawej stronie dodałem dodatkowo V-ray Light pod sufitem. Plamy nie są aż tak widoczne, jednak wizualizacja się odrobinę zmieniła. Chociaż w tym wypadku nie wiem czy na gorsze, bo o wiele wyraźniejsza stała się sztukateria na ścianach :)


  • Najprostszym i najskuteczniejszym rozwiązaniem będzie po prostu nie korzystanie z Irradiance map, a z Brute Force. Niestety jak pewnie się domyślacie jest to zdecydowanie wolniejsza metoda liczenia, która jest bardzo czasochłonna. Obecnie jednak nowe komputery są coraz szybsze i coraz więcej osób będzie mogło sobie na to pozwolić. W dalszej części artykułu pokaże wam kilka przykładów.
  • Korzystać z lepszych parametrów Irradiance Map. Poniżej możecie zobaczyć kilka przykładów tej samej sceny przeliczonej z różnymi parametrami.

    We wszystkich przypadkach jako Secondary Engine mam ustawiony Light Cache, subdivs: 2600.


Po lewej: Preset Low, Subdivs 50, po prawej: Preset Medium, Subdivs: 50

Jak widzicie nie nastąpiła znaczna poprawa. Dopiero gdy zwiększymy Subdivs z 50 do 150, to możemy zauważyć, że render jest w miarę czysty.


W obu przypadkach jest ustawiony Preset: Medium, po lewej Subdivs 50, a po prawej: 150.


Dla porównania możemy zobaczyć również render przeliczony z wykorzystaniem Brute Force.


Po lewej: Irradiance Map, Medium, Subdivs: 150, a po prawej: Brute Force

Co prawda render przeliczony z Brute Force jest bardziej zaszumiony, ale mimo niskiej rozdzielczości wszystkie detale są o wiele wyraźniejsze. Pozbyliśmy się też oczywiście wszelkich plam. Z szumem możemy walczyć po prostu zmniejszając Noise Threshold lub dodatkowo dodać Vray Denoiser.

Rzućmy jeszcze okiem jak wyglądają sztukaterie po zbliżeniu.


Oba przykłady zostały policzone z Irradiance Map: po lewej: preset Medium, Subdivs: 50, a po prawej High, Subdivs 150

Zróbmy jeszcze jedno porównanie.

Po lewej: Irradiance Map, High, Subdivs: 150, a po prawe: Brute Force

Jak widzicie ustawiając odpowiednio wysokie ustawienia Irradiance Map możemy już uzyskać całkiem czysty render, ale nadal najbardziej poprawnym będzie ten przeliczony z wykorzystaniem Brute Force.

Na koniec możemy porównać sobie dwa rendery. Ten od którego zaczynaliśmy z plamami oraz przeliczony z Brute Froce z Noise Threshold ustawionym na 0,002.

Po lewej: Irradiance Map, Preset: Low, Subdivs: 50, czas liczenia: 44 sekundy po prawej: Brute Force, Noise Threshold: 0,002, czas liczenia: 10 minut 40 sekund

Są to dość skrajne przykłady ponieważ po lewej mamy bardzo słabe ustawienia, a po prawej już naprawdę dobre, ale chciałem pokazać jak duże znaczenie mają w wypadku czystości renderów. Dlatego rada pt. "dodaj VrayDenoiser" nie będzie wystarczająca :). Czas liczenia zmienił się diametralnie, ale niestety coś za coś. Nie możemy oczekiwać, że czyste, poprawne rednery będą robić się w minutę. Jeśli chcemy mieć wysokiej jakości wizualizacje, to musimy trochę poczekać.

Warto zauważyć, że miejsca dobrze doświetlone są praktycznie takiej samej jakości niezależnie od ustawień. Ich jakość w tym wypadku będzie głównie zależna od parametrów: Noise Threshold oraz Min/Max subdivs.

Dodatkowo rzućmy jeszcze okiem na porównanie wysokich ustawień Irradiance Map oraz Brute Force.

Po lewej: Brute Force, Noise Threshold: 0,002, czas liczenia: 10 minut 40 sekund, a po prawej: Irradiance Map, Preset: High, Subdivs: 150, czas liczenia: 3 minuty 12 sekund

Jak widzicie pozbycie się plam nie jest tak naprawdę bardzo problematyczne o ile wiemy jak z tym walczyć i możemy pozwolić sobie na dłuższe czasy renderowania.

Mimo tego, że Irraidiance Map z odpowiednio wysokimi ustawieniami daje już całkiem dobre efekty, to osobiście polecałbym i tak liczyć wizualizacje z wykorzystaniem Brute Froce jeśli tylko możemy sobie na to pozwolić. Nie musimy wtedy martwić się już w ogóle o żadne plamy, a jedynie o czas :).

Z drugiej strony jeśli np. w naszej scenie nie ma takich problemów albo wykonujemy wizualizacje typu exterior, to też nie ma sensu na siłę liczyć renderów wykorzystaniem z Brute Force. Możliwe, że efekt będzie praktycznie identyczny, a czasy liczenia znacznie dłuższe.

Jeśli chcesz nauczyć się wykonywać fotorealistyczne wizualizacje, to sprawdź nasz kurs - 3ds Max 2020 + V-ray Next - Wykonanie wizualizacji nowoczesnego wnętrza.

Pozdrawiam! :)

Autor

Mateusz Ciećwierz Architekt, grafik 3d

Absolwent Wydziału Architektury Politechniki Warszawskiej. Założyciel serwisu CG Wisdom. Autor ponad 25 kursów z oprogramowania 3ds Max i V-ray. Fan gier, komiksów i starych samochodów.

Przeczytaj o programie 3ds Max na naszym blogu

Chcesz poznać program 3ds Max? Sprawdź nasz darmowy kurs online!