2011-10-09 6 views
9

मकसद
मैं WebGL का उपयोग करने के लिए एक छोटा सा डेमो आवेदन बनाने के लिए कोशिश कर रहा हूँ सहित SceneJS JSON में कनवर्ट 3 डी मॉडल। मैंने SceneJS का उपयोग करना चुना, क्योंकि यह एक आसान ढांचा लग रहा था और इस उद्देश्य के लिए पर्याप्त से अधिक होगा।बनावट

मैंने कुछ .blend मॉडल (Amy Rose, दूसरों के बीच) डाउनलोड किए हैं और उन्हें ब्लेंडर का उपयोग करके कोलाडा (.dae) फ़ाइल के रूप में निर्यात किया है। तब मैंने उन्हें एक जेसन मॉडल में बदलने के लिए scenejs-pycollada का उपयोग किया।

मैंने scenejs-pycollada कनवर्टर को काम करने में कुछ घंटे बिताए। जाहिर है कि विंडोज़ में काम करने के लिए उन पायथन निर्भरताओं को प्राप्त करना इतना आसान नहीं है अगर आपने पहले कभी पाइथन का उपयोग नहीं किया है। ;)

समस्या
लेकिन अब मैं अटक गया हूं (फिर से)। मेरी समस्या यह है कि मॉडल में कोई बनावट या सामग्री नहीं है।

मैंने SceneJS के Seymour Plane Example का उपयोग किया। मेरे द्वारा परिवर्तित मॉडल शायद ही दिखाई दे रहा है। यह काला है और दृश्य में प्रकाश के जवाब में प्रतीत नहीं होता है। यदि मैं विमान और मॉडल को एक साथ लोड करता हूं, तो मैं देख सकता हूं कि मॉडल लोड हो गया है, क्योंकि इसकी बाहों और पैर विमान से चिपके हुए हैं।

अब मैंने कुछ ट्यूटोरियल का पालन किया जो मुझे बनावट को पीएनजी छवि के रूप में निर्यात करने देगी। मैंने फ़ाइल नाम से मेल खाने के लिए जेएसओएन मॉडल में बनावट फ़ाइल नाम को संशोधित किया, लेकिन इससे मदद नहीं मिलती है।

तो मुझे उम्मीद है कि कोई भी मुझे ब्लेंडर मॉडल (या अन्य सामान्य 3 डी मॉडल) निर्यात करने के लिए दृश्यों सहित दृश्य जेएसओएन प्रारूप में जेएसओएन प्रारूप में निर्यात करने में मदद कर सकता है।

दृश्यजेएस में मॉडलों को लोड करने की कोई अन्य विधि भी तब तक करेगी जब तक यह काम करता है।

यदि किसी को शरीर/आकृति जेएसओएन मॉडल के मुफ्त डाउनलोड करने का लिंक मिला है, जो अब मदद करेगा, लेकिन मैं सीखता हूं कि यह कैसे काम करता है। :)

मैं

  • विंडोज 7 होम प्रीमियम 64 बिट का उपयोग कर रहा
  • अजगर 2.7 (विंडोज 32 बिट)
    मैं पुस्तकालयों के लिए उचित रूप में बेहतर समर्थन की वजह से, 32 बिट संस्करण चुना है, और अधिक उपलब्ध इंस्टॉलर। सबसे पहले मैंने 32 और 64 बिट मिश्रित किया और इससे मुझे परेशानी हुई, लेकिन अब सबकुछ काम करता है (बनावट को छोड़कर)।
  • ब्लेंडर 2.59
  • SceneJS 0.8.0

मेरे कार्यप्रवाह
ब्लेंडर में मैं कोलाडा (* .dae) फ़ाइलों के लिए मॉडल का निर्यात, और फिर उन्हें कच्चे JSON में बदलने का scenejs- का उपयोग कर pycollada। यह मुझे दो वस्तुओं के साथ एक JSON फ़ाइल देता है। पहला दृश्य है, दूसरा मॉडल। मैं दूसरा रखता हूं और इसे जावास्क्रिप्ट चर में डालता हूं जिसका उपयोग सीनजेएस उदाहरण के कोड में किया जाता है। मॉडल , "type": "library", "parent": "Scene" गुणों के साथ समाप्त होता है जिसे मुझे कोड से हटाने की आवश्यकता होती है ताकि इसे लोड किया जा सके।

उत्तर

7

मैं वास्तव में scenejs-pycollada के लेखक हूं।अगर मैं आपको :)

मैं तुम्हें SceneJS के संस्करण 0.8 उपयोग कर रहे हैं मदद कर सकता है मुझे देखने दो ... चीज़ें बल्कि प्रवाह में किया गया है, तो यह वास्तव में सबसे आसान मेरी personal repo से 2.0 branch of SceneJS from github और scenejs-pycollada खींचने के लिए हो सकता है । मैं मूल रूप से दृश्यजेस-पायकोलाडा की पहली रिलीज के लिए सीनजेजेएस 0.9 को लक्षित कर रहा था, लेकिन उस संस्करण को आधिकारिक तौर पर रिलीज़ नहीं किया गया था। साथ ही, लंबे समय तक आपको बस सब कुछ फिर से लिखना पड़ेगा यदि आप अभी स्विच करें ...

समस्याग्रस्त विंडोज संकलन भी एक बड़ा कांटा है, मैं वास्तव में चाहता हूं कि numpy devs आपको विंडोज़ के लिए ठीक कर देगा लोक। एक बार SceneJS 2.0 जारी होने के बाद, मैं windowsjs-pycollada का आधिकारिक संस्करण जारी करूंगा जो विंडोज़ के लिए सभी आवश्यक निर्भरताओं के साथ पैक किया जाता है।

तो, इस उत्तर पर टिप्पणी करने या अपने प्रश्न को अपडेट करने के लिए स्वतंत्र महसूस करें। मैं इस पर नजर रखने की कोशिश करूंगा।

पीएस वैकल्पिक रूप से, यदि आप वास्तव में निराश हैं तो वास्तव में https://github.com/rehno-lindeque/Blender-WebGL-exporter पर दूसरा ब्लेंडर निर्यातक है, लेकिन मैं इसका उपयोग करने की अनुशंसा नहीं करता - यह बहुत पुराना है। एकमात्र अन्य दृश्यज कोलाडा निर्यातक को बहुत समय पहले बहिष्कृत कर दिया गया था।

पी.पी.एस. Scenjs-pycollada में भी कुछ और उदाहरण और कुछ परीक्षण मॉडल हैं। यदि आप बस एक त्वरित मॉडल खेलना चाहते हैं, तो https://github.com/rehno-lindeque/scenejs-pycollada/tree/master/example देखें, हालांकि स्वीकार्य रूप से यह अब तक का सबसे सुंदर मॉडल नहीं है।

पीपीपीएस असल में एमी रोज मॉडल आपके लिए अच्छा काम नहीं कर रहा था, कारणों में से एक कारण है क्योंकि दृश्यज-पिकोलडाडा ने अभी तक कई सामग्रियों का समर्थन नहीं किया है। मैं इस रात के लिए जल्दी से कुछ समर्थन जोड़ रहा हूँ।

+0

धन्यवाद! ऐसा लगता है कि आपके संस्करण scenejs-pycollada और SceneJS 2.0 के साथ काम करता है। किसी भी चीज को फिर से सम्मिलित करने की आवश्यकता नहीं थी, इसलिए यह अच्छा है। ;) मैं नुकीले लोगों को बहुत ज्यादा दोष नहीं देता, यह विभिन्न पुस्तकालयों के असंगत संस्करणों को स्थापित करने के लिए अपनी खुद की गलती का एक बड़ा सौदा था। इस समय मैं जीएलजीई की कोशिश कर रहा हूं, जिसकी सिफारिश की गई है। (यह उन्हें परिवर्तित करने के बिना .dae फ़ाइलों को लोड करता है)। अभी के लिए मुझे अपना डेमो काम करने की ज़रूरत है, लेकिन मुझे आशा है कि मुझे जल्द ही सीनियरजेस को फिर से जांचने के लिए समय मिलेगा। एक बार फिर धन्यवाद। – GolezTrol

+0

कोई समस्या नहीं, कोई और बग मुझे बताएं :) –