AssetBundle

class in UnityEngine

/

Inherits from:Object

Switch to Manual

Description

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 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); } }

Variables

isStreamedSceneAssetBundleReturn true if the AssetBundle is a streamed Scene AssetBundle.

Public Functions

Contains检查 AssetBundle 是否包含特定对象。
GetAllAssetNames返回 AssetBundle 中的所有资源名称。
GetAllScenePathsReturn all the Scene asset paths (paths to *.unity assets) in the AssetBundle.
LoadAllAssets加载资源捆绑包中继承自 type 的所有资源。
LoadAllAssetsAsync异步加载资源捆绑包中的所有资源。
LoadAsset从捆绑包中加载名为 name 的资源。
LoadAssetAsync从捆绑包中异步加载名为 name 的资源。
LoadAssetWithSubAssets从捆绑包中加载名为 name 的资源和子资源。
LoadAssetWithSubAssetsAsync从捆绑包中异步加载资源,该资源具有名为 name 的子资源。
Unload卸载捆绑包中的所有资源。

Static Functions

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

Inherited members

Variables

hideFlagsShould the object be hidden, saved with the Scene or modifiable by the user?
name对象的名称。

Public Functions

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

Static Functions

Destroy删除 GameObject、组件或资源。
DestroyImmediate立即销毁对象 /obj/。强烈建议您改用 Destroy。
DontDestroyOnLoadDo not destroy the target Object when loading a new Scene.
FindObjectOfType返回第一个类型为 type 的已加载的激活对象。
FindObjectsOfType返回所有类型为 type 的已加载的激活对象的列表。
Instantiate克隆 original 对象并返回克隆对象。

Operators

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