关注

AssetBundle中着色器重复

问题

  • 我分析游戏的时候,发现同一个着色器的实例会被加载多次。 

原因

如果有两个使用了相同着色器或者材质的Assetbundle,但Shader没被标记在任何一个Assetbundle中,Unity将会在每个Assetbundle中打包着色器。如果在本地场景中使用一个着色器/材质,并将着色器/材质打包到Assetbundle中,也可能发生这种情况

解决方案

选择哪些资源会被打包到Assetbundle,哪些资源会被打包到可执行文件中。您可以将材质或着色器打包到一个公共的Assetbundle中(例如art.unity3d)中,然后首先加载该Assetbundle。

更多信息

https://docs.unity3d.com/Manual/AssetBundlesIntro.html

https://docs.unity3d.com/Manual/Shaders.html

https://docs.unity3d.com/Manual/BuildingAssetBundles.html

https://unity3d.com/learn/tutorials/topics/best-practices/assetbundle-usage-patterns

https://support.unity3d.com/hc/en-us/articles/208380753-Shaders-are-pink-when-loaded-from-an-AssetBundle

 

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

0 评论

登录写评论。