unity资源系统

unity资源系统

ID:32866358

大小:1015.13 KB

页数:35页

时间:2019-02-16

unity资源系统_第1页
unity资源系统_第2页
unity资源系统_第3页
unity资源系统_第4页
unity资源系统_第5页
资源描述:

《unity资源系统》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、Unity资源系统序用了这么久的AssetBundle,知道它的基本原理吗?知道使用它的正确姿势吗?知道Unity的资源系统吗?本教程对正在写Unity项目的资源管理的同学应该有一定的参考价值。关于AssetBundle的加载和卸载是每一个Unity项目的客户端同学都应该深入了解的一个内容。本文翻译的是官方最佳实践系列的一篇关于资源的指南。如果有翻译和理解错误,还望不吝指出,会接受批评并加以改正本译作采用署名-非商业性使用-相同方式共享4.0国际知识共享协议(CCBY-NC-SA4.0)(Attribution-NonCommercial-ShareAli

2、ke4.0International(CCBY-NC-SA4.0))译文原址:《Assets,ResourcesandAssetBundles》译者邮箱:lingzelove2008@163.com凌泽2018.10.01第一章:前言这是一个系列文章,它对Unity引擎的资源序列化和资源管理进行深层次的探讨;同时详细的讲解了AssetBundle系统的基本原理以及使用它的最佳实践(本文所有内容均已用Unity2017.3验证)本指南分为四部分:1.资源、对象以及序列化探讨了Unity资源序列化以及对象之间相互引用的详细过程2.Resources文件夹讨论了

3、Unity内置的RessourcesAPI3.AssetBundle基本原理讲解了AssetBundle的基本原理、AssetBundle的加载以及从AssetBundle内加载对象4.AssetBundle最佳实践讨论了很多AssetBundle相关的主题,包括将资源打包成AssetBundle的策略、管理已加载的资源;同时展示了开发者在使用AssetBundle的时候经常会犯的一些错误和认知误区注意:指南中的对象(Objects)和资源(Assets)这两个术语与Unity提供的API中的Objects、Assets并不是同一个概念指南中对象(Obje

4、cts)所表示的数据,其实在Unity的一些公共API中叫做Assets,比如:通过AssetsBundle.LoadAsset所获取的Assets;以及Resources.UnloadUnusedAssets所释放的Assets指南中资源(Assets)所表示的内容很少在API中使用,当它们被使用时,通常只在与构建相关的代码中,比如:AssetDatabase和BuildPipeline;在这种情况下,我们一般称它们为资源文件第二章:资源、对象和序列化本章将从Unity编辑器环境和运行时环境两个角度出发,探讨以下三个方面的内容:资源序列化的内部实现U

5、nity如何维护对象之间的强引用关系资源和对象之间的技术区别这章是理解Unity加载和卸载资源的基础,良好的资源管理对应用的加载时长以及内存占用都至关重要2.1理解资源(Assets)和对象(Objects)在理解Untiy是如何高效管理数据之前,要知道Unity是如何识别和序列化数据。这个关键点就是要正确区分资源(Assets)和对象(Objects)之间的区别2.1.1资源(Asset)资源其实就是硬盘里的文件,存储在Unity工程的Assets文件夹内。例如:文本(txt)、纹理(Texture)、材质(Material)等都是常见的资源。有些资源

6、的数据格式是Unity原生支持的,比如:材质(Material);有些资源则需要转换成Unity原生支持的数据格式才能被使用,比如:FBX文件2.1.2对象(UnityEngine.Object)UnityEngine.Object(以大写O开头的Object),则是一组已经序列化的数据的集合,表示某个资源的具体实例,它可以是Unity引擎可使用的任何类型资源。例如:网格(mesh)、精灵(Sprite)、音频剪辑(AudioClip)或者动画剪辑(AnimationClip)这些对象都是UnityEngines.Object的子类2.1.3特殊类型几乎所

7、有的对象类型都是Unity内置(built-in)的,但有两种类型比较特殊:ScriptableObject允许开发者自定义数据类型。这些类型能够被Unity序列化和反序列化,并可以在编辑器的Inspector窗口中进行编辑操作MonoBehaviour它提供链接到MonoScript的封装;MonoScript是Unity的内部数据类型,它保存了指向程序集和命名空间中的具体脚本类的引用,MonoScript本身不包含任何实际可执行的代码(下文有详细讲解)2.1.4资源与对象的关系资源(Assets)和对象(Objects)之间是一对多关系;一个资源可

8、能包含一个或多个对象2.2对象之间的引用所有对象都可以引用其他的对

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。