Rezoluția Unity3d a texturii redate este mai mică decât rezoluția fișierului original - depășirea stivei

Încerc să obțin o panoramă cubică. Scena este simpla: o camera in interiorul unui cub format din 6 cuburi. Aplicația încarcă o textură nu din Active sau Resurse, ci din sistemul de fișiere al computerului. Apoi, programul afișează piesele corespunzătoare texturii de pe marginea cubului cu mainTextureScales și mainTextureOffsets corespunzătoare.







Panorama este redată corect. Dar cu o pixilizare catastrofică. Aparent, atunci când a fost redată, textura a fost redusă de mai multe ori.

Am un fișier foarte mare de imagine, format din 6 poze 2048x2048, lipite împreună într-o singură bandă. Ie imagini full size, cu toate cele șase texturi - 12288x2048. Dar, după ce am încărcat acest mega-textura într-un Texture2D, se arată dimensiunea corectă: 12288x2048.







Dacă am citit textura pentru cubul se confruntă cu nici unul 12288x2048 fișier, și fișiere individuale de la 6 2048x2048, rezoluția devine mult mai bine.

Prompt cum se păstrează textura panorame cubi într-unul și nu în cele 6 fișiere, dar nu-și pierde atunci când rezoluția de redare?

Este posibil să împingeți ceva de genul:

Servit o serie de octeți în Texture2D au GetRawTextureData. Asta este de a descărca în mod corect, trebuie să salvați mai întâi textura distribuite ca o serie de octeți al fișierului obținut GetRawTextureData. Problema aici este că în cazul în care dimensiunea blocurilor pentru care este necesar să se taie textura nu este la fel, care este, de exemplu, 512x512 textura, se taie în 512h255 nu se intampla numai in multipli Tipo 2h128, 256h64, etc (acest lucru se datorează faptului nu este clar în lățime sau înălțime nu este un multiplu de dimensiunea unei matrice de octeți încă)

P.S. tip de textură pot fi luate în stabilirea, cât și prin unele Comutare pentru a determina dimensiunea (ca DIMENSION_RGBA32) pentru fiecare TextureFormat (bine, sau poate Unity există unele instrument pentru acest lucru, nu știu). Fie pentru a determina funcția pentru fiecare tip de textură utilizat.







Trimiteți-le prietenilor: