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

AssetBundle.LoadFromMemory

提出更改建议

成功!

感谢您帮助我们提高 Unity 文档的质量。 尽管我们无法接受所有提交,但我们确实会阅读我们用户提出的每项更改建议,并在适用情况下进行更新。

关闭

提交失败

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

关闭

取消

说明

public static AssetBundle LoadFromMemory(byte[] binary);

说明

public static AssetBundle LoadFromMemory(byte[] binary, uint crc);

参数

binary 包含 AssetBundle 数据的字节数组。
crc 未压缩内容的可选 CRC-32 校验和。如果此项非零,则在加载内容之前,系统会将其与校验和进行比较,并且如果不匹配,则会发出错误。

返回值

AssetBundle 加载的 AssetBundle 对象,如果加载失败则为 null。

说明

从内存区域同步加载一个 AssetBundle。

使用此方法可从字节数组加载 AssetBundle。在使用加密下载数据并需要从已加密字节加载 AssetBundle 时,此方法非常有用。

LoadFromMemoryAsync 相比,此版本是同步的,并且在完成创建 AssetBundle 对象之前不会返回。

using UnityEngine;
using UnityEngine.Networking;
using System.Collections;

public class ExampleClass : MonoBehaviour { byte[] MyDecrypt(byte[] binary) { // ...Perform some decryption process here to transform the input... return binary; }

IEnumerator Start() { var uwr = UnityWebRequest.Get("https://myserver/myBundle.unity3d"); yield return uwr.SendWebRequest(); byte[] decryptedBytes = MyDecrypt(uwr.downloadHandler.data); AssetBundle.LoadFromMemory(decryptedBytes); } }