Similar cu Blender Internal, în Cycles se pot folosi atât texturile procedurale, cât şi cele pentru imagini. Însă texturile procedurale din Cycles nu sunt exact aceleaşi cu cele din Blender Internal; unele lipsesc pentru că au fost înlocuite cu o versiune îmbunătăţită (de exemplu, Clouds a fost înlocuită cu o setare din textura Noise, iar unele sunt noi şi se pot găsi numai în Cycles).
Deja am văzut cum se face o construcţie simplă a unui material în Cycles prin amestecarea componentelor diffuse şi glossy ("specular") a unei suprafeţe. Acum să vedem cum pot fi folosite texturile din Cycles pentru a modifica un material.
Deoarece Cycles are un sistem bazat pe noduri pentru materiale, texturile nu se adaugă ca în Blender Internal, în secţiunea Textures, ci în fereastra Node Editor şi se conectează direct la mufa de intrare a altor noduri. Astfel se obţine mai multă flexibilitate la procesul de creare a materialului, deoarece astfel textura poate fi folosită pentru a modifica unele opţiuni în reţeaua pentru material.
Deschide fişierul cycles1.blend salvat în capitolul anterior , în care deja avem o scenă simplă cu un cub pe un plan şi un material de bază. Selectează cubul.
În panoul Properties, secţiunea Object Modifiers, atribuie cubului un modificator Subdivision Surface, setează nivelul Subdivisions la 4, atât pentru View, cât şi pentru Render.
În panoul Object Tools din stânga vederii 3D (dez-activare cu tasta T), sub Shading, setează cubul subdivizat (de acum să îl numim sferoid) la Smooth.
Pentru a face lucrurile mai clare, click pe caseta cu culori pentru Glossy BSDF pentru a alege culoarea violet (RGB setat la 0.800, 0.233 şi 0.388). Se poate observa cum doar reflecţia glossy de pe sferoid este violet, în timp ce restul suprafeţei, componenta Diffuse, este tot verde.
Salvează fişierul blend şi redenumeşte-l cu cycles2.blend.
Exerciții
1. Cu cursorul de mouse în fereastra Node Editor apasă Shift + A.
2. În meniul contextual, sub Shader, alege elementul Texture apoi left-click pe Wave Texture pentru a adăuga nodul pentru textură la fereastra Node Editor.
3. Trage şi conectează mufa de ieşire galbenă Color a texturii la mufa galbenă de intrare a nodului Diffuse, cea de lângă dreptunghiul Color care a fost setat anterior cu culoarea verde:
4. În nodul Wave Texture, modifică valoarea pentru Scale la 8.500, Distortion la 12.000, Detail la valoarea maximă de 16.000, iar la Detail Scale valoarea de 6.000.
5. Acum deconectează ieşirea culorii texturii de la nodul Diffuse şi conecteaz-o la intrarea nodului Glossy:
6. Acum deconectează ieşirea culorii pentru textură de la nodul Glossy. Conectează nodul de ieşire Fac al culorii pentru textură la mufa de intrare Roughness a nodului Glossy BSDF, ca în imaginea de mai jos:
7. Salvează fişierul.
8. Şterge nodul Wave Texture (tasta X), apasă tastele Shift + A având cursorul de mouse în fereastra Node Editor şi adaugă un nod Checker Texture.
9. Conectează ieşirea Fac a nodului Checker Texture la mufa de intrare Fac a nodului Mix Shader, ca în imaginea următoare:
10. Salvează fişierul cu cycles3.blend.
Recapitulare
Pentru că randarea se face în timp real în fereastra Rendered, în momentul conectării nodului Wave Texture la mufa de intrare pentru culoare a nodului Diffuse BSDF, sferoidul arată de parcă ar fi pictat în alb şi negru; benzile albe şi negre din nodul pentru textură suprascriu culoarea verde a componentei Diffuse, dar păstrează culoarea roz lucioasă nemodificată (etapele de la 1 la 3).
Exact opusul acestui lucru se întâmplă la deconectarea ieşirii din nodul pentru textură de la mufa de intrare în nodul Glossy. Acum avem culoarea verzuie difuză în spate, iar rozul a fost înlocuit, în timp ce componenta de reflexie este vizibilă numai în interiorul benzilor albe ale texturii de tip wave (etapele 4 și 5).
Suplimentar, la culoarea de ieșire, fiecare nod de textură are de asemenea o mufă de ieșire Fac, având ca rezultat la ieșire valori pentru culori în scara griurilor: conectate la mufa de intrare Roughness a nodului Glossy, textura are și un factor pentru reflectivitate. Sferoidul își păstrează culoarea și preia o componentă lucioasă doar pe zonele albe ale suprafeței (benzile albe reprezintă reflexia totală, iar benzile negre înseamnă fără reflexie; etapa 6).
Nodul de ieșire Fac din nodul Checker Texture conectat la nodul de intrare Fac al nodului Mix Shader funcționează similar: cursorul numeric pentru factorul de amestecare al nodului Mix Shader a dispărut, deoarece acum sunt folosite valori liniare negru și alb pentru ieșirea Fac a nodului Checker Texture ca factor de ieșire pentru amestecarea celor două componente - Diffuse și Glossy - care apar pe suprafața sferoidului corespunzător zonelor negre și albe (pașii 8 și 9).
Fiecare nod de textură are câteva opțiuni de setare; toate au o valoare Scale pentru a seta mărimea, celelalte opțiuni se modifică în funcție de tipul texturii.
Alte informații
După maparea texturii pe sferoid, care este modul de proiecție pentru această mapare?
Implicit, nu se specifică maparea; dacă maparea nu este specificată, iar obiectul nu are coordonate UV, maparea este de tip Generated, echivalentul modului Original Coordinates (acum redenumit cu Generated) în Blender Internal.
Dar dacă am specifica o metodă de mapare? În acest caz se urmează pașii:
1. Apasă Shift + A cu cusorul de mouse aflat în fereastra Node Editor, apoi din meniu alege Input, apoi elementul Texture Coordinate, care este un nod care are câteva moduri de mapare și mufe de ieșire corespunzătoare.
2. Încearcă să conectezi câteva mufe de ieșire la mufa de intrare a nodului Checker Texture | Vector (mufa albastră de intrare în nod) pentru a vedea în timp real transformările pe sferoid a fiecărui mod de mapare a texturii, ca în vederea de mai jos:
Conectând mufa de ieșire UV la mufa de intrare Vector, maparea de pe sferoid dispare, pentru că încă nu am atribuit nicio coordonată UV la sferoid. Pentru a face acest lucru, se urmează pașii:
1. În panoul Properties, secțiunea Object Data, eticheta UV Maps, click pe semnul +. Astfel am adăugat la obiect un strat Reset UV projection UV, adică fiecare fațetă a rețelei este acoperită de fereastra UV (de fapt obiectul este un cub care arată ca un sferoid, datorită efectului dat de modificatorul Subdivision Surface; coordonatele UV lucrează la cel mai jos nivel al subdivizării, adică cubul cu șase fețe).
2. O a doua opțiune este de a plasa cusăturile (seams) potrivite pe muchiile cubului și de a desfășura (unwrap) direct obiectul într-o fereastră UV/Image Editor. Apasă tasta Tab pentru a comuta la modul editare, apasă tasta A pentru a selecta toate nodurile (dacă sunt deselectate). Acum apasă tasta U și alege o metodă se desfășurare (unwrapping) din meniu (metodele Smart UV Project și Cube Projection nu au nevoie de cusături - seams), apoi ieși din modul editare pentru a actualiza previzualizarea Rendered.
Nodul Texture Coordinate nu mai este necesar în cazul în care obiectul a fost desfășurat; se folosește doar nodul Image Texture, deoarece în acest caz Cycles va folosi automat coordonatele UV valabile pentru a mapa imaginea.
Desigur, nodul Texture Coordinate nu este suficient. Mai este nevoie de o modalitate de a deplasa, roti și redimensiona textura pe o suprafață:
1. Selectează nodul Texture Coordinate și trage-l la stânga ferestrei, pentru a face loc unui nod nou. Din meniul Add, opțiunea Vector alege Mapping.
2. Trage nodul Mapping între nodurile Texture Coordinate și Checker Texture; acesta va fi conectat automat între cele două noduri, ca în imaginea următoare:
3. Acum modifică valorile din nodul Mapping. De exemplu, alege rotirea după axa Z (Z Rotation) la 45°, valoarea pentru X Scale la 2.000 și deplasează cursorul pentru X Location, pentru a observa modul în care se modifică orientarea texturii, dimensiunea și deplasarea pe axa X în vederea Rendered.
4. Salvează fișierul blend ca cycles4.blend.
Butoanele Min și Max din partea de jos a nodului Mapping sunt folosite pentru a limita maparea pentru textură. Bifează ambele butoane Min și Max pentru a evita ca textura să fie repetată de n ori pe suprafață și să fie afișată doar o dată. Valoarea minimă 0.000 și maximă 1.000 are ca rezultat o corespondență unu la unu cu imaginea mapată. Aceste valori pot fi modificate pentru a micșora sau extinde limitele. Acest lucru este util pentru maparea, de exemplu, a logourilor sau etichetelor pe un obiect prin evitarea repetării lor pe obiect.