AssetBundle__Unity 依赖打包

如果只是模型的不同,贴图与材质相同下。
那么打AB包时,先把共用的贴图和材质设置好打包标签,接着设置好模型的打包标签。
Unity在打AB包时,会自动识别不同的模型是否有共用的贴图材质。

打包出来的效果如右图,只有一份贴图材质,避免了重复。左边的情况是因为没有对贴图材质设置打包标签,Unity不会对其识别。

 

 

同理,在游戏中加载AB包时,材质贴图包与模型包要一起加载。只加载模型包会导致贴图丢失,因为模型包里面的材质是依赖于材质包的。材质包没有加载的话模型包自然会丢失贴图,哪怕你工程下有一模一样的材质。 

 

当读取某一个包下的资源时,它可能还含有依赖包,通过ab包下的Manifest文件可以读取出当前所有资源以及这个资源所依赖的所有文件

        AssetBundle manifestAB =  AssetBundle.LoadFromFile("AssetBundles/AssetBundles");
        AssetBundleManifest manifest = manifestAB.LoadAsset<AssetBundleManifest>("AssetBundleManifest");//读取ab包下的Manifest文件

        string[] strs =  manifest.GetAllDependencies("cubewall.unity3d");//读取Manifest文件里面指定的某一个包下的所有的依赖文件

        //当cubewall.unity3d实例化后再实行这个就能完整地把cubewall.unity3d显示出来
        foreach (string name in strs)
        {
            print(name);
            AssetBundle.LoadFromFile("AssetBundles/" + name);//加载cubewall.unity3d这个资源所依赖的所有文件
        }

 

 推荐一个AssetBundles浏览工具,可以很方便的查看所有打包标签中的资源,叫AssetBundles-Browser
地址是
https://github.com/Unity-Technologies/AssetBundles-Browser

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值