最近在做帧同步,卡住了,所以先得搞个ECS,分享一下

理论就不在这里多说了,因为我不懂

哥年初时,曾经也基于UNITY2019.3,做过一个ECS项目,真的是官方说的高效,可扩展的优点没尝到,卡爆,卡EDITOR,版本不兼容的缺点到是先踩到了,那个项目实在太烂也没在这里分享

(针无两头利,这些年OOP凭借可扩展性,可重用性,可阅读性,但肯定是不高效的,也经过广大程序员实践,卖相对象现在实实在在的站稳了C位,有点高处不胜寒,居然被一个失败的暴雪公司,失败的游戏《》鼓吹一下,就让很多程序员“动摇”了??)

其实想用ECS前,真的要问自己,这到底是一个模式?一个框架?一个系统?还是一个什么东东

现在这里分享一个基于非官方的Entitas的简单项目

有几点,还是得多说一下

1.纯的面向对象不存在,纯的MVC也不存在,所以纯的ECS也不会存在

2.ECS肯定和面向对象不同,所以肯定就必须和原来GameObject, Inspector,EditorWindow要完全切割

3.和MVC一样,ECS要写的好,必须先命名好(因为他是松耦合的)

4.由于原因3,所以很多VISUAL STUDIO的特性和代码定位,用不了,代码阅读习惯也要改

5.由于原因4,所以要用好ECS需要“很高”的程序素养

6.由于原因5,虚幻4是牛逼,但是请不到人啊,所以你也别想很容易请到ECS的人

====================================================================

看了这么多,如果你还是想为了用而用,可以下载这个项目看看

项目里,用到了基本component, system, systems, (其实entity真没用到)

还最好必须掌握的C#知识点(大部分没实现,后续开发会补上,但如果真能全掌握,就无所谓什么ECS了,无论什么结构,什么框架,主城还是第三方公司写的代码你都能搞定,C#的客户端还是服务器也都能搞定)

  • 多线程
  • LINQ
  • Service
  • 继承和多态和接口实现
  • Entitas.Game标签

项目的关键是,Entitas框架提供的Editor工具,新建,或新定义Component后,记得用ENTITAS提供的代码自动生成工具,Generate一下,

(这个和tolua相同,而且和tolua一样,如果ECS用不好,该有的死循环会有,该有的各种松耦合报错也不少)

**突然想到。。。。TOLUA能热梗,这个ECS囧膜热更???

真Unity3d_分享一个ECS源码

** 最终的一些非官方”视图“也是有莫有样,官方的实在不敢恭维。。。。。但最终又绕来绕去,回原点???

真Unity3d_分享一个ECS源码

反正ECS就是入门点有点难找,而且易学难精

项目下载地址:

。。。

 

 

 

 

相关文章: