- 博客(21)
- 资源 (1)
- 收藏
- 关注
原创 Unity通用Buff系统,Buff编辑器(1,理论篇)(技能系统之Buff篇)
逻辑层根据游戏的规则和设计,控制Buff的生命周期、影响目标对象的属性或行为,以及处理Buff的交互和冲突。Buff堆叠和冲突:有些游戏中允许同类型的Buff叠加,以增加效果的强度,而有些游戏中可能不允许Buff叠加,只能由更强力的Buff来覆盖较弱的Buff。灵活个性化:每个游戏对象拥有自己的BuffManager,可以实现个体对象的独特Buff效果,增加游戏的多样性和个性化。自由控制:每个对象独立管理自己的Buff,可以自由地激活、更新和移除Buff效果,提供更精细的控制和逻辑实现。
2024-04-01 18:56:30 2381
原创 最浅显易懂的 Unity 八叉树场景管理(保姆级)
Unity 中使用八叉树进行场景管理通常用于优化游戏的性能。八叉树是一种树状数据结构,可以将三维空间分割成八个等分的立方体,每个立方体可以继续进行递归分割,直到达到某种条件为止。在游戏中,我们可以使用八叉树来管理场景中的物体,以便更高效地进行碰撞检测、视图裁剪和其他空间相关的操作。八叉树常用于场景管理的性能优化。还需要配合如批处理、静态/动态合并、LOD等技术来提高游戏的性能。Unity 八叉树场景管理。
2023-12-06 20:39:51 2407 3
原创 游戏设计之 反馈系统
人类在大多数情况下,都有自我实现的欲望。我们想要获得别人的认同,想要通过自己的努力实现自己的目标。在这一过程中,我们的心理期望、成就感、虚荣心都起着重要的作用。具体到游戏设计中,设计师需要真正理解玩家的这些需求,并以此为出发点来设计游戏内容和机制。只有当玩家在游戏中得到了满足,他们才会对游戏产生持久的兴趣。其次,反馈机制也是非常关键的一环。有效的反馈可以让玩家感受到自己的成就,从而有更强的驱动力去继续游戏。而这些反馈不仅仅是简单的奖励,更重要的是让玩家感觉到他们的努力被看到,他们的改变得到了认可
2023-11-03 14:33:59 655
原创 快速构建卡牌游戏服务器(Akka.net集群)2
Akka.NET 集群是 Akka.Actor 框架的一个扩展,用于构建分布式应用程序和系统。:Akka.NET 集群提供了一种容错机制,当有节点宕机或出现网络故障时,系统可以自动恢复并重新分配工作负载。它使用一组互相通信的节点来处理请求,并且会根据节点的状态和可用性自动重新分配工作负载,确保系统在某个节点故障时仍然可用。数据一致性:Akka.NET 集群使用分布式一致性算法来确保在多个节点之间的数据保持一致。这使得系统能够随着需求的增长进行水平扩展,以处理更多的请求并提供更好的性能。
2023-10-30 14:22:33 300 1
原创 使用Lua实现带有文件名和行号的日志输出功能
日志输出类,支持四种日志级别:ERROR、WARN、INFO和DEBUG。在输出日志时,它不仅能够记录日志内容,还能记录输出日志的文件名和行号,方便程序员快速定位问题。此外,该代码支持自定义日志标签和输出格式,提高了代码的可扩展性和灵活性。这个日志输出类可以被其他Lua文件轻松引用,通过调用相应的日志输出函数来输出不同级别的日志。该代码是一个实用的工具类,可帮助程序员快速定位问题,提高程序开发效率。unity 环境运行测试。欢迎转载,请标明出处.
2023-03-31 02:58:14 1119
原创 Lua 实现Queue LuaQueue Lua队列 Xlua队列
该类支持 Enqueue 和 Dequeue 操作,用于将元素加入队列尾部和从队列头部取出元素;支持 Peek 操作,用于查看队列头部的元素,但不从队列中删除;支持 Clear 操作,用于清空队列;支持 Count 和 isEmpty 操作,用于获取队列中元素的数量以及判断队列是否为空。操作,用于查看队列头部的元素,但不从队列中删除;该类支持 Enqueue 和 Dequeue 操作,用于将元素加入队列尾部和从队列头部取出元素;操作,用于获取队列中元素的数量以及判断队列是否为空。
2023-03-30 23:38:35 906 1
原创 Xlua List LuaList
list类是一个基于lua语言实现的动态数组类,可以像C#中的list类一样动态地添加、删除元素,还可以获取列表的长度,以及按照索引访问元素。list类的实现基于上面我们写的class类,利用了table作为底层数据结构,对外暴露了一些基本的操作方法。使用list类,我们可以轻松地创建一个动态数组,并对其中的元素进行增删改查等操作。
2023-03-30 23:34:05 310
原创 unity Xlua OOP Lua面向对象编程实现 Lua Class
此文 class 类是基于 Cocos2d-Lua 中的 class 类的实现,它为 Lua 提供了面向对象编程的支持。通过 class 类,我们可以定义一个 Lua 类,包含成员变量和成员函数,并且可以实现类的继承和构造函数等特性。此外,该 class 类的实现还支持多重继承、方法重载和元表等特性,为 Lua 编程提供了更加灵活和强大的功能。使用该 class 类,开发者可以更加方便地编写可维护、可扩展和易于调试的 Lua 代码,同时也有助于提高程序的运行效率和性能表现。
2023-03-30 21:40:40 288 1
原创 Xlua 消息管理器 消息机制 消息派发 分组消息 高新能消息管理
一个基于lua现消息派发的示例,支持消息分组、监听消息、移除一个分组的全部消息监听
2023-03-30 21:25:53 148
原创 Unity 移动端性能优化:如何让游戏在手机上运行更加流畅?
如同冶炼一般,它需要耐心的等待与精心的设计,需要不断的磨砺与调整,才能让游戏在无尽的代码丛林中脱颖而出,焕发出最耀眼的光芒。性能优化,是游戏开发者们的一曲华丽乐章,是游戏的灵魂之花,在优化的道路上,我们不断寻找着最优秀的代码实现,追求着最高效的算法逻辑,让游戏在每一帧中呈现出最完美的画面和流畅的操作,让玩家们在游戏的世界中畅游无阻,感受到最真实的快感和满足感。性能优化,是游戏开发者们追求卓越的信仰,更是游戏开发的核心之一。
2023-03-28 23:29:38 1014
原创 Unity 顶点着色器保姆级讲解
本文详细介绍了顶点着色器的概念、优缺点以及在 Unity 中实现布林冯光照模型的示例代码。其中,顶点着色器是图形渲染管线中的一部分,用于对每个顶点进行操作和变换。它的优点包括高灵活性、高性能和支持硬件加速,但也存在一些缺点,如难以调试和复杂性较高等。在 Unity 中,可以通过编写顶点着色器来实现各种复杂的图形效果,包括光照、变形、骨骼动画等。本文以兰伯特光照模型为例,给出了实现该模型的顶点着色器代码,并详细解释了其中的各个部分的含义和作用。
2023-03-25 17:47:01 3063
原创 unity Shader常用语义保姆级解释
本文介绍了 Unity 中表面着色器中常用的语义,包括 POSITION、NORMAL、TEXCOORD 等,并且结合示例代码详细解释了它们的作用和意义。文章重点介绍了在表面着色器中使用法线和纹理坐标的方法,并且展示了如何将法线向量从世界空间变换到切线空间。这些技术是实现高质量的渲染效果所必需的基础知识。
2023-03-25 16:08:54 1007
原创 Shader的基本结构讲解
在这个示例中,我们把它命名为“Custom/SimpleShader”,并定义了三个属性:一张名为“_MainTex”的纹理,一个名为“_Color”的颜色和一个名为“_Speed”的范围(Range)。在这个函数中,我们使用了_MainTex纹理和_Color颜色来计算表面的漫反射颜色,然后使用_UnpackNormal函数从法线纹理中获取法线。}: 定义了着色器的子着色器,这个子着色器的Tag定义了绘制顺序和渲染类型。FallBack: 定义着色器在硬件不支持时的回退方案,默认为Diffuse着色器。
2023-03-24 13:35:31 225
原创 unity屏幕渐变黑白效果
最终效果Shader "Hidden/屏幕黑白"{ Properties { _MainTex ("Texture", 2D) = "white" {} _bwBlend("_bwBlend",Range(0,1))=0 //混合系数 } SubShader { // No culling or depth Cull Off ZWrite Off ZTest Always P
2022-04-27 12:28:04 1290
原创 Unity_渲染_灯光_前向渲染
这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Mar
2022-04-26 17:14:22 2334
翻译 架构的意义
题记:近日拜读陆泽西的书,颇有感悟.一些是我对书中内容的理解感悟和提炼1.承载力 书架上能放多少东西,能放多重的东西,是使用者(这里使用者可以为客户、玩家或程 序员)网注的问题。 果构的程序意义来说,一个架构能承载多少个逻辑系统,当代码行数扩展到100 万行时是否依代 够有序且规范地运行,以及程序员彼此工作的模块耦合度是否依然能保持 原来的设订婴求,能够承载多少个程序员共同开发,共同开发的效率又如何,这是对软件架构承载力的评定指标。 从架构的目标上来看、对于服务器来说,当前架构能承受多少人同时访问,
2022-04-26 17:06:09 829
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人