Unity3D烘焙光照图在移动平台上颜色失真的分析和应对方案

Table of Contents

请尊重原作者的工作,转载时请务必注明转载自:www.xionggf.com

Unity烘焙的LightMap是32bit的HDR图,而移动设备通常不支持 HDR图(32bit per channel) ,会按照 LDR图(8bit per channel) 的形式进行处理,因此会出现色偏问题。即颜色变淡,在例子中地面为绿色,因此相比于PC平台,切到移动平台如Android或者iOS上之后,黄色变淡,使得地面的绿色更加显眼。对此Unity3D技术支持人员的的建议是:

  • 可尝试自行修改LightMap的DecodeLightmap函数,该函数可在 Unity\Editor\Data\CGIncludes\UnityCG.cginc 文件中找到。需要说明的是,这种方法也不能达到与PC端完全一致的效果。
  • 为了避免类似问题,请不要使用过于强烈的Light进行烘焙,因为Light的强度(Intensity)越高,色偏问题会越严重。
kumakoko avatar
kumakoko
pure coder
comments powered by Disqus