- 使用ecs
- 使用oop
- 使用ec
- 想使用ecs
- 觉得ecs难理解
0 投票者
0 投票者
ecs面试经常有人问
我只在确定有大量场景物体数量和类型的需求中,才使用ecs。
ecs开发就是爽,性能也高,唯一的缺点就是新人维护门槛高,没有oop容易接手,个人项目我用ecs,公司的就oop
想用ecs的,但是一个对象要几十个组件组成,要写几十个脚本,一个脚本就十几行,感觉好麻烦,有时候还会纠结这个组件是不是最小单元,要不要继续拆,对于新手简直是崩溃 
结构划分挺好的
解耦很好用
他处理大量同质化的物体时确实好
后期维护更新成本个人感觉会降很多很多
等你拆好之后,维护起来是真爽
没有固定,只看应用场景,超休就用oop,小游戏oop ec都可以 大一点的游戏就用ecs 再大一些的就是ui mvvm 逻辑ecs 网络mvc 没有最好的只有怎么用的舒服怎么来
小游戏就无所谓了,想怎么写都行
中型以上还是需要有个设计规范的
其实我只是好奇 COCOS本来就是个引擎了,为啥还要再找个包装引擎,也就是那点东西啊 资源管理 窗口管理,声音啊 场景转换啊 就算一个新手 自己做,也复杂不到哪里去啊 本来就是挺简单的事 结果又弄出来一个引擎,不嫌乱吗
这不是引擎,只是解决问题的代码组织结构而已
游戏引擎是预先编写好的软件框架,提供图形渲染、物理模拟、音频处理、脚本控制等核心功能,使开发者无需从零实现底层技术,而是专注于游戏逻辑与内容设计
上边的设计模式只是游戏逻辑层的代码组织方式
只需要考虑,这些组件/这个系统是处理这个功能就好了,它不一定非得是“最小”的
我想问下,怎么快速了解和使用这个 ecs 呢?感觉挺难的
ecs 给我的感觉相对复杂,其实是隐藏的概念比较多,如果仅仅是名字中E,C,S三个组件,是撑不起来这个系统的。如果需要满足大多数逻辑需求,就要引入很多隐藏(名字里面没有)的组件,这些隐藏组件每个框架还可能不同。
具体可以参考Bevy。比如说World,Archetype,Resource,Query等等概念。是隐藏在水面之下的大块冰山,不如OOP来的易懂。
感谢~!