ABSystem icon indicating copy to clipboard operation
ABSystem copied to clipboard

某些情况场景里的某些共用资源被重复打到场景里

Open clime57 opened this issue 6 years ago • 2 comments

设立了两个场景是一样的,将它们打包后有些相同资源(如贴图)被打包到了场景里。使用TestScene脚本测试的。

代码如:

    AssetBundle ab = AssetBundle.LoadFromFile("Assets/StreamingAssets/AssetBundles/1f0a5d8e2e6bcab0b3618d54406da0db43f0a7e8.ab");
    UnityEngine.SceneManagement.SceneManager.LoadScene("1");

使用的unity2017.1p3.附件用zip格式上传始终不成功,下载下来后把png改zip

absystem-master zip

clime57 avatar Mar 20 '18 07:03 clime57

复制两个同样的.unity文件 为什么生成文件有问题

ideaspad avatar Apr 02 '18 13:04 ideaspad

经过5.6.1和2017.1的测试,发现问题的规律:unity3d的多个场景共用的预制件上直接依赖的所有的资源如果没有独立打包,将会被打到各自场景里。

比如SceneA和SceneB共用预制件PrefabA,PrefabA依赖MatA,FbxA. 如果按照之前的规则 打包,总共会生成三个AB,SceneA、SceneB和PrefabA。生成的场景包里皆会含有PrefabA,MatA(包含shader和图片),FbxA,PrefabA的AB里也会包含MatA(包含shader和图片),FbxA.

如果将MatA和FbxA单独打包,最终生成的AB包加上之前的3个共5个的情况下,则场景里不会包含MatA和FbxA的资源,PrefabA也不会包含MatA和FbxA的资源。

clime57 avatar Apr 18 '18 02:04 clime57