Unity Addressables 是 Unity 2018.3 版本后提供的新的资源加载方式,可以方便地管理、打包和加载游戏资源。LoadAssetAsync 是 Addressables 中提供的异步加载资源的方法之一。

下面是一些使用 LoadAssetAsync 的示例代码:

  1. 加载单个资源
// 加载一个名为'myPrefab' 的 Prefab
var handle = Addressables.LoadAssetAsync<GameObject>('myPrefab');
yield return handle;

// 获取加载的 Prefab 实例
var prefabInstance = handle.Result;
  1. 加载多个同类型资源
// 加载所有名字以'myTexture_' 开头的纹理
var handle = Addressables.LoadAssetsAsync<Texture2D>('myTexture_', null);
yield return handle;

// 获取所有加载的纹理实例
var textures = handle.Result;
  1. 加载多个不同类型资源
// 加载一个名为'myPrefab' 的 Prefab 和一个名为'myTexture' 的纹理
var handle1 = Addressables.LoadAssetAsync<GameObject>('myPrefab');
var handle2 = Addressables.LoadAssetAsync<Texture2D>('myTexture');
yield return new WaitUntil(() => handle1.IsDone && handle2.IsDone);

// 获取加载的 Prefab 实例和纹理实例
var prefabInstance = handle1.Result;
var texture = handle2.Result;

在以上示例代码中,LoadAssetAsync 和 LoadAssetsAsync 都返回一个 IAsyncOperation 对象,可以通过 Result 属性获取加载的资源实例。当 IsDone 属性为 true 时,表示资源已经加载完毕。

注意:在使用 LoadAssetAsync 和 LoadAssetsAsync 加载资源时,需要保证资源已经被打包并上传到指定的远程服务器或本地服务器。可以使用 Addressables.BuildPlayerContent() 方法进行打包和上传。

Unity Addressables LoadAssetAsync 使用教程 - 异步加载资源

原文地址: https://www.cveoy.top/t/topic/lO6l 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录