2012-12-01 34 views
18

का उपयोग करके बस तीन.जेएस दृश्य में आयात किए गए मॉडल नहीं देख सकते हैं। ज्यामिति ठीक दिखती है लेकिन मॉडल प्रदर्शित नहीं कर रहा है इससे कोई फर्क नहीं पड़ता कि मैं किस सामग्री पर लागू होता हूं।तीन.जेएस JSONLoader

मैं वेबजीएल के लिए नया हूं इसलिए मेरे लिए निदान करना मुश्किल है, लेकिन मेरा अनुमान है कि JSONLoader कॉलबैक के दौरान कुछ गलत हो रहा है।

सभी मदद के लिए धन्यवाद।

var camera, scene, renderer, mesh, loader; 

init(); 
animate(); 

function init() { 

    camera = new THREE.PerspectiveCamera(75, window.innerWidth/window.innerHeight, 1, 10000); 
    camera.position.z = 1000; 

    scene = new THREE.Scene(); 

    loader = new THREE.JSONLoader(); 

    loader.load("scripts/model.js", function(geometry) { 
     mesh = new THREE.Mesh(geometry, new THREE.MeshNormalMaterial()); 
     mesh.scale.set(10, 10, 10); 
     mesh.position.y = 150; 
     mesh.position.x = 0; 
    }); 

    scene.add(mesh); 

    var ambientLight = new THREE.AmbientLight(0x555555); 
    scene.add(ambientLight); 

    var directionalLight = new THREE.DirectionalLight(0xffffff); 
    directionalLight.position.set(1, 1, 1).normalize(); 
    scene.add(directionalLight); 

    renderer = new THREE.WebGLRenderer(); 
    renderer.setSize(window.innerWidth, window.innerHeight); 

    document.body.appendChild(renderer.domElement); 

} 

function animate() { 

    requestAnimationFrame(animate); 

    mesh.rotation.x += 0.05; 

    renderer.render(scene, camera); 
} 
+0

गिटहब पर मॉडल का लिंक टूटा हुआ है - क्या आप इसे एक नए यूआरएल में अपडेट करने में सक्षम हैं? –

+0

मॉडल जेएस लिंक टूटा – Gus

उत्तर

23

मॉडल लोड होने से पहले आप दृश्य में जाल जोड़ रहे हैं।

लोडर कॉलबैक फ़ंक्शन में लाइन

scene.add(mesh); 

ले जाएँ।

+4

मुझे पता था कि यह कुछ आसान होना था। मेरे कोड को देखने के लिए समय निकालने के लिए धन्यवाद –

5

सोचा कि यह किसी को जो एक और अधिक सटीक जवाब के लिए खोज करता मदद कर सकता है:

loader.onLoadComplete=function(){scene.add(mesh)} 

भी पूरा लोडर refrence के लिए, यहाँ का संदर्भ लें:

http://threejs.org/docs/index.html#Reference/Loaders/Loader

आशा है कि यह मदद करता है।

0

animate() कंसोल त्रुटियों को हटाने के लिए कॉलबैक फ़ंक्शन में भी होना चाहिए।