Version: 2020.3

AssetBundle

class in UnityEngine

/

继承自:Object

切换到手册

描述

AssetBundle 允许您通过 UnityWebRequest 类流式传输其他资源,并在运行时实例化这些资源。AssetBundle 通过 BuildPipeline.BuildAssetBundle 创建。

注意,不同平台的捆绑包互不兼容。为任何独立 平台构建的捆绑包只能在该平台上加载。 例如,为 iOS 构建的捆绑包不兼容 Android,反之亦然。其区别之一在于, 捆绑包在不同的设备上使用不同的着色器及纹理。

另请参阅:UnityWebRequestAssetBundle.GetAssetBundle在运行时加载资源BuildPipeline.BuildAssetBundle

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

public class SampleBehaviour : MonoBehaviour { IEnumerator Start() { var uwr = UnityWebRequestAssetBundle.GetAssetBundle("https://myserver/myBundle.unity3d"); yield return uwr.SendWebRequest();

// Get an asset from the bundle and instantiate it. AssetBundle bundle = DownloadHandlerAssetBundle.GetContent(uwr); var loadAsset = bundle.LoadAssetAsync<GameObject>("Assets/Players/MainPlayer.prefab"); yield return loadAsset;

Instantiate(loadAsset.asset); } }

静态变量

memoryBudgetKBControls the size of the shared AssetBundle loading cache. Default value is 1MB.

变量

isStreamedSceneAssetBundle如果 AssetBundle 为流式传输的场景 AssetBundle,则返回 true。

公共函数

Contains检查 AssetBundle 是否包含特定对象。
GetAllAssetNames返回 AssetBundle 中的所有资源名称。
GetAllScenePaths返回 AssetBundle 中的所有场景资源路径(*.unity 资源的路径)。
LoadAllAssets加载资源捆绑包中继承自 type 的所有资源。
LoadAllAssetsAsync异步加载资源捆绑包中的所有资源。
LoadAsset从捆绑包中加载名为 name 的资源。
LoadAssetAsync从捆绑包中异步加载名为 name 的资源。
LoadAssetWithSubAssets从捆绑包中加载名为 name 的资源和子资源。
LoadAssetWithSubAssetsAsync从捆绑包中异步加载资源,该资源具有名为 name 的子资源。
Unload卸载 AssetBundle 释放其数据。

静态函数

GetAllLoadedAssetBundles当您需要获取当前已加载的所有资源捆绑包的列表时,可以使用该函数。
LoadFromFile从磁盘上的文件同步加载 AssetBundle。
LoadFromFileAsync从磁盘上的文件异步加载 AssetBundle。
LoadFromMemory从内存区域同步创建 AssetBundle。
LoadFromMemoryAsync从内存区域异步创建 AssetBundle。
LoadFromStream从托管 Stream 同步加载 AssetBundle。
LoadFromStreamAsync从托管 Stream 异步加载 AssetBundle。
RecompressAssetBundleAsync异步将下载/存储的 AssetBundle 从一个 BuildCompression 再压缩为另一个。
UnloadAllAssetBundles卸载当前已加载的所有 AssetBundle。

继承的成员

变量

hideFlags该对象应该隐藏、随场景一起保存还是由用户修改?
name对象的名称。

公共函数

GetInstanceID返回对象的实例 ID。
ToString返回对象的名称。

静态函数

Destroy移除 GameObject、组件或资源。
DestroyImmediate立即销毁对象 /obj/。强烈建议您改用 Destroy。
DontDestroyOnLoad在加载新的 Scene 时,请勿销毁 Object。
FindObjectOfType返回第一个类型为 type 的已加载的激活对象。
FindObjectsOfTypeGets a list of all loaded objects of Type type.
Instantiate克隆 original 对象并返回克隆对象。

运算符

bool该对象是否存在?
operator !=比较两个对象是否引用不同的对象。
operator ==比较两个对象引用,判断它们是否引用同一个对象。