Bildraten für Sprite-Animationen wählen

Die Frage „Mit wie vielen fps sollte meine Animation laufen?“ wird meist gestellt, als gäbe es nur eine Antwort. Tatsächlich sind zwei getrennte Fragen zu beantworten: Wie viele unterschiedliche Einzelbilder enthält eine Aktion, und wie schnell werden diese abgespielt? Wer beides vermischt, bekommt Animationen, die trotz reichlich Einzelbildern träge wirken oder trotz schneller Wiedergabe ruckeln.

Einzelbildanzahl und Wiedergabegeschwindigkeit sind unterschiedliche Entscheidungen

Ein Gehzyklus mit 4 Einzelbildern, abgespielt mit 8 Bildern pro Sekunde, dauert eine halbe Sekunde pro Durchlauf. Ein Gehzyklus mit 8 Einzelbildern bei 8fps dauert eine volle Sekunde, also doppelt so lange bei derselben Wiedergabebildrate. Die Anzahl der Einzelbilder bestimmt, wie viele Bewegungsdetails die Schleife enthält. Die Wiedergabegeschwindigkeit bestimmt, wie schnell sie sich wiederholt. Ein detaillierter Zyklus mit 12 Einzelbildern kann zu langsam laufen, um als Gehen erkennbar zu sein. Ein grober Zyklus mit 2 Einzelbildern kann dagegen genau den richtigen Rhythmus haben und die Aktion klar vermitteln, weil die menschliche Bewegungswahrnehmung stärker auf das Timing als auf Details achtet.

Das ist praktisch wichtig, weil die beiden Stellschrauben bei einem festen Grafikbudget gegeneinander abgewogen werden müssen. Kannst du nur 4 Einzelbilder eines Angriffs zeichnen, musst du keine schlechte Animation hinnehmen. Passe Wiedergabegeschwindigkeit und Haltezeiten an, dazu unten mehr, bis diese 4 Einzelbilder stimmig wirken. Nimm nicht an, dass du mehr Einzelbilder brauchst, um ein Timing-Problem zu beheben.

Wie sich 8, 12 und 24fps tatsächlich anfühlen

Diese Zahlen beschreiben, wie oft das angezeigte Einzelbild wechselt, unabhängig von der Render-Bildrate des Spiels.

  • 8fps – ungefähr alle 125ms ein neues Einzelbild. Deutlich stufenweise; jede Pose bleibt lange genug sichtbar, um einzeln wahrgenommen zu werden, bevor die nächste erscheint. Wirkt bewusst, schwer oder absichtlich retro statt flüssig.
  • 12fps – ungefähr alle 83ms ein neues Einzelbild. Das traditionelle Zeichnen „auf Zweiern“ bei handgezeichneter Animation, also neuer Inhalt bei jedem zweiten Einzelbild eines 24fps-Films. Flüssig genug für die meisten Spielaktionen und zugleich mit geringem Zeichenaufwand.
  • 24fps – ungefähr alle 42ms ein neues Einzelbild, entsprechend der Filmbildrate. Die Bewegung wirkt vollkommen flüssig ohne wahrnehmbare Stufen. Für dieselbe Dauer wird ungefähr doppelt so viel Einzelbildinhalt wie bei 12fps benötigt, oder dieselbe Einzelbildanzahl wird in der halben Zeit abgespielt.

Keine dieser Zahlen ist objektiv richtig. Die passende hängt davon ab, was du animierst und welches Gefühl es vermitteln soll. Deshalb unterscheidet der nächste Abschnitt nach Aktionen, statt eine Zahl für das ganze Spiel anzugeben.

Drei Filmstreifenzeilen desselben Gehzyklus: vier Einzelbilder mit der Beschriftung 8 fps ruckeliges Retro, sechs mit 12 fps Standard und zwölf mit 24 fps weich und flüssig
Derselbe Gang auf drei Arten gezeichnet. Beachte: Die höheren Zeilen sind keine bessere Animation. Sie enthalten mehr Zeichnungen, was sowohl eine Kosten- als auch eine Qualitätsentscheidung ist.

Warum Retrospiele wenige FPS nutzten und warum das heute eine Stilentscheidung ist

Konsolen und frühe PCs, die mit 6–10fps animierten, trafen nicht vorrangig eine künstlerische Entscheidung. Sie arbeiteten unter einer harten Speichergrenze. Jedes zusätzliche Einzelbild bedeutete weitere Sprite-Daten, die in den Modul-ROM oder System-RAM passen mussten, beide in Kilobyte bemessen. Ein Studio, das eine Figur mit 24fps statt 8fps animierte, benötigte für jede einzelne Aktion im Spiel ungefähr das dreifache Einzelbildbudget, multipliziert mit jeder Figur. Dieses Budget war meistens nicht vorhanden. Niedrige Einzelbildzahlen waren eine direkte Folge dieser Begrenzung, und Animatoren wurden sehr gut darin, innerhalb dieses Rahmens die wichtigsten Bilder auszuwählen.

Diese Einschränkung besteht heute praktisch nicht mehr. Speicherplatz und Arbeitsspeicher begrenzen die Einzelbildanzahl eines 2D-Spiels nicht mehr auf diese Weise. Sich heute für 8fps zu entscheiden ist eine bewusste Stilentscheidung, meist um den damaligen Look nachzubilden oder weil eine grobe, stufenweise Bewegung tatsächlich zum Grafikstil passt. Du solltest wissen, welcher Grund auf dein Projekt zutrifft. „Wenige FPS wegen Retro“ und „wenige FPS wegen ausgeschöpftem Einzelbildbudget“ erzeugen dasselbe Ergebnis aus sehr unterschiedlichen Überlegungen. Nur eines davon ist eine Einschränkung, die du beliebig ignorieren kannst.

Empfohlene Bildraten nach Aktion

AktionÜbliche EinzelbildanzahlÜbliche WiedergabeWarum
Ruhe2–44–8fpsDezente Bewegung wie Atmen oder Blinzeln braucht keine hohe Geschwindigkeit, um erkennbar zu sein
Gehen6–810–14fpsBenötigt einen klaren Rhythmus; zu langsam wirkt träge oder betrunken
Ausführen6–1014–20fpsEin schnellerer Rhythmus vermittelt Tempo, selbst mit genauso vielen Einzelbildern wie beim Gehen
Angriff3–6Ungleichmäßig, mit Schwerpunkt auf Vorbereitung und TrefferDer Treffer muss in einem einzelnen Bild sitzen, nicht über mehrere verschwimmen
Übergänge von Ruhe zu Aufmerksamkeit2–38–12fpsEin schneller, klar erkennbarer Zustandswechsel ist wichtiger als flüssige Bewegung

Betrachte diese Werte als Ausgangspunkt, nicht als Regel. Der einzige echte Test ist die Schleife bei tatsächlicher Spielgröße und -geschwindigkeit. Ein Wert, der im Animationsprogramm in großer Vorschau richtig aussieht, kann völlig anders wirken, wenn der Sprite auf einem bewegten Bildschirm nur 48 Pixel hoch ist.

Haltebilder und Timing

Nicht jedes Einzelbild einer Folge braucht dieselbe Anzeigezeit. Ein Haltebild ist eine länger als die umgebenden Bilder angezeigte Pose: das Ausholen vor einem Schlag, der Höhepunkt eines Sprungs oder der Moment kurz vor dem Auftreffen eines Schwertschwungs. Solche Posen etwas länger als bei einer einheitlichen Bildrate zu halten, gibt dem Betrachter Zeit, die Vorbereitung wahrzunehmen, bevor der schnelle Teil folgt. Das ist eine Form von Easing: Bewegung ist selten linear, und ihr Timing sollte es auch nicht sein.

In der Praxis besteht eine Angriffsanimation nicht einfach aus N Einzelbildern mit konstanten fps. Sie besteht etwa aus einem Ausholbild mit 150ms, zwei schnellen Übergangsbildern mit jeweils 40ms, einem Trefferbild mit 100ms und einem Erholungsbild mit 200ms. Genau deshalb erlauben die meisten Animationssysteme eine Dauer pro Einzelbild statt nur einer globalen Rate. Unterstützt dein Werkzeug nur eine feste Rate, kannst du eine Haltephase durch Duplizieren des gewünschten Bildes nachbilden, sodass es zwei oder drei Takte statt eines belegt.

Animations-fps sind nicht Spiel-fps

Ein Spiel kann mit 60 oder 120fps rendern, während eine Sprite-Animation mit 12fps läuft. Diese Zahlen sind voneinander unabhängig. Die Render-Schleife des Spiels zeichnet ohnehin jedes Bild. Das Animationssystem entscheidet, wie oft es innerhalb dieser Schleife zum nächsten Sprite-Einzelbild wechselt. Üblicherweise misst es dafür die verstrichene Zeit und wechselt beim Überschreiten eines Schwellenwerts, statt den Bildwechsel an den Render-Takt zu koppeln. Beides gleichzusetzen ist ein häufiger Fehler bei Einsteigern in die Sprite-Animation, die Bildrate bisher nur in einer Bedeutung kannten.

Diese Trennung ermöglicht einem Spiel mit butterweicher Kamerabewegung und Eingabereaktion bei 60fps, bewusst grobe Figurenanimationen mit 8fps als Stilmittel zu zeigen. Deshalb sollte eine Änderung der Zielbildrate deines Spiels auch niemals eine neue zeitliche Abstimmung der Sprite-Animationen erfordern. Ist das doch nötig, koppelt das Animationssystem beide Werte fälschlich.

Wo du das in gängigen Engines findest

  • Unity – das Abtastratenfeld im Animation-Fenster legt die Einzelbilder pro Sekunde für den gesamten Clip fest. Einzelne Keyframes auf der Zeitleiste können trotzdem ungleichmäßig verteilt werden, um innerhalb dieser Rate Haltephasen zu erzeugen.
  • Godot — AnimatedSprite2D und SpriteFrames lassen dich FPS pro Animation und separat einen Dauer-Multiplikator pro Einzelbild für Haltephasen festlegen.
  • Benutzerdefiniert / Engine-unabhängig – die meisten selbst entwickelten Sprite-Animatoren vergleichen einen aufaddierten Zeitwert mit einer Liste von Einzelbilddauern statt mit einer einzigen FPS-Konstante. Das ist der flexibelste Ansatz, wenn du das System selbst schreibst.

Häufig gestellte Fragen

Mein Gehzyklus hat viele Einzelbilder, wirkt aber trotzdem steif. Warum?

Meist ein Timing-Problem, kein Problem der Einzelbildanzahl. Prüfe, ob jedes Einzelbild gleich lange angezeigt wird. Beim echten Gehen ist die Gewichtsverteilung ungleichmäßig, und eine gleichmäßige Wiedergabe glättet das weg. Halte die Kontaktbilder, bei denen der Fuß den Boden berührt, versuchsweise etwas länger als die Durchgangsbilder.

Gibt es eine minimale Einzelbildanzahl, damit eine Animation verständlich ist?

Es gibt kein festes Minimum. Ein Ruheblinzeln mit 2 Einzelbildern oder ein Angriffsblitz mit 2 Einzelbildern kann mit richtigem Timing völlig klar erkennbar sein. Entscheidend ist, ob der Posenwechsel die Aktion vermittelt, nicht wie viele Zwischenschritte dorthin führen.

Sollten alle meine Animationen für Einheitlichkeit dieselben FPS verwenden?

Nicht unbedingt. Ein einheitlicher Grafikstil profitiert von einer konsistenten Einzelbildanzahl oder Silhouettensprache. Unterschiedliche Aktionen bewegen sich aber berechtigterweise unterschiedlich schnell. Ein Laufzyklus mit denselben fps wie eine Ruheanimation lässt meist eine der beiden falsch wirken.

Wie animiere ich Ausschnitte aus einem generierten Sprite-Sheet mit unterschiedlichen Einzelbildgrößen?

Ergänze vor dem Einrichten der Animation jedes Einzelbild auf dieselbe Arbeitsflächengröße und einen einheitlichen Drehpunkt. Andernfalls wirken Einzelbilder mit unterschiedlichen Begrenzungsrechtecken zittrig oder verschoben, egal wie gut das Timing abgestimmt ist. Korrigiere zuerst die Positionierung und passe danach die FPS an.

Saubere, einheitliche Einzelbilder zum Animieren erhalten

Das Timing wirkt nur richtig, wenn zuvor jedes Einzelbild einheitlich beschnitten und positioniert wurde. Magic Slice im Sprite-Sheet-Schneidewerkzeug erkennt die Inhaltsgrenzen jedes Sprites anhand des Alphakanals und ergänzt die Einzelbilder passend mit Rändern. So behindern ungleichmäßige Quellgrafiken dein Animationstiming nicht. Alles läuft im Browser.

Sprite-Sheet-Schneidewerkzeug öffnen