Three.js ThreeJS:白色PNG图像加载为纹理,用作材质,渲染为平面,具有灰色边缘
在ThreeJS版本87中渲染白色材质时出现问题 以下是复制的步骤:Three.js ThreeJS:白色PNG图像加载为纹理,用作材质,渲染为平面,具有灰色边缘,three.js,Three.js,在ThreeJS版本87中渲染白色材质时出现问题 以下是复制的步骤: 加载为纹理的白色PNG图像 此纹理用于创建MeshBasicMaterial(作为参数贴图传递) MeshBasicMaterial沿平面几何图形用于创建网格 网格将添加到空场景,并在WebGLRenderer上渲染,alpha:true和clearColor为白色 问题是渲染纹理现在在应该是全白色的部分上有灰色边缘。 任何带有白色边缘的图像都会发生这种情况。我还尝试了渲染器和材质的许多不同配置,但都没有成功 我制作了一个非常
很抱歉第一次没有这么精确,任何进一步的帮助都将不胜感激。将alphaTest设置为0.9。。或更高。。观察改善情况。 你的恒星纹理在恒星外的区域有灰色或黑色,这就是你看到灰色光晕的原因。您可以通过在图像编辑工具中用白色填充图像(但不更改alpha通道)来修复此问题 此外,您应该升级到最新的three.js(r95) 编辑: 我不确定你的确切期望是什么。。但是有许多不同的设置控制三种模式中的alpha混合。有renderer.premultipliedAlpha=true/false(默认为true)和material.transparent=true/false;material.alphaTest是一个阈值,用于控制完全忽略alpha的级别。还有物料混合、混合液、混合液、混合液、混合液、混合液、混合液和混合液。等等。你可能需要仔细阅读这些 例如。。以下是您的纹理:
renderer.premultipliedAlpha = false;
请注意纹理的一个象限上的黑色边框
非常感谢您的帮助@manthrax,但我确实需要保持图像的透明度。还有纹理周围的黑色,我还没有在我的图像上看到它,但是一位同行在ThreeJS渲染的结果上看到了它。
renderer.premultipliedAlpha = false;