Was ist besser, um Animationsblätter oder Gifs zu verwenden? Ein Vorteil von Gifs gegenüber Animationsblättern besteht darin, dass Sie nicht daran denken müssen, dass Frames aufgrund Ihres Codes zu schnell oder zu langsam werden und in den richtigen Ticks aktualisiert werden.
Was sind die Nachteile bei der Verwendung von Gifs und welche Vorteile haben Animationsblätter gegenüber Gifs?
animation
graphics-programming
spritesheet
Arek Żyłkowski
quelle
quelle
One advantage Gifs have over Animation Sheets is that you don't have to think about frames going too fast or too slow
Warum das? Worauf verlassen Sie sich, um diese Annahme zu treffen? Eine Bibliothek? Die Dateiformatspezifikation? Eine GIF-Datei ist immer noch nur Daten, Sie benötigen immer noch Code, um sie zu interpretieren (mit der richtigen Geschwindigkeit rendern)Antworten:
GIF-Nachteile:
Mit dem benutzerdefinierten Format werden all diese Probleme sehr schnell behoben. Sie haben viel mehr Kontrolle über Bildformat, Qualität, Transparenz, Direktzugriff und Komprimierung (einschließlich GPU-unterstützter Formate wie DXT). Darüber hinaus können Sie die von Ihnen benötigten Funktionen priorisieren.
Die obige Aussage ist irreführend. Das Synchronisieren von GIF-Bildern pro Sekunde mit tatsächlichen Spiel-Bildern pro Sekunde unterscheidet sich nicht wesentlich vom Synchronisieren benutzerdefinierter Sprites-Animationen. In beiden Fällen haben Sie genau das gleiche Setup - eine Liste mit Frames, gewünschter Framerate und Renderereignissen. Es gibt kein magisches Pulver in GIF - Sie müssen GIF ohnehin in ein Spritesheet dekomprimieren, was den Zweck zunichte macht.
Natürlich verbergen einige Spiele-Engines möglicherweise einige GIF-Probleme hinter den Kulissen, aber das Gleiche lässt sich mit Spritesheets besser tun.
Gesagt, es gibt einige wenige Fälle, in denen GIFs funktionieren könnten . ZB HTML / CSS-GUIs, aber diese sind an sich recht selten und ressourcenhungrig.
quelle
background-image
Positionsanimation, bei der die Animation auf ein großes Bild aufgeteilt wird, das dann um Offsets verschoben wird.Um eine Bilddatei als Textur in einem Spiel verwenden zu können, muss auf der GPU eine Textur erstellt werden und die Pixeldaten in der Bilddatei müssen in diese Textur geladen werden.
GPUs unterstützen nicht viele der Funktionen, die Image-Dateien auf CPUs unterstützen. JPG-Komprimierung wird nicht unterstützt, PNG-Komprimierung wird nicht unterstützt, und unter besonderer Berücksichtigung von GIFs werden automatische Animationen nicht unterstützt .
Selbst wenn Sie eine GIF-Datei verwenden würden, müssten Sie trotzdem Ihre eigene Animation und Ihren eigenen Timing-Code schreiben. GIF gibt dir nichts.
quelle
GIF hat eine begrenzte Farbpalette. (255) Sie müssen auch das Parsen und Animieren des GIF implementieren. Es gibt also keine Fortschritte in Bezug auf die Zeit und die technischen Aspekte des Formats.
quelle