Являются ли компоненты MonoBehaviour Unity такими же, как системы в ECS? - PullRequest
0 голосов
/ 01 июня 2018

Я работаю над созданием очень простого 2D игрового движка, и я нахожусь в процессе переделывания своих сущностей, чтобы они работали подобно системе Unity.Я проводил исследования о том, как работает ECS, и я начинаю понимать это лучше.

Как я понимаю, компонент содержит только данные и не может ничего делать, кроме как сохранять эти данные.С другой стороны, системы используются для обработки этих данных.

Мой вопрос заключается в том, являются ли сценарии MonoBehaviour, прикрепленные к GameObject в Unity, технически системами, а не компонентами, как они вызываются в редакторе?

Я пишу код на Java, поэтому, если у кого-то есть примеры систем ECS, реализованных на Java или C #, это было бы здорово, так как большинство примеров, которые я видел, были на C ++, что немного сложнее длямне понять.
Спасибо!

1 Ответ

0 голосов
/ 01 июня 2018

Unity не работает строго через ECS, несмотря на использование термина «Компонент».Компонент Unity в форме MonoBehaviour может иметь как данные, так и системную логику. В будущих версиях Unity будет внедрять модель ECS .

Если вы хотите использовать текущие версии Unity (2018.1 и ниже) и строго придерживаться методологии ECS, ясоветую заглянуть в Entitas и их плагин Unity .Вы также можете структурировать свой код, ресурсы и сцены в соответствии с принципами ECS, но Entitas очень эффективен и решает множество проблем для вас.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...