Unity的“ MonoBehaviour组件”是否等效于Entity-Component-System设计模式中的系统?

问题描述 投票:2回答:1

我正在制作一个非常简单的2D游戏引擎,并且我正在重做我的实体以使其看起来像Unity的系统一样工作。我一直在研究实体组件系统设计模式(ECS)的工作方式,并且我开始对它有所了解。

据我了解,ECS中的component仅保存数据,除保留数据外无能为力。这些组件然后由systems使用,这些组件用于读取和操作其数据。

这引起我的疑问是,在Unity中附加到GameObject的MonoBehaviour脚本在技术上是否是系统,而不是在Unity编辑器中调用的组件?

[如果我弄错了,我认为分析ECS的真实实现将对我有所帮助。我使用Java进行编码,因此,如果有人拥有用Java或C#实现的ECS系统的任何示例,那将是非常不错的,因为我所看到的大多数示例都是使用C ++编写的,这对我来说很难理解。谢谢!

java unity3d components entity composition
1个回答
2
投票
[如果您想使用当前的Unity版本(2018.1及更低版本)并严格遵守ECS方法,我建议您研究Entitas and their Unity Plugin。您也可以选择结构化代码,资产和场景以符合ECS原则,但是Entitas非常高效,可以为您解决很多问题。
© www.soinside.com 2019 - 2024. All rights reserved.