关注

配合Prefab渲染网格的光照贴图

问题

  • 我的渲染(Render)网格(Mesh)对象使用了光照贴图并组合成一个Prefab。
  • I have been using the PrefabLightmapData workaround included on the Forum link.
  • 我使用了博文PrefabLightmapData所推荐的解决办法

原因

  • 默认情况下,用于处理光照映射模式的着色器没有在任何场景中使用,因此也没有被包含在游戏数据中。这可以减少着色器数据的大小。

解决方案

Graphics setting 面板Edit -> Project Settings -> Graphics选项下面存在一个Light modes选项,点开之后会出现下拉框。该下拉框的默认值为Automatic。如果场景中没有使用某个着色器变体便剥离该着色器。您可以通过设置下拉框,将其设置为Manual来重载该剥离机制。您会看到以下选项(如图所示)。如果您不知道要使用哪种光照类型,您大可以将它们全部激活。不过指定贴图类型将有助于着色器变体的优化。

 

更多信息

http://forum.unity3d.com/threads/problems-with-instantiating-baked-prefabs.324514/

http://docs.unity3d.com/Manual/OptimizingShaderLoadTime.html

http://docs.unity3d.com/Manual/class-GraphicsSettings.html

本文适用于Unity 5.3及以上版本。

 

这篇文章有帮助吗?
0 人中有 0 人觉得有帮助
还有其它问题?提交请求

0 评论

登录写评论。