मैं हाल ही में थ्री.जेएस को आजमा रहा हूं और मैंने ब्लेंडर के लिए निर्यातक एडन का उपयोग ब्लेंडर में मॉडल बनाने और निर्यात करने के लिए किया ताकि मैं उन्हें तीन में उपयोग कर सकूं .js कार्यक्रम।थ्री.जेएस JSONLoader ब्लेंडर मॉडल त्रुटि: संपत्ति 'लंबाई' अपरिभाषित
मैंने ब्लेंडर में एड-ऑन शामिल किया, और ब्लेंडर के केवल मूल घन मॉडल का उपयोग करके निर्यातक के रूप में इसे .json में निर्यात किया। तो फिर मैं एक guide के रूप में इस का उपयोग करते हुए मेरी Three.js में मॉडल आयातित लेकिन है कि मुझे एक त्रुटि दिया: (
Uncaught TypeError: Cannot read property 'length' of undefined.
Ive पहले से ही ऑनलाइन खोज की है और के समारोह कॉल में एक माल सहित जैसे कुछ अलग दृष्टिकोण की कोशिश की लोडर) लेकिन कुछ भी काम नहीं करता है।
मैंने उत्तर के लिए स्टैक ओवरफ्लो भी चेक किया लेकिन अब तक कुछ भी हल नहीं हुआ है। अगर कोई यह स्पष्ट करेगा कि मैं क्या गलत कर रहा हूं तो मैं बहुत आभारी रहूंगा।
कोड मेरी three.js
कार्यक्रम के लिए:
var WIDTH = 1000,
HEIGHT = 1000;
var VIEW_ANGLE = 45,
ASPECT = WIDTH/HEIGHT,
NEAR = 0.1,
FAR = 10000;
var radius = 50,
segments = 16,
rings = 16;
var sphereMaterial =
new THREE.MeshLambertMaterial(
{
color: 0xCCCCCC
});
var sphere = new THREE.Mesh(
new THREE.SphereGeometry(
radius,
segments,
rings),
sphereMaterial);
var pointLight =
new THREE.PointLight(0x660000);
var $container = $('#container');
var renderer = new THREE.WebGLRenderer();
var camera =
new THREE.PerspectiveCamera(
VIEW_ANGLE,
ASPECT,
NEAR,
FAR);
var scene = new THREE.Scene();
var loader = new THREE.JSONLoader(); // init the loader util
scene.add(camera);
pointLight.position.x = 10;
pointLight.position.y = 50;
pointLight.position.z = 130;
scene.add(pointLight);
camera.position.z = 300;
renderer.setSize(WIDTH, HEIGHT);
$container.append(renderer.domElement);
window.requestAnimFrame = (function() {
return window.requestAnimationFrame ||
window.webkitRequestAnimationFrame ||
window.mozRequestAnimationFrame ||
function (callback) {
window.setTimeout(callback, 1000/60);
};
})();
loader.load('test.json', function (geometry, materials) {
var material = new THREE.MeshFaceMaterial(materials);
var object = new THREE.Mesh(geometry, material);
scene.add(object);
});
(function animloop() {
requestAnimFrame(animloop);
renderer.render(scene, camera);
})();
मैं कैसे डीबग कर सकते हैं? –