Ce sunt dispozitive mobile? Cum vă planificați jocul? În cazul în care jocul încetinește, iar profilul profiler arată că problema este în redare, de unde știi ce trebuie să schimbi? Cum de a face jocul să arate mai bine și să rămână rapid? Această pagină este dedicată unei prezentări generale non-tehnice a metodelor. Dacă căutați ceva specific, consultați Optimizarea vizualizării.
Ce poate fi implementat pe dispozitivele curente ale utilizatorilor:
- Lightmapping al geometriei statice. Atenție:
- Utilizați un set de shadere alfa-test
- Bumpmapping, mai ales folosind shadere încorporate.
- Un număr mare de poligoane
- Personaje animate, chiar și cu shadere bizare. Atenție:
- O mulțime uriașă sau personaje de înaltă calitate
- Jocuri 2D cu sprite. Atenție:
- Depășiți-vă sau, multe dintre straturile desenate unul peste celălalt.
- Efectele particulelor. Atenție:
- Densitatea mare a particulelor mari (o mulțime de particule sunt desenate unul peste celălalt, aceasta este o altă situație de descoperit de cont).
- Un număr absurd de particule sau colizoare de particule.
- Fizică. Atenție:
- Mesh Colliders.
- Seturi de corpuri active.
Ce nu trebuie implementat pe dispozitivele curente ale utilizatorilor:
- Efecte grafice pe ecran complet (cum ar fi strălucirea și profunzimea câmpului).
- Iluminare dinamică per pixel (multe surse de lumină marcate Important nu sunt coapte în hărțile de iluminare)
- Pentru iluminarea dinamică, fiecare obiect redat va necesita un timp suplimentar, ceea ce va încetini rapid jocul.
- Umbrește în timp real pe tot
- Unitatea are suport pentru umbrele în timp real pe platforme mobile, însă utilizarea lor trebuie să fie foarte judicioasă și probabil limitată la dispozitivele de vârf.
Exemple - cum se fac jocuri de clasă de primă clasă
Shadowgun este un exemplu minunat de ceea ce se poate face pe software-ul mobil actual. Mai exact, acesta este un bun exemplu de ceea ce nu ar trebui făcut și cum să se eludeze restricțiile. Mai ales că o mică parte a jocului a fost făcută publică aici într-un post de blog.
Iată principalele lucruri pe care Shadowgun le implementează pentru a păstra performanța:
- Iluminarea dinamică este aproape niciodată utilizată.
- În loc de umbre reale, se folosesc umbrele blob și hărțile de iluminare.
- pe semnalele de lumini ale caracterelor, și nu o sursă de lumină reală.
- Aparatele Flash sunt adăugate la testul de lumină prin intermediul scriptului.
- Pentru a calcula BRDF pe caractere, se utilizează doar iluminarea dinamică per pixel, direcția arbitrară a luminii.
- Bumpmapping este rar folosit.
- Această bumpmapping este utilizată numai pe caractere.
- Pe cât posibil, contrastul și detaliile sunt copiate în hărțile de texturi difuze. Informații cu privire la iluminatul din hărțile reliefului.
- Un bun exemplu este textura lor de statuie sau zidurile lor care strălucește dacă le privești de partea dreaptă. Pentru vizualizarea lor, bumpmaps (hărți relief) nu sunt folosite, vizibilitatea specularității este creată prin coacerea în textura. Pentru a oferi acestor modele un aspect strălucitor, hărțile de iluminare sunt combinate cu o iluminare în oglindă bazată pe iluminarea vârfurilor.
- Dacă doriți să aflați cum să creați astfel de texturi, accesați pagina Optimizare răsfoire
- Se evită particulele dense.
- În locul particulelor dense, se utilizează defilare UV a texturilor.
- Evitați efectul de ceață.
- Razele lor ale lui Dumnezeu sunt modelate de mână.
- Planurile unice care apar și dispar sunt folosite pentru a obține efectul de ceață cinematică, pentru a-și crea aspectul.
- Acest lucru este mai rapid deoarece există mai multe planuri și ele sunt foarte separate (acest lucru înseamnă că fiecare pixel de ceață nu este calculat de fiecare shader).
- Strălucirea este evitată.
- Pentru a crea aspectul unei străluciri asupra anumitor obiecte, se folosesc planuri mixte de sprite.
Acest demo a fost creat pentru a arăta ce unitate este capabilă de dispozitive Android high-end.
- Nu utilizați iluminare dinamică.
- Numai hărți de iluminare.
- Sunt utilizate hărți de teren
- Pe caramizi, hărțile reliefului sunt iluminate prin hărți de iluminare direcționate. Acest lucru va fi pe deplin vizibil pe dispozitivele high-end.
- Reflecția în timp real este limitată.
- Acestea au plasat cu atenție, în mod separat și în zone îndepărtate, suprafețele în timp real, astfel încât acestea nu au funcționat mai mult decât una la un moment dat. Mediul, care ar fi trebuit să fie redat de două ori, ar putea fi ușor tratat de funcția de sacrificare a ocluziunii.
Rezultat - Ce înseamnă pentru jocul dvs.
Cu cât acordați mai multă atenție și înțelegeți limitările dispozitivelor mobile, cu atât jocul dvs. va arăta mai bine și cu atât mai bine va fi performanța. Dacă doriți să realizați un joc mobil de ultimă generație, veți beneficia foarte mult de înțelegerea modului în care grafica este construită în Unity și va fi capabilă să vă scrie propriile shadere. Dacă doriți să utilizați deja shadere de la ShadowGun, acestea sunt disponibile aici.
Nu imita! Coaceți-l!
Nu există nici o îndoială că jocurile încearcă să urmeze legile naturii. Mișcarea proiectilului parabolic și culoarea fiecărui pixel genial sunt scrise conform formulelor care simulează observațiile în lumea reală. Dar simularea științifică este doar o parte a jocului, există și altul - desen. Pe piața de telefonie mobilă, nu puteți concura cu vizualizarea fizic corect recreată; hardware-ul nu permite acest lucru. Dacă sunteți prea dornici să imitați lumea reală, jocul dvs. poate fi nelimitat, gri și jaded.
Desenați poligoanele și amestecați culorile ca artist.
de relief de coacere hărți Shadowgun mare exemplu în acest sens. iluminat speculara deja acolo, în textura, ochiul uman nu observă că acestea nu coincid de fapt, cu direcția luminii pe textură este doar un detaliu de contrast, complet echipate, dar în cele din urmă în căutarea mare. Acesta este un "dummy" comun, care este folosit în multe jocuri de succes. Comparați casca în prima captura de ecran de Halo, înainte de eliberarea acestui casca o captură de ecran de presă. Se creează impresia că proiecțiile armura reflectate în casca, dar, de fapt, este o reflecție coace în textura casca. În Liga Legendelor, efectul este redus. creează aparența unui pixel de iluminat, dar în realitate există un plan amestecat cu textură, care a creat, probabil, la momentul înregistrării ecran shot, lumina strălucitoare pixeli pe pământ.
Ce funcționează bine:
- Hărți ale iluminării geometrice statice
- Iluminarea dinamică și nu amestecarea elementelor dinamice mari ale mediului. Alegeți una sau cealaltă.
- Semne de lumină pentru obiectele în mișcare
- Echipamentele mobile actuale ignoră unele surse de lumină dinamică și nu pot face umbre. Lightprobes - o soluție elegantă pentru lumea jocurilor complexe cu iluminare statică.
- Shadere specializate, texturi cu contrast ridicat
- Shaders în ShadowGun minimizează calculul fiecărui pixel și utilizează texturi complexe, de înaltă calitate. Consultați Optimizarea optimizării pentru a face texturi cu aspect frumos chiar și cu un shader simplu.
- Cartografie grafica
- Cine a spus că jocul dvs. ar trebui să arate ca fotografia? Dacă puneți lumina și atmosfera pe texturile artistului, și nu pe motor, nici măcar nu trebuie să vă faceți griji cu privire la optimizarea vizualizării.
Ce nu functioneaza:
- Glow și alte efecte postprocesare
- Ori de câte ori este posibil, astfel de efecte sunt obținute prin quad-uri mixte, Shadowgun este un excelent exemplu al acestui lucru.
- Bumpmapping, mai ales cu shadere încorporate
- Folosiți-l cu atenție, numai pe caractere sau obiecte importante. Nu este necesar să faceți bumpmapping pentru toate obiectele de pe ecran.
- În loc să utilizați hărțile de teren, coaceți mai multe detalii în texturi difuze. Efectul în League of Legends este un excelent exemplu de modul în care acest lucru poate fi utilizat cu succes în industrie.
Dar cum pot face asta?
Un ghid practic pentru optimizarea pentru dispozitive mobile