Uncaught TypeError: Невозможно прочитать карту свойств неопределенной версии Three.js 62

Может ли кто-нибудь помочь мне в этом вопросе на three.js версии 62 при использовании THREE.GeometryUtils.merge (obje, mesh); метод ..


person Ajay Shah    schedule 20.11.2013    source источник


Ответы (1)


У меня такая же ошибка при попытке использовать MeshFaceMaterial с объединенной сеткой. В моем случае мне пришлось изменить materialIndex каждой грани объединенного куба.

Я предположил, что CubeGeometry по умолчанию использует materialIndex = 0 для всех граней. Это не так! Каждая сторона куба имеет свой индекс.

Взгляните на эту скрипку: http://jsfiddle.net/ThPPA/4/

var materials = [
new THREE.MeshBasicMaterial({
    color: 0x00ff00
}),
new THREE.MeshBasicMaterial({
    color: 0xffff00
}),];

var dummy = new THREE.Geometry();

var geometry = new THREE.CubeGeometry(1, 1, 1);
for(var i = 0; i < geometry.faces.length; i++) {
    geometry.faces[i].materialIndex = 0;
}

var cube1 = new THREE.Mesh(geometry);
cube1.position.x -= 1;
THREE.GeometryUtils.merge(dummy, cube1, 0);

var cube2 = new THREE.Mesh(geometry);
cube1.position.x += 1;
THREE.GeometryUtils.merge(dummy, cube2, 1);

var material = new THREE.MeshFaceMaterial(materials);
var mesh = new THREE.Mesh(dummy, material);
scene.add(mesh);
person l3dx    schedule 19.01.2014