2013-10-03 2 views
0

У меня есть этот код ниже и не может загружать модель.Не могу загрузить модель js в THREE JS

loader = new THREE.JSONLoader(true); 
        loader.load("modelo.js" , function (geometry, materials) { 
         mesh = new THREE.Mesh(geometry, new THREE.MeshFaceMaterial(materials)); 
         scene.add(mesh); 
        }); 

Весь код приведен ниже. Если я вычеркнул строку «loader.load (...)», она отлично работает и загружает небольшой куб, вращающийся, как в примере из учебника, в файле threejs.org, но когда я пытаюсь загрузить мою модель, это не так загрузите что угодно. Я смотрю много примеров и делаю это по-разному, но он просто не загружается.

var scene = new THREE.Scene(); 
        var camera = new THREE.PerspectiveCamera(75, window.innerWidth/window.innerHeight, 0.1, 1000); 

        var renderer = new THREE.WebGLRenderer(); 
        renderer.setSize(window.innerWidth, window.innerHeight); 
        document.body.appendChild(renderer.domElement); 

        var geometry = new THREE.CubeGeometry(1,1,1); 
        var material = new THREE.MeshBasicMaterial({color: 0x00ff00}); 
        var cube = new THREE.Mesh(geometry, material); 
        scene.add(cube); 

        camera.position.z = 5; 

        loader = new THREE.JSONLoader(true); 
        loader.load("modelo.js" , function (geometry, materials) { 
         mesh = new THREE.Mesh(geometry, new THREE.MeshFaceMaterial(materials)); 
         scene.add(mesh); 
        }); 

        var render = function() { 
         requestAnimationFrame(render); 

         cube.rotation.x += 0.1; 
         cube.rotation.y += 0.1; 

         renderer.render(scene, camera); 
        }; 

        render(); 
+0

Любая ошибка в консоли? – mrdoob

+0

Я проверяю его в браузере, какая консоль вы имеете в виду? – Pedro

+0

Я думаю, что проблема в самой модели js. –

ответ

1

Добрый день, я проверил ваш код с r61 библиотеки Three.js. Это прекрасно, вот мои предложения.

Сначала попробуйте добавить источник света к вашей сцене. Если, например, ваш фон черный, и вы загружаете модель (даже с текстурой), которая не светится, она будет черной на черном. Итак:

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

Если это не работает, посмотрим на некоторые из материальных ценностей в файле modelo.js конкретно значение colorDiffuse в формате JSON в модели установлен в черный (или соответствует вашей сцены цвет фона). Вы в любое время имели это в Майе? Независимо от того, как вы сказали, что вы пытались несколько моделей, так что это длинный выстрел в любом случае, но если это помогает проверить это сообщение:

Loading Maya model with Three.js

Далее, вы используете это на местном уровне? Если вы запускаете его в Chrome и устанавливаете флаг chrome.exe --allow-file-access-from-files. Если вы не попробуете его в Firefox, он должен работать.

О, также проверьте, что (а) ваша камера не слишком близко. Может быть, переместить его обратно сказать:

camera.position.z = 100; 

или (б) ваша сетка является достаточно большим, чтобы увидеть:

mesh.scale.set(100, 100, 100); 

Это должно сделать это, удачи

+0

Дэррил, не могли бы вы объяснить мне несколько вещей. Я пытаюсь понять импорт моделей в проект three.js, но пока не могу его достичь. Я недавно задал вопрос, как загрузить js-модель, но это не помогает. – SWA