În acest tutorial, vom vizualiza animația unei scene statice cu un interval de cameră. Pentru a ilumina scena, vom folosi iluminarea indirectă, ceea ce face sarcina mai complicată. De obicei GI inițial mai lent și pentru a calcula o capricioasă în obținerea calitate suficientă pentru fiecare cadru de animație. Pentru a optimiza procesul și de a reduce timpul de formare a imaginii, putem folosi faptul că scena este static, ci doar se muta aparatul de fotografiat. Cele mai multe soluții de IG utilizate V-Ray (harta iradiantă, harta foton, cache-ul de lumină) sunt în totalitate sau parțial dependente de tipul, și putem folosi acest lucru pentru a reduce timpul de redare.
Pentru acest tutorial, vom folosi o hartă de iluminare pentru a calcula bounces primar și o memorie cache ușoară pentru bounces secundar. Pentru a face acest proces mai ușor de înțeles, vom vizualiza scena în trei etape.
În prima etapă, vom calcula cache-ul de lumină pentru întreaga animație. În a doua etapă vom calcula harta de iluminare. În a treia etapă vom face animația finală.
Rețineți că nu este necesar să utilizați această metodă pentru a vizualiza intervalul camerei. Puteți utiliza întotdeauna o metodă mai lentă de calcul direct (forța bruta) și evitați toate aceste probleme legate de calculul preliminar al diferitelor soluții GI. Cu toate acestea, veți plăti pentru aceasta până la momentul vizualizării.
Partea I: Calculul cache-ului deschis
1.2. Atribuiți V-Ray ca redare curentă.
1.3. În fereastra 3dsmax Mediu și efecte, setați culoarea de fundal la RGB 252252252.
1.4. În dialogul de setări de vizualizare, activați iluminarea globală și setați motorul GI primar și motorul GI secundar la algoritmul Cache light.
1.5. Pentru a obține rapid o imagine de previzualizare, setați Image sampler type la Fixed.
1.6. Activați opțiunea Afișați calc. în defilați cache-ul de lumină.
1.7. Activați opțiunea Override MAX în opțiunea de lansare a mediului.
1.8. Setați culoarea cerului la RGB 252,253,255 (sau HSV (156,3255)).
1.9. Setați culoarea cerului multiplicatorului la 4.0.
1.10. Dezactivați opțiunea Luminile prestabilite din introducerea globală a comutatoarelor. Acest lucru va opri sursele de lumină în mod implicit 3ds Max, iar scena va fi aprinsă numai de lumina cerului din mediul înconjurător.
1.11. Mergeți la lansarea aparatului foto și setați tipul camerei la ochi de pește.
1.12. Opriți opțiunea Auto-potrivire. Setați Dist la 1.0 și Curbă la 0.35. Folosim o camera pentru ochi pentru a obtine un efect mai interesant.
1.13. Vizualizați cadrele 0 și 360 pentru a obține un anumit punct de referință.
Cache-ul de lumină arată destul de bine, dar trebuie să-l calcăm întreg pentru întreaga animație a camerei, nu doar pentru un singur cadru. Rețineți că acest lucru nu este strict necesar - putem vizualiza animația calculând cache-ul de lumină pentru fiecare cadru. Cu toate acestea, după ce am calculat-o o singură dată, vom salva timpul de redare, mai ales în cazul animațiilor lungi.
1.14. Setați opțiunea Mod cache de lumină la Fly-through. Asigurați-vă că intervalul de animație setat pe cronologie corespunde domeniului pe care doriți să-l vizualizați. Acest lucru este important, deoarece atunci când se calculează memoria cache-ului, cache-ul de lumină ține evidența domeniului curent de animație din linia temporală.
Deoarece toate eșantioanele cache-ului de lumină vor fi distribuite între toate cadrele animației, va trebui să mărim parametrul cache-ului de lumină Subdivs. Valoarea exactă depinde de calitatea pe care o realizați și de caracteristicile animației. Dacă camera se mișcă încet sau cărarea acesteia este relativ scurtă (de exemplu, doar o cameră în casă), puteți utiliza o valoare mai mică pentru Subdivs. Deoarece majoritatea probelor vor cădea întotdeauna în același loc. Dacă camera se mișcă rapid sau acoperă părți mai extinse ale scenei, veți avea nevoie de mai multe eșantioane pentru a obține acoperire adecvată peste tot.
1.16. De exemplu, vizualizați cadrul 360. Rețineți că, deși vizualizăm doar un singur cadru, modul Fly-through determină calcularea cache-ului de lumină pentru întreaga animație:
Acum, că avem cache-ul de lumină calculat, trebuie să vedem dacă este suficient de bun pentru nevoile noastre. Putem face acest lucru vizualizând mai multe cadre diferite cu aceeași cache de lumină.
1.17. Salvați memoria cache a luminii pe disc, de exemplu, în fișierul lightcache.vrlmap.
1.18. Pentru cache-ul de lumină, setați Modul la Din fișier și specificați fișierul pe care tocmai l-ați salvat.
1.19. Schimbați parametrul Filtru în lista de lansare a cache-urilor luminoase de la Cel mai apropiat până la Niciunul. Acum puteți vedea mai bine dimensiunea eșantioanelor.
1.20. Vizualizați cadrul 435:
Puteți observa că în locurile în care camera se apropie de pereții din scenă, eșantioanele de cache de lumină sunt mai mici și mai zgomotoase. Acest lucru se datorează faptului că parametrul Scalei cache-ului de lumină este setat implicit în ecran. Acest lucru este bun pentru imaginile statice, dar pentru animație dorim să avem o distribuție mai uniformă a probelor. Pentru a realiza acest lucru, va trebui să folosim valoarea lumii.
1.21. Pentru cache-ul de lumină, setați parametrul Scale la Lume.
Acum trebuie să determinăm valoarea bună a parametrului Dimensiune eșantion pentru această scenă. Acest lucru se poate face, de exemplu, prin crearea unei geosfere direct în fereastra de vizualizare a camerei sau a unui obiect Tape și utilizarea acestora pentru a vizualiza dimensiunea eșantioanelor. Pentru scena noastră, dimensiunea eșantionului de aproximativ 2.0 pare a fi destul de bună (scena în unitățile Generic). Chiar dacă aveți o mică scurgere de lumină, puteți scăpa de ele scăzând valoarea filtrului Interp. probe.
1.22. Pentru cache-ul de lumină, setați mărimea eșantionului la 2.0.
Amintiți-vă că atunci când utilizați scara mondială. trebuie să vă asigurați că scena dvs. nu este prea lungă (de exemplu, cu un plan mare pentru pământ) sau că eșantioanele cache-ului de lumină nu sunt foarte mici. În caz contrar, puteți trece dincolo de memoria alocată cache-ului de lumină. Pentru modul ecran, aceasta nu este o problemă, deoarece suprafețele care sunt mai departe de aparatul foto vor lua întotdeauna mai puține probe. Pentru scenele exterioare, este recomandat întotdeauna să utilizați modul ecran.
1.23. Pentru memoria cache-urilor luminoase, schimbați din nou Modul în Cadru Unic și reduceți subdiviziunea la 500 pentru a verifica adecvarea dimensiunilor eșantionului. Acesta este un exemplu de cadru 435:
Mărimea eșantioanelor este aceeași peste tot și sunt suficient de mari pentru a nu primi artefacte pe imagine.
1.24. Pentru cache-ul de lumină, setați din nou Modul la Fly-through.
1.25. Pentru o anumită netezire a cache-ului de lumină, creșteți subdiviziunea la 3300.
1.26. Schimbați filtrul înapoi la cel mai apropiat.
1.27. Vizualizați cadrul 360:
Timpul de calcul este acum mai lung, datorită creșterii numărului de probe.
1.28. Salvați cache-ul de lumină și setați din nou modul De la fișier.
Este posibil să observați că mărimea fișierului cache de lumină a crescut. Acest lucru sa întâmplat datorită faptului că cache-ul de lumină conține mai multe probe, și din cauza amplorii schimbării regimului în lume - într-o scenă luată întotdeauna același număr de probe (în modul ecran, dimensiunea eșantionului este crescut atunci când probele sunt luate departe de aparatul de fotografiat, rezultând pentru a reduce numărul de probe).
Acum putem face mai multe cadre diferite pentru a vă asigura că cache-ul de lumină este potrivit pentru animația noastră.
1,29. Vizualizați câteva cadre.
Ele arată că cache-ul de lumină este suficient de bun și putem trece la următoarea parte - calculul hărții de iluminare.
Partea II: Calculul hărții de iluminare
În comparație cu o cache ușoară, o hartă de iradiere poate dura considerabil mai mult pentru a calcula. Acest lucru se datorează faptului că cache-ul de lumină oferă o soluție de iluminare foarte apropiată și nemodificată. Iar harta de iluminare transmite chiar și mici umbre de GI în scenă.
Rețineți că harta de iradiere nu poate fi calculată prin mecanismul de redare distribuit 3ds Max (backburner). Ar trebui calculată pe o singură mașină. Acest lucru se datorează faptului că vom folosi modul incremental Multiframe pentru parametrul Mode al hărții de iradiere.
2.1. Setați pentru a calcula hărțile principale de bounces (primar bounces) Irradiance.
2.2. Pentru o hartă de iradiere, setați modul la Multiframe incremental.
2.3. Porniți Afișați calc. faza.
Deoarece camera se mișcă foarte încet, în acest stadiu nu este nevoie să vizualizați fiecare cadru individual al animației. De exemplu, putem vizualiza la fiecare 10 cadre pentru o hartă adecvată de iluminare. În cazul în care camera se mișcă mai repede, va trebui să vizualizăm mai multe cadre, de exemplu, fiecare a 5-a.
2.4. Configurați 3dsmax pentru a afișa fiecare al cincilea cadru pe fila Comună a dialogului de scenă Render.
2.5. Activați opțiunea Nu faceți imaginea finală în lansarea globală a comutatoarelor. deoarece nu avem încă nevoie să vizualizăm animația finală și nu avem nevoie de cadre finale.
2.6. Vizualizați întreaga secvență.
2.7. Salvați harta de iradiere într-un fișier, de exemplu în irmap.vrmap.
2.8. Pentru harta de iradiere, setați Modul la Din fișier cu fișierul salvat.
Acum avem o hartă de iradiere pentru întreaga secvență de animație. Putem vizualiza câteva cadre pentru a ne asigura că totul este în ordine.
2.9. Dezactivați opțiunea Nu creați imaginea finală.
2.10. Vizualizați cadrele 0 și 360 din animație:
Aceste două imagini au fost vizualizate cu setările utilizate pentru animația finală din Partea a III-a.
Acum suntem gata să vizualizăm animația finală.
Partea a III-a: Vizualizarea animației finale
Pentru animația finală, puteți utiliza mecanismul de vizualizare distribuit 3ds Max utilizând o hartă de iradiere salvată fie pe mașina client fie local pe fiecare server de vizualizare. În ambele cazuri, trebuie să fiți sigur că fiecare server de randare va putea găsi harta de iluminare în locația specificată în parametrul From file pentru harta de iradiere.
3.1. Setați tipul de tipare a imaginilor în subdiviziune Adaptivă cu o rată Min / Max egală cu 0/3 pentru o calitate mai bună a antialializării. De asemenea, puteți activa opțiunea Normale pentru a evita problemele legate de micșorarea detaliilor în scenă.
3.2. Asigurați-vă că opțiunea Hartă de luminanță de tip Interpolare este setată pe Densitate. Acest lucru va permite hărții de iluminare să selecteze următoarele mostre disponibile din soluția memorată în cache.
3.3. Configurați 3dsmax pentru a reda fiecare cadru.
3.4. Vizualizați animația finală.
Aici - animația finală (filmul 8Mb). pe care ar trebui să o primiți dacă ați făcut corect această lecție.
- În această scenă, nu am folosit reflecții neclare, dar dacă le folosiți, dar nu utilizați opțiunea Utilizați cache-ul ușor pentru raze lucioase în același timp. atunci puteți seta animația secundară GI secundară la None. Deoarece nu aveți nevoie de o memorie cache ușoară și opriți-o, veți economisi memorie.
Aceasta folosește faptul că informațiile din memoria cache de lumină stabilite pentru respingeri secundare incluse în harta de iluminare stabilită pentru ricoșează primare. indicarea directă a faptului că informațiile obținute prin algoritmul de redare ricoșează secundare (cache de lumină sau de calcul directă) este inclusă în harta iradiantă stabilit pentru ricoșează primar, nu am găsit. Cu toate acestea, este așa. Acest lucru poate fi verificat prin vizualizarea hărții de iradiere salvate utilizând utilitarul de vizualizare a hărților Irradiance. când bounces secundar sunt pornite și oprite. (Aprox Trans.)
discuție
În această secțiune, am adăugat câteva întrebări legate de această lecție, care au fost stabilite în forumul nostru, și răspunsurile corespunzătoare.
Î: Este necesar să faceți o vizualizare într-o secvență de imagini și apoi să compilați din avi? Sau este posibil să se ia în considerare în același timp în avi?
R: Animația este salvată mai întâi într-o secvență de fișiere .png și apoi convertită în .avi. Cu această metodă, nu veți pierde toate cadrele calculate, dacă ceva nu merge prost în mijlocul calculului greșit. și puteți reda setările de compresie mai târziu.
Î: De ce ați ales modul incremental Multiframe. dar nu adăugați Incremental la harta curentă. Care este diferența dintre ele? La ce te ghidezi la alegerea acestui sau acelui mod? Eu intreb asta pentru ca nu am folosit niciodata Multiframe incremental. dar a fost folosită mereu adăugarea incrementală a hărții curente.
A: Singura diferență este că în modul incremental Multiframe, harta de iluminare care este în memorie este distrusă atunci când este pornită o nouă vizualizare. În modul Adăugare incrementală, harta curentă nu este distrusă.
Î: Doar vroiam să clarific. Este posibil să utilizați modul Incremental add to the current map în combinație cu motorul de vizualizare distribuit 3ds Max fără probleme (de exemplu, flicker)? Motorul de distribuire distribuit al lui 3ds Max suportă bine asignarea cadrelor fără salvarea oricăror fișiere? În timp ce citiți mesajul anterior, am avut sentimentul că sugerați că trebuie să trimiteți diferite fragmente de animație fiecărui nod de vizualizare.
Î: Trebuie să fac o animație cu pulverizarea lichidului (vezi imaginea atașată). Și am o mulțime de reflecții difuze și refracții. Dacă urmăresc lecția dvs., atunci cum fac setările finale? Cu cache-ul de lumină pentru bounces secundar și Utilizați cache-ul ușor pentru raze lucioase. sau fără o memorie cache ușoară și fără a ține seama de bacunchierele secundare? Va folosi cache-ul ușor pentru raze lucioase și o hartă de iluminare pentru primăvară?
R: Aveți posibilitatea să aveți o memorie cache deschisă salvată cu o hartă de iradiere. Dacă acest lucru se întâmplă, puteți chiar să dezactivați buclele secundare pentru a salva memoria care ar fi ocupată de cache-ul de lumină încărcat. Cu toate acestea, în cazul în care memoria cache lumina este utilizată pentru a pre-calcula neclare reflexie / refractie (opțiunea Utilizare lumină cache pentru razele lucioase), atunci va trebui să încărcați cache-ul de lumină atunci când redare.