随笔分类 -  U3D

摘要:# 代码参考 代码文件参考下述详解的类图,工程参考第零章工程说明 # 概述 在多人联机游戏中,大多采用前、后台的架构,前台多表现相关,后台则多交互、资产相关。网络消息的传递其实是由系统内核完成的,大多语言封装了Socket库面向开发者提供网络消息传递的接口,而这里的网络模块是对网络消息传递包含编码、 阅读全文
posted @ 2023-05-29 17:22 张宏港 阅读(83) 评论(0) 推荐(0)
摘要:# 代码参考 代码文件参考下述详解的类图,工程参考第零章工程说明 # 概述 热更新方便用户更新,增加用户的留存量。它依赖打包生成的版本文件。 # 思路 ## 打包 - 考虑分包策略,包体太大加载速度慢且可能有无效的内存冗余,包体太小可能会频繁加载AB造成效率下降。核心思想是把用到的东西放在一起,通用 阅读全文
posted @ 2023-05-29 11:37 张宏港 阅读(192) 评论(0) 推荐(0)
摘要:# 代码参考 代码文件参考下述详解的类图,工程参考第零章工程说明 # 概述 在现代项目的开发中,通常会使用一些脚本语言来提升开发效率。现在使用最普遍的脚本语言是Lua,它可以大大方便我们开发业务模块,且可以在运行期快速编译,以及方便热更。在U3D中,lua作为脚本使用比较广泛,这里使用tolua方案 阅读全文
posted @ 2023-05-29 09:37 张宏港 阅读(73) 评论(0) 推荐(0)
摘要:# 代码参考 代码文件参考下述详解的类图,工程参考第零章工程说明 # 概述 在游戏项目中有很多资产如:预制体,图片,音频,Lua脚本,Shader等等。他们随打包放在用户的硬盘里。在游戏的运行过程中,需要对这些资产加载和卸载,资源管理模块负责做这些事情。 # 思路 - U3D会托管资产,也就是说资产 阅读全文
posted @ 2023-05-29 09:35 张宏港 阅读(268) 评论(0) 推荐(0)
摘要:# 代码参考 见工程MgrBase、GameManager等代码文件,工程参考第零章工程说明 # 概述 在游戏的项目中,有一些APP中阶段的转换节点,如:进入App,登录,切地图等。通常有一些模块只在某个阶段被使用,比如:在玩家登录后启动玩家资产管理模块,玩家切地图清理(或刷新)地图资源管理模块等等 阅读全文
posted @ 2023-05-29 09:24 张宏港 阅读(136) 评论(0) 推荐(0)
摘要:# 序言 前段时间拾起U3D时,重新看了一下之前的学习资料,整理成了一个demo。主要包含框架基本模块核心功能实现。 当然,这个小demo是我个人的学习和探索,如demo的中文解释,它是一个“原型”--既是它的优点,也是它的缺点。它并不是一个完整的框架,但包含其核心功能模块的实现思路,更加符合“新手 阅读全文
posted @ 2023-05-29 09:21 张宏港 阅读(169) 评论(0) 推荐(1)
摘要:概述 ET框架的消息机制贯彻始终,包含Entity消息(Awake,Update ...),自定义(Customer)消息,网络消息等。而ET系统的进程包含了客户端、Gate等各种类型的服务器,进程包含各种服务器客户端之间通过网络消息进行通信进行工作。 ET框架消息结构 结构图为了更加明确整体关系, 阅读全文
posted @ 2023-05-15 16:24 张宏港 阅读(2209) 评论(1) 推荐(3)
摘要:概述 ET框架很多地方都用到了异步,例如资源加载、AI、Actor模型等等。ET框架对C#的异步操作进行了一定程度的封装和改造,有一些特点: 显式的或者说强调了使用C#异步实现协程机制(其实C#的异步编程天生就能实现这种用法) 强制单线程异步 没有使用C#库的Task,自己实现了ETTask等类 实 阅读全文
posted @ 2023-05-15 09:23 张宏港 阅读(1070) 评论(0) 推荐(2)
摘要:概述 ET框架的ECS架构是从ECS原生设计思想变形而来的(关于ECS架构的分析可以参考跳转链接:《ECS架构分析》),其特点是: Entity:实体可以作为组件挂载到其他实体上,Entity之间可以有父子嵌套关系,和其他ECS架构一样,Entity只允许是纯数据的(除了基本接口) System:和 阅读全文
posted @ 2023-05-14 17:00 张宏港 阅读(2061) 评论(0) 推荐(1)
摘要:# 代码参考 代码文件参考下述详解的类图,工程参考第零章工程说明 # 概述 99.99%游戏甚至其他App都会有UI(UserInterface 用户交互接口),在比较复杂的UI系统中,为了方便开发和维护,通常会采用某些成熟的框架结构为主要指导思想进行开发,例如MVC、MVVM、MVP等等。在此项目 阅读全文
posted @ 2023-02-08 17:20 张宏港
摘要:概述 U3D提供了一套拓展编辑器的接口,可以用于直接在编辑器非播放模式运行程序。常用于运行一些工具程序,例如资源管理。在做技能编辑器等工具程序时,也可以使用运行模式接口会比较简单(这样也方便开放游戏创意工坊给玩家)。使用编辑器去做一些渲染相关的预览(如粒子系统,动画预览)会麻烦一点,有时候需要查询和 阅读全文
posted @ 2023-01-29 14:08 张宏港 阅读(1396) 评论(0) 推荐(1)