学习笔记
文章平均质量分 77
cc_shan
用最优秀的代码去面对最优秀的人生!
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
【Unity】对话与任务系统基础架构 (一)
本文介绍了剧情向RPG游戏对话与任务系统的架构设计。采用分层架构+事件驱动模式,分为UI层、管理层、逻辑层、数据层和存储层。系统遵循单一职责、开闭原则等设计原则,实现数据驱动配置和扩展性支持。文章分享了开发过程中遇到的事件监听管理、循环引用等问题的解决方案,以及性能优化考虑。该架构通过配置表管理和事件系统,实现了对话分支选择、任务链等核心功能,为剧情游戏开发提供了可扩展的基础框架。原创 2025-06-12 11:22:52 · 1284 阅读 · 0 评论 -
【DOTS】基于DOTS的BUFF系统实现
言归正传,想实现buff系统首先分析一下buff的定义,这样才能知道它需要实现什么功能。我对buff的定义就是,一个有生命周期、能触发事件的标记这里可以将一次攻击简单理解成 “给敌人上了一个buff,这个buff的效果是:在OnStart的时候对自身造成x点伤害,持续0秒”中毒的话,则是“给敌人上了一个buff,这个buff的效果是:持续10秒,每秒造成10点伤害” -,- 这是一个比较正常的buff了再比如减速buff:在OnStart时减少x点移速,OnEnd时恢复x点移速,持续10秒。原创 2024-01-04 23:02:31 · 696 阅读 · 0 评论 -
【DOTS】Unity DOTS Entity常用组件类型说明
共享组件根据其共享值,将Entity分组到相同区块中存储,这有助于消除重复数据。Unity将具有相同共享组件值的所有Entity存储到一起,这将会删除Entity之间的重复值。可以创建托管或非托管的共享组件,他们有着同样的限制与优点。你可以在IComponentData和IBufferElement Data组件上使用enableable组件,在运行时禁用或启用实体上的各个组件。要使组件可启用,可以从IEnableable Component继承它们。原创 2023-12-07 10:35:54 · 2009 阅读 · 0 评论 -
【Addressable】关于开启ProfilerEvents后导致自动清理缓存报错问题
今天本来想看下加载的信息,开启了这个信息收集的功能,之后更新时报错,看了log并且打断点跟了下,发现是AA在执行清理缓存的Operation时,在任务完成时,先清理了持有的依赖的AsyncOperationHandle,然后又在基类的Complete方法中收集信息时,访问了其依赖的AsyncOperationHandle并递归访问其依赖的依赖,但由于其依赖已经被释放,无法访问到依赖的依赖,则抛出异常。...原创 2022-07-25 15:37:23 · 2449 阅读 · 1 评论 -
浅谈Unity自带的单元测试工具 以及this关键字拓展方法
浅谈Unity自带的单元测试工具 以及this关键字拓展方法一、单元测试的定义与作用单元测试定义:单元测试在传统软件开发中是非常重要的工具,它是指对软件中的最小可测试单元进行检查和验证,一般情况下就是对代码中的一个函数去进行验证,检查它的正确性。一个单元测试是一段自动化的代码,这段代码调用被测试的工作单元,之后对这个单元的单个最终结果的某些假设进行检验。单元测试使用单元测试框架编写,并要求单元...原创 2019-12-03 17:12:02 · 1085 阅读 · 0 评论 -
代码结构及质量
代码结构及质量一、为什么要说说代码质量最近笔者在工作中遇到了一些小问题,先是同事一个一个离开,导致这个项目现在只剩我一个人。笔者很苦恼,也问过他们几个为什么离开,回答的大同小异,但是都提到了一个词:代码质量。对于刚刚开始工作的笔者并不是很了解这个词所代表的含义,同时心里还有很多疑问,代码质量怎么了?看起来也没什么问题啊。抱着这个心态,笔者又浑浑噩噩的过了2个月,依旧每日完成着策划给的需求,...原创 2019-12-03 17:09:32 · 229 阅读 · 0 评论 -
如何分析源码 (一)
如何分析源码一、系统先要会用,要搞清楚整个功能。直接看示例文件根据使用的API入手看看有什么属性,分析他实现的步骤及猜测确定功能相关数据结构查看模块的划分,猜测其每个系统的功能。建立宏观视角,不要直接陷进代码中,否则会花很长时间。序列化:反射显示、存储、数据->对象序列化根据模块去查看示例代码,并实现的效果记录Utils : 一般都是一些工具方法,是直接...原创 2019-12-03 17:06:04 · 1599 阅读 · 0 评论 -
学习笔记(三) 简单的状态模式&FSM有限状态机框架的实现(二)
之前发布的那篇博客可能说的并是不非常清楚,所以整理了一下,也参考了一些文档,于是又写了一篇总结。一、有限状态机FSM的要点1、拥有一组状态,并且可以再这组状态之间进行切换。2、状态机同时只能存在一个状态,英雄不能能同时处于跳跃和站立。而防止这一点就是使用FSM的理由之一。(类似于动画状态机)3、一连串的输入或事件被发送给机器。(这句话的意思就是,在使用的很多的情况下,要使用FSM状态机)...原创 2018-10-19 16:01:51 · 945 阅读 · 0 评论 -
学习笔记(二) 简单的状态模式&FSM有限状态机框架的实现
首先在我们讲我们的主角之前,先来看一张图。你的第一反应是什么?哇,好大一张蜘蛛网!而事实上它连蜘蛛网都不是。在制作游戏的过程中,动画是必不可少的东西,Unity的新版动画系统已经很好的帮我们解决了动画管理难的问题。但是它虽然方便了我们,但同样不可避免的出现了某种意外,也就是上面所示的“蜘蛛网”的状态。当然,虽然出现了这种情况,也并不是没有解决方案的,也就是我们接下来所说的FSM有限状态...原创 2018-10-19 12:58:02 · 1206 阅读 · 0 评论 -
学习笔记(一) 委托实现&消息中心
委托是什么&为什么要用委托?在游戏中,每一帧都会有很多的事件发生,例如地雷爆炸啦、增加金币啦,甚至玩家等级的提升、GameOver都属于某种事件的触发。很好,我们提到了触发。那什么是触发呢?从字面意思来看,触发就是触碰到了某个条件,将要发生某件事情。对了!将要发生某件事情!当我们达到了触发的条件而触发了某个事件之后,这个时候,事件就会被事件的监听者响应,从而去执行自己在这个状态下要...原创 2018-10-18 22:17:05 · 1355 阅读 · 1 评论
分享