Während ich ein paar Spiele in meiner Freizeit gespielt habe, bin ich über ein 2D / 3D-Überlebensspiel gestolpert. Das Spiel wurde anscheinend in SDL und GLUT (Dont starve) gemacht, aber was mich wirklich erstaunt hat, waren die Animationen im Spiel.
Die Animationen sind extrem flüssig und flüssig. Während der Animation treten keine Verzerrungen auf. In handgefertigten Animationen werden normalerweise Pixel entfernt, die Animationen sind unregelmäßig und nicht so flüssig. Das brachte mich zum Nachdenken darüber, wie es ihnen gelungen ist, eine solche Qualität von Animationen zu erreichen. Waren sie wirklich handgemacht (wenn ja, dann muss es ein sehr talentierter Künstler gewesen sein), handelt es sich um eine Knochenanimation oder verwenden sie eine andere Technik?
Antworten:
Mein Name ist Kevin und ich bin Programmierer / Designer bei Klei. Ich habe ein paar Animationen geschrieben, die wir in den Serien Mark of the Ninja und Don't Starve von Shank verwendet haben.
Unsere Animatoren arbeiten in Flash. Wir haben ein Konzept eines Charakters, das sich aus einer Reihe von Körperteilsymbolen mit mehreren Ansichten zusammensetzt. Abhängig von der Wiedergabetreue des Spiels gibt es mehr oder weniger Körperteile mit mehr oder weniger "Sicht". Ich denke, dass Shank ungefähr 30 Körperteile mit jeweils 1-2 Dutzend Ansichten hatte, während Wilson von Don't Starve ungefähr ein Dutzend Körperteile mit nur ungefähr der gleichen Anzahl von Ansichten hat. Benutzerdefinierte JSFL-Skripte werden verwendet, um die Zeitleisten der Flash-Symbole zu analysieren und dann die relevanten Bilder als eine Reihe von hochauflösenden PNG-Dateien zusammen mit einer Reihe von Metadaten auszuheizen, die wir in einer XML-Datei speichern.
Bei einer bestimmten Charaktererstellung erstellen unsere Animatoren ein neues Stammsymbol in einer anderen Datei, das einen Teil der Animation für diesen Charakter enthält. In dieser Zeitleiste erstellen sie den Charakter aus Build-Symbolen und verschieben ihn, tweenen ihn usw., um einzelne Animationen zu erstellen (die durch Rahmenbeschriftungen abgegrenzt werden). Das Exporter-Skript exportiert diese Zeitleisten in XML, wobei die 2D-Transformation jedes Build-Elements und die angezeigte Ansicht berücksichtigt werden.
Mit all diesen Informationen, die in XML und PNG exportiert wurden, führen wir eine Reihe von Python-Skripten aus, um sie in Laufzeitdaten zu konvertieren. Ein Skript verkleinert, atlantisiert und kopiert alle Texturen und konvertiert sie in (ein oder mehrere) komprimierte, plattformspezifische Formate. Ein anderes Skript verarbeitet die XML-Animationsdaten in ein effizienteres Binärformat.
Zur Laufzeit müssen nur die richtigen Build-Symbole mit den richtigen Transformationen und Ansichten angezeigt werden.
Die Entwicklung dieses Systems hat lange gedauert und wurde verbessert, da wir es von Spiel zu Spiel verschoben haben. Es gibt viele Details, die ich beschönige (wie zum Beispiel das Überlagern und das Tauschen von Kostümen zur Laufzeit), aber das ist die allgemeine Gliederung.
Natürlich ist die Technologie, die wir verwenden, wahrscheinlich der am wenigsten wichtige Aspekt des "Klei Look". Das Wichtigste ist, dass wir eine Menge wirklich, wirklich guter Animatoren haben. :)
Wie auch immer, ich hoffe das hilft. Wenn Sie weitere Fragen zu Don't Starve haben, können Sie in unseren Foren vorbeischauen.
quelle
In der Regel verwendet Klei eine sehr schöne Kombination aus Skelett-Animationen und Sprite-Änderungen.
Sie rüsten ein Skelett auf, wenden Sprites auf die Bones an und tauschen dann die Sprites aus, wie es ein Animationsrahmen erfordert.
Das genaue "Wie" (Workflow / Tools / etc) kann eigentlich nur von ihnen kommen, sagten sie aber selbst bei der Werbung für "Shank", Pre-Release.
Und wenn Sie sich Shank / ShankII, Mark of the Ninja und Don't Starve ansehen, werden Sie feststellen, dass die Animation dem Zeug, das aus Nickelodeon stammen könnte, sehr ähnlich ist.
Ich könnte mir vorstellen, dass sie auch mit Szenendiagrammen arbeiten, um alles vernünftig zu halten, aber auch dies ist eher eine Annahme, die auf der Komplexität basiert und was für die Animation (2d / 3d) funktioniert, als eine Garantie.
quelle
Ich denke, sie verwenden definitiv Knochenanimation. Sie verwenden entweder hochauflösende Sprites (um Unregelmäßigkeiten zu vermeiden) oder sie verwenden eine Form von Vektorgrafiken. Es ist durchaus möglich, dass sie Vektorgrafiken in hochauflösende Sprites vorrendern. Sie haben definitiv keine Pixelkunst für diese verwendet. :)
quelle