- paletă de culori foarte limitată: de obicei este de 256 de culori cu netezire necorespunzătoare. (da, puteți utiliza mai mult de 256 de culori, dar acestea sunt cazuri foarte rare)
- GPU-urile nu acceptă compresie (compresie) GIF. și aceasta înseamnă că într-un fel sau altul va trebui să fie despachetat și, în același timp, datorită procesorului (CPU)
- Pentru transparență, puteți utiliza numai o singură culoare (dacă nu efectuați procesarea individuală)
- nu există niciun acces aleatoriu: pentru a accesa cadrul GIF corect - este necesar să citiți și să decomprimați anterior
- trebuie să aveți în cod o funcție specială pentru decompresie. Nu veți putea alege alți (mai bine) algoritmi de compresie (da, există și GIF necomprimate, dar acestea sunt cazuri foarte rare)
- nu suportă grafice vectoriale.
Când lucrați cu formatul dvs., atunci toate problemele sunt rezolvate rapid. Aveți mai mult control asupra formatului imaginii, calității, transparenței, accesului la întâmplare și a compresiei (inclusiv DXT, care suportă GPU-ul). În plus, puteți stabili prioritățile funcțiilor de care aveți nevoie.
Unii cred că GIF are un avantaj față de foile de sprite, se pare că nu trebuie să vă faceți griji că cadrul va merge prea repede sau prea lent și va încerca să îndrepte viteza în cod. Dar nu este așa. Sincronizarea ratei de cadre a animației GIF și a sincronizării cu animația foilor de sprite nu este mult diferită. În ambele cazuri, este necesar să cunoașteți și să manipulați lista de cadre, să setați rata de cadre dorită și să lucrați cu evenimentele de redare (redare). GIF - nu va crea magie, pentru a atinge obiectivul pe care îl va trebui în orice caz să despachetați GIF în lista de sprite.
Poate că singurul loc în care nu trebuie să vă faceți griji cu privire la materialul video este HTML / CSS GUI. dar acestea sunt, de asemenea, utilizate foarte rar. Ei bine, sunt resurse intensive
Și dacă caracterul trebuie să se miște repede, apoi încet (de exemplu lent mo). Și dacă personajul face o serie de atacuri (combo-uri), iar stația este pe oricare dintr-o serie de lovituri, și fiecare animație au întrerupt o combinație de sale proprii (de exemplu, combinații: UMK3 final - Liu Kang - 4-D, începe picioare reveni animație - diferite.). Întrebare: tăiați tot felul de combinații de GIF.
În plus, unde ar trebui să aibă loc procesul de reproducere a animației hafale? În joc există un proces de redrawiere a scenei. Aproximativ 60 de ori pe secundă (plus / minus). Unde ar trebui localizat GIF? pentru a porni animația din același punct din care a fost întrerupt după actualizarea redării scenei? Sau cum ar trebui sincronizată? Toate acestea se revarsă într-o mare durere de cap.
o traducere mică cu gamedevSE
Întrebarea este incorectă. Nu există metode exclusive pentru "storyboarding" și "animație GIF". Nu există "dar nu". Acestea sunt concepte ortogonale. Puneți corect întrebarea după cum urmează:
De ce 2D storyboard-urile nu stochează un storyboard în format GIF?
Un scenariu este mai multe imagini (de obicei, cadre de animație) care pot fi ambele pe aceeași textura (un "avion" de octeți) și mai multe. Aranjarea graficii pe o singură textură este opțională, dar are unele avantaje, de exemplu, mai multă raționalizare în ceea ce privește dimensiunile de textură optimă pentru hardware.
GIF este un format pentru stocarea datelor pe un disc. Convențional, acesta cuprinde cadre și întârzierea dintre ele, dar în general este complicat de stocare a datelor în format interline și o varietate de tranziție algoritmi între cadre (de exemplu, „stare de derulare înapoi până la cadrul anterior, se aplică următoarele cu transparență și alte paleta“). Acest format nu are nimic de-a face cu modul în care datele sunt afișate în computerele moderne pe hardware modern.
Uneori se pare că GIF "funcționează". Nu e așa. În interiorul programelor există componente care extrag cadrele în vizualizarea hardware și, în funcție de algoritmi, le afișează pe ecran prin cronometru.
Când scrieți un joc, vă controlați totul. Nu mai aveți "animații" separate, aveți o stare clară a fiecărui obiect, împreună cu toate cadrele tuturor elementelor din fiecare punct, în fiecare cadru. Aveți control complet asupra acelui cadru al animației afișat atunci când începeți să săriți după ce ați rulat.
Acum, în vigoare: animația GIF poate fi folosită pentru scenografii, dar acest lucru este rareori făcut din cauza limitărilor îngrozitoare ale formatelor GIF. care sunt enumerate într-un alt răspuns.
În lumea de astăzi, formatele sunt utilizate în mod obișnuit, care stochează grafica direct în hardware. Acest lucru vă permite să faceți descărcarea foarte rapidă, dar necesită o mulțime de memorie, deoarece compresia este slabă. Unele jocuri pot merge calea alternativă, de exemplu, șireturi, un magazine de grafică în format JPEG, în plus de canal transparent, într-un fișier separat. Dacă doriți să optimizați spațiul de pe disc timpul de încărcare podzhertvovav, iar programul este cel mai bun GIF comprimat, în plus, fără o pierdere, utilizarea GIF pentru stocarea de cadre de animație poate fi rațional.
În mod separat, trebuie remarcat motoare bazate pe HTML. GIF funcționează cu adevărat din cutie. Cu toate acestea, chiar și acolo, continuă să se aplice restricții GIF: ca o constrângere în format sub forma unei palete limitate și limitări în controlul viscerelor într-o lipsă de control asupra cadrului curent și așa mai departe. Chiar și în HTML, utilizarea GIF are sens în cazuri foarte limitate: dacă imaginea se potrivește perfect constrângerilor de format și nu este nevoie de un control precis. Acest lucru se întâmplă rar, în jocuri complexe - niciodată.