Version: 2021.1

AssetBundle

class in UnityEngine

/

继承自:Object

切换到手册

描述

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

Note that bundles are not compatible between platforms. A bundle built for any of the standalone platforms can only be loaded on that platform but not others. Further example, a bundle built for iOS is not compatible with Android and vice versa. One difference is shaders which are different between devices, as are textures.

另请参阅: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); } }

变量

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

公共函数

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

静态函数

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

继承的成员

变量

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

公共函数

GetInstanceIDGets the instance ID of the object.
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 ==比较两个对象引用,判断它们是否引用同一个对象。