[LayaAir3]把 RT 当做 UI 渲染,效果异常
渲染角色到 RT 上,角色身上挂有特效,然后把 RT 当做图片放到 UI 上显示,但效果和在 3D 场景上的效果不一致。
现在我把环境简化(工程见附件),运行游戏能重现出问题(要运行游戏),如下图所示,不知道能不能给出解决方案?
补充
- 第一个版本(附件 TestProj.zip),使用 Recovery 兄弟的建议,脚本设置 RT 伽马纠正为 2.2 后,表现正常了
- 第二个版本(附件 TestProjV2.zip),使用了正式的贴图,但通过脚本设置 RT 伽马纠正为 2.2,表现同样是有问题的
现在我把环境简化(工程见附件),运行游戏能重现出问题(要运行游戏),如下图所示,不知道能不能给出解决方案?
补充
- 第一个版本(附件 TestProj.zip),使用 Recovery 兄弟的建议,脚本设置 RT 伽马纠正为 2.2 后,表现正常了
- 第二个版本(附件 TestProjV2.zip),使用了正式的贴图,但通过脚本设置 RT 伽马纠正为 2.2,表现同样是有问题的
没有找到相关结果
已邀请:
要回复问题请先登录
5 个回复
shiyang
赞同来自:
1703474560用户
赞同来自:
Recovery
赞同来自:
这样主动修复下颜色空间计算异常试试
Recovery
赞同来自:
问题描述:透明渲染材质在RT中输出在UI上出现穿透现象
1.不需要运行游戏,直接在场景预览下操作
2.拖动ui背景,可发现ui背景会出现在rt输出的图像中,出现了“穿透”现象
3.颜色变化是穿透现象导致的颜色叠加异常
1703474560用户
赞同来自:
错误原因:
1,渲染场景时用的是线性,得到线性预乘 RT
2,渲染 UI 时 RT 时会转伽玛,但线性预乘 RT 直转伽玛不正确
解决方案:
修改 UI Shader,把线性预乘 RT 的 alpha 剥离,再转伽玛,再合并 alpha,得到正确的伽马预乘 RT