我正在用三个.js构建一个"剪纸"世界。我所有的模型都是简单的"平面",我用具有 Alpha 通道的 PNG 对它们进行纹理处理,以将平面修剪成更令人愉悦的形状。
奇怪的是:透明度根据平面的位置和相机的位置不可预测地出现和消失。
症状 1:如果平面部分低于地平面,透明度有效,但如果我将其移动到地平面上方,透明区域将填充白色。
症状 2:基于症状 1:如果我现在移动相机,使外观矢量几乎平行于平面,则透明度将再次开始工作。
有什么想法吗?看起来有点像优化出错或可能是 z 写入问题?无论 alpha 值如何,纹理是否写入 z?如果是这样的话,我认为它不会对位置或相机角度敏感。
您需要在材质中将transparent
标志设置为 true。
new THREE.MeshBasicMaterial( { map: transparent_map, transparent: true } );