ECS架构概述
ECS术语
实体Entity:像容器一样
组件数据Component Data:要存储在实体中的数据(不包括处理)
组件系统ComponentSystem:处理
组Group:组件系统运行所需的ComponentData列表
Unity官版ECS主要特征如下:
- 数据和行为分离
- 在通常的Unity开发中,我们会将Monobehavior组件挂载到一个Gameobjec上,而ECS中,则将设计为将组建附加到Entity上
- 使用一个池子(pool)来存放所有的Entity
- 可以给Entity设定分组(group)
- 通过matcher来获取指定的Entity
ECS与Unity的GameObject /Component相比,有一个稍微接近的地方。如果完全粗略地说明,则它与以下项目匹配。
Entity=GameObject
ComponentData =Component的字段
ComponentSystem =Component的Update方法
Group = 无
环境
需要环境如下:
- Unity 2018及以上,理论上2017的最后几个版本也可以,主要是要支持.net 4.6
- 安装ECS包
步骤
- 下载最新版Unity,建议官方下载
- 开Unity,新建一个项目:
- 进入Unity后,设置.net版本:依次点击File - BuildSetting - PlayerSetting - Other Setting - Scripting Runtime Version 设置为.NET 4.x Equivalent,会提示重启,点Restart重启Unity即可。
- 打开项目目录(即创建项目的文件夹),找到Packa