Продолжаю прокачивать систему управления контентом. То есть сейчас сначала открывается уровень, а затем из world settings читается ассет с контентом и производится загрузка. При этом функция отображения статуса загрузки отображает именно загрузку ассета.
Я добавил ручной режим, при котором можно загрузить ассет до открытия уровня (там есть выбор, загрузить для текущего уровня или для следующего. При втором варианте ассет можно использовать и в текущем уровне). И в отображении статуса загрузки будет так же отображаться и загрузка уровня, ассетов, шейдеров. То есть можно будет уже не использовать подобную функцию из плагина экрана загрузки.
Данное изменение позволяет игровые уровни полностью переносить в плагины. А это значит, что через моды можно будет редактировать уровни или через DLC добавлять новые.
Для плагина экрана загрузки так же потом добавлю ручной режим. Чтобы можно было сначала вызвать экран загрузки, затем выполнить загрузку ассета и только после этого сменить уровень на новый.
Я добавил ручной режим, при котором можно загрузить ассет до открытия уровня (там есть выбор, загрузить для текущего уровня или для следующего. При втором варианте ассет можно использовать и в текущем уровне). И в отображении статуса загрузки будет так же отображаться и загрузка уровня, ассетов, шейдеров. То есть можно будет уже не использовать подобную функцию из плагина экрана загрузки.
Данное изменение позволяет игровые уровни полностью переносить в плагины. А это значит, что через моды можно будет редактировать уровни или через DLC добавлять новые.
Для плагина экрана загрузки так же потом добавлю ручной режим. Чтобы можно было сначала вызвать экран загрузки, затем выполнить загрузку ассета и только после этого сменить уровень на новый.
То есть по сути я сейчас исправляю проблемы, которые вы увидите в следующем видео. Там много нюансов будет. И по сути можно было бы скипнуть это видео, но думаю оставлю для наглядности. Чем глубже копаю в этой теме, тем больше понимаю, что не все так просто.
Нашёл ещё ограничение движка, вы не можете создать переменную типа World Asset, например в структуре. Можно вызвать Open Level и входной пин продвинуть до переменной, что подтверждает наличие такого типа, но самостоятельно создать его нельзя. Так понимаю сделано специально, чтобы новички не создавали цикличную загрузку. Но мы то не новички, идем исправлять. Переменная в структуре нам очень нужна для поддержки модов.
У меня все получилось. Новые версии плагинов отправил на фаб. Очень много работы проделал. Подробнее обо всем будет в новых видео (не в следующем, а дальше). Поменяется подход к проектированию игры. Произойдет полная реорганизация.
👍3🔥2
Добавил поддержку 5.8 для плагинов и отправил на модерацию. Так же они перестанут быть бесплатными.
Тем временем вышло новое видео, которое спровоцировало серию обновлений для моих плагинов. В нем ведется подготовка к созданию главного меню.
https://youtu.be/arJRDi-zvCo
https://vkvideo.ru/video-166367099_456239412
https://rutube.ru/video/private/23b6859125b23ca3d8f05d8adc75f721/?p=eVJpThwkZOh0bbqmhLO4ag
https://boosty.to/svaretsky/posts/07716cf9-a1a1-457b-af8b-24bf4ae277f9?share=post_link
https://youtu.be/arJRDi-zvCo
https://vkvideo.ru/video-166367099_456239412
https://rutube.ru/video/private/23b6859125b23ca3d8f05d8adc75f721/?p=eVJpThwkZOh0bbqmhLO4ag
https://boosty.to/svaretsky/posts/07716cf9-a1a1-457b-af8b-24bf4ae277f9?share=post_link
YouTube
Ep.010 Подготовка к созданию главного меню
Всем привет! В этом эпизоде мы займемся созданием главного меню, но по факту - до него еще далеко. Я столкнулся с рядом ограничений в моих плагинах, поэтому занимался совершенно не тем, чем планировал. Более того, в следующем эпизоде придется все переделать.…
Плагин камеры для 5.8 на подходе, на модерации.
Для версии 5.8 удалены блюпринты, которые я делал в качестве демонстрации. Проблема в том, что люди начинают их использовать, вместо создания собственных. А это не правильно.
Для версии 5.8 удалены блюпринты, которые я делал в качестве демонстрации. Проблема в том, что люди начинают их использовать, вместо создания собственных. А это не правильно.
Сейчас возьму небольшую паузу. Поторопился с выпуском обновлений. Начал записывать видео по созданию игрового меню и нашёл некоторые баги. Затем очень много функционала не хватает, а некоторые вещи работают не так, как я хочу.
Немного отдохну, затем начну работу над новым плагином и опубликую обновление тогда, когда проведу хотя бы какой-то минимум тестов.
Я так спешил, что проводил тесты лишь функций, отдельно, а не в рамках какой-либо системы. Например, когда через плагин SGC Common UI спавнится виджет, очень не хватает в качестве выходного параметра указатель на созданный виджет, например чтобы задать ему параметры или выбрать функции.
Затем было бы хорошо, если б виджеты привязывались не к World, а к Game Instance, чтобы они не уничтожались при смене уровня.
Немного отдохну, затем начну работу над новым плагином и опубликую обновление тогда, когда проведу хотя бы какой-то минимум тестов.
Я так спешил, что проводил тесты лишь функций, отдельно, а не в рамках какой-либо системы. Например, когда через плагин SGC Common UI спавнится виджет, очень не хватает в качестве выходного параметра указатель на созданный виджет, например чтобы задать ему параметры или выбрать функции.
Затем было бы хорошо, если б виджеты привязывались не к World, а к Game Instance, чтобы они не уничтожались при смене уровня.
👍3
Физически отдыхаю, а головой все равно в проекте. Продумываю будущую архитектуру проекта и встречаю множество подводных камней. И это ещё даже без модов.
По хорошему для модов нужен отдельный проект, который основывается на оригинале. С этим понятно. А вот редактор карт если захочу сделать? Это уже выглядит, как «миссия невыполнима».
Но сейчас проблема по проще, но нужно сначала определить, что раньше появится - курица или яйцо?
Это я к тому, что есть некая путаница. Допустим, я хочу перенести весь контент уровня и сам уровень в отдельный плагин. Как это выглядит, контент, сам уровень, фон экрана загрузки, подсказки на экране загрузки. При этом во время открытия уровня я хочу видеть прогресс загрузки.
То есть что получается. Я хочу открыть уровень, он находится в отдельном плагине. Мне чтобы узнать, что это за уровень и какой он имеет фон и подсказки - его нужно сначала загрузить, а если я его загружу, то эти данные то мне уже и не нужны 🤣
Первое, что мне идёт в голову - создать ещё один ассет, который будет регистрировать уровень и назначать ему Gameplay tag, а так же иметь данные о фоновом изображение экрана загрузки, а так же подсказки всё для того же экрана загрузки. И конечно же ассет, который содержит список контента, плагинов этого уровня.
То есть это будет лёгкий ассет с информацией об игровой карте. Других идей нет, чтобы игровой контент был модульным и чтобы мог изменяться модами.
По хорошему для модов нужен отдельный проект, который основывается на оригинале. С этим понятно. А вот редактор карт если захочу сделать? Это уже выглядит, как «миссия невыполнима».
Но сейчас проблема по проще, но нужно сначала определить, что раньше появится - курица или яйцо?
Это я к тому, что есть некая путаница. Допустим, я хочу перенести весь контент уровня и сам уровень в отдельный плагин. Как это выглядит, контент, сам уровень, фон экрана загрузки, подсказки на экране загрузки. При этом во время открытия уровня я хочу видеть прогресс загрузки.
То есть что получается. Я хочу открыть уровень, он находится в отдельном плагине. Мне чтобы узнать, что это за уровень и какой он имеет фон и подсказки - его нужно сначала загрузить, а если я его загружу, то эти данные то мне уже и не нужны 🤣
Первое, что мне идёт в голову - создать ещё один ассет, который будет регистрировать уровень и назначать ему Gameplay tag, а так же иметь данные о фоновом изображение экрана загрузки, а так же подсказки всё для того же экрана загрузки. И конечно же ассет, который содержит список контента, плагинов этого уровня.
То есть это будет лёгкий ассет с информацией об игровой карте. Других идей нет, чтобы игровой контент был модульным и чтобы мог изменяться модами.
👀1
Пока все ещё отдыхаю от анрила. Делаю дома ремонт. Забыл совсем, про неадекватные цены (делал чтобы никто не покупал). Скорректировал цены на все продукты.
После отдыха в первую очередь займусь обновлениями. Всех больше изменений будет для плагина экрана загрузки. Затем для Common UI и меньше всех для менеджера контента. Для камеры пока что ничего не планирую, работает идеально.
После отдыха в первую очередь займусь обновлениями. Всех больше изменений будет для плагина экрана загрузки. Затем для Common UI и меньше всех для менеджера контента. Для камеры пока что ничего не планирую, работает идеально.
🔥5
А я тут. Пилю обновление для плагина загрузочных экранов и вот какие есть нововведения:
1. Больше нет костылей с определением что показывать, видео или экран предзагрузки. Экран предзагрузки теперь имеет свой собственный медиаплеер. Можно выбрать даже очередность показа: до экрана загрузки или после.
2. Выбранное изображение и логотип теперь можно удалить.
3. Статус загрузки стал более информативным. Теперь не только загрузка ассетов и шейдеров.
4. Локализация на английском языке (по умолчанию) и на русском языке (пока что перевод от нейронки, чтобы быстрее было). Определяется глобальными настройками языка в редакторе.
5. Экран предзагрузки теперь адаптируется под окно, если его размер меняется.
1. Больше нет костылей с определением что показывать, видео или экран предзагрузки. Экран предзагрузки теперь имеет свой собственный медиаплеер. Можно выбрать даже очередность показа: до экрана загрузки или после.
2. Выбранное изображение и логотип теперь можно удалить.
3. Статус загрузки стал более информативным. Теперь не только загрузка ассетов и шейдеров.
4. Локализация на английском языке (по умолчанию) и на русском языке (пока что перевод от нейронки, чтобы быстрее было). Определяется глобальными настройками языка в редакторе.
5. Экран предзагрузки теперь адаптируется под окно, если его размер меняется.
👍3
Заодно обновлю и Common UI и систему управления контентом. Это необходимо для следующей серии по созданию главного меню. Но перед этим придётся очень много в корне переделать.
👍1
В течении недели постараюсь выпустить обновления для трех плагинов и после этого продолжу подготовку к видео по главному меню.
Во время подготовки я тестирую функционал и проверяю, достаточно ли его для решения поставленной задачи или наоборот что-то убираю. Поэтому на этом моменте может составиться новый план работы.
Во время подготовки я тестирую функционал и проверяю, достаточно ли его для решения поставленной задачи или наоборот что-то убираю. Поэтому на этом моменте может составиться новый план работы.
Media is too big
VIEW IN TELEGRAM
Плагин экрана загрузки оказался самым популярным. Поэтому я сейчас бросил все силы на его улучшение.
Было огромное количество обратной связи и постарался все учесть. О многих вещах я даже не задумывался.
На другие плагины спроса практически нет, несмотря на то, что я читаю их полезнее. Потом займусь их популяризацией, мне кажется люди просто не понимают, зачем они нужны.
Было огромное количество обратной связи и постарался все учесть. О многих вещах я даже не задумывался.
На другие плагины спроса практически нет, несмотря на то, что я читаю их полезнее. Потом займусь их популяризацией, мне кажется люди просто не понимают, зачем они нужны.
🔥5
На данный момент закончил работу над плагином экрана загрузки. Основная работа была проделана именно для Pre-Load экрана, который показывается до запуска игры. отображает статус загрузки, а так же видеоролики. Сделано превью для удобной настройки. Все настройки разнесены по вкладкам и можно менять положение каждого элемента.
Для основного экрана добавил функции, которые запускают одноименные ивенты в виджете экрана загрузки, что позволяет передать туда 3 текстовых значения и 1 float, а так же из внешнего источника можно сообщить виджету загрузки о завершении загрузки. Это просто чтобы не вызывать каст или не создавать интерфейс. Потом будут реализованы в проекте.
Для основного экрана добавил функции, которые запускают одноименные ивенты в виджете экрана загрузки, что позволяет передать туда 3 текстовых значения и 1 float, а так же из внешнего источника можно сообщить виджету загрузки о завершении загрузки. Это просто чтобы не вызывать каст или не создавать интерфейс. Потом будут реализованы в проекте.
🔥6
Media is too big
VIEW IN TELEGRAM
Еще есть настройка, которая отключает рендер игрового мира, если экран загрузки еще активен. Как только экран закрывается - включается рендер.
👍2
Наконец-то вышло обновление.
https://fab.com/s/0692b2e5db34
Чтобы оно стало доступно в проекте, нужно в лаунчере сначала удалить с движка плагин, затем снова добавить. Либо ждать, когда лаунчер эпиков раздуплится и сам установит обновление.
https://fab.com/s/0692b2e5db34
Чтобы оно стало доступно в проекте, нужно в лаунчере сначала удалить с движка плагин, затем снова добавить. Либо ждать, когда лаунчер эпиков раздуплится и сам установит обновление.
Fab.com
Loading Screen System
A C++ loading screen solution for Unreal Engine 5 covering both engine boot and in-game map travel.Built for projects that need a polished first impression at startup and controlled loading feedback during level transitions — strategy games, RPGs, city builders…
sgc-loading-screen.ru.pdf
1.8 MB
Сделал для себя браузерный инструмент, с помощью которого буду писать документацию к плагинам и быстро переводить на английский язык без потери форматирования.
К сравнению старая документация и новая.
К сравнению старая документация и новая.
🔥4