Может ли кто-нибудь помочь мне в этом вопросе на three.js версии 62 при использовании THREE.GeometryUtils.merge (obje, mesh); метод ..
Uncaught TypeError: Невозможно прочитать карту свойств неопределенной версии Three.js 62
Ответы (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