通过label和address name加载
using System;
using System.Collections;
using System.Collections.Generic;
using System.Threading.Tasks;
using UnityEngine;
using UnityEngine.AddressableAssets;
public class CreateAsset : MonoBehaviour
{
[SerializeField] private string _label=null;
[SerializeField] private string _assetName=null;//Address name
private List<GameObject> Assets { get; } = new List<GameObject>();
private void Start()
{
StartCoroutine(waitUntil());
}
IEnumerator waitUntil()
{
yield return CreateAndWaitUntilCompleted();
}
private async Task CreateAndWaitUntilCompleted()
{
await CreateAddressableLoader.InitAsset(_label, Assets);
await CreateAddressableLoader.InitAsset(_assetName, Assets);
for (int i = 0; i < Assets.Count; i++)
{
Debug.Log(Assets[i].name);
}
await Task.Delay(TimeSpan.FromSeconds(5));
Clea

本文介绍了一个使用Unity和Addressable Assets System进行资源动态加载的方法。通过创建一个名为CreateAsset的MonoBehaviour类,实现了根据标签和资源名称加载游戏对象,并在加载完成后释放不再需要的对象。文章详细展示了如何使用协程和异步任务来优化加载流程。
最低0.47元/天 解锁文章
3012

被折叠的 条评论
为什么被折叠?



