注:网上很多linear的颜色原理,这里就不过多赘述;
这里讲的是线性空间下美术与前端如何同步UI表现一致的情况,首先问题应该分为两个:
1、线性颜色RGB;
2、透明度alpha混合;
以上问题一定要分开思考,不能一概而论,以下是分别对其的解决方案探讨;
针对线性颜色RGB问题解决方案有以下三种:
1、美术ps出图按默认出,此时的图片资源是gamma的,默认是勾选了sRGB选项,导入unity时候也要勾选sRGB,这样硬件会自动将图片资源色值进行gamma转linear,性能比shader要好
2、在方案一的美术导出gamma图基础上,程序对其资源进行线性较正得到linear的UI资源,这样导入unity的时候,就不要勾选sRGB,因为色值已经是linear空间了;以下是核心代码
3、方案三是美术ps设置导出linear资源图,导入unity不勾选sRGB
1)制作gamma为1的ICC颜色配置
2)将打开的文件转换为线性空间
针对Alpha混合(透明渐变)问题的解决方案:
Ps的颜色设置将【用灰度系数混合RGB颜色】的勾选去掉后进行开发;
附:根据linear的颜色原理,可以美术出图资源要按32位通道解决,但32位通道ps下少了很多效果;
以上参考了两位女神的分享: