当前位置: 首页 > java >正文

【UnityAssetBundle】异步加载

加载cube包里的cube物体

StartCoroutine(LoadABAsync("cube", "cube"));

加载image包里的a图片

StartCoroutine(LoadABAsync2("image", "a"));

/// <summary>

/// 异步加载AB包里的物体

/// </summary>

/// <param name="ABPackageName">包名</param>

/// <param name="GameObjectName">包物体名</param>

/// <param name="type">目标资源类型</param>

/// <returns></returns>

private IEnumerator LoadABAsync(string ABPackageName, string GameObjectName)

{

AssetBundleCreateRequest ab = AssetBundle.LoadFromFileAsync(Application.streamingAssetsPath + "/" + ABPackageName);

yield return ab;

//使用泛型方式进行加载

AssetBundleRequest abr = ab.assetBundle.LoadAssetAsync<GameObject>(GameObjectName);

//使用type方式进行加载

//AssetBundleRequest abr = ab.assetBundle.LoadAssetAsync(GameObjectName, //typeof(GameObject));

//使用名称方式进行加载

//AssetBundleRequest abr = ab.assetBundle.LoadAssetAsync(GameObjectName);

yield return abr;

//实例化资源场景

GameObject gb = abr.asset as GameObject;

GameObject gbInScene = Instantiate(gb);

}

/// <summary>

/// 异步加载AB包里的图片

/// </summary>

/// <param name="ABPackageName">包名</param>

/// <param name="ImageName">包物体名</param>

/// <param name="type"></param>

/// <returns></returns>

private IEnumerator LoadABAsync2(string ABPackageName, string ImageName)

{

AssetBundleCreateRequest assetBundle = AssetBundle.LoadFromFileAsync(Application.streamingAssetsPath + "/" + ABPackageName);

yield return assetBundle;

//使用泛型方式进行加载

AssetBundleRequest abr = assetBundle.assetBundle.LoadAssetAsync<Sprite>(ImageName);

//使用type的方式进行加载

//AssetBundleRequest abr = //assetBundle.assetBundle.LoadAssetAsync(ImageName, typeof(GameObject));

//使用名称方式进行加载

//AssetBundleRequest abr = //assetBundle.assetBundle.LoadAssetAsync(ImageName);

yield return abr;

Sprite sp = abr.asset as Sprite;

yield return sp;

image.sprite = sp;

}

http://www.xdnf.cn/news/14833.html

相关文章:

  • 【ESP32-IDF笔记】09-UART配置和使用
  • 基于大模型的领域知识图谱构建--python语言实现
  • Qt处理USB摄像头开发说明与QtMultimedia与V4L2融合应用
  • 二叉树题解——二叉搜索树中第 K 小的元素【LeetCode】使用外部变量ans记录答案
  • MyChrome.exe与Selenium联动避坑指南:User Data目录冲突解决方案
  • 60天python训练营打卡day52
  • Python gmssl.SM4使用案例
  • 动手学深度学习-学习笔记(总)
  • IDEA中application.yml配置文件不自动提示解决办法
  • 运算方法和运算器补充
  • 【AI大模型面试八股文】大模型训练中如何应对灾难性遗忘问题?
  • Swagger 安装使用教程
  • RabbitMQ 4.1.1初体验
  • 一个简单的分布式追踪系统
  • 区块链技术在物联网(IoT)中的核心应用场景
  • 利用TCP协议,创建一个多人聊天室
  • 图灵完备之路(数电学习三分钟)----数据选择器与总线
  • 本地区块链服务在物联网中的应用实例
  • python打卡day58@浙大疏锦行
  • 暴雨服务器成功中标华中科技大学集成电路学院服务器采购项目
  • JAVA-springboot 整合Redis
  • Go中使用国家新闻出版署实名认证
  • 【ACP】阿里云云计算高级运维工程师--ACP
  • 硬件嵌入式学习路线大总结(一):C语言与linux。内功心法——从入门到精通,彻底打通你的任督二脉!
  • Docker Desktop 安装到D盘(包括镜像下载等)+ 汉化
  • 7.4_面试_JAVA_
  • css-多条记录,自动换行与自动并行布局及gap兼容
  • linux_git的使用
  • 如何调节笔记本电脑亮度?其实有很多种方式可以调整亮度
  • 深入剖析MYSQL MVCC多版本并发控制+ReadView视图快照规避幻读问题