[cb] Assetbundle打包(一)
本文为作者原创,转载请注明出处:https://www.cnblogs.com/zhaoqingqing/p/3775105.html
一、简介#
Unity的Assetbundle是Unity Pro提供的功能。
理解:Asset 资源,资产;Bundle :包,一批,捆;字面上的意思,就是把资源打包。
在项目中怎么使用Assetbunlde呢?
答:我们的项目分为两个工程:Art和Client。其中Art工程,把Prefab打包成AssetBundle及拼接美术资源,Client工程读取AssetBundle及游戏逻辑;
二、Art#
下面这张是Art工程下的自定义编辑器功能,菜单栏 Game/资源打包/打包 XXX
下是是Project截图,可以看到在Product目录下,有按规则命名的文件夹。菜单栏的功能就是打包这些目录下的Prefab,例如:执行 Game/资源打包/打包Actors ,就是把 项目工程路径/Assets/Product/Actor/* 打包成Assetbundle
当打包完之后,所有的AssetBundle都存放在Product\AssetBundles\[Android][IOS[Win32] (注:在打包时需注意Assetbundle有运行平台之分)
三、Client#
Client工程主要的是Code,负责游戏的逻辑。
下面是Client的Project截图(注:StreamingAssets下的是当前运行平台AssetBundle快捷方式)
四、资源更新#
由于移动平台上不能更新脚本,也就Prefab上绑定的脚本是不会被执行的。但是如果本地工程有同样的脚本,那么Unity会自动将这个脚本绑定在下载的Prefab上,并且他们执行的非常好。
如果本地工程中没有Prefab上的脚本,那么这个脚本是永远不会执行的。
比如:Box1.Prefab和Coin1.Prefab同样引用CBonesObject.cs,但是某些Public的变量值不一样,打包Assetbundle也是没有问题的,一样可以识别的很好。
Art工程里Prefab上绑定了脚本CBonesObject.cs
在Client工程同样有CBonesObject.cs,CBonesManager.cs 脚本
这样当下载完了Box1的Assetbundle,它上面绑定的脚本在Client存在,这个脚本就一样可以正常执行了(包括IOS平台也能正常执行)
本文版权归作者和博客园共有,欢迎转载,转载之后请务必在文章明显位置标出原文链接和作者,谢谢。
如果本文对您有帮助,请点击【推荐】您的赞赏将鼓励我继续创作!想跟我一起进步么?那就【关注】我吧。
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 托管堆内存泄露/CPU异常的常见思路
· PostgreSQL 和 SQL Server 在统计信息维护中的关键差异
· C++代码改造为UTF-8编码问题的总结
· DeepSeek 解答了困扰我五年的技术问题
· 为什么说在企业级应用开发中,后端往往是效率杀手?
· 10亿数据,如何做迁移?
· 推荐几款开源且免费的 .NET MAUI 组件库
· 清华大学推出第四讲使用 DeepSeek + DeepResearch 让科研像聊天一样简单!
· 易语言 —— 开山篇
· Trae初体验