![](https://img-blog.csdnimg.cn/4c4f215cf3bf4876928e05ed2fff22df.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
GameFramework
文章平均质量分 95
深入讲解GameFramework示例
优惠券已抵扣
余额抵扣
还需支付
¥39.90
¥99.00
购买须知?
本专栏为图文内容,最终完结不会低于15篇文章。
订阅专栏,享有专栏所有文章阅读权限。
本专栏为虚拟商品,基于网络商品和虚拟商品的性质和特征,专栏一经购买无正当理由不予退款,不支持升级,敬请谅解。
TxNet.Ltd.
不积跬步无以至千里,不积小河无以致江海。
展开
-
GameFramework专栏目录
本专栏是专门介绍GameFramework框架的,持续更新中,如有疑问可留言,24小时内回复。原创 2023-03-27 01:10:57 · 2746 阅读 · 2 评论 -
Unity 游戏框架之GameFramework和ET对比
Unity 框架 GF 和 ET 哪个更好用,各自的优点,缺点是什么?随着Unity的不断发展,现在出现了很多比较牛逼的 开源 框架,其中,我觉得 最厉害的是 Game Framework 和 ET 这2个框架。ET:https://github.com/egametang/ETGameFramework:https://github.com/EllanJiang/UnityGameFramework原创 2020-06-28 09:59:55 · 30229 阅读 · 9 评论 -
GameFramework框架详解之 FileSystem虚拟文件系统
GameFramework是一个功能非常完整,结构非常合理的游戏框架,不仅适合实际开发使用,更适合通过它的源码来学习,我个人觉得GF框架中很多东西让我受益匪浅,之前也介绍过它的其他模块。今天我们来着重介绍一下它的FileSystem虚拟文件系统,GF的虚拟文件系统,使用类似磁盘存储的感念对零散的文件进行击中管理,优化资源加载时产生的内存分配,也可以对资源进行局部片段加载,从文件系统的加载效率考虑的话,这极大的提升了资源加载时的性能。通俗示例:我们应该经常使用类似Zip,Rar,7z等压缩软件。原创 2023-05-22 17:01:31 · 1126 阅读 · 0 评论 -
GameFramework 框架详解之 如何接入热更框架HybridCLR
是一个非常出色完整的基于Unity引擎的游戏框架,里面包含了非常多的模块,封装非常完整。HybridCLR是一个特性完整、零成本、高性能、低内存的近乎完美的c#热更新方案。原创 2023-04-10 00:01:23 · 2421 阅读 · 5 评论 -
GameFramework 框架详解之 如何实现VR的3D界面
GameFramework是一个非常出色的Unity游戏框架,提供了非常多的实用模块,其中的UI框架,更是非常的出色。如果我们制作手游或端游,那么我们直接仿照StarForce示例UguiForm即可很好的实现自己的UI。但是如果我们用GameFramework制作VR游戏,那么我们可能需要在场景中显示3D的UI,我们本问就简单介绍一个如果扩展GameFramework的UI框架,来实现一个基于VR的3D UI。我们要实现3D的UI,先来分析一下2D的UI是如何实现的。原创 2023-04-03 17:15:10 · 732 阅读 · 0 评论 -
GameFramework框架详解之 资源打包和热更新流程
GameFramework 是一个非常出色开源游戏框架,框架中自带了资源,UI,对象池,状态机等等很多模块,可以让我们更加高效和方便的开发游戏。当然毋庸置疑,它也支持热更新。今天我们就来详解一下GameFramework如何实现热更新。原创 2023-04-02 00:43:04 · 1965 阅读 · 0 评论 -
GameFramework框架详解之 Scene场景
GameFramework的SceneManager是一个负责场景管理的模块,负责所有场景的加载、卸载、切换和管理。SceneManager可以帮助游戏开发者方便地组织和管理不同场景之间的切换和流转,并实现不同场景之间的信息传递。SceneManager主要有以下几个组成部分:场景管理器(Scene Manager): 管理所有的场景对象并负责场景的加载,卸载和回调。资源管理器加载器(Resource Manager): 负责异步加载和卸载场景资源;原创 2023-03-30 01:32:53 · 890 阅读 · 0 评论 -
GameFramework框架详解之 框架总览
一.前言目前市场上有很多优秀个开源框架,比如ET,GameFramework,DBFramework,StrangeIOC,Loxodon-Framework,KSFramework,xluaFramework等等。其中要说规范的话,不得不说GameFramework还是不错的,当然很多新手看到后会觉的有点复杂,写一个小小的功能,不得不套用一堆东西,继承一堆接口,感觉不知所措,不能随心所欲的去撸代码。其实这个框架就是为了约束新手的行为的,让我们面向接口编程,遵循“开闭”的设计原则来写代码,方便后期的扩原创 2020-10-24 15:50:05 · 16791 阅读 · 7 评论 -
GameFramework框架详解之 框架启动
## 前言GameFramework是一个非常好的游戏框架,很多东西都值得我们拿来细细品味,细细咀嚼。我们今天先来给大家介绍下它是如何启动的。原创 2020-10-24 17:33:47 · 4856 阅读 · 3 评论 -
GameFramework框架详解之 Procedure 流程管理
GameFramework框架给我们提供了Procedure(流程)模块,可以帮助我们管理游戏中的各个阶段。Procedure可以将游戏过程划分为多个步骤(即流程),分别对应游戏中的各个阶段,并可以在不同流程之间进行切换。例如,游戏中可能有启动流程、登录流程、主菜单流程、游戏关卡流程等。Procedure基于状态机的思想,将每个流程看作一个状态,通过切换状态来执行不同的流程。在每个流程中,可以设置一系列回调函数,以实现对流程的控制和管理。原创 2023-03-28 17:22:03 · 1289 阅读 · 0 评论 -
GameFramework框架详解之 Config全局配置
GameFramework是一个模块封装非常完整的游戏框架,其中有一个全局配置表,存储了一些游戏中使用的全局常量。全局配置表的结构和DataTable结构很相似,只不过少了id一列,因为全局配置不使用Id进行查询,而是使用key值进行查询。全局配置逻辑比较简单,下面我们来通过示例讲解一下。原创 2023-03-28 23:51:19 · 2115 阅读 · 4 评论 -
GameFramework框架详解之 Resource资源管理器
资源加载前言Game Framework 使用了一套异步资源加载体系,因此只提供了异步加载资源的接口。不论简单的数据表、本地化字典,还是复杂的实体、场景、界面,都将使用异步加载。同时,Game Framework 提供了默认的内存管理策略(当然,你也可以定义自己的内存管理策略)。资源类型定义Game Framework 中有两个关于资源的定义,在使用过程中需要注意区分。Game Framework 设计的所有方法都是面向 Asset 的,Resource 隐藏在内部,不对外公开,以降低使用的复杂度。原创 2020-11-14 22:20:10 · 5610 阅读 · 10 评论 -
GameFramework框架详解之 ObejctPool对象池模块
一.前言GF框架中对象池的使用,总共有三处1.ObjectPool对象池2.RefrencePool引用池3.TaskPool任务池首先使用原理都是一样的,都是因为存在频繁的创建和销毁,为了避免GC而对对象进行缓存,需要时获取,不需要是回收。而在GF框架中之所以分成3个Pool去做这些事情,也是为了不同的 功能而分别差异化实现的二.TaskPool任务池先来聊聊TaskPool吧,TaskPool其实是ITaskAgent的一个集合,负责ITaskAgent的初始化,执行,回收等操作原创 2020-11-26 22:07:41 · 3278 阅读 · 0 评论 -
GameFramework框架详解之 Event事件系统
GameFramework是一种基于Unity3D引擎的游戏开发框架,其中包括了强大的事件系统。该系统使用了观察者设计模式,允许游戏对象之间的松耦合通信和交互。传统的时间系统,都是由一个EventManager管理着所有的Event集合,每个Event包括一个EventId+EventHandler。但是GameFramework采用了一种更面向对象的注册方法。这样的好处就是可读性更高,避免了事件系统的高耦合。原创 2023-03-27 17:00:00 · 2274 阅读 · 0 评论 -
GameFramework框架详解之 Download下载器
Download下载模块1.DownloadComponentDownloadComponent其实就是DownloadManager的包装而已,主要负责DownloadManager的初始化和调用,这里不多介绍,直接看结构代码/// <summary>/// 下载组件。/// </summary>public sealed class DownloadComponent : GameFrameworkComponent{ private const int原创 2020-11-27 20:59:06 · 2142 阅读 · 1 评论 -
GameFramework框架详解之 UI框架
UI框架是我们不管开发游戏还是App,都必不可少的一个模块。好的UI框架凤毛麟角,但是Gameframework可以算是其中一个了。今天我们就来拆解一下GF的UI框架。Unity技术开发干活 - 总目录Unity精选 - 专栏目录Unity之ASE入门到精通 - 专栏目录UniRx入门到精通 - 专栏目录Unity技术开发干活 - 总目录。原创 2020-11-27 22:11:22 · 5049 阅读 · 4 评论 -
GameFramework框架详解之 资源打包和加密
一.Resource Builder编辑器面板我们根据GameFramework的demo:Star Force 进行拆解GF的资源打包和加密逻辑参数:productName:产品名称。companyName:公司名称。gameIdentifier:游戏识别号。gameFrameworkVersion:游戏框架版本。unityVersion:Unity 版本。applicableGameVersion:适用游戏版本。internalResourceVersion:内部资源版本。bui原创 2020-12-21 22:00:03 · 3266 阅读 · 1 评论 -
GameFramework 框架详解之 Network网络模块 工具链
GameFramework(下面简称GF)Demo中,已经给我们提供了Network模块使用的protobuf使用的动态链接库protobuf-net.dll,但是GF并没有给我们提供protobuf相关的工具链,比如:1.proto文件自动导出对应c#的Packet类和PacketHandler类2.导出Packet类继承IReference以便使用引用池。3.自动生成Packet类和PacketHandler的Id,且保持和服务器Id一一对应。原创 2023-03-24 11:54:18 · 1937 阅读 · 2 评论 -
GameFramework框架详解之 DataNode数据节点模块
gf数据节点模块一.前言每个游戏都有数据节点中心,数据节点的作用其实就是游戏运行时的一些缓存数据,比如用户登录的信息,背包信息,任务进度等等。数据存储的结构一般都是字典转存json/xml,这样我们直接用json序列化工具,很方便的实现数据的读取,修改和持久化。不过本文将给你带来一个不一样的数据存储方式:“树形结构存储”。其实树形存储结构我们并不陌生,json和xml的多级结构其实就时一种树形结构。我们的内存堆是以树形结构来存储的,数据库也常以树形结构来做数据的存储。树形存储结构示意图:下面来介绍我原创 2021-06-02 17:18:13 · 2235 阅读 · 3 评论 -
GameFramework框架详解之 Entity实体
GameFramework中Entity,一般用于游戏运行时动态加载的游戏对象,如角色,怪物,武器,技能,子弹,特效等。一般来说,我们想创建一个实体,最简单的方法当然是Resource.Load()+Instantiate(),然后放到合适的位置,播放合适的动画即可。但是GameFramework却给每个实体定义了一个Entity类,一个EntityLogic类,一个EntityData类,初次用起来会感觉很吃力,甚至有的人觉得完全没必要,甚至放弃了GameFramework。原创 2023-03-27 00:32:15 · 1868 阅读 · 0 评论 -
GameFramework框架详解之 Sound声音管理
虽然现在大厂的大项目可以选择想Wwise这类的音频插件来进行声音的开发,不需要什么声音模块管理了,但是我们也知道,小公司或者小项目组,是用不起这种收费软件的,所以大部分的项目还是需要我们自己去管理音频的。我在很多框架中都见过Sound音频模块的实现,自己也曾经实现过音频模块,基本逻辑和思路都差不多,因为声音模块在众多功能模块中算是一个比较简单的功能模块。原创 2023-03-27 11:54:35 · 939 阅读 · 0 评论 -
GameFramework框架详解之 DataTable配置表模块
一.前言:DataTable模块是项目的配置表模块,配置表一般是从excel导出csv/json/xml格式的,之所以是excel作为源文件,原因是因为策划同学使用配表最方便。然后一键导出到项目中,除了csv/json/xml配置文件外,一般还会伴随着导出配置的实体类,这样研发同学就可以使用了。GameFramework的DataTable模块也是秉持着这种一贯的策略来实现的。二.DataRowDataRow在excel数据表中,对应的是一行数据,而在代码中对应的其实就是一条数据对象。接口IData原创 2021-06-03 10:54:27 · 3536 阅读 · 1 评论 -
GameFramework框架详解之 Setting配置存档
在GameFramework中,我们可以使用Setting模块来管理游戏中的一些配置设置。Unity引擎给我们提供的PlayerPrefs工具其实作用是一样的,都是用来存储一些游戏配置的。原创 2023-03-27 14:08:53 · 1225 阅读 · 0 评论 -
GameFramework框架详解之 DataTable配置表 导表工具
GameFramework是一个非常出色的游戏框架,他的DataTable模块也非常有特色,拥有很强的扩展性和兼容性,不过作者未给我们提供完整的工具链使用,包括1.Excel配置表格式2.Excel导出到txt、bytes的编辑器工具3.Excel导出对应DR实体类的编辑器工具。原创 2023-03-24 15:59:48 · 1583 阅读 · 4 评论 -
GameFramework框架详解之 Fsm状态机
FSM(有限状态机)是一种在游戏编程中非常常用的编程技术,可以方便地管理游戏中的各种状态转换。在Gameframework中,FSM也被广泛使用,并且该框架提供了方便易用的FSM API,使得我们可以在Unity项目中快速实现FSM逻辑。有限状态机(Finite-state machine,FSM),又称有限状态自动机,简称状态机,是表示有限个状态以及在这些状态之间的转移和动作等行为的数学模型。原创 2023-03-27 15:39:10 · 1944 阅读 · 0 评论 -
GameFramework框架详解之 Network网络框架
NetworkManager只负责维护NetworkChannel,实际的有种我们简历网络连接的也是NetworkChannel作为一个网路频道,这样管理起来比较方便,比如:一个游戏可能有多个网络连接,那么我们建立多个网络频道即可,或者当我们一个网络频道断线后,我们可以直接再新建一个,防止数据混乱。/// /// 网络管理器。/// /// 网络频道。/// 用户自定义网络错误事件。/// 检查是否存在网络频道。/// 获取网络频道。/// 获取所有网络频道。原创 2023-03-13 14:30:25 · 2294 阅读 · 3 评论