Unity线性工作流下UI保持Gamma的解决方案收集

本文地址:https://blog.csdn.net/t163361/article/details/125746935

传统的UI都是基于Gamma空间来制作的。当Unity中切换为线性工作流后,导致UI也是用的线性叠加。这样在有半透叠加的情况下,渲染出来的UI效果和PS中看到的不一样。当然这种问题可以要求美术修改PS中的半透叠加方式,就可以保持PS中和Unity中的效果一致。但这样美术需要改变自己熟悉的制作感觉。还有另一种方式就是场景渲染走线性,UI走Gamma方式。下面收集的是基于URP工作流,实现的UI保持Gamma空间渲染。

URP

GammaUIAndSplitResolution

本库主要解决了在 线性工作流下,如何保持UI 相机还能够保持在 Gamma (伽玛) 颜色空间下工作
UI 相机的渲染不应该受到 任何 postprocess 和 finalProcess( 例如 fxaa 和 fsr) 的影响
充分利用URP内置RenderTargetSwapBuff ,保持了原本代码一致性

UI_RenderPipelineInLinearSpace

这个项目是一套基于 Unity URP 的 UI 渲染管线和 Shader 框架, 为了修复线性色彩空间中的的 UI 切图的透明度错误, 能够让 UI 设计师在 Unity 中保持原有的 sRBG 工作流。

CustomURP

这是一个定制的URP的Demo。实际用到游戏中还需要根据各自游戏进行修改。

本方案主要实现以下内容:

1,场景相机走Linear渲染; UI相机走Gamma渲染

2,场景相机和ui相机分辨率分离

3,修正FXAA在最后pass渲染,导致UI模糊问题

你可能感兴趣的:(Unity,资料收集,ui,unity,线性,Gamma,伽马)