项目开发日志:Build AssetBundle(一)——带lightingMap的预制体(真机显示问题)
项目信息:
平台-Android
Unity编辑器版本-2018.2.5f1
状况1:真机上光照贴图显示为黑色
解决方法:将GraphicSetting->Shader Stripping下的Lightmap Modes的Automatic改成Custom。
原因:
GraphicSetting下的Shader Stripping其实是unity对场景的一种优化策略。通过剥离一些关于光照或者雾效的shader来缩短LightingMap的加载时间。
当我们将Shader Stripping下的Lightmap Modes设置为Automatic时,Unity会根据你的场景和光照贴图设置(LightMapping Setting)来判断哪些光照贴图和雾效的模式你没有使用,以此来剔除掉相关的一些shader的变体(shader variant).
而在我们制作带光照贴图的预制体这个功能的时候,光照贴图和场景是缺少相关的联系的,所以如果我们选择Automatic时,光照贴图使用的相关效果,不会被unity所得知,所以会剔除掉一些我们需要使用的shader的变体(shader variant).
根据以上,我们想要解决这个问题,我们需要手动选择我们光照贴图所用到的一些效果。就是选择Custom来选择相应的效果。
图: