Chciałbym wiedzieć, jak działa system animacji w Minecrafcie. Mam wrażenie, że wszystkie moby są zakodowane na stałe w grze. Czy wycięcie tak naprawdę tam siedziało i ręcznie tworzyło matryce dla wszystkich kości animacji?
Lubię odtwarzać gry dla zabawy, więc chciałbym wiedzieć, jak to zrobił. Ponadto, jeśli naprawdę je koduje na stałe ... czy jest lepszy sposób?
animation
geometry
minecraft-modding
radenon
źródło
źródło
Odpowiedzi:
Jak powiedzieli inni, tak, modele i animacje są zakodowane na stałe. Jeśli chcesz zobaczyć, jak to się stało, przejdź do wiki Minecraft Coder Pack .
Klasy, które chcesz obejrzeć, to: ModelBase, ModelBiped i ModelRenderer.
ModelBiped zawiera następujące funkcje, które wykonują animacje humanoidalne:
Huśtawki ramion są po prostu funkcjami cosinus. Prawa ręka jest przesunięta przez PI, aby kołysały się w przeciwnych kierunkach.
Mam nadzieję, że to odpowiada na twoje pytanie =)
Jeśli chcesz uzyskać więcej informacji o tym, jak faktycznie zmodyfikować Minecraft, sprawdź to pytanie:
Jak dodać niestandardowy mob do Minecraft?
źródło
Modele w Minecraft są zakodowane na stałe. Nie ma pojęcia hierarchii bloków (tylko lista bloków). Oznacza to, że animacje są wykonywane proceduralnie (w bardzo prosty sposób) lub na stałe zakodowane z interpolacją.
Istnieje kilka edytorów dla modeli Minecraft, takich jak Techne lub FMCModeler, które umożliwiają importowanie / eksportowanie kodu modelu Minecraft dla modów, ale nie obsługują animacji, ponieważ prawdopodobnie jest obsługiwany inaczej dla każdego modelu.
Oto krótka próbka wygenerowana za pomocą FMCModeler:
Lepszym sposobem na to byłoby zbudowanie pełnego modelera blokowego z pewnymi pojęciami hierarchii bloków, aby można było animować modele za pomocą klatek kluczowych i interpolacji.
Obecnie buduję narzędzie do budowania gier wieloosobowych, które właśnie to robi (między innymi http://craftstud.io/ ). Pozwala już na budowanie złożonych modeli z teksturą statyczną, a kolejne są w drodze.
Oto złożony model zbudowany za pomocą CraftStudio Jak widać, bloki są ułożone w drzewie po prawej stronie:
Każdy blok jest szeregowany na dysk / przez sieć z następującymi danymi:
Planuję dodać obsługę animacji, przechowując mapę z nazwami animacji jako kluczem i listą klatek kluczowych jako wartością. Każda klatka kluczowa zostanie powiązana z blokiem i wartością do animacji. Pomiędzy klatkami kluczowymi wartości należy interpolować (liniowo dla pozycji lub sferycznie dla kątów, szukaj lerp i slerp).
źródło
Modele bloków Minecraft w rzeczywistości nie są zakodowane w grze od wersji 1.8 i można je edytować przy użyciu pakietów zasobów. System modelowania JSON jest dość łatwy do zrozumienia, a modele istnieją w katalogu / models / block. Następnie możesz spojrzeć na kod, aby zobaczyć, jak interpretuje modele JSON.
źródło