1703474560用户 渲染角色到 RT 上,角色身上挂有特效,然后把 RT 当做图片放到 UI 上显示,但效果和在 3D 场景上的效果不一致。现在我把环境简化(工程见附件),运行游戏能重现出问题(要运行游戏),如下图所示,不知道能不能给出解决方案? 补充- 第一个版本(附件 TestProj.zip),使用 Recovery 兄弟的建议,脚本设置 RT 伽马纠正为 2.2 后,表现正常了- 第二个版本(附件 TestProjV2.zip),使用了正式的贴图,但通过脚本设置 RT 伽马纠正为 2.2,表现同样是有问题的附件:TestProj.zipTestProjV2.zip TestProj.zip0B TestProjV2.zip0B
Recovery 对楼主的demo2进行了修改,rt渲染图像增加了实色背景,ui上增加了不规则图案问题描述:透明渲染材质在RT中输出在UI上出现穿透现象 1.不需要运行游戏,直接在场景预览下操作2.拖动ui背景,可发现ui背景会出现在rt输出的图像中,出现了“穿透”现象3.颜色变化是穿透现象导致的颜色叠加异常 透明渲染材质在RT中输出在UI上出现穿透现象.zip0B
1703474560用户 问题已解决 错误原因:1,渲染场景时用的是线性,得到线性预乘 RT2,渲染 UI 时 RT 时会转伽玛,但线性预乘 RT 直转伽玛不正确 解决方案:修改 UI Shader,把线性预乘 RT 的 alpha 剥离,再转伽玛,再合并 alpha,得到正确的伽马预乘 RT
1703474560用户 Recovery @Recovery:纯黑时,混合时背景颜色是 0 * (1 - srcAlpha),srcAlpha 不正确时不会出问题,所以背景不是纯黑时,srcAlpha 有问题时,就表现不一致了