Unitate - materiale și shadere manuală

Materiale și Shadere

În Unitate, există o relație strânsă între materiale și shadere. Shaderele conțin un cod care descrie activele și proprietățile necesare. Materialele vă permit să configurați proprietățile și să atribuiți Active.







Unitate - materiale și shadere manuală
Shaderul este implementat prin material

Utilizați elementul din meniul principal Assets-> Create-> Material sau meniul contextual al ferestrei Project (Project View) pentru a crea un material nou. După creare, îl puteți aplica obiectului și puteți configura toate proprietățile acestuia în Inspector. Pentru a aplica un material unui obiect, pur și simplu trageți-l din fereastra Project la orice obiect din scena (Scena) sau ierarhia scenei (Ierarhia).

Setarea proprietăților materialelor

Puteți alege ce shader va fi utilizat într-un anumit material. Pentru a face acest lucru, deschideți pur și simplu meniul derulant Shader din inspector și selectați shaderul care vă convine. Shaderul selectat va stabili proprietățile care pot fi modificate. Proprietățile pot arăta ca culori, glisoare, texturi, numere sau vectori. Dacă ați aplicat materialul la obiectul activ în scenă. veți vedea cum proprietățile pe care le modificați vor fi aplicate în timp real.

Există două modalități de atribuire a unei texturi unei proprietăți.

  1. Prin tragerea texturii din fereastra Project în zona patrată a proprietății Textură
  2. Dând clic pe butonul Selectare și selectând textura din lista derulantă care apare

Există două opțiuni pentru plasarea texturii:

Măsoară textura de-a lungul axelor diferite.

Schimbă textura în direcții diferite.

  • Normal. Pentru obiecte cu texturi opace.
  • Transparent. Pentru obiecte parțial transparente. Canalul alfa al texturii determină gradul de transparență.
  • TransparentCutOut. Pentru obiectele care au doar spații complet opace și complet transparente, de exemplu, garduri și garduri vii.
  • Auto-iluminate. Pentru obiecte care au componente care emite lumină.
  • Reflectorizante. Pentru obiecte cu texturi opace care reflectă textura cubică (Cubemap) a mediului.






Fiecare dintre aceste grupuri include shadere de complexitate variabilă, de la simplu VertexLit. la complexul Parallax Bumped cu Specular. Pentru mai multe informații despre performanța shader, citiți pagina Utilizare și performanță a Shaderelor încorporate.

Unitate - materiale și shadere manuală

  • FX. apă și efecte de lumină.
  • GUI. afișarea interfeței grafice (GUI este o abreviere pentru interfața grafică a utilizatorului, ceea ce înseamnă "interfața grafică a utilizatorului").
  • Natura. copacii și suprafața pământului.
  • Particulele. efectele unui sistem de particule.
  • Render FX. shaders pentru skyboxes.
  • Toon. redarea în stilul desenelor animate.

În plus, unele dintre aceste shadere au versiuni speciale pentru utilizarea pe dispozitive mobile.

Detaliile tehnice ale shaderului

În Unity există un sistem extins de shadere care vă permite să modificați aspectul tuturor graficelor în joc. Funcționează astfel:

De obicei, shader-ul definește formula despre modul în care ar trebui să arate umbrirea în joc. Orice shader conține un set de proprietăți (de obicei texturi). Shaderele sunt implementate prin intermediul materialelor. care, la rândul lor, sunt adăugate direct la GameObject-urile individuale. În material, selectați mai întâi un shader, apoi specificați proprietățile folosite de shader (de obicei texturi și culori, dar pot exista și altele).

Acest lucru este destul de dificil, așa că să ne uităm la diagrama acestui proces:

Unitate - materiale și shadere manuală

În partea stângă a schemei se află Carbody Shader (shader pentru corpul mașinii). Se bazează pe două materiale: Materialul mașinii albastre (material albastru al mașinii) și Materialul roșu al mașinii (materialul roșu al mașinii). Pentru fiecare dintre aceste materiale sunt atribuite 2 texturi: Textură auto. Determinarea texturii de bază a mașinii și a texturii Color FX. Shaderul folosește aceste proprietăți, astfel încât în ​​cele din urmă mașina să pară vopsită cu vopsea în două tonuri. Acest lucru poate fi văzut în fața mașinii roșii: zonele cu care se confruntă camera au o culoare galbenă și, pe măsură ce crește unghiul, apare o culoare purpurie. Materialele Blue și Mașina Roșie sunt adăugate la două mașini. Pe roți, ferestre și faruri nu există nici un efect de schimbare a culorii, prin urmare, le-ar trebui aplicate alte materiale. În partea de jos a diagramei este Shader Metal Simple (shader metalic simplu). Materialul roții utilizează acest shader. Rețineți că, deși aceeași textura este utilizată aici, textura mașinii. Rezultatul final este încă diferit de ceea ce vedem la corpul mașinii, pentru că materialul folosește un shader diferit.

Pentru a fi mai precis, shader-ul determină:

  • Metoda de redare a obiectului. Inclusiv diferite metode, alese în funcție de cardul grafic al utilizatorului final.
  • Orice programe vertex și fragment (pixel) folosite pentru redare.
  • Unele proprietăți textuale sunt atribuite în materiale.
  • Setările de culoare și numerice atribuite în materiale.
  • Ce texturi trebuie folosite pentru redare.
  • Ce culori trebuie folosite pentru redare.
  • Orice alte ansambluri cerute de shader pentru redarea, de exemplu, a texturilor cubice (Cubemap's).

Citirea ulterioară







Trimiteți-le prietenilor: