我有一个ThreeJS场景,我想提供在不同模式下看到所有模型的选项(不管有没有纹理和/或线框)。
我试着用一个几何学和每一个物体的一种材料来完成这个任务。
当我试图删除一个对象的纹理,将其材质的map属性设置为空时,会发生一些奇怪的事情。该对象接受最新加载的纹理,即使它被加载并应用于另一个对象。这是一种预期的行为吗?如果没有,我应该如何删除地图?
发布于 2016-05-20 18:16:19
一个很好的方法是从一开始就初始化您需要的材料:
var materials = {}; materials['lambert'] = new THREE.MeshLambertMaterial( { color: 0xdddddd, shading: THREE.SmoothShading } ); materials['phong'] = new THREE.MeshPhongMaterial( { color: 0xFF0000, specular: 0x009900, shininess: 30, shading: THREE.FlatShading } );