Pentru a obţine efectul de neregularitate şi de deplasare (displacement) în Cycles, iată câteva opţiuni.
Metoda cea mai simplă de a denivela suprafaţa materialului este prin conectarea mufei de ieşire Color sau Fac a unui nod de textură la mufa de intrare Displacement a nodului Material Output. Chiar dacă numele mufei este Displacement, efectul (în momentul scrierii paginii) este doar un efect de denivelare care afectează toate nodurile materialului.
Mod de lucru
Aşa cum am procedat pentru textura de culoare, textura pentru denivelare poate fi mapată pe obiect cu nodurile Mapping şi Texture Coordinate. Aici se poate seta valoarea (puterea) denivelării texturii pe suprafaţa obiectului:
Deschide fişierul cycles2.blend (salvat la lecția Texturi procedurale) şi comută vederea 3D la modul de afişare Rendered.
Cu cursorul de mouse în fereastra Node Editor apasă Shift + A pentru a afişa meniul Add şi alege din Converter un nod de tip Math (apasă Shift + A apoi alege Converter | Math).
Conectează mufa de ieşire Fac a nodului Wave Texture, deja conectat la mufa de intrare Roughness a nodului Glossy BSDF, la prima mufă gri de sus Value a nodului Math. Conectează ieşirea nodului Math la mufa de intrare Displacement a nodului Material Output.
La nodul Math setează modul de operare la Multiply. Prin modificarea valorii de la mufa a doua Value a nodului Math, se poate influenţa adâncimea denivelării. De exemplu, în imaginea de mai jos a fost aleasă valoarea 3.000:
Salvează fişierul cu cycles14.blend.
Cum funcţionează
Valorile pe scara gri de culori sunt multiplicate cu valoarea introdusă în dreptul mufei a doua a nodului Math. De exemplu, dacă alegem valoarea 0.500, intensitatea efectului va fi jumătate din cea implicită (1.000 x 0.500 = 0.500). Pentru valoarea 3.000, efectul va creşte de trei ori în intensitate. Similar cu Blender Internal, valoarea poate fi şi negativă (-3.000 în acest caz), pentru a inversa direcţia denivelării.
Aici poate să apară o problemă la sferoid (la limita dintre suprafaţa luminată cu cea auto-umbrită). Pentru a rezolva problema, se subdivizează reţeaua la o valoare mai mare, dar uneori nu este suficient. O altă metodă este de a modifica valoarea mărimii pentru lampă - Size (sau redimensionarea - scale dacă este folosit un obiect mesh-light). Selectează lampa în panoul Outliner, apoi în panoul Object Data, la Type of Lamp butonul Size, alege valoarea 1.000. Imaginea finală pare mai netedă acum (la fel şi umbra proiectată pe plan):
Începând cu versiunea 2.65, în Blender, la toate nodurile a fost adăugată o mufă de intrare Normal, pentru a introduce valori de denivelare a fiecărui nod. Această mufă de intrare este alimentată de nodul Bump (apasă Shift + A şi alege Vector | Bump). Vom proceda astfel:
1. Deschide fişierul cycles14.blend, selectează nodul Math din fereastra Node Editor şi şterge-l (apasă tasta X).
2. Cu cursorul de mouse în fereastra Node Editor apasă Shift + A pentru a adăuga un nod Bump (apasă Shift + A şi alege Vector | Bump).
3. Conectează mufa de ieşire Fac a nodului Wave Texture la mufa de intrare Height a nodului Bump şi ieşirea din Bump la mufa de intrare Normal a nodului Diffuse BSDF shader. Pentru Strength value alege valoarea 0.050.
4. Adaugă un nod Voronoi Texture (apasă Shift + A apoi alege Texture | Voronoi Texture) şi încă un nod Bump (apasă Shift + A şi alege Vector | Bump). Conectează mufa de ieşire Fac a nodului Voronoi Texture la mufa de intrare Height a nodului Bump şi conectează ieşirea din Bump la mufa de intrare Normal a nodului Glossy BSDF:
Salvează fişierul cu cycles15.blend.
Cum se vede în imaginea de mai sus, se poate obţine efectul de denivelare (bump) pe nod. Şi fiecare nod poate avea o denivelare diferită cu o putere diferită (nu mai trebuie conectat nimic la mufa de intrare Displacement a nodului Material Output).
Astfel se poate realiza un efect de denivelare doar pe o zonă (de exemplu pe Diffuse shader), şi un alt efect de denivelare pe alte componente (pe Glossy shader), ca în imaginea de mai jos:
În ceea ce priveşte deplasarea, putem folosi opţiunea Displace Modifier din panoul Object Modifiers, cu o textură în eticheta Textures din panoul Properties.
Se pare că în momentul scrierii articolului nu poate fi folosită textura Cycles şi sunt valabile doar texturile din Blender Internal. În acest caz, deplasarea nu se comportă diferit faţă de deplasarea din BI. Reţeaua trebuie subdivizată (de obicei este folosit modificatorul Subdivision Surface, dar poate fi folosit şi modificatorul Multiresolution) apoi acestea sunt deplasate. Pe scurt, încă nu am obţinut "randarea deplasării unui micro-poligon ".
Prin activarea Experimental din eticheta Feature Set sub Render din secţiunea Render, se permite accesul la o caracteristică pentru deplasare (deocamdată incompletă):
În panoul Properties, secţiunea Render, eticheta Render, click pe butonul Feature Set şi schimbă opţiunea Supported cu opţiunea Experimental.
În secţiunea Object Data se află o etichetă numită Displacement, unde se poate alege între trei opţiuni: Bump, True sau Both (deocamdată butoanele Use Subdivision şi Dicing Rate par să nu funcţioneze).
Bump ne dă efectul de denivelare medie, care este acelaşi cu conectarea ieşirii de la textură la mufa de intrare Displacement a nodului Material Output (pe care o vom face în orice caz).
Prin setarea metodei la True, avem un efect de deplasare la fel ca şi cel obţinut la ieşirea din Displace Modifier, iar reţeaua trebuie subdivizată.
Opţiunea Both va folosi valorile de gri ale texturii pentru ambele efecte: de deplasare şi de denivelare.