AssetBundle打包函数(续)和资源加载

 时间:2024-10-15 05:34:15

1、在上一篇“AssetBundle打包中实用函数与实用MenuItem”中介绍了打包一个物体的函数Build_AssetBundle_Collection(),这个函数使用的是三个形参的public staticAssetBundleManifestBuildAssetBundles(stringoutputPath,BuildAssetBundleOptionsassetBundleOptions,BuildTargettargetPlatform);下面介绍一下四参使用方法public staticAssetBundleManifestBuildAssetBundles(stringoutputPath, AssetBundleBuild[]builds,BuildAssetBundleOptionsassetBundleOptions,BuildTargettargetPlatform);具体脚本参考下图。

AssetBundle打包函数(续)和资源加载

2、四参的方式与三参打包结果是一样的。但是四参设置了AssetBundle的Variant之后,会报错Variant folder path cannot be empty.指Variant文件夹路径不能为空,报错后,发布结果测试可用。但是这个问题出现的原因尚不知。如果不设置Variant,发布无异常buildMap[0].assetBundleVariant = "unity3d";

AssetBundle打包函数(续)和资源加载

3、将一个文件夹下所有子文件夹内的资源全部打包的函数:Build_AssetBundle_Build_FileAllChild();详细代码请看图片内容。这个打包的是Assets/DLJ_Unity3D文件夹中所有子文件夹内的对象。从图片能够看出输出的AssetBundle资源与打包对象的存储文件夹相同。

AssetBundle打包函数(续)和资源加载

4、对比一下两个文件夹打包出来的资源,是否能看出问题?右咐搭趔涮边的文件夹内完全包含了左边的打包文件。这是为什么呢?应该怎么解决呢,这个结果肯定不是我们想要的。唁昼囫缍这里提供解决办法,各种原由请读者自行体会,在前面的两篇文章中说过很多次了(请参考“Unity3D新版AssetBundle的关键API和注意事项”“AssetBundle打包中实用函数与实用MenuItem”)解决办法:在Build_AssetBundle_Build_FileAllChild()函数的BuildPipeline.BuildAssetBundles语句之上添加ClearAssetBundlesName();这个函数的具体功能与脚本请查阅“AssetBundle打包中实用函数与实用MenuItem”

AssetBundle打包函数(续)和资源加载

5、加载AssetBundle的函数:LoadAssetBundle(string _strPath);具体代码详见下图。新旧版本的加载函数没有发生机制上的变化,但是函数名发生变化:4.X(旧版):Load:从资源包中加载指定的资源LoadAll:加载当前资源包中所有的资源LoadAsync:从资源包中异步加载资源5.X(新版):LoadAsset:从资源包中加载指定的资源LoadAllAsset:加载当前资源包中所有的资源LoadAssetAsync:从资源包中异步加载资源关于url的路径,可以使用在“AssetBundle打包中实用函数与实用MenuItem”介绍的函数转换\和\\

AssetBundle打包函数(续)和资源加载
  • cmder中如何打开指定文件夹
  • 如何下载dom4j的jar包?
  • 如何用PYTHON查询文件大小和文件夹内容
  • 如何在myeclipse中修改设置字体大小和颜色
  • Unity 实用教程之 移动端PC端区分点击在UI非UI
  • 热门搜索
    简单的手抄报花边 关于教师节手抄报 万圣节手抄报英语 关爱教育手抄报 读书手抄报图片大全 迎元旦手抄报 海底手抄报 唐诗宋词手抄报 爱读书手抄报内容 读书的手抄报的内容