Добавить в корзинуПозвонить
Найти в Дзене
Уроки по Unreal Engine

Мучаюсь тут уже достаточно долго

Разделил ответственность. Не хочу, чтобы у тех, кто установил мод ради определенной цели - получал в довесок ещё кучу мусора, который использовать не будет. Базовый плагин будет добавлять паттерн lyra. Что это значит. В движке есть Game Feature Plugin который позволяет через плагины добавлять контент. Примерно так создают DLC и сезонные обновления. Но такие плагины загружаются вместе с игрой на старте. Но когда вы в игровом меню, то вам наверняка не нужен в памяти контент из игры. А если вы, когда делаете сезонное обновление, хотите ещё оставить режим, в котором нет сезонного контента, как тогда быть? Для этого паттерн Lyra и используется. Вы для каждого уровня устанавливаете собственный список плагинов, а так же таблицы с контентом. Как работает Data Registry. Это по сути карточка контента. Она ничего не весит, поиск, фильтрация - выполняется очень быстро и функции чтения потокобезопасны - это значит, что возможно многопоточное чтение. Когда вы запрашиваете контент по

Мучаюсь тут уже достаточно долго. Разделил ответственность. Не хочу, чтобы у тех, кто установил мод ради определенной цели - получал в довесок ещё кучу мусора, который использовать не будет.

Базовый плагин будет добавлять паттерн lyra. Что это значит.

В движке есть Game Feature Plugin который позволяет через плагины добавлять контент. Примерно так создают DLC и сезонные обновления.

Но такие плагины загружаются вместе с игрой на старте.

Но когда вы в игровом меню, то вам наверняка не нужен в памяти контент из игры.

А если вы, когда делаете сезонное обновление, хотите ещё оставить режим, в котором нет сезонного контента, как тогда быть?

Для этого паттерн Lyra и используется.

Вы для каждого уровня устанавливаете собственный список плагинов, а так же таблицы с контентом.

Как работает Data Registry. Это по сути карточка контента. Она ничего не весит, поиск, фильтрация - выполняется очень быстро и функции чтения потокобезопасны - это значит, что возможно многопоточное чтение.

Когда вы запрашиваете контент по тегу, происходит асинхронная (или синхронная) загрузка таблицы и из кеша выдается нужная структура. Эта таблица может быть постоянно в Кеше, может выгрузиться по таймеру или можно выгрузить самостоятельно.

И вот вы получили структуру с данными, она грузится целиком, но вам могут быть не нужны все данные. Поэтому если есть ссылки на объекты, то их нужно хранить в качестве soft ссылок. Получается, если вам нужен меш из структуры, а не числа, то вы асинхронно (или синхронно) загружаете этот меш и используете. Будет подробное видео по использованию. Оно будет полезно и для тех, у кого есть плагин и у кого его нет. Плагин это просто дополнительное удобство и все. Не волшебная таблетка.

Но ещё будет 2 плагина. 1 нужен разработчику. Этот плагин собирает данные, чтобы для его игры можно было делать моды.

Второй плагин нужен модеру, у которого нет доступа к проекту игры. У него есть только скачанная игра и те данные, которые предоставил разработчик. Моддер создаёт моды для игры определённой версии и добавляет их к игре (не в игру, игра о них не знает) и data registry делает свою магию.

Для управлениями модами используется собственный launcher.