Unity3d基础:加载AssetBundle资源

【Unity3d】热更新Assetbundle资源以及需要注意的地方 热更新技术,是当前网络游戏的一项必要功能, 在此只讨论Assetbundle资源的更新, 不讨论代码的更新。 一、进行资源梳理切分,哪些资源是独立性较好的,依赖链清晰的,可以归纳到一个包的,把资源依赖的层级关键画好。 二、将资源分为两大类,一类为内置Resources资源,一类为Assetbundle资源     内置Resources资源或者叫AssetsLibrary,由Unity自行管 阅读详情

//通过AssetBundle资源名字加载并创建物体   

  1. public GameObject CreateAndLoadAssetBundle(string bundleName,string objName=null)
  2.     {
  3.         //路径
  4.         string url = Application.dataPath + "/" +  "StreamingAssets/"  + bundleName.ToLower() + ".assetbundle";
  5.         byte[] stream = File.ReadAllBytes(url);
  6. ---------------------------------------------------------------------------------------------------------------------------
  7.         //从内存 异步加载
  8.          AssetBundleCreateRequest request = AssetBundle.LoadFromMemoryAsync(stream);
  9.         AssetBundle bundle =request.assetBundle;
  10. ---------------------------------------------------------------------------------------------------------------------------       
  11.         //同步加载资源,从内存加载
  12.         AssetBundle bundle = AssetBundle.LoadFromMemory(stream);
  13. --------------------------------------------------------------------------------------------------------------------------
  14.         //异步从本地加载
  15.          AssetBundleCreateRequest request = AssetBundle.LoadFromFileAsync(url);
  16.         AssetBundle bundle =request.assetBundle;
  17. --------------------------------------------------------------------------------------------------------------------------
  18.        //从本地加载
  19.          AssetBundle bundle = AssetBundle.LoadFromFile(url);
  20. ---------------------------------------------------------------------------------------------------------------------------
  21.         //使用WWW类加载
  22.          WWW www = WWW.LoadFromCacheOrDownload(url,1);
  23.          AssetBundle bundle =www.assetBundle;
  24. ---------------------------------------------------------------------------------------------------------------------------
  25.         //UnityWebRequest下载可代替www
  26.         UnityWebRequest request = UnityWebRequest.GetAssetBundle(url);
  27.          AssetBundle bundle = (request.downloadHandler as DownloadHandlerAssetBundle).assetBundle;
  28. ---------------------------------------------------------------------------------------------------------------------------
  29.         GameObject prefab = null;
  30.         if (bundle==null)
  31.         {
  32.             return null;
  33.         }
  34.         //按照名字加载
  35.         if (objName!=null)
  36.         {
  37.             prefab = bundle.LoadAsset(objName,typeof(GameObject))as GameObject;
  38.         }//默认
  39.         else
  40.         {
  41.             prefab = bundle.mainAsset as GameObject;
  42.         }
  43.         //创建物体
  44.         GameObject go = GameObject.Instantiate(prefab)as GameObject;
  45.         go.name = bundleName;
  46.         //释放AssetBundel资源
  47.         bundle.Unload(false);
  48.         return go;      
  49.     }
AssetBundle资源加载 一、第一种加载方式本地相对路径资源加载 AssetBundle ab = AssetBundle.LoadFromFile("AssetBundle/sphere.unity3d"); // 本地加载相对路径加载 加载ab包 GameObject cube = ab.LoadAsset<GameObject>("Sphere"); // 获取AB包 Instantiate(cube);... 阅读详情

相关推荐

Unity3d 资源加载与内存管理

 原文链接(一):http://game.ceeger.com/forum/read.php?tid=4394 原文链接(二):http://game.ceeger.com/forum/read.php?tid=4466   unity3d 里有两种动态加载机制:一个是Resources.Load,另外一个通过AssetBundle,其实两者区别不大。 Resources.Load

zhliu1991的专栏 7507

Unity3D教程:制作与载入AssetBundle

通常我们在游戏程式执行过程,并不希望一次将全部的资源都载入,而比较希望实际上有使用到的才载入,以免占用多余的记忆体,所以我们可能会尽量规划好不同功能的场景,在需要时才载入场景并释放掉前个场景中不需要的资源,或是将资源放在 Resource 资料夹中,在真正需要时才利用 Resources.Load() 把资源载入;这些都是不错的管理方法,但是当我们游戏中的资源相当多时,输出的程式还是会相当庞大,而

sueloveken的专栏 790

Unity3D之后版本中AssetBundle资源的打包与解析加载

通过使用BuildPipeline类进行资源的打包,以及使用WWW类和AssetBundle类进行资源的加载,我们可以实现在游戏运行时动态加载和使用AssetBundle资源。首先,我们构建了AssetBundle文件的路径。AssetBundle是Unity3D中一种常用的资源打包和加载方式,它可以将游戏中的资源(如模型、纹理、声音等)打包成一个独立的文件,然后通过解析加载该文件来获取资源。通过上述的代码示例,我们可以实现对AssetBundle资源的解析加载,从而实现动态加载游戏中的资源。

DllCoding的博客 445

Unity3d之AssetBundle打包与读取

一、创建Assetbundle 在unity3d开发的游戏中,无论模型,音频,还是图片等,我们都做成Prefab,然后打包成Assetbundle,方便我们后面的使用,来达到资源的更新。        一个Assetbundle可以打包一个模型(这里的模型不单单指的是预制模型,可以是Project视图下的任何东西),也可以是多个模型,但两种打包方式占用的空间不一样。       比如我打包三

编程小生的专栏 5万+

Unity AssetBundle 资源同步/异步加载管理器

基于Unity封装的AB包资源管理器,实现同步加载/异步加载AB包以及依赖包,详细可以到我的博客查看文章,里面也有完整代码。

微信小程序一键登录和临时code用JWT进行微信用户授权

2、跨域进行调用接口时候,唯一标识UnionID和会话密钥 session_key如果还是用的我自己的,会出现无法调用微信服务器接口,就需要将唯一标识和会话密钥换成前端的,才可以,我自己认为这样很不合理,暂时还没有找到原因。2、能够获取到openId,但是也只能获取到openid,无法获取用户的相关信息,经过查阅官网发现,现在微信那边已经将用户信息加密,需要调用提供的接口进行解密然后获取用户数据,问题原因已经找到解决方法,还未即使更改。1、我这是一台电脑实现的前端调用后端接口,不用考虑跨域的问题。

qq_67653492的博客 5712

【Unity】AssetBundle资源异步加载以及AB包卸载

AssetBundle异步加载,封装AB包加载器(完结)。

weixin_43453797的博客 3909

深入解析fio Benchmark测试:从源码到实践

本文深入解析fio Benchmark测试工具,从入门指南到源码架构分析,详细介绍了其核心模块、关键数据结构和I/O处理机制。通过实战案例展示如何优化存储性能测试,包括内存对齐、多线程调优等技巧,帮助开发者充分利用fio进行精准的存储性能评估。

weixin_42563415的博客 207

Unity开发——编辑器打包、3种方式加载AssetBundle资源

一、创建ab资源 Unity资源设置ab格式,编辑器工具栏打包,C#生成ab包的脚本 二、3种ab包加载方式 直接本地加载LoadFromFile。本地异步加载LoadFromFileAsync。 服务器异步加载UnityWebRequest。 三、补充说明及相关报错解决 UnityWebRequest获取不同资源数据使用方法会不同; 重新再次加载ab包,出现报错及其解决方法; 大部分是忘记卸载加载过的ab包,然后又再次加载。

青岚岁叶的博客 5617

【CTF-misc】java盲水印BlindWatermark工具使用

​ 盲水印是一种肉眼不可见的水印方式,对图片资源使用图片盲水印或者文字水印,借此避免数字媒体未经授权的复制和拷贝,可通过对原图进行解码操作,得到水印图来证明版权归属。 题目来源:NewStarCTF 2023 公开赛道 WEEK2|MISC:Jvav

qq_39972370的博客 6446

盘点军工行业软件研发的那些常用GJB标准

GJB5000、2786、438、141、102、8114等...

文章主要涉及嵌入式软件开发、测试、项目管理等,欢迎交流,共同进步。 9443

Unity3D AssetBundle打包与加载

Unity3D 简单的AssetBundle打包与加载 转载:Unity AssetBundle 从入门到掌握(适合初学者) 简单AssetBundle打包与加载问题总结

WenHui君_的博客 2813

EtherCAT从站EEPROM组成信息详解(2):字8-15产品标识区

以实际的从站EEPROM数据为例,参照EtherCAT的SII规范,详细分析了从站EEPROM字8-字15的产品标识区内容组成。

kevin1499的博客 718

Unity面试】 2022年Unity面试题分享

皮肤蒙皮附着在骨骼上,决定了角色的外观,每一个顶点数据都会随着多个骨骼影响而改变,从而实现动画效果。1.鼠标滚轮实现缩放:将摄像机的镜头拉近或者拉远,调整摄像机的视角就可以实现2.鼠标实现在场景中拖动物体:解决思路就是将世界坐标转换成屏幕坐标,然后计算物体与鼠标之间移动量,循环鼠标被按下操作,得到鼠标的当前位置,加上计算好的移动量,将新的坐标赋值给物理就行了。3.解决碰撞冲突算法(拉链法):分段会导致key对应的桶会相同,拉链法的思想就像对冲突的元素,建立一个单链表,头指针存储到对应的哈希桶位置。

oSKyTonight的专栏 1134

上机任务一:空气质量指数 (air quality index,AQI是定量描述空气质量状况的指数。为了更好地了解和人们身体健康息息相关的天气状况,本书模拟生成500条某地区天气数据,一行样本对应一天

调整后的R平方为0.4308,考虑了模型中的自由度,它略低于多重R平方,说明模型的解释能力可能有限。总的来说,新的模型相对于之前的模型在AIC值上更优,包含了最高温度(X2)和最低温度(X3)这两个重要的预测因子,并且对AQI的解释能力较好。在表中,Df表示自由度,Sum Sq表示总平方和,Mean Sq表示均方(总平方和除以自由度),F value表示F统计量,Pr(>F)表示对应的p值。在分析这些结果时,需要关注系数的显著性(p值),系数的方向(正向或负向影响),以及系数的大小(估计值)。

Mrrunsen的博客 723

SpringBoot 插件化开发详细总结

SpringBoot 插件化开发方案总结

congge 1万+

【Unity3D】基于AssetBundle实现资源热更新

Unity3D 本地资源一般放在 Resources 目录下,但是 Resouces 文件夹的大小不能超过 2G,使用 AssetBundle 管理资源可以解决 Resources 文件夹受限问题。AssetBundle 主要用于管理资源,配合 AssetDatabase 和 AssetImporter 可以实现资源重命名,配合 BuildPipeline 可以实现资源压缩,配合 WWW 或 UnityWebRequest 可以实现加载服务器资源。

little_fat_sheep 5239

基于 Simulink 的单相 PWM 整流器(四象限变流器)在高铁辅助电源系统中的建模与仿真实战教程

这是一份基于 Simulink 的实战教程。在高铁牵引供电与辅助电源系统中,单相 PWM 整流器(又称四象限变流器,4QC)是极其核心的“绿色电源”枢纽。传统的二极管整流器虽然结构简单,但会导致严重的输入电流畸变和低功率因数,对电网造成极大的谐波污染。而 PWM 整流器通过高频主动控制,不仅能将单相交流电转换为平稳的直流电,还能实现输入电流正弦化、单位功率因数(PF=1)运行,并支持能量双向流动(如列车再生制动时的能量回馈)。本教程将带你从数学模型出发,搭建一套高性能的电压电流双闭环控制系统。

amy_mhd的博客 47

Unity3D:动态加载资源(Resources.Load与AssetBundle.LoadAsset)

Unity3D动态加载一(Resources) 在Unity3D中Project视窗中创建文件夹:Resources。 将需要动态加载的文件放入其中,例如Texture,Sprite,prefab等等。 在脚本中调用API接口Resources.Load()相关接口即可。 例如: using UnityEngine; using UnityEngine.UI; public class Lo...

Calmer的博客 7209

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

Unity3D中AssetBundle的打包和加载

Unity的资源管理是一个比较复杂的模块,如果管理不好,可能导致最终包体大小偏大,程序运行时候内存居高不下,因此了解并掌握Unity的资源管理显得特别重要。 Unity中资源一般存放在两个目录下,一个是Resource目录,另一个是StreamingAsset目录。放在Resource目录下的资源在打包的时候会被压缩并打包到安装包中(assets资源),只读,而在StreamingAsset目录...

Wei_Yuan_2012的专栏 1655

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

Unity3D AssetBundle的打包和加载

Unity3D AssetBundle的打包和加载 目录 1、博文介绍 2、具体思路和写法 (1)AB包的打包 (2)AB包的加载 (3)AB包卸载 3.资源包下载 4.推送 5.结语 1、博文介绍 本篇博客主要起记录和学习作用,简单的介绍一下AB包的打包和几种不同方法加载AB包的方式,若各位同学有幸看到本篇博客...

孙君的空间站 4648

unity3d 动态加载资源Resources.Load和AssetBundle

1.首先总结下unity有哪几种资源类型 unity资源的类型: -a) Unity内置的常用asset, fbx\jpg... - b) textasset: txt、binary等,对应了它的TextAsset类,可以直接读入文本或者二进制byte -c) scriptable object 它是序...

Peter的博客 2712

Unity3d发布Android版通过WWW加载本地AssetBundle资源

不久之前买了小米平板,就想着用Unity3d做个小游戏放在平板上玩玩,匆匆做了个资源加载界面就发布apk到平板上,结果提示资源加载失败,找不到资源文件。在网上找了半天资料都没解决问题,最后发现自己犯了个最愚蠢的问题,就是StreamingAssets文件夹名称有问题,我写成了StreamingAsset,真是被自己给坑到了。 下面总结下Unity3d发布Android版通过WWW加载本地

menghuangxiao的专栏 5904

提升Unity3D开发效率:AssetBundle资源加载与打包助手

提升Unity3D开发效率:AssetBundle资源加载与打包助手 去发现同类优质开源项目:https://gitcode.com/ 项目介绍 在Unity3D开发中,AssetBundle的打包与加载是优化游戏性能和加载速度的关键步骤。然而,这一过程往往复杂且耗时。为了解决这一痛点,我们推出了“AssetBundle资源加载,AssetBundle-Browser打包助手”项目。该项目提供了一...

gitblog_09748的博客 968

unity3d AssetBundle 资源热更专题

我们这期主要讲的是资源热更和管理 学习本课程 可以获得商业标准的 资源热更框架和源码,技术理论 能带来什么好处? 对于入职游戏开发岗位的开发者 比如面试官问:怎么做热更新 技术理论部分可以帮助你 在面试环节部分 游刃有余 对于独立游戏开发者 能收获一套热更框架,避免重复造轮子 在中大型手游产品中,都会包含热更新功能。 这项技术能为产品带来以下这些好处 在增加新内容时 1:不需要提交材料到平台审核,绕过审核手续,加快新版的迭代更新速度 2:玩家不需要重新下载安装包,减少版本更新迭代的用户流失 3 : 方便游戏

1916

Unity3D 资源热更新之AssetBundle(Unity5.x)基础用法

笔者用的版本是Unity3D 5.5.1   1.新建Unity3D项目,接着 File -> New Scene 命名 abTest。 2.创建AssetBundles文件夹(放打包资源)、Editor文件夹(放编辑器脚本)、创建Resource文件夹(放预设资源) Unity3D特殊文件夹参考(http://www.xuanyusong.com/archives/3229) 3.在层

clleop的博客 3896
上一篇: Unity3d基础:自己动手写打包AssetBundle工具
下一篇: C#基础:求某天是星期几
考班格
博客等级 码龄16年 135粉丝 256原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值