Co lepiej używać Arkuszy animacji lub Gifów? Jedną z zalet Gifów w porównaniu z Arkuszami Animacji jest to, że nie musisz myśleć o klatkach, które poruszają się zbyt szybko lub zbyt wolno z powodu kodu i aktualizacji w odpowiednich tikach.
Jakie są wady korzystania z Gifów i zalety Arkuszy animacji w porównaniu z Gifami?
animation
graphics-programming
spritesheet
Arek Żyłkowski
źródło
źródło
One advantage Gifs have over Animation Sheets is that you don't have to think about frames going too fast or too slow
Dlaczego to? Na czym polegasz, aby przyjąć takie założenie? Biblioteka? Specyfikacja formatu pliku? Plik gif to wciąż tylko dane, wciąż potrzebujesz kodu, aby go zinterpretować (renderować z właściwą prędkością)Odpowiedzi:
Wady GIF:
W niestandardowym formacie wszystkie te elementy są rozwiązywane bardzo szybko. Masz znacznie większą kontrolę nad formatem obrazu, jakością, przezroczystością, losowym dostępem i kompresją (w tym formatami obsługiwanymi przez GPU, podobnie jak DXT). Co więcej, możesz ustawić priorytety potrzebnych funkcji.
Powyższe stwierdzenie wprowadza w błąd. Synchronizowanie fps GIF z rzeczywistą fps gry nie różni się niczym od synchronizacji animacji niestandardowych sprite'ów. W obu przypadkach masz dokładnie taką samą konfigurację - listę ramek, pożądane liczby klatek na sekundę i zdarzenia renderowania. W GIFie nie ma magicznego proszku - i tak będziesz musiał zdekompresować GIF do arkusza sprite, co przeczy celowi.
Oczywiście niektóre silniki gier mogą ukrywać niektóre problemy GIF za zasłonami, ale to samo można zrobić z arkuszami sprite w lepszy sposób.
Powiedział, że istnieje kilka przypadków, w których GIF-y mogłyby działać . Np. GUI HTML / CSS, ale same w sobie są dość rzadkie i wymagają dużych zasobów.
źródło
background-image
animacja pozycji CSS, w której animacja jest umieszczana na jednym dużym obrazie, który jest następnie przesuwany przez przesunięcie.Aby użyć dowolnego pliku obrazu jako tekstury w grze, na GPU musi być utworzona tekstura, a dane pikseli w pliku obrazu muszą zostać załadowane do tej tekstury.
Procesory graficzne nie obsługują wielu funkcji obsługiwanych przez pliki obrazów na procesorach. Nie obsługują kompresji JPG, nie obsługują kompresji PNG, a zwłaszcza w odniesieniu do plików GIF, nie obsługują automatycznej animacji .
Więc nawet jeśli używałeś pliku GIF, i tak będziesz musiał napisać własną animację i kod czasowy. GIF nie daje ci nic.
źródło
GIF ma ograniczoną paletę kolorów. (255) Musisz także wdrożyć parsowanie i animację GIF. Nie ma zatem postępu w zakresie czasu ani aspektów technicznych formatu.
źródło