
Unity
文章平均质量分 67
cc_shan
用最优秀的代码去面对最优秀的人生!
展开
-
【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 · 546 阅读 · 0 评论 -
【DOTS】 01_生成cube并随机移动
4、创建ChangeCubeMoveDirSystem.cs,根据倒计时间隔,随机修改移动方向。1、构建一个CubeMoveAuthoring类,用于将数据拿进ECS。3、创建SpawnerObjSystem.cs用于生成Cube。5、创建CubeMoveSystem.cs让cube移动。十万个Cube,没使用job,能跑45~50帧。2、创建一些需要的ComponentData。原创 2023-12-07 10:51:36 · 356 阅读 · 0 评论 -
【DOTS】环境与配置
注意:Entities工程,需要使用URP或HDRP管线创建的工程。Unity 版本:2022.3.0 LTS。原创 2023-12-07 10:45:14 · 275 阅读 · 0 评论 -
【DOTS】Unity DOTS Entity常用组件类型说明
共享组件根据其共享值,将Entity分组到相同区块中存储,这有助于消除重复数据。Unity将具有相同共享组件值的所有Entity存储到一起,这将会删除Entity之间的重复值。可以创建托管或非托管的共享组件,他们有着同样的限制与优点。你可以在IComponentData和IBufferElement Data组件上使用enableable组件,在运行时禁用或启用实体上的各个组件。要使组件可启用,可以从IEnableable Component继承它们。原创 2023-12-07 10:35:54 · 1588 阅读 · 0 评论 -
【Addressable】关于开启ProfilerEvents后导致自动清理缓存报错问题
今天本来想看下加载的信息,开启了这个信息收集的功能,之后更新时报错,看了log并且打断点跟了下,发现是AA在执行清理缓存的Operation时,在任务完成时,先清理了持有的依赖的AsyncOperationHandle,然后又在基类的Complete方法中收集信息时,访问了其依赖的AsyncOperationHandle并递归访问其依赖的依赖,但由于其依赖已经被释放,无法访问到依赖的依赖,则抛出异常。...原创 2022-07-25 15:37:23 · 2270 阅读 · 1 评论 -
基于Addressable实现资源版本管理 (一)
文章目录前言一、资源版本管理二、清理缓存文件总结前言最近在学习Addressable相关的内容,大概翻了翻文档,也查阅了一大堆资料,对其算是入门了。这里记录一下遇到的坑和一些关键问题的解决方案一、资源版本管理addressable自身是没有版本管理这个概念的。官方提供了一个CCD的解决方案,可以直接进行版本管理,这里给一个链接:Unity官方CCD介绍那么我们如果要自己做一个版本管理,应该怎么做呢?这里不实际给代码了,只提供思路。首先我们需要一个版本号,这个版本号有以下作用:判断更新:原创 2022-03-16 22:58:02 · 3020 阅读 · 0 评论 -
浅谈Unity自带的单元测试工具 以及this关键字拓展方法
浅谈Unity自带的单元测试工具 以及this关键字拓展方法一、单元测试的定义与作用单元测试定义:单元测试在传统软件开发中是非常重要的工具,它是指对软件中的最小可测试单元进行检查和验证,一般情况下就是对代码中的一个函数去进行验证,检查它的正确性。一个单元测试是一段自动化的代码,这段代码调用被测试的工作单元,之后对这个单元的单个最终结果的某些假设进行检验。单元测试使用单元测试框架编写,并要求单元...原创 2019-12-03 17:12:02 · 1014 阅读 · 0 评论 -
代码结构及质量
代码结构及质量一、为什么要说说代码质量最近笔者在工作中遇到了一些小问题,先是同事一个一个离开,导致这个项目现在只剩我一个人。笔者很苦恼,也问过他们几个为什么离开,回答的大同小异,但是都提到了一个词:代码质量。对于刚刚开始工作的笔者并不是很了解这个词所代表的含义,同时心里还有很多疑问,代码质量怎么了?看起来也没什么问题啊。抱着这个心态,笔者又浑浑噩噩的过了2个月,依旧每日完成着策划给的需求,...原创 2019-12-03 17:09:32 · 197 阅读 · 0 评论 -
如何分析源码 (一)
如何分析源码一、系统先要会用,要搞清楚整个功能。直接看示例文件根据使用的API入手看看有什么属性,分析他实现的步骤及猜测确定功能相关数据结构查看模块的划分,猜测其每个系统的功能。建立宏观视角,不要直接陷进代码中,否则会花很长时间。序列化:反射显示、存储、数据->对象序列化根据模块去查看示例代码,并实现的效果记录Utils : 一般都是一些工具方法,是直接...原创 2019-12-03 17:06:04 · 1539 阅读 · 0 评论