2015-01-21 9 views
5

मैं प्रदत्त blender exporter की सहायता से तीनजेएस जेसन को ब्लेंडर मॉडल निर्यात करने की कोशिश कर रहा हूं। json फ़ाइल को पार्स करने पर मैं कोई त्रुटि मिलती है: (ommiting कोने और चेहरे) निम्नलिखित के रूप मेंगलत प्रारूप में थ्रीज ब्लेंडर निर्यातक निर्यात

Uncaught TypeError: Cannot read property 'length' of undefined 

json फ़ाइल दिखता है:

{ 
    "textures": [], 
    "metadata": { 
     "version": 4.3, 
     "sourceFile": "UV-World.blend", 
     "type": "Object", 
     "generator": "io_three" 
    }, 
    "images": [], 
    "materials": [], 
    "object": { 
     "matrix": [1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1], 
     "children": [{ 
      "type": "Mesh", 
      "name": "Kugel", 
      "uuid": "5051D840-9982-4F9A-8CFF-36303B38E091", 
      "position": [0.0,0.0,0.0], 
      "rotation": [-1.5707964897155762,0.0,0.0], 
      "scale": [1.0,0.9999999403953552,0.9999999403953552], 
      "visible": true, 
      "castShadow": true, 
      "receiveShadow": true, 
      "geometry": "DEAE2CE2-9824-4F91-BE4C-1C80BEDC566A" 
     }], 
     "type": "Scene", 
     "uuid": "8C543616-2AB0-4D1D-B76D-549E32A0E468" 
    }, 
    "geometries": [{ 
     "type": "Geometry", 
     "data": { 
      "name": "KugelGeometry", 
      "metadata": { 
       "version": 3, 
       "faces": 512, 
       "vertices": 482, 
       "generator": "io_three" 
      }, 
      "vertices": [...], 
      "faces": [...] 
     }, 
     "uuid": "DEAE2CE2-9824-4F91-BE4C-1C80BEDC566A" 
    }] 
} 

यह format that threejs expects में यह होने के लिए नहीं हो रहा है। यदि मैं मैन्युअल रूप से निम्नलिखित तीनjs पार्स होने के लिए जेसन को बदलता हूं और मॉडल को अपेक्षित रूप से प्रदर्शित करता हूं।

{ 
    "scale": 1, 
    "vertices": [...], 
    "faces": [...] 
} 

ओबीजे कार्यों के लिए निर्यात/आयात करने की अपेक्षा की जाती है।

जैसा कि मुझे कोई भी समस्या नहीं मिली, मुझे लगता है कि यह एक उपयोग त्रुटि है। मैं ब्लेंडर के लिए नया हूँ, तो शायद मैंने कुछ गलत किया? मैं ब्लेंडर 2.73 ए और तीनjs का उपयोग कर रहा हूं जो सिर्फ भंडार से क्लोन किया गया है।

+0

हमें अपना लोडिंग कोड दिखाएं। – Shomz

उत्तर

7

मुझे संदेह है कि आप JSONLoader का उपयोग कर रहे हैं। इसके बजाय ObjectLoader का उपयोग करने का प्रयास करें।

+3

अरे, यह आदमी खुद ही है! ^^ – Shomz

+0

केवल 'प्रारूप संस्करण 3] (https://github.com/mrdoob/three.js/wiki/JSON-Model-format-3) के लिए' JSONLoader' है, जबकि 'ऑब्जेक्टलोडर' संस्करण 4 है? – syntonym

+0

@ सिंटोनिम जो सही है! अगले संस्करण को इसके बारे में एक कंसोल त्रुटि फेंक देना चाहिए। – mrdoob

0

यदि आप JSONLoader का उपयोग करना चाहते हैं, तो दृश्य विकल्प अनचेक करें। तो, आपके पास एक भी जाल JSON फ़ाइल होगी, आप उम्मीद करते हैं।

enter image description here

+0

यह कहां है? और क्या संपादक? मैं ciara.io – Buksy

+0

का उपयोग करता हूं यह ब्लेंडर निर्यातक का पुराना संस्करण था। Clara.io नहीं। यदि आप ब्लेंडर का उपयोग करते हैं, तो बस नवीनतम का उपयोग करें और सभी दृश्य आइटम अनचेक करें। – yomotsu

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