Публикации по теме 'entity-component-system'
Создание игры в Bevy: 2D- и 3D-движок с открытым исходным кодом, построенный на Rust
Ранее я писал обо всех обещаниях, которые дает Unity’s Project Tiny , предлагая возможность рендеринга 2D и 3D игр с поразительной скоростью и небольшими размерами. Но, несмотря на все преимущества, которые ECS приносит с собой, есть много сложностей, которые она приносит. Рассмотрим Bevy , игровой движок с открытым исходным кодом, управляемый данными, который построен на Rust.
Bevy, код которой доступен в Github , содержит ряд примеров в папке Примеры . После получения проекта..
Nomad Game Engine: Часть 2 - ECS
Долой наследование!
Этот пост является частью серии, в которой я рассказываю о своем опыте создания игрового движка ECS с нуля. Посетите домашнюю страницу этого проекта , чтобы получить дополнительные сообщения, информацию и исходный код.
Система компонентов сущности
Как упоминалось в моем последнем посте, игровой движок, над которым я начинаю работать, будет следовать методологии ECS (Entity Component System). В этом сообщении в блоге я постараюсь как можно проще объяснить свою..
Понимание, регистрация, отслеживание и профилирование ECS
Инструменты самоанализа для лучшей отладки и адаптации
Основными составляющими каждого приложения на основе ECS являются компоненты и системы. Компоненты отражают элементарные составные части данных, а системы - это функции , которые преобразуют данные.
Все эти части просты, независимы и могут быть составлены, как кубики LEGO®. Это здорово с точки зрения гибкости, но также пугает, особенно если вы новичок в проекте. Чем больше вы увидите несвязанных частей головоломки, тем больше..
Unity DOTS и не только: краткое введение
Сегодня мы обсудим некоторые из интересных и интересных новостей о Unity: Data-Oriented Technology Stack, Unity Physics, Project Tiny.
ТОЧКИ
Как следует из названия, новая DOTS Unity в значительной степени основана на новой методике проектирования и программирования, ориентированной на данные. Из нашего прошлого опыта мы знаем, что можем писать наш код C # объектно-ориентированным способом в Unity, но команда Unity обещает совершенно другой подход к дизайну игр, и этот DOD (Data-Oriented..
Верфь + Dominator + LitElement =
Вот доказательство концепции подхода к созданию крупномасштабных приложений в Интернете, в первую очередь на Rust с небольшим количеством Typescript:
Https://github.com/dakom/todo-shipyard-lit-dominator
Что это за разные технологии и как они сочетаются друг с другом?
Система компонентов судоверфи - это настоящая ECS, написанная Леудцем / Диланом Анселем. Он использует те же основные идеи, что и EnTT (C ++ ECS, используемый в Minecraft). Концептуально это обеспечивает..
Nomad Game Engine: Часть 4.3 - AoS против SoA
Оптимизация хранения данных
Этот пост является частью серии, в которой я рассказываю о своем опыте создания игрового движка ECS с нуля. Посетите домашнюю страницу этого проекта , чтобы получить дополнительные сообщения, информацию и исходный код.
В следующих нескольких сообщениях в блоге мы собираемся погрузиться в самую суть. Я оставлю это как предупреждение: на самом деле для ECS ничего из этого не требуется. Разница в производительности в подавляющем большинстве игр будет..
Вопросы по теме 'entity-component-system'
изменить значение словаря как выходной параметр и ссылку
Я хочу создать пример Entity-Component-System. У меня есть такие компоненты, как
internal struct Position : IComponent
{
public int X { get; set; }
public int Y { get; set; }
}
а также
internal struct Movementspeed : IComponent...
43 просмотров
schedule
23.08.2023
Пользовательский распределитель памяти в пуле с realloc
Я создаю pooled_allocator для выделения памяти для моих компонентов определенного типа в одном блоке памяти. Как я могу обновить уже выделенные PTR, хранящиеся в каком-либо контейнере?
Я реализовал ECS для своей игры с общим подходом. я...
94 просмотров
schedule
27.01.2024
Как следует обрабатывать установочный код в entity-component-system?
Я пишу фреймворк ECS, а также игру с ним на Python. В структуре ECS компоненты должны содержать только данные. Однако иногда для создания данных требуется код настройки. Например, в аудиокомпоненте данные будут представлять собой громкость звука...
336 просмотров
schedule
03.07.2022
Как обрабатывать коллизии в шаблоне ECS?
Я делаю игру с машинописным текстом и шаблоном ECS. Но я не могу понять, как обрабатывать столкновения между объектами. У меня есть сущность Player с набором компонентов:
LayerComponent - компонент, хранящий имя слоя для рендеринга;...
1813 просмотров
schedule
12.01.2023
Time.timeScale не работает для пакета Unity.Physics (DOTS)
если я установил Time.timeScale = 0; ничего не меняется, если установить Time.fixedDeltaTime = 0; мои физические объекты начинают вести себя странно, но не останавливаются полностью. Может кто знает как поменять timeScale для DOTS Physics
284 просмотров
schedule
20.05.2023
Есть ли способ увидеть (и получить сущность) мир с помощью системы ECS rust Legion?
Я следую руководству по ржавчине, в котором используются спецификации ECS, и я пытаюсь реализовать его, используя взамен legion ECS . Я люблю Legion, и все шло гладко, пока я не столкнулся с проблемой.
Я не знаю, как сформулировать свой вопрос....
252 просмотров
schedule
17.03.2022
TypeScript опускает геттеры-сеттеры только для частичных данных?
как я могу опустить геттеры, сеттеры, методы в Partial<> данных?
Или существует способ получить такую архитектуру с помощью машинописного текста?
Мне нужны типы с полным доступом и типы без readOnly.
Я пытаюсь сделать небольшой...
167 просмотров
schedule
19.06.2022