如何仅在盒子的一侧添加材料?

时间:2017-03-13 04:09:17

标签: aframe

如何仅将材质添加到Aframe几何对象(例如框)的一侧?我需要一个看起来像平面的盒子对象(缩放到平面)因为我有子几何对象,并且需要能够将它们保持在平面区域之外;但是,因为我一直把我的盒子看成是一个平面,所以它也会使孩子的物体变平。所以我想如果我可以让盒子看起来像只有一面有纹理的平面,它将解决问题

1 个答案:

答案 0 :(得分:2)

您可以使用three.js MultiMaterial

大多数手动方式是向实体添加几何图形,然后手动添加材质:

var materials = [
  new THREE.MeshBasicMaterial( { color: 0xff0000 } ), // right
  new THREE.MeshBasicMaterial( { color: 0x0000ff } ), // left
  new THREE.MeshBasicMaterial( { color: 0x00ff00 } ), // top
  new THREE.MeshBasicMaterial( { color: 0xffff00 } ), // bottom
  new THREE.MeshBasicMaterial( { color: 0x00ffff } ), // back
  new THREE.MeshBasicMaterial( { color: 0xff00ff } )  // front
];
el.getObject3D('mesh').material = new THREE.MultiMaterial(materials);

也许在稍后,有人可以制作一个多材料的A-Frame组件,而不必触及JS。