Optymalizacja renderowania w V-Ray

Komentarz z 2023 r. - przestań cierpieć z 3ds Max, dlatego. Poniżej znajduje się oryginalny artykuł

Podczas tej lekcji zagłębimy się w dzicz V-Ray i przeanalizujemy jego najbardziej subtelne ustawienia, aby dowiedzieć się, jak zoptymalizować renderowanie i uzyskać wysokiej jakości obraz w krótszym czasie.

vray_optimization_header

Wstęp


Ten samouczek ma na celu omówienie i wyjaśnienie całego procesu optymalizacji ustawień V-Ray w celu uzyskania wysokiej jakości renderów w krótszym czasie.

Często panuje wiele zamieszania wokół terminu próbkowanie V-Ray i „idealnych” ustawień. Większość rendererów tworzy „Uniwersalne ustawienia V-Ray”, w których ustawia maksymalny poziom próbnika obrazu (antyaliasing lub AA) na bardzo wysoką wartość, około 50 lub nawet 100, a następnie po prostu obniża wartość progu szumu do czasu renderowania jest wystarczająco czysty, uważając, że jest to najlepszy sposób na osiągnięcie optymalnego stosunku jakości do szybkości. Jednak przy odrobinie zrozumienia tego, co kryje się pod maską V-Ray i jak to faktycznie działa, możesz uzyskać lepsze obrazy w krótszym czasie renderowania. Metoda, którą opiszę w tym artykule, w porównaniu z najczęstszą, którą opisałem powyżej, w niektórych scenach może zaoszczędzić czas renderowania od 3 do 13 razy.

Cóż, najpierw spójrzmy na kilka podstawowych rzeczy na temat działania samego renderowania i próbkowania V-Ray. Następnie przejdziemy do konkretnej sceny, aby zademonstrować, jak zoptymalizować renderowanie, aby było szybsze, lepsze i ostrzejsze. Następnie nauczymy się rozpoznawać różne rodzaje szumów, które mogą występować w scenie. Na koniec pokażę Ci krok po kroku procedurę optymalizacji dowolnej sceny, aby uzyskać idealną równowagę pomiędzy jakością i szybkością.

Jeśli już wiesz, jak działa V-Ray, kliknij tutaj, aby przejść bezpośrednio do procedury optymalizacji krok po kroku.

RAYTRACING (śledzenie promieni)


Kiedy rozpoczyna się renderowanie, promienie są wystrzeliwane z kamery do sceny w celu zebrania informacji o geometrii sceny, które będą widoczne na ostatecznym obrazie. Promienie te są skierowane od aparatu i nazywane są Pierwotne promienie (Czasami Promienie kamery lub Promienie oka) i są konfigurowane w Próbnik obrazu (znany również jako antyaliasing lub AA).

Podczas gdy promień główny przecina geometrię sceny, z tych punktów przecięcia są wystrzeliwane dodatkowe promienie do innych obszarów sceny w celu uzyskania informacji o oświetleniu, cieniach, oświetleniu pośrednim (GI), odbiciach, załamaniach, rozpraszaniu podpowierzchniowym (SSS) itp. Te promienie nazywane są promienie dodatkowe Promienie wtórne i skonfigurowany w V-Ray Próbnik DMC.

vray_optimization_figure_01Rysunek 1. Uproszczony diagram śledzenia promieni: Promienie główne są wystrzeliwane z kamery na scenę, przecinają się z obiektami w scenie i rozprzestrzeniają promienie wtórne na inne części sceny.

Od tej chwili będziemy nazywać „Promienie” „Próbkami”, ponieważ celem promienia (Promienia) jest uzyskanie informacji o scenie „Próbka”. Promienie = próbki.

Aby zrozumieć, co dzieje się na scenie, musisz wypuścić kilka sampli pierwotnych i wtórnych. Więcej Próbki, im więcej V-Ray otrzyma informacji o scenie, tym wyższa będzie jakość renderu i mniej będzie zawierać hałas. Jak widzisz, hałas jest przyczyną braku informacji o miejscu zdarzenia. Jeśli na scenie występuje hałas, oznacza to, że V-Ray nie miał możliwości zebrania wystarczających informacji o scenie. Podsumowując: Aby usunąć szum, musisz podać V-Rayowi więcej informacji, a aby renderer miał więcej informacji o scenie, musisz zwiększyć wartość Próbki.

Liczba próbek pierwotnych, regulowana wartościami Min. poddziały, Maksymalna liczba poddziałów, I Próg koloru w opcjach Próbnika obrazu. Liczba próbek wtórnych jest kontrolowana przez tę wartość Poddziały indywidualnie dla każdego źródła światła, GI, materiału i ustawień Próg hałasu Wartość próbnika DMC. (Próg hałasu w Majach nazywany jest progiem adaptacyjnym)

Powtórzmy zatem podstawowe pojęcia:

Promień = próbka

Próbki pierwotne = próbki dostosowane przez narzędzie Image Sampler firmy V-Ray (znane również jako antyaliasing lub AA), zaprojektowane w celu określenia geometrii sceny i zebrania informacji, takich jak tekstury, głębia ostrości (DOF) i rozmycie ruchu).

Próbki wtórne = próbki konfigurowalne przez próbnik DMC firmy V-Ray, zaprojektowane w celu gromadzenia informacji o oświetleniu, GI, cieniach, odbiciach, załamaniach i SSS

Hałas = hałas lub brak informacji

Subdivs = pierwiastek kwadratowy z rzeczywistej liczby próbek. Poddziały^2 = Próbki. Przykład: 8 poddziałów = 64 próbki. (8^2 = 64)

W tym samouczku przyjrzymy się, jak najlepiej wykorzystać próbki pierwotne i wtórne, aby w krótkim czasie uzyskać obraz pozbawiony szumów.

Definicja PRÓBKUJ ELEMENT RENDERU


Element renderujący SampleRate jest jednym z najważniejszych narzędzi, których będziemy używać do optymalizacji renderowania. W ten sposób V-Ray pokazuje nam, co robi Image Sampler (AA) dla konkretnego piksela. Robi to poprzez zaznaczenie każdego piksela kolorem odpowiadającym liczbie zawartych w nim próbek pierwotnych (AA). Ten obraz można obejrzeć w elemencie renderującym SampleRate)

*Kolor niebieski oznacza niewielką ilość próbek pierwotnych (AA) w tym pikselu.

*Kolor zielony oznacza średnią liczbę próbek pierwotnych (AA) w tym pikselu.

*Kolor czerwony oznacza dużą liczbę próbek pierwotnych (AA) w tym pikselu.

vray_optimization_figure_02Rysunek 2. Element renderujący SampleRate (po prawej) pokazuje, ile próbek podstawowych użyto w każdym pikselu renderowania (po lewej)

Zatem dla sceny z próbnikiem obrazu (AA) 1 min i 10 maks. poddziałów (1 min i 100 maks. próbek podstawowych):

*Kolor niebieski oznacza 1 próbkę pierwotną (AA) w tym pikselu.

*Kolor zielony oznacza 50 próbek pierwotnych (AA) w tym pikselu.

*Kolor czerwony oznacza 100 próbek pierwotnych (AA) w tym pikselu.

Oraz dla sceny z Image Sampler (AA) 1 min i 100 max Subdivs (1 min i 10000 max próbek podstawowych):

*Kolor niebieski oznacza 1 próbkę pierwotną (AA) w tym pikselu.

*Kolor zielony oznacza 5000 próbek pierwotnych (AA) w tym pikselu.

*Kolor czerwony oznacza 10000 próbek podstawowych (AA) w tym pikselu.

Przykładowa scena - jak działa V-RAY?


W tym samouczku będziemy pracować z prostą sceną składającą się z: płaszczyzny z kilkoma kulami, kilku różnych prostych materiałów (w tym rozproszonego, błyszczącego odbicia, błyszczącego załamania i SSS), dwóch świateł obszarowych i światła kopułowego z HDRI. GI włączone w trybie Brute Force + Light Cache. Możesz pobrać ten plik Tutaj.

Zaczniemy od podstawowych ustawień renderowania z następującymi wartościami:

  • Próbnik obrazu (AA) = Poddziały 1 min i 8 maks.
  • Światła, GI i materiały – wszystko 8 poddziałów.
  • Próg hałasu s= 0.01.
  • Wszystkie pozostałe ustawienia pozostawiamy także domyślne.

vray_optimization_figure_03Rysunek 3. Podstawowy render.
Poddziały 1 min i 8 max = Próbnik obrazu (AA)
8 poddziałów = światła, GI i wszystkie materiały

Przyjrzyjmy się teraz bliżej temu, co dzieje się podczas podstawowego renderowania. Poprzez ustawienia renderowania możesz w pewnym sensie powiedzieć renderowi:

„Pozwalam ci użyć do 64 (8 poddziałów) próbek podstawowych (AA) w każdym pikselu, abyś wiedział, co dzieje się w scenie i nie generował tyle szumu, na ile pozwala próg szumu… Ale dla każdego z tych Próbek Podstawowych możesz utworzyć tylko 1 Próbkę Wtórną, aby zrozumieć, co tam jest pod względem światła, cieni, GI i materiałów.

Być może zastanawiasz się: „Czekaj, tylko jedna próbka wtórna dla światła, GI i wszystkich materiałów? Tak, prowadzisz! Powinno być 64 próbek (8 poddziałów), czy nie określiliśmy ich zbyt wiele? Cóż, ważne jest, aby pamiętać, że układy scalone (światła), oznaczenia geograficzne i materiały mają wartość 64 próbek (8 nurkowań podrzędnych) każdy - V-Ray dzieli tę wartość przez maksymalną liczbę próbek AA w Twojej scenie. Pomimo wartości 64 próbek dla świateł i materiałów, należy pamiętać, że wartość ta jest dzielona przez wartość AA Max = 64 próbek (8 poddziałów), co daje tylko jedną próbkę wtórną dla świateł, GI i materiałów. (64 próbki wtórne / 64 próbki pierwotne = 1 próbka wtórna).

Powodem, dla którego V-Ray to robi, jest wewnętrzna formuła, którą ustalił, aby utrzymać równowagę tych dwóch wartości. Logika twórców jest następująca: im więcej próbek pierwotnych, tym proporcjonalnie mniej próbek dodatkowych potrzeba, aby zrozumieć, co dzieje się na scenie (wkrótce przekonamy się, że nie zawsze jest to prawdą). Balansowanie pomiędzy Image Samplerem a DMC Samplerem może na początku nie być dla ciebie jasne, ale o to właśnie chodzi. Wniosek jest taki, że gdy zwiększasz wartość próbnika obrazu (AA), V-Ray próbuje to zrekompensować, proporcjonalnie zmniejszając wartość próbnika DMC. Później, jeśli jeszcze nie zasnąłeś, będziesz mógł ocenić Kalkulator DMC, który napisał autor tego artykułu, który tak pilnie tłumaczę o 5:02 rano, prawie bez użycia słownika =) Dziękuję gimnazjum nr 32 w Iwanowie, gdzie miałem 8 lekcji języka angielskiego tygodniowo.

Wróćmy więc do naszych papug:

V-Ray wyrenderował tak fajnie, jak tylko mógł, ale zaniepokoiła mnie ogromna liczba czerwonych pikseli w elemencie renderującym SampleRate). Oto co nam mówi:

„Nie mogłem zrozumieć, co dzieje się na scenie, ponieważ poważnie ograniczyłeś mnie w zakresie progu hałasu. Przez długi czas korzystałem z próbek pierwotnych i tylko jednej próbki wtórnej, ale nie dostarczyło mi to wystarczających informacji na temat tych obszarów.

Jeśli spojrzymy na render, zauważymy, że chociaż obiekty (krawędzie obiektów) wyglądają całkiem nieźle, na obrazie wciąż znajdują się pewne zaszumione obszary, w których występują cienie i odbicia. Mamy zaszumiony render bazowy i mamy dwie możliwości zmniejszenia szumu, aby uzyskać pożądaną jakość.

* Opcja 1 – zwiększenie Poddziały AA Max - aby V-Ray mógł lepiej widzieć scenę, ale ponownie z tylko jedną próbką wtórną dla światła, GI i materiałów.

* Opcja 2 – Zwiększ ilość Poddziały materiałów, oświetlenia i GI. Powiedz V-Rayowi, aby zachował liczbę próbek pierwotnych, ale zamiast tego pozwól mu używać większej liczby próbek wtórnych.

Przykładowa scena - opcja 1 - zwiększenie wartości AA MAX SUBDIVS


Cóż, spróbujmy najpierw w sposób, w jaki zwykle robią to przekrzywione wizualizatory, aby uzyskać mniej zaszumiony render.

  • Zwiększamy próbnik obrazu (AA) 1 minuta & Maks. 100 poddziałów.
  • Zostawiamy IP, GI i materiały włączone 8 poddziałów.
  • Obniż próg szumu do 0.005 aby powiedzieć V-Rayowi, że chcemy renderować bez szumów.

vray_optimization_figure_04Rysunek 4. Opcja 1 – zwiększenie liczby pododdziałów w AA Max
Poddziały 1 min i 100 max = Próbnik obrazu (AA)
8 poddziałów = BC, GI i wszystkie materiały
0,005 = Próg szumu.

Zastanówmy się, co stanie się z tymi ustawieniami. Po ustawieniu tych ustawień mówimy V-Rayowi:

„Pozwalam na użycie do 10 000 (100 poddziałów) próbek podstawowych (AA) na piksel, aby zrozumieć, co dzieje się w scenie i maksymalnie zminimalizować szum przy danym progu szumu. Jednak dla każdej próbki pierwotnej możesz utworzyć tylko jedną próbkę wtórną, aby zrozumieć, co znajduje się w scenie pod względem światła, oznaczenia geograficznego i materiałów.

Pamiętamy to, ponieważ Każdy układ scalony, materiał i GI mają 64 próbki (8 poddziałów), V-Ray dzieli tę wartość przez maksymalną liczbę próbek AA. Chociaż wartość wynosi 64 próbki, jest ona podzielona przez maks. 10 000 próbek AA (100 poddziałów), co daje minimalną liczbę tylko jednej próbki wtórnej dla świateł, oznaczenia geograficznego i materiałów. (64 próbki wtórne / 10000 próbek pierwotnych = 1 próbka wtórna).

V-ray kończy renderowanie obrazu i mówi:

„Potrafiłem zrozumieć wszystko, co działo się w danej scenie, pod kątem określonej przez Ciebie jakości i przejrzystości obrazu. Jednak aby przetestować tę scenę, w niektórych miejscach musiałem użyć aż 10 000 próbek pierwotnych i 1 próbki wtórnej światła, oznaczenia geograficznego i materiałów”.

Przyglądamy się opcji 1 i widzimy, że ilość szumu znacznie spadła w porównaniu z renderowaniem podstawowym. Czas renderowania wzrósł do 11 minut i 44 minut (9,8 razy dłużej). Ale u nas nie ma hałasu. Większość ludzi w tym momencie pomyśli, że to najlepszy wynik, jaki można uzyskać i że jest gotowy.

Ale co, jeśli spojrzymy na opcję 2, o której mówiliśmy wcześniej? Co by się stało, gdybyśmy zamiast tego zwiększyli wartości poddziałów w IS, GI i materiałach, pomimo zwiększenia AA Max Subdivs. Dowiedzmy Się.

Przykładowa scena - opcja 2 - zwiększenie liczby podziałów w IS, GI i materiałach


Teraz spróbujmy czegoś nowego. Ustawmy wartość Próbki pierwotne na taką, jaka była w ustawieniach podstawowych, ale dodajmy Próbki wtórne.

  • Pozostawiamy Image Sampler (AA) na ustawieniach podstawowych 1 minuta & 8maks. poddziałów.
  • Zwiększamy liczbę podziałów w IP, GI i materiałach 80 pododdziałów każdy.
  • Opuść próg hałasu 0.01

vray_optimization_figure_05Rysunek 5. Opcja 2 – entuzjastyczna liczba podziałów w IS, GI i materiałach.
Poddziały 1 min i 8 max = Próbnik obrazu (AA)
80 poddziałów = światła, GI i materiały każdy.
0,01 = Próg szumu.

Przyjrzyjmy się więc, co dzieje się w drugiej opcji. Ustawiając parametry renderowania w ten sposób, mówisz V-Rayowi:

„Pozwalam na użycie do 64 (8 poddziałów) próbek podstawowych (AA) na piksel, aby zrozumieć, co znajduje się w scenie, oraz do 100 próbek wtórnych”.

Pamiętaj, że ZI, materiały i światło to 64 000 próbek (80 podpodziałów) każda. V-Ray automatycznie dzieli każdą z tych wartości na podstawie maksymalnych próbek AA ustawionych w Twojej scenie. I pomimo 64 000 próbek, jest on podzielony na próbki AA Max 64 (8 podpodziałów) i tylko 100 próbek wtórnych dla świateł, GI i materiałów (każda). Próbki wtórne / 64 próbki pierwotne = 100 próbek wtórnych).

V-Ray kończy renderowanie i mówi:

„Mogłem stwierdzić, co dzieje się w scenie, na podstawie ustawionego przez Ciebie poziomu jakości progu szumu. W rzeczywistości przez większość czasu musiałem używać wszystkich 64 próbek podstawowych na piksel. Oraz 100 próbek wtórnych światła, materiałów i oznaczenia geograficznego.”

Widzimy, że szum zniknął, ale czas renderowania wzrósł 4,5 razy (4m 38s) w porównaniu do renderowania podstawowego.

Ale jeśli porównamy z opcją 1, zobaczymy, że opcja 2 dała nam czystsze wyniki i renderowała 2,2 razy szybciej.

vray_optimization_figure_06

Rysunek 06. Opcja 1 po lewej stronie i opcja 2 po prawej stronie. Poniżej znajduje się obraz powiększony 4 razy, aby lepiej zobaczyć różnicę w szumie.

Dlaczego? Dlaczego zwiększanie ustawień próbnika DMC (światła/GI/materiały poddziałów) jest lepsze niż zwiększanie próbnika (AA)? Rezultatem jest szybsze i czystsze renderowanie.

Jak działa optymalizacja


Na renderze bazowym widzimy, że krawędzie obiektu wyglądają dobrze, szum występuje głównie w odbiciach i cieniach. Jeśli pamiętasz, czego uczyliśmy wcześniej: „Próbki podstawowe (AA) służą do „badania” głównej geometrii sceny, tekstur, głębi ostrości i rozmycia ruchu w scenie. Podczas gdy próbki wtórne „badają” ZI, światło, materiały i cienie.

I tak, aby pozbyć się hałasu, wybór między opcją 1 a 2 nie jest łatwym zadaniem. Po co używać śrubokręta do wykonywania pracy młotka? Image Sampler (AA) zrobił już to, do czego został zaprojektowany – sprawił, że detale geometryczne (krawędzie obiektów) były czyste i ciche. Zatem zamiast wstrzeliwać w scenę kilka dodatkowych próbek pierwotnych (AA) w celu usunięcia szumu, lepiej dodać próbki do próbnika DMC (światła/GI/poddziały materiału) i pozwolić mu robić to, do czego został zaprojektowany – usuwać szum w cieniach, oświetleniu, GI, odbiciach i załamaniach. Oto nasza odpowiedź!

Teraz możemy zobaczyć, dlaczego „Uniwersalne ustawienia V Ray” wynoszące 1 min i 100 max AA generalnie nie będą najskuteczniejszą metodą renderowania sceny – w rzeczywistości nigdy nie miała to być najbardziej wydajna metoda! Ustawienia uniwersalne V-Ray zostały zaprojektowane tak, aby uczynić V-Ray dostępnym i łatwym dla użytkowników, którym nie zależy na optymalizacji i nie przejmują się tym, jak V-Ray działa pod maską. To po prostu sposób na włączenie V-Ray'a w tryb autopilota. Dzięki temu użytkownik może kontrolować całą jakość renderowania, dostosowując tylko jeden parametr – próg szumu. Jeśli w renderowaniu jest za dużo szumu, po prostu obniż próg szumu, a V-Ray będzie nadal strzelał próbkami pierwotnymi (AA), aż w końcu osiągnie próg szumu.

Ale możemy zoptymalizować opcję 2 jeszcze bardziej! Z 5 minut 58 s zanim 4 minuty 53 s. Z niewielkim wzrostem hałasu.

vray_optimization_figure_07

Rysunek 07. Opcja nr 1. Po lewej i opcja nr 2 Render jest jeszcze bardziej zoptymalizowany - po prawej. Szybkość renderowania zwiększona o 2,7x!

Oto kolejny przykład optymalizacji, tym razem bardziej skupionej na wydajności sceny.
Mówi się, że zoptymalizowane renderowanie (po prawej) jest prawie 35% szybsze niż ogólne ustawienia renderowania (po lewej), redukując jednocześnie szum i poprawiając jakość renderowania. Zwróć także uwagę, jak odbicia stały się dokładniejsze - zauważalne na podłodze pod koniec korytarza.

vray_optimization_figure_08

Rysunek 08. „Uniwersalne ustawienia V Ray” po lewej stronie i zoptymalizowane renderowanie po prawej.

Ciąg dalszy nastąpi…

11 myśli w temacie “Оптимизация рендера в V-Ray

  1. Świetna lekcja, kontynuacja byłaby miłym prezentem.
    Swoją drogą włącz RSS, masz świetne artykuły, chętnie poczytam nowe

  2. Dołączam się i czekam na ciąg dalszy.
    Robię to w Mayi, ale wyjaśnienia są bardzo pomocne!

  3. Artykuł jest bzdurą. Czas renderowania przy tej samej jakości będzie krótszy, jeśli podpodziały zostaną ustawione na minimum, a przycięcie kolorów na maksimum. Tak, połowa obrazu będzie czerwona. Więc co. Próbnik AA lepiej radzi sobie z szumami niż podziały na każdy element. To jest fakt.

    1. Przynajmniej ktoś zwątpił w słuszność, bo inaczej można odnieść wrażenie, że wszystkie powyższe komentarze zostały napisane albo przez boty, albo przez ludzi, którzy po jednokrotnym przeczytaniu artykułu nie rozumieli, o czym piszą.

      1. tak jakby artykuł został napisany przez kolesia z Blur, jeśli wiesz, co to jest, oryginał jest autorstwa Akina Bilgica. Wydaje mi się, że w Blurze nie ma głupców, żeby tylko takie rzeczy pisać))

    1. w 2016 r., wraz z pojawieniem się Corona Render, ten artykuł nie jest już aktualny. Nigdy nie zabrałem się za tłumaczenie artykułu.

Skomentuj Эрик Anuluj pisanie odpowiedzi

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *