Как я могу добавить пользовательское поведение, используя чистый ECS (Entity Component System) в Unity? - PullRequest
0 голосов
/ 31 декабря 2018

В настоящее время мы делаем игру своей мечты с тысячами быстро умирающих зомби.Проблема в том, что мы делаем это для мобильных устройств.

Гибрида ECS недостаточно, потому что даже 100-200 низкополигональных зомби слишком тяжелы для рендеринга даже после окончательной оптимизации.

Решение - использованиетолько чистый ECS.После этого урока я могу порождать 2-3 тыс. Зомби на 40-50fps на младших устройствах.

Но я застрял при добавлении поведения.Я просто не могу добавить его на каждой сущности.Получив это руководство в качестве примера - как добавить пользовательское поведение, такое как AI-скрипты / системы для каждого куба?

Я пытался добавить «system» в него, но он применяется только к GameObject, который вы используете для получения копий.

PS Я не хочу использовать внешние каркасы ECS, потому что в будущем встроенная ECS Unity станет окончательным решением «из коробки».

1 Ответ

0 голосов
/ 14 января 2019

Ты не.С Unity ECS вы регистрируете системы.Системы работают на объектах, к которым прикреплены определенные компоненты.Например, вы можете создать систему, которая обрабатывает всех зомби (например, все сущности с компонентом "зомби") и выполняет для них некоторую логику в каждом тике.Хитрость с ECS заключается в том, что вы не обрабатываете каждую сущность отдельно, а запускаете логику для всех сущностей, которые разделяют определенные критерии.Вот почему это так быстро, но для этого нужно мысленно отпустить подход монобихи-поведения.Я нашел этот учебник полезным для начала практической реализации логики: http://infalliblecode.com/unity-ecs-survival-shooter-part-1/

Это не на 100% актуально, но этого должно быть достаточно, чтобы вы могли понять, как обстоят дела с ECS.

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