还是照常先搜索一下,收集相关的资料。
怀疑是Unity引擎官方bug(这不是Unity擅长的么。。。),先是搜索到一个issuetracker上的bug 汇报 AKED LIGHTMAP IS DARKER ON ANDROID PLATFORM COMPARED TO PC PLATFORM,说是Unity 5.5.5版本fix,没提到线性空间的设置,我们7月份要测试也等不到5.5.5版本了,所以暂时先记录下,继续。
UWA的问题有一个帖子问过相关问题,有一个答案:Lightmap在PC上显示正常,但是转到Android平台上存在色差,颜色普遍偏暗。这里引用一下回答的内容:
一般来讲,有两种情况可能会导致色偏和亮度差异。
1.Unity烘焙的Lightmap是32bit的HDR图,而移动设备通常不支持HDR图(32bit per channel),会按照LDR图(8bit per channel)的形式进行处理,因此会出现色偏问题。因此我们建议:
在移动平台下使用Mobile/Diffuse材质,可载入Standard Assets(Mobile) package获得。如果要获得更合适的效果,需要自行修改Lightmap的DecodeLightmap函数,该函数可在Unity\Editor\Data\CGIncludes\UnityCG.cginc文件中找到。需要说明的是,这种方法也不能达到与PC端完全一致的效果。
如果需要PC和移动平台的显示效果一致,可以用图像编辑软体修改Lightmap為LDR格式,例如PNG(8bit per channel)。
为了避免类似问题,请不要使用过于强烈的Light进行烘焙,因為Light的强度(Intensity)越高,色偏问题会越严重。若有阴影丢失时,可以尝试检查一下模型的Lightmapindex、Lightmapscaleoffset、UV2等影响Lightmap采样的一些参数。
2.另一种可能是存在过曝现象,可以尝试将playersettings -> use direct3d 11关闭,看问题是否解决。