Minecraft में मॉडल हार्ड-कोडेड हैं। ब्लॉक पदानुक्रम (केवल ब्लॉकों की एक सूची) की कोई धारणा नहीं है। इसका मतलब यह है कि एनिमेशन या तो प्रक्रियात्मक रूप से (बहुत बुनियादी तरीके से) किए जाते हैं या प्रक्षेप के साथ हार्ड-कोडेड मान।
Minecraft मॉडल के लिए कुछ एडिटर्स हैं जैसे Techne या FMCModeler जो मॉड्स के लिए Minecraft मॉडल कोड आयात / निर्यात करते हैं, लेकिन वे एनिमेशन का समर्थन नहीं करते हैं क्योंकि यह संभवतः प्रत्येक मॉडल के लिए अलग तरह से संभाला जाता है।
यहाँ FMCModeler के साथ एक त्वरित नमूना तैयार किया गया है:
//variables init:
public ModelRenderer box;
//constructor:
box = new ModelRenderer(0, 0);
box.addBox(0F, 0F, 0F, 16, 16, 16);
//render:
box.render(f5);
ऐसा करने का एक बेहतर तरीका ब्लॉक पदानुक्रम की कुछ धारणाओं के साथ एक पूर्ण ब्लॉक-आधारित मॉडलर बनाना होगा ताकि आप कीफ़्रेम और प्रक्षेप के साथ मॉडल को एनिमेट कर सकें।
मैं वर्तमान में एक मल्टीप्लेयर गेम बिल्डिंग टूल बना रहा हूं, जो अन्य चीजों के अलावा, http://craftstud.io/ ) करता है। यह पहले से ही जटिल स्थिर बनावट वाले मॉडल बनाने की अनुमति देता है और अधिक रास्ते में है।
यहां एक जटिल मॉडल है जिसे क्राफ्टस्टडियो के साथ बनाया गया है जैसा कि आप देख सकते हैं, ब्लॉक दाईं ओर एक पेड़ में व्यवस्थित हैं:
प्रत्येक ब्लॉक को डिस्क / नेटवर्क पर निम्नलिखित डेटा के साथ क्रमबद्ध किया जाता है:
- एक अलग पहचान
- जनक नोड आईडी
- स्थिति (वंशजों को प्रभावित करती है)
- स्केल (वंशजों को प्रभावित करता है)
- कोण (वंशजों को प्रभावित करता है)
- धुरी बिंदु से ऑफसेट
- ब्लॉक का आकार
- ब्लॉक टेक्सचर ऑफसेट (यूवी टेक्सचरिंग के लिए ऑफसेट कोऑर्डिनेट करता है)
मैं कुंजी के रूप में एनीमेशन नामों के साथ एक मानचित्र संग्रहीत करके एनीमेशन समर्थन जोड़ने पर योजना बनाता हूं और मूल्य के रूप में keyframes की एक सूची। प्रत्येक कीफ़्रेम को एक ब्लॉक और चेतन के लिए एक मूल्य के साथ जोड़ा जाएगा। कीफ़्रेम के बीच, मानों को प्रक्षेपित किया जाना चाहिए (या तो स्थिति के लिए रैखिक या कोणों के लिए गोलाकार रूप से, लार्प और स्लेर्प की खोज करें)।