Flecs轻量级实体组件系统

联合创作 · 2023-09-27 19:13

Flecs 是用于 C 和 C++ 的轻量级实体组件系统,有助于构建游戏等模拟场景。

Flecs 从一开始就以便携性为设计理念。它不仅可以在所有主要平台上运行,项目还可以将它与不同的编程语言一起使用。

实体组件系统 (ECS) 是一种组织代码和数据的方式,可构建更大、更复杂且更易于扩展的游戏。一般来说,以下内容被称为 ECS:

  • 具有唯一标识的游戏对象的实体
  • 具有可以添加到实体的数据类型的组件
  • 具有为匹配组件查询的所有实体运行的功能的系统

核心特性

  • 快速且可移植的零依赖C99 API
  • 不使用 STL 容器的现代类型安全 C++11 API
  • 第一个完全支持实体关系的开源 ECS !
  • 对层次结构和预制件的快速原生支持
  • 不到 5 秒即可构建的代码库
  • 无需使用 emscripten 修改即可在浏览器中运行
  • 缓存友好的原型/SoA 存储,每帧可以处理数百万个实体
  • 支持具有数百个组件的实体和具有数万个原型的应用程序
  • 跨共享库/DLL 开箱即用的自动组件注册
  • 使用查询编写免费函数或在系统中自动运行代码
  • 使用快速无锁调度程序在多个 CPU 内核上运行游戏
  • 在所有主要平台上的 8 个编译器上编译无警告,CI运行超过 5000 个测试
  • 带有JSON 序列化器的集成反射框架和对运行时组件的支持
  • 组件的单位注释
  • 强大的查询语言,支持连接和继承
  • 用于分析 ECS 性能的统计插件
  • 用于监视和控制应用程序的基于 Web 的 UI
浏览 9
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报