Javascript 验证对三个.js立方体使用多个纹理

Javascript 验证对三个.js立方体使用多个纹理,javascript,3d,three.js,Javascript,3d,Three.js,有人能为three.js r53验证以下代码吗 它取自这个问题: 我尝试了这段代码和一些变体,但没有得到可见的立方体。我的纹理图像按其应有的名称命名 var materials = []; for (var i=0; i<6; i++) { var img = new Image(); img.src = i + '.png'; var tex = new THREE.Texture(img); img.tex = tex; img.onload = functio

有人能为three.js r53验证以下代码吗

它取自这个问题:

我尝试了这段代码和一些变体,但没有得到可见的立方体。我的纹理图像按其应有的名称命名

var materials = [];

for (var i=0; i<6; i++) {
  var img = new Image();
  img.src = i + '.png';
  var tex = new THREE.Texture(img);
  img.tex = tex;

  img.onload = function() {
      this.tex.needsUpdate = true;
  };

  var mat = new THREE.MeshBasicMaterial({color: 0xffffff, map: tex});
  materials.push(mat);
}

var cubeGeo = new THREE.CubeGeometry(400, 400, 400, 1, 1, 1, materials);
var cube = new THREE.Mesh(cubeGeo, new THREE.MeshFaceMaterial());
var材料=[];
对于(var i=0;iTHREE.CubeGeometry()不支持材质列表。我认为它也支持,但如果您检查当前的源代码……它不支持这样做:

var cubeGeo = new THREE.BoxGeometry( 400, 400, 400, 1, 1, 1 );
var cube = new THREE.Mesh( cubeGeo, materials );
materials
是一个包含6个three.js材质的数组,每个面一个材质

请参阅迁移指南:

编辑:
CubeGeometry
已重命名为
BoxGeometry
THREE。MeshFaceMaterial
已被弃用


three.js r.92

也将立方几何重命名为BoxGeometry(r66)@imcg谢谢。更新答案。