文章目录
原因
经过半天时间排查。。。
发现是美术同学使用了以前我们一个老项目的配置方式来制作的场景
因为这个项目以前很多项目配置是走 脚本来设置的
而刚刚好有一些属性再 unity eidtor 是没有公开的
然后手动的对应的配置修改后即可解决
修复
开始我只能通过对比:FrameDebugger 的参数差异
发现端倪:
发现没有地方可设置的unity_Lightmap_HDR参数
我的工程 shader 参数
美术同学的 shader 参数:
通过 builtin shader 的搜索,我大概是知道处理 color space 和 RGBM 相关编解码相关的,但是还是不知道是在哪里设置的
然后搜索到某乎上的一位大佬的文章:Unity3D ShaderLab 之 DecodeLightmap解读
阅读后,只是对 unity_Lightmap_HDR 的作用进一步肯定,然后还是不能找到 unity editor 中哪里可以设置
发现 隐藏的GraphicsSettings.asset的m_LightsUseLinearIntensity属性
经过千辛万苦,用了排除法 + compare tool(svn differ 或是 beyond comparer)
发现美术同学制作的场景中的项目配置 m_LightsUseLinearIntensity = 1
,启用该值,就让 unity_Lightmap_HDR
启用了
而我们项目使用的是 m_LightsUseLinearIntensity = 0
所以同步该值之后就顺利解决了,我只能说:unity 对开发者一直不太友善,why?
在 Unity Editor 下没有任何地方可以修改,只能通过在 GraphicsSettings.asset 中 手动修改 m_LightsUseLinearIntensity
的值,或是直接通过 GraphicsSettings.lightUseLinearIntensity
来修改
Unity和Substance Painter的Look Dev显示校准