Ich würde gerne wissen, wie das Animationssystem in Minecraft funktioniert. Ich habe das Gefühl, dass alle Mobs fest im Spiel verankert sind. Hat Notch wirklich da gesessen und die Matrizen für alle Animationsknochen von Hand erstellt?
Ich mag es, Spiele zum Spaß nachzubauen, also würde ich gerne wissen, wie er das gemacht hat. Auch wenn er sie wirklich hart codiert ... gibt es einen besseren Weg?
animation
geometry
minecraft-modding
Radenon
quelle
quelle
Antworten:
Wie andere schon gesagt haben, sind sowohl die Modelle als auch die Animationen hartcodiert. Wenn Sie sehen möchten, wie dies gemacht wurde, besuchen Sie das Minecraft Coder Pack- Wiki.
Die Klassen, die Sie betrachten möchten, sind: ModelBase, ModelBiped und ModelRenderer.
ModelBiped enthält die folgenden Funktionen, die die humanoiden Animationen ausführen:
Die Armschwingen sind einfach Kosinusfunktionen. Der rechte Arm wird von PI versetzt, um sie in entgegengesetzte Richtungen schwingen zu lassen.
Ich hoffe das beantwortet deine frage =)
Wenn Sie weitere Informationen darüber wünschen, wie Minecraft tatsächlich modifiziert wird, dann sehen Sie sich diese Frage an:
Wie füge ich Minecraft einen benutzerdefinierten Mob hinzu?
quelle
Modelle in Minecraft sind fest codiert. Es gibt keine Vorstellung von Blockhierarchie (nur eine Liste von Blöcken). Dies bedeutet, dass Animationen entweder prozedural (auf sehr einfache Weise) oder durch Interpolation fest codierte Werte ausgeführt werden.
Es gibt einige Editoren für Minecraft-Modelle wie Techne oder FMCModeler, mit denen Minecraft-Modellcode für Mods importiert / exportiert werden kann. Sie unterstützen jedoch keine Animationen, da diese wahrscheinlich für jedes Modell unterschiedlich gehandhabt werden.
Hier ist ein kurzes Beispiel, das mit FMCModeler erstellt wurde:
Besser wäre es, einen vollständigen blockbasierten Modellierer mit einigen Begriffen der Blockhierarchie zu erstellen, damit Sie die Modelle mit Keyframes und Interpolation animieren können.
Derzeit baue ich ein Multiplayer-Tool zum Erstellen von Spielen, das genau das tut (unter anderem http://craftstud.io/ ). Es ermöglicht bereits das Erstellen komplexer statischer strukturierter Modelle und weitere sind in Vorbereitung.
Hier ist ein komplexes Modell, das mit CraftStudio erstellt wurde. Wie Sie sehen, sind die Blöcke in einem Baum auf der rechten Seite angeordnet:
Jeder Block wird mit den folgenden Daten auf Platte / über das Netzwerk serialisiert:
Ich plane, Animationsunterstützung hinzuzufügen, indem ich eine Karte mit Animationsnamen als Schlüssel und eine Liste von Schlüsselbildern als Wert speichere. Jeder Keyframe wird mit einem Block und einem zu animierenden Wert verknüpft. Zwischen Keyframes sollten Werte interpoliert werden (entweder linear nach Position oder sphärisch nach Winkeln, Suche nach Lerp und Slerp).
quelle
Minecraft-Blockmodelle sind ab Version 1.8 nicht mehr fest im Spiel codiert und können mithilfe von Ressourcenpaketen bearbeitet werden. Das JSON-Modellierungssystem ist recht einfach zu verstehen und es gibt Modelle unter / models / block. Anschließend können Sie anhand des Codes feststellen, wie die JSON-Modelle interpretiert werden.
quelle