2015-05-02 3 views
5

Я действительно старался изо всех сил решить это своими исследованиями, но, к сожалению, я абсолютно новичок с трио.js и javascript, и мне действительно нужна помощь.Three.js + Threex + Javascript: "fromArray не является функцией"?

Я пытаюсь импортировать модель из трехx (google threex - я не могу опубликовать другую ссылку) в мою сцену three.js. К сожалению, когда я добавить код, чтобы сделать это следующим образом:

var spaceship = null; 
THREEx.SpaceShips.loadSpaceFighter03(function(object3d){ 
    scene.add(object3d) 
    spaceship = object3d 
}) 

Я в конечном итоге с пустой сцены, и эта ошибка в моей консоли JavaScript:

Uncaught TypeError: (intermediate value).fromArray is not a function.:8000/bower_components/threex.spaceships/examples/vendor/three.js/examples/js/loaders/MTLLoader.js:299

Который приводит меня к (предположительно) обижая строка кода в MTLLoader.js (независимо этот файл.)

params[ 'ambient' ] = new THREE.Color().fromArray(value); 

Я не знаю, что происходит, и я нахожусь в немного над моей головой, я думаю. Кто-нибудь знает, как это исправить?

Я работаю над этим руководством: https://www.youtube.com/watch?v=vw5_YyM4hn8 (если это помогает, код примера для этого сегмента учебника находится здесь: https://github.com/jeromeetienne/flying-spaceship-minigame/blob/master/step1-01-naked-spaceship.html - я не вижу никаких проблем - я до сих пор пытался внимательно следуйте инструкциям.)

Заранее спасибо.

+2

ThreeX совместим с версией three.js, которая является лет. Поскольку вы просто учитесь, я предлагаю вам следовать этому совету: http://stackoverflow.com/questions/11966779/learning-webgl-and-three-js/11970687#11970687. – WestLangley

+0

Спасибо! После проверки изменений в предыдущих версиях three.js, я вижу, что функция fromArray() изменилась. Наверное, я подозревал что-то вроде этого ... Где вы нашли информацию о совместимости для трех раз? Кажется, я не могу найти документацию, определяющую, какая версия трёх.js явно совместима с. – spwoco

+0

https://github.com/jeromeetienne/threex/tree/master/vendor – WestLangley

ответ

1

Это несовместимость версии между текущими тэгами.js и кодом, используемым из этих трех. Threex совместим с версией three.js, которой является год.

При изучении three.js, это имеет хороший совет: Learning WebGL and three.js

Версия three.js, что ThreeX использования можно увидеть в https://github.com/jeromeetienne/threex/tree/master/vendor

Смежные вопросы