笨木头与游戏开发
只有你足够强,别人才会和你讲道理。
文章:
280
浏览:
2,956,226
博主:
笨木头
关注:
Unity、Net Core、Blazor
邮箱:
musicvs@163.com
首页
|
留言
分类目录
其它
Cocos2d-x
创业路
Android
LGame
C++
Unity3D
近期评论
Cultist
在
留言...
回复给
迷途的老菜鸟
多谢,这个好啃多了...
迷途的老菜鸟
在
留言...
回复给
笨木头
谢谢大佬的分享,可以学到很多...
笨木头
在
留言...
回复给
迷途的老菜鸟
哈哈,没有更好玩的,就是做其他领域的开发去了。...
迷途的老菜鸟
在
留言...
所以笨木头大佬现在研究啥了? 不做游戏开发,还有更好玩的?...
笨木头
在
[笨木头“创2”路]No.10...
回复给
kkk
唉,我这不知道咋的,年龄越大,感悟越少,都不知道写点什么好...
kkk
在
[笨木头“创2”路]No.10...
一年了,年更博主该更新了...
[Unity ECS入门]13.结束
笨木头 2019-12-05 14:33
ECS入门
阅读
(8878)
评论
(20)
转载请注明,原文地址:
http://www.benmutou.com/archives/2843
文章来源:
笨木头与游戏开发
关于Unity的ECS,可能大家还有很多疑惑,是的,我也是。
但是,通过这12篇教程,大家多多少少对ECS是有了解的,在这个基础上,大家再去看官方手册,就会轻松很多。
当然,就这12篇教程所学到的东西,是完完全全不能用于实战的。
但是,没办法,我必须停止更新教程,因为,我自己还没有真正用ECS实战过,我也还有很多疑惑。
未来,如果有机会的话,再和大家分享进阶的教程。
这里稍微总结一下ECS的思维。
1.
纯(
Pure
)
要记住,ECS就是角色分明,组件就是组件,实体就是实体,不要混用。
组件就是存储一些字段;实体就是包含了很多组件,代表了一种实际存在的对象;系统就是负责处理各种逻辑。
2.
并行
其实,ECS很多复杂的东西都是因为需要利用多线程导致的。
如果你不喜欢处理那么多复杂的事情,那么,最简单的使用方式就是j继承ComponentSystem:
这样的话,逻辑都在主线程里,非常简单。
但,如果想要享受ECS带来的性能提升,那就不得不考虑并行的问题。
比如,最需要记住的就是,对实体的新增、删除,对组件的新增、删除,都需要利用EntityCommandBuffer来延迟执行。
这也是我们要转变思维的重要一步,时刻记住——并行。
3.
查询数据
ECS看起来,似乎一直都在查数据、改数据,所以,弄清楚EntityQuery的用法吧,很重要。
另外,IJobForEach、
IJobChunk
等各种Job,需要根据实际情况使用,如果你不知道该用哪个,那就先用IJobForEach。
4.System
的执行顺序
某些时候,两个System的先后顺序很重要,所以别忘了这件事。
5.
组件类型
组件分为普通组件、共享组件、系统状态组件、系统状态共享组件、Buffer组件,在刚开始的时候,选择使用普通组件即可,当你觉得普通组件无法满足要求的时候,你自然会关注到其他组件。
6.
更多的疑惑
我个人还有一些疑惑,比如UI事件怎么和ECS配合、状态机等常用的模式在ECS中如何实现等。接下来我会去解决我的这些疑惑,如果有机会和精力的话,再和大家分享吧。
大家也不要就此止步,我的教程只是九牛一毛,还请各位继续学习其他教程。
1
上一篇
[Unity ECS 入门]11.更多组件类型
下一篇
【守护裙子01】 16岁少女变成男孩后被暴揍一顿
20 条评论
nian
2023-11-07 10:19:42
大佬,前12篇教程怎么都不见了啊
0
回复
博主
笨木头
2023-11-09 08:36:58
我这边看到都还在,是不是我博客卡了,没刷出来,你再看看:http://www.benmutou.com/archives/category/ECS%E5%85%A5%E9%97%A8
0
回复
LZX
2023-09-13 17:26:03
大佬的教程是我目前看过的最通俗易懂的了!
0
回复
博主
笨木头
2023-09-21 11:33:35
哈哈,谢谢认可
0
回复
晓声
2022-09-29 10:08:43
亲,dots1.0发布了,要不要再出个攻略呢嘿嘿
0
回复
博主
笨木头
2022-09-30 09:01:22
我都想骂人,哈哈,这么多年才出。
我们公司估计不会用Unity了,一方面是我的技术早就落后了,另一方面,我们毕竟不是游戏公司,用Unity的话,未来只有我能维护。
目前考虑用Blazor,我们只是一些简单的小游戏、小玩意。
0
回复
LZX
2023-09-13 17:25:08
从今天的公告来看(Unity表示超出阈值部分的营收和安装数收费),真是先见之明啊!!!
0
回复
博主
笨木头
2023-09-21 11:35:03
我也是万万没想到Unity会这么玩,虽然现在好像改规则了,但...这世界还是挺神奇
0
回复
唐宇
2021-07-04 15:03:21
终于看完了 对ecs有了点理解 熟能生巧 慢慢使用
0
回复
LPLaser
2020-09-06 18:04:28
谢谢老板的教程 非常有帮助啊
0
回复
博主
笨木头
2020-09-07 09:18:40
有帮助就好~
0
回复
liu tiangang
2020-09-06 16:26:17
看过楼主的Cocos教程,虽然没看完(狗头),但是找了几篇DOTS教程发现木头果然很笨,不然像我这样很笨的人怎么也会收获良多
0
回复
博主
笨木头
2020-09-07 09:18:20
哈哈哈,是的,我特别能体会什么都不懂的心情,所以写的教程会仔细一些,有些能一笔带过的知识,其实都是研究了好久的
0
回复
绯の羅賽莉娅
2020-05-22 09:55:29
终于有能让我看懂的教程了(狗头)一键三连
0
回复
尼尔
2020-03-08 15:54:22
很细致的分析,赞
0
回复
ghostking
2020-03-01 22:21:11
非常好。得到很多启发。感谢
0
回复
sneaking
2019-12-19 18:24:17
我觉得这个教程是入门里面讲的最好的, 希望博主继续写一个游戏实战的教程.
0
回复
博主
笨木头
2019-12-20 08:04:12
谢谢认可,实战教程的话,得我自己经历了一段时间实战后才有机会出了,目前公司还在等Project Tiny的正式版。
0
回复
WangTaL
2022-10-04 21:49:16
最近也在踩坑ProjectTiny0.32来玩玩,功能是够用了,而且打出来的包很小,挺不错的。不过正式版估计是不用等了,最近出了DOTS1.0,也还是跟GameObject混合开发的,打出来的包会大很多。Tiny是构建在DOTS之上的,除非DOTS可以纯DOTS开发了,Tiny才可能出正式版,挺期待的。不过到时可以纯DOTS开发了,估计也不用Tiny这个包了
0
回复
博主
笨木头
2022-10-05 18:17:14
哎,这个Tiny实在是憋太久了。我很久没关注了,如果能不用Tiny包,又可以生成Html包,那也挺好的,之前一直觉得重新搞一套,太浪费Unity3D现有的功能了
0
回复
发表评论
发表评论
粤ICP备16043700号
本博客基于
Blazor
和
Ant Design Blazor
开发