Skocz do zawartości

V-Ray - renderowanie animacji bez flickeringu (light cache)


Miłosz3ds

Rekomendowane odpowiedzi

Czołem!

 

Mam pytanie - czy w ogóle wykonalną rzeczą jest wyrenderowanie animacji bez flickeringu używając tylko i wyłącznie silnika Light Cache?

Scena jest praktycznie dość prosta - jest jedno światełko, bardzo powolne i delikatne ruchy kamery/obiektów.

 

Z przyjemnością wysłucham jak można sobie z tym poradzić - byłoby świetnie gdyby istniała jakaś możliwość, żeby nie pakować się Brute Force/Irr Map. Przede wszystkim dlatego, że teraz światło rozchodzi mi się idealnie tak jak chcę w każdej klatce, jak zmienię silnik to wszystko się sypie.

 

Będę wdzięczny za rady i podpowiedzi.

 

Pozdrawiam!

Odnośnik do komentarza
Udostępnij na innych stronach

  • Odpowiedzi 15
  • Created
  • Ostatniej odpowiedzi

Top Posters In This Topic

Cześć ApaczoS, dzięki za odpowiedź.

 

Skala jak najbardziej jest ustawiona na "World", niestety to nie rozwiązuje problemu. Zastanawiam się, czy nie powinno się tutaj działać jak w przypadku Irr mapy, mówię o wcześniejszym przeliczeniu Light Cache do pliku. Zrobiłem tak (single frame), ale coś było nie tak. W animacji jest pojawiające się źródło światła oświetlające coraz to bardziej scenę (praktycznie od zera). W pliczku zapisało się tylko i wyłącznie maksymalne oświetlenie tej sceny i po wczytaniu pliku i wyrenderowaniu - światło jakby przestaje być animowane, od 1 klatki do ostatniej scena jest oświetlona jednolicie. ;)

pomysły powoli mi się kończą - a szczerze mówiąc już się skończyły.

Odnośnik do komentarza
Udostępnij na innych stronach

Xiz0r - dzięki za odpowiedź. Jakbyś mógł napisać coś więcej - Progressive Path Tracingu nie używałem nigdy, nie miałem styczności - wydawało mi się, że jest to coś takiego jak w silnikach renderujących opierających się na GPU. Że renderują tak długo, póki nie każesz im przestać/póki nie zobaczysz że jakość jest zadowalająca. Tak mi się zdawało. Jak to wygląda dokładnie, jak można by tego użyć w moim przypadku?

 

Problem najprawdopodobniej udało się rozwiązać - szumy wywoływał sam materiał. Mam kilka dość skomplikowanych materiałów podpiętych pod materiał "blend" - mieszane są za pomocą maski falloff - typ shadow/light. Materiał blend był jednak materiałem domyślnym Maxowym, a nie V-Ray'owym. Na próbnym renderingu fragmentu po zmianie materiału wydaje się być wszystko ok.

 

Jeśli miałby ktoś jeszcze jakieś ciekawe rady/tricki to chętnie poczytam. :)

 

Dzięki!

 

 

Edit:

 

Niestety zbyt wcześnie się ucieszyłem - jest duża poprawa ale flickering nadal występuje. Przede wszystkim na granicy światła/cienia i na cieniu.

 

Edit #2:

 

V-Ray'owy Blend material w ogóle nie reaguje na tryb Falloff'a "shadow/light". Ma ktoś jakiś sposób, żeby zmusić to do działania?

Edytowane przez Miłosz3ds
Odnośnik do komentarza
Udostępnij na innych stronach

Po nocnych testach i chwili spania wracam dalej do roboty.

 

Udało mi się:

 

- zmusić V-Ray'owego Blenda do działania z falloff'em w trybie shadow/light,

 

- przetestować wszystkie elementy sceny, jak ze sobą współgrają, czy migoczą czy nie. Wszystkie zdały egzamin oprócz jednego - sfery umieszczonej wokół kolejnej sfery (oczywiście między nimi jest odstęp). Sfera na górze ma materiał składający się między innymi z "self illumination", opacity (w slocie jest tekstura o rozdzielczości 42.220 x 21.600p, może to wadzi? Ale wyłączyłem jej jakiekolwiek filtrowanie, więc powinno być ok). W sferze wyłączone jest "cast shadows".

 

Pozdrawiam, liczę na wsparcie.

Odnośnik do komentarza
Udostępnij na innych stronach

Siemasz Deshu, dzięki za odpowiedź.

 

Kula nie emituje GI, świeci bardzo delikatnie, tylko i wyłącznie tak żeby nie działał na nią cień w 100%. I ma przypisaną mapkę przezroczystości, jest to tekstura o bardzo dużej rozdzielczości (to to o czym pisałem wcześniej).

 

Niestety zbyt wiele nie mogę pokazywać:

 

Render (sety, na których szumi najmniej. AA na szumienie nie ma wpływu, tylko i wyłącznie GI):

 

0xes.jpg

 

Materiał wywołujący flickering:

 

gct7.jpg

Odnośnik do komentarza
Udostępnij na innych stronach

Adaptive sampling - when this option is on, V-Ray will store additional information about the incoming light for each light cache sample, and try to put more samples into the directions from which more light is coming. This may help to reduce the noise in the light cache, particularly in the case of caustics.

 

Fly-through - this will compute a light cache for an entire fly-through animation, assuming that the camera position/orientation is the only thing that changes. The movement of the camera in the active time segment only is taken in consideration. Note that it may be better to have World Scale checked for fly-through animations. The light cache is computed only at the first rendered frame and is reused without changes for subsequent frames.

 

If you want to use the light cache for animation, you should choose a large enough value for the Filter size in order to remove the flickering in the GI.

 

Rezczy znalezione w helpie(do Vr for Maya aczkolwiek w tym przypadku nie powinno się niczym różnić) jakie mogą być przydatne ;)

Odnośnik do komentarza
Udostępnij na innych stronach

Dzięki Legomir. W maxowym V-Ray'u zamiast Adaptive Sampling jest Adaptive tracing, to dokładnie to samo - jednak absolutnie nic nie zmieniał, tylko wydłużał render - więc wyłączyłem.

 

Niestety tutaj mam ruchome elementy, między innymi też światło - kamera się najmniej rusza. Próbowałem używać "Single Frame":

 

Single frame - this will compute a new light cache for each frame of an animation.

 

bo z helpa wywnioskowałem, że powinno to być to, o co mi chodzi. Potem połączyć z Pre-filter:

 

Pre-filter - when this is turned on, the samples in the light cache are filtered before rendering. Note that this is different from the normal light cache filtering (see below) which happens during rendering. Prefiltering is performed by examining each sample in turn, and modifying it so that it represents the average of the given number of nearby samples. More prefilter samples mean a more blurry and less noisy light cache. Prefiltering is computed once after a new light cache is computed or loaded from disk.

 

Ale tak, jak pisałem wcześniej - V-Ray tutaj się nie sprawdza. Wszystko wygląda ładnie, rzeczywiście nie ma flickeringu, ale nie ma animowanego światła, jest statyczne. Od początku do końca wszystko jest identycznie oświetlone.

 

Co do właśnie "Filter size" - w Maxowym helpie polecają ustawić to adekwatnie do "Sample Size". Polecają, żeby ustawić od 2 do 6 razy tyle, ile wynosi nasza wielkość sampla - więc wstawiłem tyle. Ciągle lipa. ;)

Odnośnik do komentarza
Udostępnij na innych stronach

Tak, masz 100% racji. Tylko tak czy inaczej max przelicza osobno dla każdej klatki LC, ale jeśli wcześniej zapiszemy je na dysku - mamy później możliwość (przy wczytywaniu ich przed renderingiem finalnym) manipulowania nimi - przede wszystkim chodzi mi o mieszanie ich. Na przykład - mamy klatkę 50, bierzemy sobie więc LC z klatki 50, LC z dwóch wcześniejszych klatek, czyli 48 i 49 i LC z dwóch późniejszych klatek, czyli 51 i 52. I po prostu je ze sobą mieszamy i rozmywamy, dzięki czemu flickeringu nie widać. Tak przynajmniej się robi w Irr mapach.

 

Tutaj wydawało by się, że taka możliwość jest (save new LC for each frame) + potem pre-filter. Ale max zapisuje tylko 1 plik dotyczący LC i ma on w sobie informacje tylko i wyłącznie o najwięcej naświetlonej klatce.

Odnośnik do komentarza
Udostępnij na innych stronach

Czytałem ostatnio trochę na forum CG socjety na temat animacji w Vrayu. Ludzie próbowali tam rozkminić ten problem ale do jedynego wniosku do jakiego doszli to wniosek dość brutalny :).

 

O ile porusza się tylko kamera to sprawa jest prosta. Wystarczy zastosować tą metodę o której mówił Cangelosi na max cookie. Czyli najpierw renderujemy tylko GI do plików (możemy renderować wtedy co 3, 4 klatkę) tradycyjną chyba metodą. Czyli najpierw irradians- incremental add to current map, a potem light cache z opcją flight throught.

 

Jeżeli porusza się przed kamerą jakiś obiekt to jest już dużo gorzej. Dużo szukałem na forach i jedyna metoda o której wszyscy mówią to zwiększenie sampli do sporych raczej rozmiarów. Tak 60 sampli na wartość max- DMC sampler rozwiązało u mnie problem. Oczywiście 60 to strasznie duża wartość ale oczywiście renderujemy w ten sposób tylko wybrany obiekt który sie rusza- resztę renderujemy normalnie, by finalnie sklecić wszystkie warstwy w kompozytorze.

 

Można też zwiększyć jakość materiału newralgicznego obiektu. Też tak do 50- 60 subdivów. Ale chyba ciut gorzej to działa.

 

Ostatnio robię scenę -taką dosyć prostą. Zrobiłem dwu- sekundowy test by zobaczyć jak zachowuje się vrayowa niskiej jakości skóra.

W scenie miałem tylko jedną lampę i to ona powodowała większość szumu. Postanowiłem więc zwiększyć jej subdiv z 8 do 16 i szum prawie ze sceny zniknął. Rendering niestety wydłużył się z 22 minut do 30 na klatkę, więc finalnie ustawiłem subdiv na 12. Efekt jest dla mnie zadowalający choć troszeczkę szumu jest. A i czas renderingu też dla mnie do zaakceptowania.

Odnośnik do komentarza
Udostępnij na innych stronach

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się



×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Wykorzystujemy cookies. Przeczytaj więcej Polityka prywatności