Структурированный ад

Привет.
Спешу поделиться новостью. Мы закончили структурировать визуально-физические параметры техники. УРА.
Сначала был вопрос. Как облегчить передачу данных на сервер( модели, блюпринты и прочее)
Решение было использовать ссылки на файлы (SOFT reference).

Структурированный ад Разработка, Unreal Engine, Инди игра, Gamedev, Дальнобойщики, Длиннопост


Ну ладно.
Мы с этим работали и ранее и уже знаем про камни ассинхронных подгрузок и прочие проблемы репликации. Решили всё.
А дальше пошло веселье.
Самый ад было понять как интегрировать создание техники. Как распределить по структурам логику.
Где-то должен быть список рам для конкретной кабины( кол-во осей меняется ).
Где-то должна быть инфа про несколько поворотных осей ( каждая ось должна иметь свои угол поворота ). Куда же запихнуть инфо о колесах, если у нас есть режим смены колёс ( зима-лето-прокол и тп ).
До всего этого у нас была адовая хрень. Откровенно. Понятно что это было сделано чисто для тестирования на скорую руку и все было создано костылями, но вы просто посмотрите на эту жесть :))))На скрине половина только. По сути это один и тот же код, просто с разными настройками для разной техники.

Структурированный ад Разработка, Unreal Engine, Инди игра, Gamedev, Дальнобойщики, Длиннопост


Теперь это выглядит так.

Структурированный ад Разработка, Unreal Engine, Инди игра, Gamedev, Дальнобойщики, Длиннопост

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

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

Структурированный ад Разработка, Unreal Engine, Инди игра, Gamedev, Дальнобойщики, Длиннопост

Вроде все логично да?)
Но проблема в том, что нельзя установить колеса, пока нет инфы о раме. Так как колеса ставятся на кости. В итоге нам пришлось пойти на хитрость.
Мы загружаем инфо из структуры рамы и инфо из колес единовременно.

Структурированный ад Разработка, Unreal Engine, Инди игра, Gamedev, Дальнобойщики, Длиннопост

Таким образом мы убрали лишние переменные ( аля костыли ) и сумели увеличить скорость загрузки данных и скорость загрузки самой модели. Теперь не нужно выжидать каждый цикл загрузки и модели точно буду теми, которые должны быть.
Ранее у нас был баг, что иногда кабина не грузилась или того хуже физ. параметры техники :))
И ты видел себя полноценно, а другие в сети видели тебя ...ужасно :)

Ну и для финалка. Вся структура грузится вот такой вот системой тоннелей ))

Структурированный ад Разработка, Unreal Engine, Инди игра, Gamedev, Дальнобойщики, Длиннопост

Все это передается в геим мод, откуда создается модель на сервере и получает posses.
В общем. Мы наконец сделали хорошую структуру. Теперь самое простое. Забить все параметры от всех движков, коробок, осей, колес, кабин в структуры и в БД на сайте :)))

ПС.
К сожалению новых фото техники, которая у нас есть, я предоставить не могу. Так как параметры вбиты только у 2 единиц. Так что с этим чуть позже :)

DezarEVM

DezarEVM

Разработчик - изобретатель - музыкант Наша метавселенная - https://uzuron.online First Step Radio - https://fsr.uzuron.online Наш YouTube - https://www.youtube.com/@uzuron

4298.5 рейтинг 9 подписчиков 43 поста