但是在网上,看起来像这样:
我使用Unity 6,默认情况下,它使用webgl 2渲染器在
中。配色方案设置为
lineAr。我尝试切换到gamut
Hdr有所帮助,但没有完全。 WebGL的项目设置 - >Quality设置为Ultra。更改纹理压缩算法(ETC2,ASTC,无压缩)或其他设置(例如相机/项目设置/URP)无法解决问题。禁用后处理也无济于事,启用fithering没有任何区别。 Google搜索尚未提供任何新解决方案,我在Unity文档中找不到任何东西。我关于如何解决此问题的想法已经用完了。视觉分析表明,该问题在散落的光线,阴影(尤其是在肺轮廓周围(在Photoshop)中作为落下阴影效应进行的)和梯度过渡最为突出。这些精灵被包装成纹理地图集,并且没有自定义着色器。在不同的浏览器中进行了测试 - 到处都可以观察到问题(Chrome,Edge,Firefox)。 i尝试关闭光线,全球音量,不断变化的材料,压缩算法,项目,相机,URP的设置,在不同的浏览器中进行了测试。 我期望将结果与Windows构建附近。 如果有人遇到类似的问题,我将非常感谢任何帮助或建议。预先感谢! 经过大量测试,我终于设法在Unity 6,URP 2D,WebGL 2构建中识别并解决了透明伪像和颜色差异。在这里分享我的发现,以防有人遇到同样的问题。 issue描述: Unity 6.0.0,URP 2D渲染器。 颜色空间:线性。 PNG纹理具有透明度(例如,软梯度,阴影,散落的光),从Photoshop中导出了SRGB。 使用Sprite-Lit-Default着色器。 在相机上启用了后处理。 WebGL 2构建。 症状:
trans透明/梯度区域中的带和伪影,颜色扭曲的颜色。 WebGL 2和Windows(Direct3D11)之间的颜色差异。 繁殖步骤: 创建一个新的Unity 6 2D URP项目。 以梯度和透明度导入PNG纹理。 使用Sprite-Lit-Default着色器。 在相机上启用后处理。 为WebGL 2构建。 在梯度和透明区域中,文物和颜色问题将可见。 确认的解决方法: 我找到了消除工件的两种可靠方法:相机设置中可进行的后处理。 (仅禁用全局音量组件是不够的。 URP资产设置中的可启用高动态范围(HDR):
到达URP资产→后处理→分级模式→高动态范围。 笔记: 当HDR解决工件时,它略微改变了颜色和亮度,这对于所有项目都不是可取的。
最终注释: 这似乎是一个专门影响WebGL 2的渲染或颜色采样问题,并在URP中使用了线性颜色空间和后处理。 如果有任何其他解决方案不需要启用HDR,我会很感谢您听到有关它们的消息。