Unity-AssetBundles(AB包)

这篇具有很好参考价值的文章主要介绍了Unity-AssetBundles(AB包)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

AssetBundles

AssetBundle工作流

将Asset分配给AssetBundles

构建AssetBundles

加载AssetBundles和Asset

为AssetBundles准备

类型分组

并发内容分组

资产建筑AssetBundles

BuildAssetBundleOptions

BuildTarget

The AssetBundle File 

The Manifest File 

AssetBundle依赖性

AssetBundles信息

加载AssetBundles 

使用原生AssetBundles

AssetBundle.LoadFromMemoryAsync 

AssetBundle.LoadFromFile 

 UnityWebRequestAssetBundle

Loading Assets from AssetBundles 

Loading AssetBundle Manifests

Managing Loaded AssetBundles 

AssetBundle压缩

AssetBundle压缩格式

AssetBundle缓存 

用AssetBundles打补丁

故障排除

Asset重复

Sprite Atlas重复

Android纹理

着色器和AssetBundle之间的交互

Unity资源包浏览器工具

安装

AssetBundle下载完整性和安全

使用安全协议下载

CRC校验

用户生成内容 


AssetBundle是一个存档文件,包含特定于平台的非代码资产(如模型,纹理,预制件,音频剪辑,甚至整个场景),Unity可以在运行时加载。AssetBundle可以表达彼此之间的依赖关系,例如,一个AssetBundle中的材质可以引用另一个AssetBundle中的纹理。为了通过网络进行有效的交付,您可以根据用例需求(LZMA和LZ4)选择内置算法来压缩AssetBundles。

AssetBundles可以用于下载内容(DLC),减少初始安装大小,加载针对最终用户平台优化的资源,并减少运行时内存压力。

注意:AssetBundle可以包含代码对象实例的序列化数据,比如ScriptableObject。但是,类定义本身被编译为项目程序集之一。当你在AssetBundle中加载一个序列化的对象时,Unity会找到匹配的类定义,创建它的一个实例,并使用序列化的值设置该实例的字段。这意味着你可以在AssetBundle中引入新道具,只要这些道具不需要改变你的类定义。

AssetBundle里有什么?

“AssetBundle”可以指两个不同但相关的东西。首先是磁盘上的实际文件。这被称为AssetBundle存档。AssetBundle存档是一个容器,就像一个文件夹一样,其中包含其他文件。这些附加文件包括两种类型:

  • 一个序列化的文件,其中包含分解成单个对象的资产,并写入到这个文件中。
  • 资源文件,这是为某些资产(纹理和音频)单独存储的二进制数据块,允许Unity在另一个线程上有效地从磁盘加载它们。

“AssetBundle”也可以引用实际的AssetBundle对象,你可以通过代码从一个特定的AssetBundle存档中加载资源。此对象包含您添加到此存档的资产的所有文件路径的映射。

AssetBundle工作流

将Asset分配给AssetBundles

要将一个给定的Asset分配给一个AssetBundle,请遵循以下步骤:

  1. 从ProjectView中选择你想要分配给bundle的资产。
  2. 在Inspector中检查对象。
  3. 在Inspector的底部,有一个部分用于分配AssetBundles和variables。使用左边的下拉菜单来分配AssetBundle,右边的下拉菜单来分配分配变量。

    Unity-AssetBundles(AB包),Unity,unity,游戏引擎

  4. 点击左边的None来显示当前注册的AssetBundle名称。
  5. .单击New创建一个新的AssetBundle。

    Unity-AssetBundles(AB包),Unity,unity,游戏引擎

  6. 输入所需的AssetBundle名称。(注意:AssetBundle名称支持的文件夹结构类型取决于你的类型。若要添加子文件夹,请使用/。例如,使用AssetBundle名称environment/forest在environment子文件夹下创建一个名为forest的bundle,需要创建environment下的子Bunlde只需要和上面同样操作就可以了)

    Unity-AssetBundles(AB包),Unity,unity,游戏引擎

  7. 一旦你选择或创建了一个AssetBundle的名字,你就可以在右边的下拉菜单中重复这个过程来分配或创建一个Variant的名字,如果你愿意的话。变量的名字不需要构建AssetBundles

注意:在Inspector中,你可以将一个AssetBundle分配给项目中的一个文件夹。默认情况下,该文件夹中的所有资产都被分配到与文件夹相同的AssetBundle中。然而,单个资产的AssetBundle分配是优先的。

构建AssetBundles

在Assets文件夹中创建一个名为Editor的文件夹,并在文件夹中放置一个脚本,内容如下:文章来源地址https://www.toymoban.com/news/detail-787264.html

using UnityEditor;
using System.IO;

public class CreateAssetBundles
{
    [MenuItem("Assets/Build AssetBundles")]
    static void BuildAllAssetBundles()
    {
        string assetBundleDirectory = "Assets/AssetBundles";
        if (!Directory.Exists(assetBundleDirectory))
        {
            Directory.CreateDirectory(assetBundleDirectory);
        }
        BuildPipeline.BuildAssetBundles(assetBu

到了这里,关于Unity-AssetBundles(AB包)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Unity AssetBundles资源管理和热更新

    项目中的做法,在项目中一般会把资源按照文件目录去划分资源,以文件路径的名字作为AB的名字,一般都是把资源的这些放到预处理中。 一般会分为几个类型,比如把单个文件夹下的每个资源进行打bundle,把单个文件夹下的所有资源打成bundle,还有自定义bundle名字的类型啥

    2024年01月21日
    浏览(34)
  • 十八、Unity游戏引擎入门

    1、下载     首先需要下载Unity Hub,下载网址:https://unity.com/cn。     然后在其中下载Unity编辑器并安装,可选择最新版本。     接着需要选择适合的开发环境,例如Android Studio或Xcode,以便进行手机游戏开发。在安装完Unity后,需要根据项目需求下载对应的模块和插件,例

    2024年02月16日
    浏览(51)
  • 使用团结引擎开发Unity 3D射击游戏

           本案例是初级案例,意在引导想使用unity的初级开发者能较快的入门,体验unity开发的方便性和简易性能。       本次我们将使用团结引擎进行开发,帮助想体验团结引擎的入门开发者进行较快的环境熟悉。      本游戏是一个俯视角度的射击游戏。主角始终位于屏幕

    2024年01月19日
    浏览(52)
  • Unity、UE、Cocos游戏开发引擎的区别

    Unity、Unreal Engine(UE)和Cocos引擎是三个常用的游戏开发引擎,它们在功能和特性上有一些区别。以下是它们之间的主要区别: 编程语言:Unity使用C#作为主要的编程语言,开发者可以使用C#脚本进行游戏逻辑编写。Unreal Engine主要使用C++作为编程语言,但也支持蓝图系统,允许

    2024年02月22日
    浏览(47)
  • Unity vs Godot :哪个游戏引擎更适合你?

    游戏引擎的选择对开发过程和最终产品质量有着重大影响。近年来,Godot和Unity这两款引擎受到广泛关注。本文将从多个维度对两者进行比较,以期为开发者提供正确的选择建议。 Godot和Unity都有各自的优势,没有绝对的好坏之分。Godot开源免费,上手简单,更适合2D和小型游戏

    2024年01月23日
    浏览(74)
  • 30分钟了解所有引擎组件,132个Unity 游戏引擎组件速通!【收藏 == 学会】

    🎬 博客主页:https://xiaoy.blog.csdn.net 🎥 本文由 呆呆敲代码的小Y 原创,首发于 CSDN 🙉 🎄 学习专栏推荐:Unity系统学习专栏 🌲 游戏制作专栏推荐:游戏制作 🌲Unity实战100例专栏推荐:Unity 实战100例 教程 🏅 欢迎点赞 👍 收藏 ⭐留言 📝 如有错误敬请指正! 📆 未来很长

    2024年02月11日
    浏览(52)
  • Unity Physics2D 2d物理引擎游戏 笔记

    2d 材质 里面可以设置 摩擦力 和 弹力 Simulated:是否在当前的物理环境中模拟,取消勾选该框类似于Disable Rigidbody,但使用这个参数更加高效,因为Disable会销毁内部产生的GameObject,而取消勾选Simulated只是禁用。 Kinematic 动力学刚体 动力学刚体不受重力和力的影响,而受用户的

    2023年04月24日
    浏览(102)
  • Unity和UE4两大游戏引擎,你该如何选择?

    目录 游戏引擎 2 —— 难易区别 编程语言 3 —— 游戏产品 UE4制作的游戏产品  Unity制作的游戏产品  产品类型 5 —— 资源商店 6 —— 人才需求 平均薪资 总结      Unity和UE4都是游戏引擎,所谓游戏引擎就是集成了复杂功能的游戏开发软件,他们帮我们实现了复杂的底层逻

    2023年04月08日
    浏览(53)
  • GODOT游戏引擎简介,包含与unity性能对比测试,以及选型建议

    GODOT,是一个免费开源的3D引擎。本文以unity作对比,简述两者区别和选型建议。由于是很久以前写的ppt,技术原因视频和部分章节丢失了。建议当做业务参考。 GODOT目前为止遇到3个比较重大的机遇,第一个是oprea的合作奖,第二个是用支持c#换来的微软的投资,第三个是虚幻

    2024年02月14日
    浏览(48)
  • Unity 开发人员转CGE(castle Game engine)城堡游戏引擎指导手册

    一、简介 2. Unity相当于什么GameObject? 3. 如何设计一个由多种资产、生物等组成的关卡? 4. 在哪里放置特定角色的代码(例如生物、物品)?Unity 中“向 GameObject 添加 MonoBehaviour”相当于什么? 5.Unity子目录相当于什么Assets? 6. 支持哪些模型格式? 7. 支持FBX模型格式吗? 8.

    2024年02月07日
    浏览(41)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包