版本:Unity 6 (6000.0)
语言中文
  • C#

AssetBundle.LoadFromFileAsync

建议修改

成功!

感谢您帮助我们提高 Unity 文档的质量。尽管我们不能接受所有提交,但我们确实会阅读用户建议的每项修改并会在必要时进行更新。

关闭

提交失败

由于某种原因,您建议的修改无法提交。请在几分钟后<a>重试</a>。感谢您抽出宝贵时间,帮助我们提升 Unity 文档的质量。

关闭

取消

声明

public static AssetBundleCreateRequest LoadFromFileAsync(string path);

声明

public static AssetBundleCreateRequest LoadFromFileAsync(string path, uint crc);

声明

public static AssetBundleCreateRequest LoadFromFileAsync(string path, uint crc, ulong offset);

参数

path 磁盘上文件的路径。
crc 未压缩内容的可选 CRC-32 校验和。如果此值非零,则在加载内容之前会将其与校验和进行比较,如果不匹配就会给出错误。
offset 可选字节偏移量。此值指定从何处开始读取 AssetBundle。

返回

AssetBundleCreateRequest 加载 AssetBundle 的异步加载请求。在加载 AssetBundle 后,使用 assetBundle 属性获取 AssetBundle。

说明

异步从磁盘上的文件加载 AssetBundle。

该函数支持任何压缩类型的包。如果是 LZMA 压缩,则数据将解压缩到内存中。有关详情,请参见 AssetBundle 压缩

这是加载 AssetBundle 的最快速途径。

using UnityEngine;
using System.Collections;
using System.IO;

public class LoadFromFileAsyncExample : MonoBehaviour { IEnumerator Start() { var bundleLoadRequest = AssetBundle.LoadFromFileAsync(Path.Combine(Application.streamingAssetsPath, "myassetBundle")); yield return bundleLoadRequest;

var myLoadedAssetBundle = bundleLoadRequest.assetBundle; if (myLoadedAssetBundle == null) { Debug.Log("Failed to load AssetBundle!"); yield break; }

var assetLoadRequest = myLoadedAssetBundle.LoadAssetAsync<GameObject>("MyObject"); yield return assetLoadRequest;

GameObject prefab = assetLoadRequest.asset as GameObject; Instantiate(prefab);

myLoadedAssetBundle.Unload(false); } }