Quoi de mieux pour utiliser des feuilles d'animation ou des gifs? Un avantage des Gifs par rapport aux feuilles d'animation est que vous n'avez pas à penser que les images vont trop vite ou trop lentement à cause de votre code et de la mise à jour en ticks appropriés.
Quels sont les inconvénients de l'utilisation des Gifs et les avantages des feuilles d'animation par rapport aux Gifs?
animation
graphics-programming
spritesheet
Arek Żyłkowski
la source
la source
One advantage Gifs have over Animation Sheets is that you don't have to think about frames going too fast or too slow
Pourquoi ça? Sur quoi comptez-vous pour faire cette supposition? Une bibliothèque? La spécification du format de fichier? Un fichier gif n'est encore que des données, vous avez toujours besoin de code pour l'interpréter (le rendre à la bonne vitesse)Réponses:
Inconvénients GIF:
Avec un format personnalisé, tous ces éléments sont résolus très rapidement. Vous avez beaucoup plus de contrôle sur le format d'image, la qualité, la transparence, l'accès aléatoire et la compression (y compris les formats pris en charge par GPU comme DXT). Encore mieux, vous pouvez hiérarchiser les fonctionnalités dont vous avez besoin.
La déclaration ci-dessus est trompeuse. La synchronisation des fps GIF avec les fps de jeu réels n'est pas très différente de la synchronisation des animations de sprites personnalisés. Dans les deux cas, vous avez exactement la même configuration - une liste d'images, la fréquence d'images souhaitée et les événements de rendu. Il n'y a pas de poudre magique dans GIF - vous devrez de toute façon décompresser GIF dans une feuille de sprites, ce qui va à l'encontre du but.
Bien sûr, certains moteurs de jeu peuvent masquer certains problèmes GIF derrière les rideaux, mais cela peut être fait de manière meilleure avec les feuilles de sprites.
Cela dit, il y a quelques cas où les GIF pourraient fonctionner . Par exemple, les interfaces graphiques HTML / CSS, mais elles sont assez rares et gourmandes en ressources.
la source
background-image
animation de position CSS où l'animation est palquée sur une grande image, qui est ensuite déplacée par des décalages.Afin d'utiliser n'importe quel fichier image comme texture dans un jeu, il doit y avoir une texture créée sur le GPU et les données de pixels dans le fichier image doivent être chargées dans cette texture.
Les GPU ne prennent pas en charge de nombreuses fonctionnalités prises en charge par les fichiers image sur les processeurs. Ils ne prennent pas en charge la compression JPG, ils ne prennent pas en charge la compression PNG, et avec une référence particulière aux GIF, ils ne prennent pas en charge l'auto-animation .
Donc, même si vous avez utilisé un fichier GIF, vous devrez quand même écrire votre propre code d'animation et de synchronisation. GIF ne vous donne rien.
la source
GIF a une palette de couleurs limitée. (255) Vous devez également implémenter l'analyse et l'animation du GIF. Il n'y a donc pas d'avancement dans le temps ni dans les aspects techniques du format.
la source