सबसे पहले, अन्य दो उत्तरदाताओं के लिए धन्यवाद।इसके अलावा basszero आप मिश्रण फ़ाइल के बारे में सही थे, और मुझे पहले विकिपीडिया की जांच करनी चाहिए! यह ब्लेंडर की स्मृति के पास के बेकार बाइनरी डंप है।
इस प्रश्न को लिखने के कुछ समय बाद, मैंने आगे बढ़ने और ओबीजे लोडर लिखने का फैसला किया, क्योंकि 1) यह मुझे एक 3 डी फ़ाइल प्रारूप लोड करने का अनुभव देगा और 2) यह एक अच्छा, सामान्य रूप से प्रयुक्त प्रारूप था लेकिन यह भी लोड करने में आसान है। यह एक अच्छा निर्णय बन गया, क्योंकि यह मुझे एहसास हुआ, मुझे वास्तव में किसी वस्तु और समूह के बीच का अंतर नहीं पता था, और मुझे सामग्री के बारे में बहुत कुछ नहीं पता था। इससे मुझे इन 3 डी संरचनाओं के लिए कोड स्थापित करने में मदद मिली।
दोनों उत्तर एक्सएमएल-आधारित प्रारूपों की अनुशंसा करते हैं। मैं एक एक्सएमएल प्रारूप नहीं चाहता। मुझे विश्वास नहीं है कि यह एक्सएमएल के लिए सही जगह है। मेरा मानना है कि उन प्रारूपों को बनाया गया था क्योंकि एक्सएमएल लचीला, सार्वभौमिक और स्कीमा बनाने में आसान है, लेकिन यह वह नहीं है जिसे मैं ढूंढ रहा हूं। मैं एक प्रारूप चाहता हूं जो लोड करने के लिए तेज़ है (एक्सएमएल नहीं है, अपेक्षाकृत बोल रहा है), यह लचीला या मानव-पठनीय नहीं होना चाहिए, और कुछ ऐसा है जो मैं एक्सएमएल पुस्तकालयों पर भरोसा करने के बजाय एक आयातक लिख सकता हूं। बास्सेरो ने भी कहा, "एक्सएमएल होने की लागत पर," और वह पूरी तरह से सही है; यह एक लागत है जिसे मुझे लगता है कि बोझ के लायक नहीं है।
मेरा ओबीजे लोडर किया जाता है। मैंने इसे वास्तविक मॉडल कक्षाओं से अलग कर दिया, और इसे मेशफ़ैक्टरी इंटरफ़ेस के साथ कार्यान्वित किया ताकि भविष्य में मैं एक अलग लोडर लिख सकूं यदि मैं चाहता था ... योजना कौन सा है। मैं पिछले कुछ दिनों में और अधिक शोध कर रहा हूं और ms3d प्रारूप पर फैसला किया है।
ms3d प्रारूप कंकाल rigging (जोड़ों) और keyframe कंकाल एनीमेशन का समर्थन करता है, और इसके अलावा एक बनावट मानचित्र और अल्फा मानचित्र का समर्थन करता है। इसके अलावा, यह एक आसानी से कंप्यूटर-पठनीय बाइनरी प्रारूप है जो मानव पठनीय टैग और लेबल और ऐसे के साथ कोई स्थान बर्बाद नहीं करता है (जैसे एक्सएमएल और ओबीजे डू)।
ब्लेंडर, दुर्भाग्यवश, एमएस 3 डी निर्यात स्क्रिप्ट नहीं है (इसलिए) मैं इसके लिए एक स्क्रिप्ट लिखूंगा। सौभाग्य से, यह एक कठिन प्रक्रिया नहीं है, और आप ब्लेंडर के दस्तावेज के माध्यम से पढ़ सकते हैं और अन्य निर्यातकों को उदाहरण के रूप में उपयोग कर सकते हैं। मुझे अपने पायथन पर ब्रश करना होगा, लेकिन अन्यथा यह अन्य स्क्रिप्ट्स के बारे में मैंने जो देखा है उससे बहुत सरल लगता है।
चीजों का जावा पक्ष आसान होना चाहिए, वास्तव में यह ओबीजे प्रारूप से भी आसान होगा क्योंकि ms3d अधिक संरचित है। मुझे ms3d प्रारूप ऑनलाइन के लिए specifications मिला, सी शैली (प्रतिभा!) में, इसलिए वे अविश्वसनीय रूप से आत्म-व्याख्यात्मक हैं और मेरे पास प्रारूप के बारे में कोई और प्रश्न नहीं है। मैं इस अध्याय के अपने कार्यान्वयन को बंद कर दूंगा, हालांकि मैं बाद में अपनी खुद की विविधताओं को लागू कर सकता हूं; मेरे अपने आयातक और निर्यातक को लिखने के बारे में यह बहुत अच्छी बात है, मैं प्रारूप को संशोधित कर सकता हूं जैसा कि मैं फिट देखता हूं।
सब कुछ में, मैंने फैसला किया है कि यह सबसे अच्छा समाधान है।
और बेसरियो, जैसा कि मैंने अपने ओबीजे लोडर से देखा है, आप बिल्कुल सही हैं: "एक बार जब आप इसे सभी में पढ़ लें, डेटा (प्रदर्शन सूची, बनावट, वर्टेक्स सरणी, वर्टेक्स बफर इत्यादि) और प्रतिपादन एक पूरी तरह से अलग जानवर हैं। "
क्रूचैन: मेरे लिए कोई जावा 3 डी नहीं, मैं जॉग के साथ चिपक रहा हूं। मैं वास्तव में उस पुस्तक का मालिक हूं (हालांकि इस समय यह उपलब्ध नहीं है) हालांकि मुझे याद नहीं है कि उसने मॉडल कैसे लोड किए हैं, लेकिन मुझे पूरा यकीन है कि उन्होंने जावा 3 डी प्रारूप लोडर का उपयोग किया जो इसे स्वचालित रूप से करता है। ऐसा कुछ नहीं है जिसका मैं उपयोग करने की योजना बना रहा हूं ... क्षमा करें!
-Ricket
मैं इतना यकीन है .obj के बारे में, यह अत्यंत अक्षम लगता है नहीं कर रहा हूँ। मुझे मानव-पठनीय प्रारूप की आवश्यकता नहीं है। मैं देखता हूं कि वीआरएमएल बड़ा बनाता है और शायद इसका अपना खुद का संस्करण बनायेगा, धन्यवाद! कोई और? :) – Ricket
ओबीजे अक्षम है, लेकिन यह बहुत मानक है। आप Java3D और विशेष रूप से O'Reilly पुस्तक 'जावा में किलर गेम प्रोग्रामिंग' पर एक नज़र डालने के लिए भी पसंद कर सकते हैं जो कई प्रश्नों का उत्तर दे सकता है। – Cruachan