验证使用具有three.js多维数据集的多个纹理

mps*_*pso 5 javascript 3d three.js

有人可以验证three.js r53的以下代码吗?

它来自这个问题:如何在Three.js立方体中使用多种材料?

我尝试了这个代码和一些变化,但我没有得到可见的立方体.我的纹理图像按照它们的名称命名.

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());
Run Code Online (Sandbox Code Playgroud)

Wes*_*ley 17

改为:

var cubeGeo = new THREE.BoxGeometry( 400, 400, 400, 1, 1, 1 );
var cube = new THREE.Mesh( cubeGeo, materials );
Run Code Online (Sandbox Code Playgroud)

materials 是一个由6个three.js材料组成的数组,每个面部一个.

请参阅迁移指南:https://github.com/mrdoob/three.js/wiki/Migration-Guide.

编辑:CubeGeometry已重命名为BoxGeometryTHREE.MeshFaceMaterial已被弃用.

three.js r.92