我正在尝试了解如何将多种材质添加到网格中。我想采用现有材料并将另一种稍微透明的材料应用于现有网格。现在,将它作为一个数组传递它就消失了。我知道我错过了一些东西,只是不确定那是什么。最终目标是使新材料的不透明度在现有材料上输入/输出。
原始材料
const originalMaterial = child.material.clone();
新材料
const newMaterial = new THREE.MeshStandardMaterial({
name: 'New Mat',
map: newTexture,
emissiveMap: newTextureMap,
side: THREE.DoubleSide,
opacity: .5,
transparent: true
});
结合它们
child.material = [originalMaterial, newMaterial]
child.material.needsUpdate = true