2016-06-05 3 views
0

Я начинаю с помощью three.js и я получаю сообщение об ошибке в THREE.MeshLambertMaterial(); гдеThreeJS material.setValues ​​не является функцией

this.setValues is not a function

в этом блоке источника threejs' код:

Three.js

THREE.MeshLambertMaterial = function (parameters) { 

    THREE.Material.call(this); 

    this.type = 'MeshLambertMaterial'; 

    this.color = new THREE.Color(0xffffff); // diffuse 

    this.map = null; 

    this.lightMap = null; 
    this.lightMapIntensity = 1.0; 

    this.aoMap = null; 
    this.aoMapIntensity = 1.0; 

    this.emissive = new THREE.Color(0x000000); 
    this.emissiveIntensity = 1.0; 
    this.emissiveMap = null; 

    this.specularMap = null; 

    this.alphaMap = null; 

    this.envMap = null; 
    this.combine = THREE.MultiplyOperation; 
    this.reflectivity = 1; 
    this.refractionRatio = 0.98; 

    this.wireframe = false; 
    this.wireframeLinewidth = 1; 
    this.wireframeLinecap = 'round'; 
    this.wireframeLinejoin = 'round'; 

    this.skinning = false; 
    this.morphTargets = false; 
    this.morphNormals = false; 

--> this.setValues(parameters); 

}; 

Исходя из этого вызова в моей JavaScript:

graphics.js

var sphereMaterial = THREE.MeshLambertMaterial(
       {color: 0x55B663}); 

Кто-нибудь есть опыт работы с этой ошибкой и/или знать, что может быть причиной?

+0

Какая версия three.js? setValues ​​находится на родительском классе материала и работает очень долго. Я сомневаюсь, что класс MeshLambertMaterial является проблемой. – 2pha

+0

@ 2pha Я честно не уверен, я вырыл вокруг README и docs/и не мог найти номер версии в любом месте. Я загрузил его со своего сайта примерно неделю назад, хотя – asdf

+0

@ 2pha Я нахожусь на chrome на Ubuntu 14.04, если это помогает что-либо – asdf

ответ

3

Используйте ключевое слово новый при создании нового материала или геометрии:

var sphereMaterial = new THREE.MeshLambertMaterial({color: 0x55B663}); 

Side Примечание: вы можете увидеть номер версии релиза, набрав в консоли THREE.REVISION или просто глядя на вершине внутри файл three.js/three.min.js.

+0

хороший, я пропустил это – 2pha

+0

Да, я видел ваш комментарий и был удивлен, но ваша догадка уже правильная. Это не всегда третья ошибка. :-) –

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