Unity资源管理
文章平均质量分 92
拂面清风三点水
这个作者很懒,什么都没留下…
展开
-
Unity中的资源管理-一整套简单的资源管理方案(1)
本文分享Unity中的资源管理-一整套简单的资源管理方案(1)经过了一系列的文章, 我们终于来到了本专题的最后一部分.在接下来的几篇文章中, 作者会提供一套简单的资源管理方案给大家学习和参考, 相信只要简单的修改就可以直接在项目中使用.整套方案基本会涵盖我们之前文章提到的所有内容.在本篇文章中, 我们先提纲挈领的将核心的结构和布局作简单介绍, 在后续的文章中将其填充和丰满.好了, 废话不多说, 马上开始今天的内容.需求分析首先我们需要在Runtime下使用Ab或者Resources, 在Edi原创 2022-01-13 09:50:08 · 8131 阅读 · 0 评论 -
Unity中的资源管理-使用Profile分析内存使用情况
本文分享Unity中的资源管理-使用Profile分析内存使用情况在上一篇文章中, 我们介绍了Ab的加载和使用, 并简单列举了其内存分布情况. 今天我们继续探索Ab的内存, 观察和实验其在各种阶段的分布情况.Profile性能分析工具在一切开始之前, 我们先简单介绍下Unity提供的性能分析工具: Profile.Profile是Unity提供的一款性能分析工具, 与Editor一同发布, 我们可以在Window菜单下找到它, 不同版本的位置不同, 比如在Unity2017(Window->P原创 2021-12-29 09:27:15 · 7685 阅读 · 2 评论 -
Unity中的资源管理-AssetBundle(2)
本文分享Unity中的资源管理-AssetBundle(2)在上一篇文章中, 我们介绍了Ab的基础知识, 并了解到如何构建Ab, 最后还给出了几种不同的Ab管理方案.今天我们接着聊聊Ab的加载和卸载.Ab的使用总的来说比较简单, 前提是我们不操心加载好的Ab和从Ab中加载出来的资材, 但整个资源管理的难点就在于此.目前我们只是谈论Ab最核心的使用而不涉及到基于此的各种资源管理方案. 这部分会在后面的文章给出.好了, 下面开始今天的内容.Ab的加载和使用基本的加载接口Unity提供了Ab的同步原创 2021-12-27 22:00:00 · 2390 阅读 · 0 评论 -
Unity中的资源管理-AssetBundle(1)
本文分享Unity中的资源管理-AssetBundle(1)在上一篇文章中, 我们简单介绍了Unity中的资源和基本的使用, 今天我们详细介绍下使用AssetBundle来管理资源.AssetBundle介绍AssetBundle, 下面简称Ab, 本身的概念十分的简单, 顾名思义, 就是一系列资材打成的包而已.相比Resources文件夹来组织资源的方式, Ab将使用某种方式将资源按照"包"的形式组织.我们可以将某个文件夹内的所有资源组织为一个Ab, 也可以将某类资源组织为一个Ab, 还可以将某原创 2021-12-22 18:08:52 · 4306 阅读 · 0 评论 -
Unity中的资源管理-资源类型和基本使用
本文分享Unity中的资源管理-资源类型和基本使用真不容易, 经过几篇文章的铺垫, 我们终于进入正题了.今天继续给大家聊聊资源管理中的基础知识: 资源的类型和基本的使用.Unity中的资源类型这一部分在官方文档里介绍的很清楚, 有兴趣的同学可以自行跳转:如果不愿意看官网, 以下我们简单做一下梳理和总结. 大家也可以有个大致的印象.Unity常见的资源类型有:Texture(纹理), Sprite(精灵): BMP、TIF、TGA、JPG、PNG 和 PSDSound(音效): Mp3,原创 2021-12-21 12:21:17 · 4013 阅读 · 0 评论 -
Unity中的资源管理-引用计数
本文分享Unity中的资源管理-引用计数在前面的文章中, 我们一起学习了对象池的基本原理和几种实现, 今天和大家继续聊聊另一个资源管理中比较重要的技术: 引用计数.GC的基础知识GC(Garbage Collection)是一种用来自动管理内存的方案, 开发者不需要过多的操心资源的释放问题, 很多语言(比如C#, Java)等, 都有自己的GC.我们知道, 内存分配可以来自于栈和堆, 一般栈空间是跟随函数的生命周期, 在函数使用期间申请, 在函数使用后释放, 一般在函数内部申请的局部变量(非new关原创 2021-12-20 17:43:51 · 2930 阅读 · 0 评论 -
Unity中的资源管理-对象池技术(3)
本文分享Unity中的资源管理-对象池技术(3)在上两篇文章中, 我们一起学习了普通类的两种对象池实现, 今天接着介绍Unity中GameObject(主要是预制实例化对象)的对象池.GameObjectPool的必要性我们知道在游戏前端的开发中, 大部分情况下并不会像服务器开发一样会涉及到特别大量的对象的创建和销毁, 一般的容器最多也就几十上百个对象, 并不会有太大的性能压力, 所以普通类的对象池在客户端使用的并不多, 一般也就资源管理等少数场合会涉及到巨量普通类对象的使用, 而游戏前端更多利用对原创 2021-12-17 18:54:41 · 2399 阅读 · 0 评论 -
Unity中的资源管理-对象池技术(2)
本文分享Unity中的资源管理-对象池技术(2)在上一篇文章中, 我们一起学习了普通类的对象池, 这种实现有一定的特点和适用范围:只能存放相同类型的对象所有对象都一视同仁, 在产生和回收后都需要额外的操作, 比如产生后需要初始化, 回收后需要重置信息今天要介绍一种更加通用和灵活的实现方式: 这种对象池只负责存取对象, 而这些对象不拘泥类型且不需要额外的操作就能使用和回收.简单说就是上一个对象池实现特点的反面.对象池? 容器?可能有些同学会有疑问, 如果只是需要一个存取对象的容器, 那么我用原创 2021-12-16 16:57:34 · 1416 阅读 · 0 评论 -
Unity中的资源管理-对象池技术(1)
本文分享Unity中的资源管理-对象池技术(1)接下来几天, 作者会按照自己的理解写几篇关于Unity中的资源管理相关的文章.大概会涉及到:对象池: 分为普通类和GameObject(主要是预制)的对象池引用计数技术Unity中的资源基本概念, 分类, 基本使用: 包含Resources, AssetDatabaseUnity中的Ab包: 包含Ab包的介绍, 生成, 加载和卸载Unity中使用Profiler进行内存分析一整套资源管理方案今天分享对象池技术的第原创 2021-12-15 17:01:18 · 2450 阅读 · 0 评论 -
Unity中的资源管理-几种常见的序列化方式
本文分享Unity中几种常见的序列化方式在网游客户端的开发中, 大部分数据只需要从服务器获取数据之后存放在内存中, 但是仍然有一些数据需要做序列化, 并持久化存放在客户端本地.比如用户的设置, 使用数据(如使用红点), 游戏的配置等.而在单机游戏的开发中, 几乎所有的数据都需要序列化到本地.今天我们一起来梳理一下Unity中常见的序列化方式.大概会涉及到xml, json, Binary, protobuf, ScriptableObject, prefab等.什么是序列化首先我们来说说什么是原创 2021-12-14 21:19:05 · 2718 阅读 · 0 评论