Что лучше использовать анимационные листы или гифки? Одно из преимуществ Gifs перед таблицами анимации состоит в том, что вам не нужно думать о том, что кадры движутся слишком быстро или слишком медленно из-за вашего кода и обновления в надлежащих тиках.
Каковы недостатки использования GIF-файлов и преимущества анимационных листов по сравнению с GIF-файлами?
animation
graphics-programming
spritesheet
Arek Żyłkowski
источник
источник
One advantage Gifs have over Animation Sheets is that you don't have to think about frames going too fast or too slow
Почему так? На что вы полагаетесь, чтобы сделать это предположение? Библиотека? Спецификация формата файла? GIF-файл - это всего лишь данные, вам все еще нужен код для его интерпретации (рендеринга с правильной скоростью)Ответы:
Недостатки GIF:
С пользовательским форматом все эти пункты решаются очень быстро. У вас гораздо больше контроля над форматом изображения, качеством, прозрачностью, произвольным доступом и сжатием (включая форматы, поддерживаемые графическим процессором, например DXT). Более того, вы можете расставить приоритеты для нужных вам функций.
Выше заявление вводит в заблуждение. Синхронизация GIF FPS с реальными игровыми FPS мало чем отличается от синхронизации анимации пользовательских спрайтов. В обоих случаях у вас точно такая же настройка - список кадров, желаемая частота кадров и события рендеринга. В GIF нет волшебного порошка - вам все равно придется распаковывать GIF в спрайт-лист, что побеждает цель.
Конечно, некоторые игровые движки могут скрывать некоторые проблемы GIF за кулисами, но тогда то же самое можно сделать с помощью спрайт-листов лучше.
Сказал, что есть несколько случаев, когда GIF-файлы могли бы работать . Например, HTML / CSS GUI, но они довольно редки и требуют много ресурсов.
источник
background-image
анимация позиции CSS, когда анимация размещается на одном большом изображении, которое затем перемещается смещениями.Чтобы использовать любой файл изображения в качестве текстуры в игре, в графическом процессоре должна быть создана текстура, а данные пикселей в файле изображения должны быть загружены в эту текстуру.
Графические процессоры не поддерживают многие функции, поддерживаемые файлами изображений на процессорах. Они не поддерживают сжатие JPG, они не поддерживают сжатие PNG и, в частности, ссылки на GIF, не поддерживают автоматическую анимацию .
Таким образом, даже если вы использовали GIF-файл, вам все равно придется написать собственную анимацию и временный код. GIF ничего не дает.
источник
GIF имеет ограниченную цветовую палитру. (255) Вы должны также выполнить анализ и анимацию GIF. Так что нет прогресса ни во времени, ни в технических аспектах формата.
источник