2010-01-23 10 views
8

मैं ओपनजीएल ईएस का उपयोग कर आईफोन पर एनिमेशन करने की कोशिश कर रहा हूं। मैं ब्लेंडर 3 डी सॉफ्टवेयर में एनीमेशन करने में सक्षम हूं। मैं ब्लेंडर से ओपनजीएल तक .obj फ़ाइल के रूप में निर्यात कर सकता हूं और यह आईफोन पर काम करता है।आईफोन ओपनजीएल ईएस में ब्लेंडर 3 डी एनीमेशन कैसे आयात करें?

लेकिन मैं ब्लेंडर 3 डी से ओपनजीएल तक अपना एनीमेशन काम निर्यात करने में सक्षम नहीं हूं। क्या कोई इसे हल करने में मेरी मदद कर सकता है?

उत्तर

0

SIO2 पर भी एक नज़र डालें।

1

यदि आपके पास this article by Jeff LaMarche पर एक नज़र डालें, तो आपको एक ब्लेंडर स्क्रिप्ट मिलेगी जो एक सीडी हेडर फ़ाइल में 3 डी मॉडल आउटपुट करेगी। एक followup article भी है जो उपरोक्त स्क्रिप्ट पर सुधार करता है।

स्क्रिप्ट चलाने के बाद, यह आपके स्रोत में शीर्षलेख को शामिल करने और आपके ड्राइंग फ़ंक्शन के माध्यम से शीर्षकों की सरणी को पार करने जैसा आसान है। आदर्श रूप से आप रनटाइम पर मनमानी मॉडल फ़ाइलों को लोड करने की एक विधि चाहते हैं, लेकिन इस विधि को प्रोटोटाइप करने के लिए कार्यान्वित करना सबसे आसान है।

जैसा कि आपके पास पहले से ही मॉडल आयात करने की विधि है (ओबीजे) तो उपर्युक्त लागू नहीं हो सकता है। हालांकि, ब्लेंडर स्क्रिप्ट का उपयोग करने का लाभ यह है कि आप अपनी खुद की जरूरतों के अनुरूप स्क्रिप्ट को संशोधित कर सकते हैं, शायद हड्डी की जानकारी या मॉडल कीफ्रेम निर्यात भी कर सकते हैं।

1

अच्छी तरह से पहले, मैं इस उद्देश्य के लिए .obj की अनुशंसा नहीं करता क्योंकि ओबीजे फ़ाइल प्रारूप एनीमेशन का समर्थन नहीं करता है, केवल स्थिर 3 डी मॉडल। तो आपको एनीमेशन डेटा को एक अलग फ़ाइल के रूप में निर्यात करने की आवश्यकता होगी जिसे आप ओबीजे के साथ एक ही समय में लोड करते हैं।

मैं कौन सा फ़ाइल प्रारूप सुझाऊंगा, इस पर निर्भर करता है कि वास्तव में आपके एनिमेशन क्या हैं। मुझे अपने सिर के शीर्ष पर याद नहीं है कि ब्लेंडर किस फ़ाइल प्रारूप का समर्थन करता है, लेकिन जैसा कि मुझे याद है कि एनीमेशन के साथ कोलाडा फाइल निर्यात करता है, जो सबसे सामान्य सिफारिश होगी। अन्य विकल्प चरित्र एनिमेशन के लिए md2 होंगे, या एनिमेशन के लिए सरल "कठोर वस्तुएं" के लिए 3ds होंगे। मुझे लगता है कि ब्लेंडर का एफबीएक्स निर्यातक काम करेगा, हालांकि आपकी फाइल के लिए फ़ाइल प्रारूप बहुत जटिल हो सकता है।


कहा यही कारण है, यह मानते हुए कि आप केवल सरल कठोर वस्तु आंदोलनों की जरूरत है, तो आप 3 डी मॉडल आकार के लिए .obj इस्तेमाल कर सकते हैं और उसके बाद सूचीबद्ध मुख्य-फ़्रेम में है कि ब्लेंडर से एक फ़ाइल निर्यात करने के लिए एक सरल अजगर स्क्रिप्ट लिखने, प्रत्येक कीफ्रेम के लिए फ्रेम, स्थिति और रोटेशन के साथ। फिर उस कोड को अपने कोड में लोड करें और 3 डी मॉडल पर उन कीफ्रेम को वापस चलाएं।

0

मैंने ब्लेंडर के हाल के संस्करणों का उपयोग नहीं किया है, लेकिन मेरी समझ यह है कि यह .obj फ़ाइलों के अनुक्रम के रूप में जाल एनीमेशन निर्यात का समर्थन करता है। यदि आप अपने ऐप में पहले से ही एक .obj प्रदर्शित कर सकते हैं, तो उनमें से कई को एक के बाद प्रदर्शित करना आप जो चाहते हैं उसे प्राप्त करेंगे।

अब ध्यान दें कि यह इस प्रकार की एनीमेशन को निर्यात करने का सबसे प्रभावी रूप नहीं है, क्योंकि प्रत्येक .obj फ़ाइल में बहुत अधिक डुप्लिकेट जानकारी होगी। यदि आपका जाल समय के साथ तय रहता है (यानी केवल पॉलीगॉन संरचना, यूवी कॉर्ड इत्यादि के साथ लंबवत स्थानांतरित होते हैं) तो आप बस पूरे पहले .obj आयात कर सकते हैं और बाकी से केवल वर्टेक्स सरणी पढ़ सकते हैं।

यदि आप इसे और भी अनुकूलित करना चाहते हैं, तो आप वर्टेक्स सरणी को संपीड़ित कर सकते हैं ताकि आप केवल एनीमेशन के पिछले फ्रेम से अंतर को स्टोर कर सकें।

संपादित करें: मुझे लगता है कि ब्लेंडर 2.5 9 को COLLADA पर निर्यात किया गया है।Blender manual के अनुसार, आप ऑब्जेक्ट ट्रांसफॉर्मेशन निर्यात कर सकते हैं, और आप कठोर ऑब्जेक्ट्स के लिए बेक्ड एनीमेशन भी निर्यात कर सकते हैं। आपके आईफोन ऐप में कोलाडा प्रारूप का समर्थन करने में आपके लिए लाभ यह है कि आप एनीमेशन टूल के बीच स्विच करने के लिए स्वतंत्र हैं, क्योंकि उनमें से अधिकतर इस प्रारूप को निर्यात करते हैं।

1

यह एक पुराना सवाल है और तब से कुछ नए आईओएस ढांचे को जारी किया गया है जैसे कि जीएलकिट। मैं जितना संभव हो सके उन पर भरोसा करने की सलाह देता हूं, क्योंकि वे इस तरह के कई अंतर्निहित रूपांतरणों का ख्याल रखते हैं, हालांकि मैंने विनिर्देशों का शोध नहीं किया है। साथ ही, आईओएस पर नहीं, ओएस एक्स (जो संभवतः आईओएस पर पहुंच जाएगा) के लिए नई सीन ग्राफ तकनीक, यह सब कुछ और ले लो और एक चालाक व्यक्ति उस उपकरण के साथ कुछ रूपांतरण कर सकता है और फिर आउटपुट ले सकता है आईओएस के लिए।

संबंधित मुद्दे