找回密码
 立即注册
搜索

[代码插件] Apparatus 1.9.1 数据驱动ECS工作流插件

[复制链接]
289 |0
发表于 2022-11-9 11:53:29 | 显示全部楼层 |阅读模式
本帖最后由 阿拉丁神经 于 2022-11-9 11:59 编辑

支持的引擎版本UE4.26-4.27,5.0


Apparatus ECS supports the Unreal Engine 5 version day one! Go true next-gen, go data-driven NOW!

Also take a look at our newest multi-threaded 100 000 Paper Planes Demo. More eye candy to come!


Have you dreamt about developing your Unreal games ECS-style? The data-driven workflow has finally arrived to Unreal Engine in its full versatile glory. Introducing – the Apparatus!


LATEST NEWS

In-Editor dumping capability of the subjects. Capture the state of the game for an advanced inspection.


FAQ

Is this a real ECS or some hack, emulation, limited implementation?

This is a full-featured ECS implementation with cache-friendly memory model implemented.


Is it C++-only or Blueprint-only implementation?

It supports both, wholeheartedly.


Is it some kind of port of the other library?

No. The framework is designed and written from scratch with Unreal Engine in mind and is using its whole infrastructure of available APIs, reflection system, Editor, etc. The legacy of the tool goes as far as of 2019.


I've heard Unreal Engine is not suited for ECS and has to be refactored to make such functionality even possible.

Unreal Engine has enough features already built in. You just have to go low-level, have enough expertise and a good design to implement the feature.


Is the source code provided?

This is a commercial sources-available initiative, much like Unreal Engine itself is.


Is it compatible with other Unreal Engine systems like Animation Blueprints, Behavior Trees, Niagara?

Yes.


How fast is it?

Yes. All sorts of optimizations, lookups, packing and caching are used. The Blueprint frontend is pushed to the limits with of what can be achieved within UE's VM. C++ base is 90% header-only for the most performant compiler output. With the current feature-set implemented, we don't even know what else to improve performance-wise. Maybe we'll introduce more faster-less-safe APIs in the future and provide additional iterating contexts.


Is this some kind of experimental package. How stable is the codebase?

The tool has already passed quite some iterations and is regularly being tested with our own automation suite and projects. Consider it utterly ready for production. Feel challenged to find any behavioral issues within our runtime, please.


Is multi-threading supported?

The implementation contains a unique and profound concurrent processing support and is effectively parallelized via tasks. Topology-changing operations are compatible through the deferring .


Is it Network-Replicated?

The framework is network-ready. Our tech already provides the necessary means for exchanging the data between the entities in a robust and secure way.


TERMINOLOGY

We provide all of the ECS idioms and even more. Being unambiguous and self-sustained, the framework uses its own naming scheme. Here is the list of the analogs:

Entity – Subject(tive)

Component – Trait, Detail

System – Mechanic

Archetype – Fingerprint

Query - Filter

Chunk – Belt, Chunk


GOALS

We strongly believe in the profound data-driven workflow and use it in our own studio projects. That's why we created Apparatus. The story behind it is quite long of almost 1,5 years of research, active prototyping, development, profiling and tests. The first of its iterations were developed for a whole different technology stack, but after some long days and nights of work, we are thrilled to present it to you – the Unreal Engine Community!


The current sample project, while having quite a broad functionality scope, can be considered a basic demonstration of the technology and some more complex examples are due to come in the near future. The Apparatus itself is thoroughly tested and fully production-ready. Don't hesitate to contact us for any assistance possible as we strive do deliver the most comprehensive and feature-rich experience.


Technical Details

FEATURES

A complete native Unreal Engine integration of the data-oriented paradigm. Both C++ and Blueprint development is supported. Seamless Editor functionality.

Performance-targeted GC-less linear data of structs or high-level components with inheritance support (or even both).

Semantically-safe multi-threading support with deferred operations.

Versatile including and excluding subject filtering.

Multiple details of the same type on a single subject are allowed. All of the available detail combinations are processed.

Secure built-in networking functionality with a laconic API.

Dedicated user experience touches for some clear reading, validation and overall ease of use.

Many performance optimizations: caching, fast bit-array lookups, cache-locality, etc.

Thoroughly documented API with a dedicated manual.

MODULES

ApparatusRuntime

ApparatusUncooked

ApparatusEditor


仪器ECS支持虚幻引擎5版本一天!真正的下一代,现在就去数据驱动!

还可以看看我们最新的多线程10万纸飞机演示。还会有更多的花瓶出现!

你是否梦想过以ecs风格开发你的虚幻游戏?数据驱动的工作流终于到达了虚幻引擎的充分的多功能荣耀。介绍-仪器!

最新消息

主题的In-Editor转储能力。捕捉游戏的状态以便进行高级检查。


术语

我们提供所有ECS习惯用法甚至更多。由于明确和自我维持,该框架使用自己的命名方案。下面是一些类似的例子:

实体-主语(tive)

成分-特征,细节

系统-机械师

原型-指纹

查询-过滤器

Chunk -皮带,Chunk


目标

我们坚信深刻的数据驱动工作流,并在我们自己的工作室项目中使用它。这就是我们创造Apparatus的原因。它背后的故事相当漫长,经历了近1.5年的研究、积极的原型、开发、分析和测试。它的第一个迭代是为一个完全不同的技术堆栈开发的,但经过一些漫长的日夜的工作,我们兴奋地向您介绍它-虚幻引擎社区!

当前的示例项目虽然具有相当广泛的功能范围,但可以被视为该技术的基本演示,在不久的将来还将出现一些更复杂的示例。仪器本身经过彻底测试,完全可以生产。不要犹豫联系我们,为任何可能的帮助,因为我们努力交付最全面和功能丰富的体验。


技术细节

特性

一个完整的原生虚幻引擎集成面向数据的范式。支持c++和Blueprint开发。无缝编辑器功能。

具有继承支持(甚至两者都有)的结构或高级组件的性能目标GC-less线性数据。

具有延迟操作的语义安全多线程支持。

多功能包括和排除主题过滤。

同一个主题上允许有多个相同类型的细节。处理所有可用的细节组合。

安全的内置网络功能与简洁的API。

专门的用户体验触及一些清晰的阅读,验证和整体的易用性。

许多性能优化:缓存、快速位数组查找、缓存本地等。

完整的API文档和专用手册。

模块

ApparatusRuntime

ApparatusUncooked

ApparatusEditor





回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表