Unitatea - ghid de utilizare și performanța shader construite

Shaderele în unitate sunt folosite de materiale. care combină în mod esențial codul shader cu parametrii săi, cum ar fi textura. Profunzimea explicație a comunicării shader / materiale pot fi găsite aici.

Proprietățile materialului apar în inspectorul. atunci când acestea sunt selectate sau materialul în sine, sau GameObject. care utilizează materialul. Inspector pentru materialul arată astfel:

Unitatea - ghid de utilizare și performanța shader construite

Fiecare material arată puțin diferit în inspectorul, în funcție de shader utilizat în ea. Shader se determină care sunt disponibile pentru configurarea în inspectorul de proprietăți. Material Inspector este descris în detaliu în Manualul paginii Material Component. Amintiți-vă că shader este pusă în aplicare prin material. Astfel, în timp ce shader definește proprietățile care vor fi afișate în inspectorul, materialul conține cursoare de date personalizate, culori și texturi. Cel mai important lucru - amintiți-vă că un shader poate fi utilizat în mai multe materiale, dar un material nu poate folosi mai multe shadere.

probleme de performanță

Există mai mulți factori care pot afecta performanța generală a jocului. Pe aceasta pagina vorbim despre problemele de performanță pentru shadere încorporate. Shader de performanță depinde cel mai mult de două lucruri: shader în sine și care modul utilizat de proiect, sau o anumită cameră de redare. Pentru sfaturi de performanță pentru scrierea shader, consultați shader pagina Performanță ShaderLab.

Moduri de redare și Shader de performanță

Din redare modurile suportate de unitatea, de iluminat și de iluminat vârf amânat moduri sunt performanța cea mai previzibilă. Lumina întârziată, fiecare obiect este de obicei de două ori tras, indiferent de numărul de surse de lumină luminoase ea. Vârful iluminat fiecare obiect este desenată o singură dată. Astfel, shadere de performanță în acest caz va depinde de cât de mult le folosesc și texturi care fac calculele.

performanță Shader în timp ce modul de redare în mod proactiv

Shadere Vertex-Lit proactiv modul de redare este întotdeauna mai puțin consumatoare de resurse decât pixel shader-Lit. Aceste shadere funcționează cu ajutorul calculului de iluminat de pe partea de sus a ochiurilor de plasă, folosind o dată toate sursele de lumină. Prin urmare, indiferent de cât de multe surse de lumina ilumina obiectul, este încă doar o singură dată va fi tras.

shadere Lit-pixel calcula iluminarea finală pentru fiecare pixel este desenată. Din acest motiv, obiectul trebuie să fie redat o dată pentru a obține lumina din mediul înconjurător și de la o sursă de lumină direcțională principală, și o dată pentru fiecare sursă de lumină suplimentară, care se aprinde. Acest lucru crește sarcina pe CPU pentru a procesa și a trimite comenzi adaptor grafic și sarcina pe GPU pentru desen procesare vertex și pixel. Spațiul ocupat de pixel cu pixel obiect iluminat ecran afectează, de asemenea, performanța de redare. Cu cat obiectul, cu atât mai mult va trebui să proceseze pixeli, iar mai lent va trece de redare.

Așa că utilizarea de pixel shader aprins necesită resurse suplimentare, dar, pe de altă parte, permite unele efecte uimitoare cu umbre, hărți normale, efectul de orbire frumos reflectorizante și surse de lumină cu texturi cookie-uri (acestea sunt doar câteva dintre posibilitățile).

Amintiți-vă că puteți accelera tipul de redare a surselor de lumină în pixel ( „importante“) sau nod / SH ( „nu este important“). Orice lumina care cade pe vârful pixel shader-Lit va fi calculată pe baza obiectului sau vârfurile întregului obiect, și nu va consuma mai multe resurse și produc efecte asociate cu sursele de lumină pixeli.

Baza de performanța shader

Având în vedere shadere built-in. ei merg cu creșterea complexității:

  • .Acest Stins structura simpla, care nu este afectat de nici o lumină.
  • VertexLit.
  • Difuz.
  • Normal mapate. Este un shader pic mai mari consumatoare de resurse decât Difuz: se adaugă o altă textură (hartă înălțime) și câteva instrucțiuni shader suplimentare.
  • Speculara. Aceasta a adăugat la calcularea tonurilor luminoase speculare.
  • Normal mapate speculara. Din nou, un pic mai mari consumatoare de resurse shader comparativ cu speculara.
  • Parallax Normal mapate. Aceasta a adăugat calcule parallaksovogo utilizarea hărților normale.
  • Parallax Normal mapate speculara. Aceasta a adăugat calcule și aplicarea parallaksovogo hărți normale și scoate în evidență speculare.

Familia de shader normale (Normal Shader Familie)

articole similare