单个网格上的多种材质不会更新

时间:2018-07-13 10:47:16

标签: javascript three.js

我正在尝试在不同的面上创建具有不同材质的网格(以便可以解构和“干扰”某些加载的几何图形)。

由于某种原因,我什么都看不到任何变化,我想知道Three.js中是否发生了变化。我敢肯定这曾经有用,但是已经有一段时间了,现在我没有收到任何错误,但是没有任何更新。

我正在看这样的示例:https://dustinpfister.github.io/2018/05/14/threejs-mesh-material-index/

类似:

function makeTestShape() {
  // An array of Materials
  var materialArray = [
      new THREE.MeshBasicMaterial({
          color: 0xff0000
      }),
      new THREE.MeshBasicMaterial({
          color: 0x00ff00
      }),
      new THREE.MeshBasicMaterial({
          color: 0x0000ff
      })
  ];

  // Sphere
  var geometry = new THREE.SphereGeometry(1, 15, 15);

  // looping over all faces and setting the material index property
  geometry.faces.forEach(function (face, i) {
      face.materialIndex = Math.floor(i % materialArray.length);
  });

  var sphere = new THREE.Mesh(geometry,materialArray);

  scene.add(sphere);
}

运行此代码时,没有可见的几何体,也没有错误。什么都没发生。这仍然是正确的方法吗?我想念什么?我还尝试了needsUpdate的每种配置,这似乎也不起作用...

谢谢!

0 个答案:

没有答案