浅谈实体组件模式
...
xLua知识点总结
前言本篇整理了xLua的一些重要知识点,画了思维导图,方便记忆和回顾。 代码热更新热更新是指在不需要重新编译打包游戏的情况下,在线更新游戏中的一些非核心代码和资源,比如活动运营和打补丁。代码热更新实际上也是把代码当成资源的一种热更新,代码热更主要包括Lua热更新、ILRuntime热更新和C#直接反射热更新等。目前大多采用更成熟的、没有平台限制的Lua热更新方案。而近年来,ILRuntime 和 HybridCLR 等基于 C# 的热更新方案逐渐流行。这些方案支持直接使用 C# 进行热更新,避免了 Lua 和 C#...
Lua重要知识点总结
前言本篇文章主讲三个方面:Lua的性质,Lua的基础理论和重要知识点。尝试言简意赅的呈现各个模块的知识点,并且把一些平时开发可能不会注意到的地方呈现出来。 Lua的性质Lua的设计目的Lua是一种轻量小巧的脚本语言,用标准C语言编写并以源代码形式开放,从一开始就把轻量化,可移植性,可嵌入型,可扩展性等作为自己的设计目标,作为胶水语言来辅助像是C,C++这样的主角来更好地完成工作。 特性轻量型非常小的尺寸,5.1版本的压缩包仅有208KB,解压后也不过是835KB,Lua解释器只有17000多行的C代码,编译后二级制库文件仅有143KB。 可移植性使用clean C...
2024年度总结
前言“写一篇年终总结”,去年虽已有了这个想法,一旦下笔虽是思绪万千却不知所语。今年阅历和见识兴许也增加了几分,加上博客也算是搭建起来了,怀揣着过往的遗憾,历经的回忆,自我的审视以及未来的期待,想着在此写下2024的总结。 技术今年作为一名UI仔主要还是对UI方面业务逻辑和性能优化的研究和拓展,以及对GF部分功能模块的一个研究总结(更新ing)。将写笔记位置从Notion也逐步转移到博客上面,尝试用向别人解释的角度去阐述自己想要表达的知识点,这种感觉要“麻烦”很多,主要体现在两个方面: 表达的方式。因为在写的时候要不断地从自己和读者的视角来回切换,并且注意自己的表达方式不要让人产生误解。是否把简单的东西讲的冗余了呢,是否把该详尽的东西给省略了呢,在时间和精力受限的情况下能否把我想表达的东西表达清楚呢以及我了解到的和我想要表的东西是否存在错误的地方呢,这些都需要进行考虑。从目前的结果上回过头来审视一下自己,只能说缺乏经验以及还有很大进步空间。 研究的深度。“把复杂的事情说明白了,才能融会贯通,才能提高档次,不然我把代码给GPT转出来一个也是文章”...
UGUI基础理论和性能优化
前言这里将从讨论UGUI的基础理论,并从中得到可能影响性能的因素并针对这些因素进行优化这三个方面展开。 UGUI基础这里将讲述简单说明几个基础知识要点。核心内容来自Unity官方文档,翻译参考了花卷。 Canvas基本功能逻辑 Canvas被Unity渲染系统用于渲染几何体在游戏世界空间中。负责把它包含的Mesh(网格)合成批处理(合批),生成适当的渲染命令(Draw Call)并将它们发送到 Unity 的图形系统。这个过程称为ReBatch(重建批次)或者Batch Build(批处理构建)。当前Canvas被标记为包含需要Rebatch的几何体时候,该Canvas会被标记为Dirty。 Canvas中几何体数据的通过Canvas Renderer组件进行传递。 父Canvas和其子Canvas除了父Canvas的改变导致子Canvas的大小发生变化的情况,不同的Canvas之间是互不影响的。 Graphic基本功能逻辑Graphic类是 Unity UI C# 库提供的基类(Base Class)。它是所有为 Canvas 系统提供可绘制几何图形的 Unity UI...
GameFramework解析:资源(Resource)
前言资源这个模块有太多太多的东西,一开始我也想过把这个模块完完整整的去做一下详解,把每一个小模块都拿出来说一下,但这玩意要写的话,能说的地方和能讲的拓展实在太多了,以及伴随着工作上事情的越来越多,这个文章应该会逐步采用逐步更新的方式。 先来看一下GF官方的说明: 为了保证玩家的体验,我们不推荐再使用同步的方式加载资源,由于 Game Framework 自身使用了一套完整的异步加载资源体系,因此只提供了异步加载资源的接口。不论简单的数据表、本地化字典,还是复杂的实体、场景、界面,我们都将使用异步加载。同时,Game Framework 提供了默认的内存管理策略(当然,你也可以定义自己的内存管理策略)。多数情况下,在使用 GameObject 的过程中,你甚至可以不需要自行进行 Instantiate 或者是 Destroy...
GameFramework解析:数据表(DataTable)
前言曾经听过这样一个故事,貌似在某个项目,某位程序大拿在项目中引入的导表工具不支持策划在Excel表中写入任何的中文,自然每张表中就没有策划任何的中文注释,程序的使用也是见招拆招,最终形成了一道天然的“防护壁垒”。最后拍拍屁股走人,可谓前人栽树后人遭殃,直到后面得遇高人,才使得配表这个功能幽而复明,回到正轨。开个玩笑,让我们进入正题。游戏开发中数据表是策划控制游戏各项功能实际运行的重要工具,是连接策划和程序的桥梁。它存储和管理者游戏中的各种数据,通过改表就可以对游戏中的各项数据和功能进行修改,提高了游戏设计和功能的可拓展性和灵活性。来看一下官方的定义: 可以将游戏数据以表格(如 Microsoft Excel)的形式进行配置后,使用此模块使用这些数据表。数据表的格式是可以自定义的。 导表流程这里的导表可以分为两个阶段来说,一是生成数据表DR类,二是读取数据表里面的数据并提供给其他模块使用。 生成数据表DR类 接下来就其几个流程进行单独的说明。 GenerateDataTables:点击Unity自定义选项中的”Generate...
GameFramework解析:全局配置(Config)
GF里面的全局配置并不是指的一般意义上的数据表,全局配置表的格式不能随便自定义,它的格式必须与当前的ConfigHelper里面写定的解析格式保持一致