Je voudrais savoir comment fonctionne le système d'animation dans minecraft. J'ai l'impression que tous les monstres sont codés en dur dans le jeu. Est-ce que Notch s'est vraiment assis là et a créé les matrices pour tous les os d'animation à la main?
J'aime recréer des jeux pour le plaisir, donc j'aimerais savoir comment il a fait ça. De plus, s'il les code vraiment en dur ... y a-t-il une meilleure façon?
animation
geometry
minecraft-modding
radenon
la source
la source
Réponses:
Comme d'autres l'ont dit, oui, les modèles ainsi que les animations sont codés en dur. Si vous souhaitez voir comment cela a été fait, rendez-vous sur le wiki Minecraft Coder Pack .
Les classes que vous voudrez regarder sont: ModelBase, ModelBiped et ModelRenderer.
ModelBiped contient les fonctions suivantes qui font les animations humanoïdes:
Les oscillations des bras sont simplement des fonctions cosinus. Le bras droit est décalé par PI pour les faire osciller dans des directions opposées.
J'espère que cela répond à votre question =)
Si vous souhaitez plus d'informations sur la façon de modifier Minecraft, consultez cette question:
Comment ajouter un mob personnalisé à Minecraft?
la source
Les modèles dans Minecraft sont codés en dur. Il n'y a aucune notion de hiérarchie de blocs (seulement une liste de blocs). Cela signifie que les animations sont effectuées de manière procédurale (de manière très basique) ou codées en dur avec interpolation.
Il existe quelques éditeurs pour les modèles Minecraft comme Techne ou FMCModeler qui permettent d'importer / exporter du code de modèle Minecraft pour les mods, mais ils ne prennent pas en charge les animations car il est probablement géré différemment pour chaque modèle.
Voici un exemple rapide généré avec FMCModeler:
Une meilleure façon de le faire serait de construire un modeleur complet basé sur des blocs avec quelques notions de hiérarchie de blocs afin que vous puissiez animer les modèles avec des images clés et une interpolation.
Je suis en train de créer un outil de création de jeu multijoueur qui fait exactement cela (entre autres, http://craftstud.io/ ). Il permet déjà de créer des modèles texturés statiques complexes et d'autres sont en cours.
Voici un modèle complexe construit avec CraftStudio Comme vous pouvez le voir, les blocs sont disposés dans un arbre à droite:
Chaque bloc est sérialisé sur disque / sur le réseau avec les données suivantes:
Je prévois d'ajouter un support d'animation en stockant une carte avec des noms d'animation comme clé et une liste d'images clés comme valeur. Chaque image clé sera associée à un bloc et à une valeur à animer. Entre les images clés, les valeurs doivent être interpolées (soit linéairement pour la position, soit sphériquement pour les angles, recherchez lerp et slerp).
la source
Les modèles de blocs Minecraft ne sont en fait pas codés en dur dans le jeu à partir de la version 1.8 et peuvent être modifiés à l'aide de packs de ressources. Le système de modélisation JSON est assez facile à comprendre et des modèles existent dans / models / block. Vous pouvez ensuite consulter le code pour voir comment il interprète les modèles JSON.
la source