未捕获类型错误:无法读取属性';地图';未定义的Three.js 62版本

未捕获类型错误:无法读取属性';地图';未定义的Three.js 62版本,three.js,mesh,Three.js,Mesh,在使用three.GeometryUtils.merge(obje,mesh)时,有人能在three.js版本62上帮助我解决这个问题吗;方法..尝试将MeshFaceMaterial与合并的网格一起使用时,我遇到了相同的错误。在我的例子中,我必须修改我合并的立方体每个面的materialIndex 我假设默认情况下,立方体测量对所有面使用materialIndex=0。没有!多维数据集的每一侧都有自己的索引 看看这把小提琴: var材料=[ 新的三网格基本材料({ 颜色:0x00ff00 })

在使用three.GeometryUtils.merge(obje,mesh)时,有人能在three.js版本62上帮助我解决这个问题吗;方法..

尝试将MeshFaceMaterial与合并的网格一起使用时,我遇到了相同的错误。在我的例子中,我必须修改我合并的立方体每个面的materialIndex

我假设默认情况下,立方体测量对所有面使用materialIndex=0。没有!多维数据集的每一侧都有自己的索引

看看这把小提琴:

var材料=[
新的三网格基本材料({
颜色:0x00ff00
}),
新的三网格基本材料({
颜色:0xffff00
}),];
var dummy=新的三个几何体();
var geometry=新的三立方测量法(1,1,1);
对于(变量i=0;i
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);