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("http://myserver/myBundle.unity3d"); yield return uwr.SendWebRequest();

// Get the designated main asset and instantiate it. Instantiate(DownloadHandlerAssetBundle.GetContent(uwr).mainAsset); } }

变量

isStreamedSceneAssetBundle如果 AssetBundle 为流式传输的场景 AssetBundle,则返回 true。
mainAsset构建资源包(只读)时提供的主资源。

公共函数

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

静态函数

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

继承的成员

变量

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

公共函数

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

静态函数

Destroy删除 GameObject、组件或资源。
DestroyImmediate立即销毁对象 /obj/。强烈建议您改用 Destroy。
DontDestroyOnLoad加载新场景时,不自动销毁对象 /target/。
FindObjectOfType返回第一个类型为 type 的已加载的激活对象。
FindObjectsOfType返回所有类型为 type 的已加载的激活对象的列表。
Instantiate克隆 original 对象并返回克隆对象。

运算符

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