2.使用异步加载方法 LoadFromFileAsync(),使用协程辅助异步加载。 代码语言:javascript 代码运行次数:0 运行 AI代码解释 using System.Collections;using System.Collections.Generic;using UnityEngine;using UnityEngine.UI;publicclassABLoadDemo:
拷贝之前,调用了sdk的获取硬盘容量,判断是否有足够空间 如果需要解压缩的话,调用C的lzma解压缩,这边特意自己编译了lzma的dll,讲解压缩放在c处理,不然会解压缩在C#做的话,会撑大mono堆内存然后如果是异步就调用m_abRequest = AssetBundle.LoadFromFileAsync(apkPath); 同步就调用ab = AssetBundle.LoadFromFile(apkPath)...
AssetBundle.LoadFromFile (string path, uint crc, ulong offset); 同步方法 AssetBundle.LoadFromFileAsync (string path, uint crc, ulong offset); 异步方法 最快的ab包加载方式,内存占用低,不可自定义硬盘数据格式 优点:加载效率高,内存占用低,加载时只加载文件头,只有在真正加载对应资源的时候才会加载进内存 缺点...
1. 为游戏部署资源包时使用StreamingAssets:使用BuildAssetBundleOptions);使用基于块的压缩方式来构建包和资源包;使用LoadFromFileAsync来加载它。这使您的内存数据压缩和加载速度几乎等于读取缓存。 2. 下载用作DLC的资源包:使用默认的编译选项(LZMA压缩)和LoadFromCacheOrDownload / WebRequest来下载和缓存它。这样你可以...
var bundleLoadRequest = AssetBundle.LoadFromFileAsync(curFilePath); yield return bundleLoadRequest; var myLoadedAssetBundle = bundleLoadRequest.assetBundle; if (myLoadedAssetBundle == null) { Debug.Log("Failed to load AssetBundle!"); yield break; ...
在加载场景之前,我们需要先确保其依赖资源已经准备好。由于场景依赖着色器(shader),因此我们在这里直接跳过收集依赖关系的步骤,专注于加载shader资源。为了实现这一功能,我们采用了Unity中的AssetBundle.LoadFromFileAsync API来进行异步加载。紧接着,我们着手加载场景资源。(3)工程构建与资源加载 在完成场景资源的加载...
//第三种加载AB的方式,LoadFromFile【从文件进行加载】 AssetBundle ab = AssetBundle.LoadFromFile("AssetBundles/scene/wall.ab"); GameObject wallPrefab = ab.LoadAsset<GameObject>("Wall"); Instantiate(wallPrefab); //第四种加载AB的方式,LoadFromFileAsync【从文件进行异步加载】 ...
在上面加载资产包的例子中,用到了AssetBundle.LoadFromFile()方法,它是一种常用的从本地文件加载资产包的方法。如果加载的文件较大,该方法会造成主线程卡顿,因此Unity提供了另一种利用协程的加载方法AssetBundle.LoadFromFileAsync(),用法如下 IEnumerator LoadFileAsync(){AssetBundleCreateRequest request = AssetBundle.Load...
无论使用何种方式压缩AssetBundle,均使用AssetBundle.LoadFromFile和AssetBundle.LoadFromFileAsync接口加载AssetBundle。避免使用www加载。 避免使用LZMA压缩,有较长的解压时间和两倍实际资源的内存占用,尽量使用LZ4压缩(需要升级5.3或更高)。 如果使用LZ4或不压缩包体过大,可以自己再对AssetBundle进行压缩,首次进入游戏时解压。
public staticAssetBundleCreateRequestLoadFromFileAsync(stringpath, uintcrc, ulongoffset); 参数 path文件在磁盘上的路径。 crc未压缩内容的 CRC-32 校验和(可选)。如果该参数不为零,则加载前将内容与校验和进行比较,如果不匹配则给出错误。 offset字节偏移(可选)。该值指定读取 AssetBundle 的起始位置。