Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия |
ru:toolworks:docs:apparatus:ecs-glossary [2021/12/18 16:11] – jispar | ru:toolworks:docs:apparatus:ecs-glossary [2022/06/07 11:09] (текущий) – Пофиксил ссылку на UE документацию. jispar |
---|
Apparatus предоставляет базовые идиомы ECS и даже больше. Чтобы быть недвусмысленными (и самодостаточным), наш фреймворк использует другую схему именования, нежели чем в классическом ECS. Вот список терминов, которые мы используем в документации: | Apparatus предоставляет базовые идиомы ECS и даже больше. Чтобы быть недвусмысленными (и самодостаточным), наш фреймворк использует другую схему именования, нежели чем в классическом ECS. Вот список терминов, которые мы используем в документации: |
| |
^ ECS Термин ^ Apparatus Термин^ Описание ^ | ^ Общий термин ^ Термин ^ Описание ^ ECS Термин ^ |
| Entity | Subject | Контейнер деталей | | | Subject (Сущность) | [[ru:toolworks:docs:apparatus:subject|Subject]] (Сущность) | Низкоуровневая компоновка трейтов. | Entity | |
| Component | Detail | Блок данных | | | ::: | [[ru:toolworks:docs:apparatus:subjective|Subjective]] (Сущностный объект) | Высокоуровневая часть Subject-а, состоящая из деталей. | N/A | |
| System | Mechanic | Процессор деталей | | | Component (Компонент) | [[ru:toolworks:docs:apparatus:trait|Trait]] (Трейт) | Блок данных основанный на структуре. | Component | |
| A group of Systems | Mechanism | Группа процессоров деталей | | | ::: | [[ru:toolworks:docs:apparatus:detail|Detail]] (Деталь) | Блок данных основанный на классе. | N/A | |
| Archetype | Fingerprint | Текущее состояние сущности | | | Iterable (Итерируемый) | [[ru:toolworks:docs:apparatus:chunk|Chunk]] (Чанк) | Хранилище слотов сущностей и трейтов. | Chunk | |
| Chunk | Belt | Хранилище деталей | | | ::: | [[ru:toolworks:docs:apparatus:belt|Belt]] (Ремень) | Хранилище слотов сущностей. | Chunk | |
| | N/A | [[ru:toolworks:docs:apparatus:slot|Slot]] (Слот) | Отдельный элемент итерирования. | N/A | |
| | ::: | [[ru:toolworks:docs:apparatus:flagmark|Flagmark]] (Флажки) | Ручная битовая маска специфицирующая сущность. | N/A | |
| | ::: | [[ru:toolworks:docs:apparatus:traitmark|Traitmark]] (Флажки трейта) | Набор трейтов специфицирующий сущность. | Archetype | |
| | ::: | [[ru:toolworks:docs:apparatus:detailmark|Detailmark]] (Флажки детали) | Набор деталей, специфицирующий сущность. | N/A | |
| | ::: | [[ru:toolworks:docs:apparatus:fingerprint|Fingerprint]] (След или отпечаток) | Полная спецификация топологии сущности. | N/A | |
| | ::: | [[ru:toolworks:docs:apparatus:filter|Filter]] (Фильтр) | Выбранные и исключенные свойства в топологии сущности. | Query | |
| | ::: | [[ru:toolworks:docs:apparatus:mechanic|Mechanic]] (Механика) | Логика выполняемая над сущностями. | System | |
| | ::: | [[ru:toolworks:docs:apparatus:mechanism|Mechanism]] (Механизм) | Множество сущностей и механик на уровне мира Unreal-а. | N/A | |
| | ::: | [[ru:toolworks:docs:apparatus:machine|Machine]] (Машина) | Глобальное состояние фреймворка. | N/A | |
| |
===== Причина? ===== | ===== Обоснование ===== |
| |
Почему же мы позиционируем нестандартные имена на первом месте? Ну, конечно, мы считаем нашу схему лучше 8-). Посмотрите сами. "Entity" - это более широкое понятие, часто используемое в системе движка для объектов общего назначения. "Subject", в свою очередь, лучше ассоциируется с чем-то, над чем выполняются какие-то действия (выполняемые системой). Само же слово "system" - более обобщенное и может обозначать почти всё что угодно, например, систему частиц, систему загрузки/сохранения, систему библиотек и так далее. "Mechanic" - интуитивно понятно, что это нечто, оперирующее над понятиями тика (ticking) и обеспечивающее весь игровой дизайн в целом. Что на счёт "component" - так это имя уже было зарезервировано [[ue>ProgrammingAndScripting/ProgrammingWithCPP/UnrealArchitecture/Actors/Components|самим Unreal Engine]]. Слово "Detail" оказалось незанятым и достаточно очевидно, что оно обозначает часть чего-то. | Почему же мы позиционируем нестандартные имена на первом месте? Ну, конечно, мы считаем нашу схему лучше и вот почему. |
| |
| "Entity" - это более широкое понятие, часто зарезервированное для объектов общего назначения, вместе с тем оно довольно удобно для общей документации. "Subject", в свою очередь, лучше ассоциируется с чем-то автономным и обычно так называют вещи зависимые от других, подчинённые. |
| |
| Само же слово "system" - более обобщённое и может обозначать почти всё что угодно, например, систему частиц, систему загрузки/сохранения, систему библиотек и так далее. "Mechanic" - интуитивно понятно, что это нечто, оперирующее над понятиями тика (ticking) и обеспечивающее весь игровой дизайн в целом. |
| |
| Что на счёт "component" - так это имя уже было зарезервировано [[ue>components-in-unreal-engine/|самим Unreal Engine]]. Слова "Detail" и "Trait" оказались незанятыми и достаточно очевидно, что они обозначают часть чего-то (сущности). Будем использовать слово "Component", когда речь идёт и о трейтах, и о деталях одновременно. |
| |
| Поначалу это может быть трудно для запоминания, но привыкнуть к таким обозначениям не так-то и сложно, а логика, лежащая в основе терминов, в конечном итоге станет вашей собственной. |
| Подводя итог, можно сказать, что тройка «Entity-Component-System» у нас трансформируется в «Subject-Trait/Deatil(Component)-Mechanic». Пожалуйста, возвращайтесь к этой статье время от времени в случаях, когда используемые термины вызывают трудности понимания. |