а вот дальше начинается самое интересное
чтобы сделать дорожное полотно, Тодд вооружился камерой Go Pro Max 4k 360 и проехался по дорогам на небольшой скорости
Каждый кадр из видео имеет метаданные где также есть GPS координаты
Весь пайплайн весьма сложной но вот из этого (пик 1)
он сделал это (пик 2)
чтобы сделать дорожное полотно, Тодд вооружился камерой Go Pro Max 4k 360 и проехался по дорогам на небольшой скорости
Каждый кадр из видео имеет метаданные где также есть GPS координаты
Весь пайплайн весьма сложной но вот из этого (пик 1)
он сделал это (пик 2)
🔥3
Совсем вкратце прежде чем загрузить в софт для фотограмметрии необходимо обработать каждый кадр, с помощью маски исключить небо и машину, чтобы софт без ошибок состыковывал кадры
после создания облака точек получается естественно много мусора который надо очищать (например деревья и кусты тяжело поддаются фотограмметрии)
Короче ничего лучше не придумаешь и это отличный плацдарм для теста физона
тут конечно я уже лукавлю и мне просто захотелось покататься по горам но на физическом ядре которое будет использоваться в Ягуаре
после создания облака точек получается естественно много мусора который надо очищать (например деревья и кусты тяжело поддаются фотограмметрии)
Короче ничего лучше не придумаешь и это отличный плацдарм для теста физона
тут конечно я уже лукавлю и мне просто захотелось покататься по горам но на физическом ядре которое будет использоваться в Ягуаре
👍4🔥1
После переноса Карты в игру я просто не мог нарадоваться этой красоте
я гонял по горам наслаждался пейзажами, но потом встала новая проблема.
Автор мода Тодд, отсканировал буквально около 40км дорог
чтобы проехать все дороги надо буквально не мало времени.
По этому я решил сделать интерфейс выбора трассы
Но что такое трасса с точки зрения гоночной игры?
это Старт и Финиш, а также трасса обычно поделена на участки.
По этому я замутил вот такую систему
(К сожалению текст не читаемый из-за того что в одной точке есть несколько объектов и анрил накладывает названия друг на друга)
На что обратить внимание так это на фиолетовые фигуры - это узлы графа
я гонял по горам наслаждался пейзажами, но потом встала новая проблема.
Автор мода Тодд, отсканировал буквально около 40км дорог
чтобы проехать все дороги надо буквально не мало времени.
По этому я решил сделать интерфейс выбора трассы
Но что такое трасса с точки зрения гоночной игры?
это Старт и Финиш, а также трасса обычно поделена на участки.
По этому я замутил вот такую систему
(К сожалению текст не читаемый из-за того что в одной точке есть несколько объектов и анрил накладывает названия друг на друга)
На что обратить внимание так это на фиолетовые фигуры - это узлы графа
🔥3❤2
Вдоль всех дорог я поставил такие “узлы” старт, финиш и на всех чек поинтах.
Вблизи это выглядит так
Флажки процедурно ставятся на место узла по краям дороги
Каждый узел имеет информацию о соседних узлах
Все это требовалось для того чтобы я мог указать старт и финиш, а как результат генерировался бы трек который бы выглядел как цепочка узлов от старта до финиша и в этом мне помог ChatGPT
Я ему просто сказал в какой структуре данных хранится мой граф и попросил его написать мне алгоритм поиска пути по не взвешенному графу (все узлы равны)
Так вот он выдал полностью рабочий код (программисты бойтесь)
Вблизи это выглядит так
Флажки процедурно ставятся на место узла по краям дороги
Каждый узел имеет информацию о соседних узлах
Все это требовалось для того чтобы я мог указать старт и финиш, а как результат генерировался бы трек который бы выглядел как цепочка узлов от старта до финиша и в этом мне помог ChatGPT
Я ему просто сказал в какой структуре данных хранится мой граф и попросил его написать мне алгоритм поиска пути по не взвешенному графу (все узлы равны)
Так вот он выдал полностью рабочий код (программисты бойтесь)
❤3🔥1
Новая задача!
При прохождении трека необходимо сохранять позицию игрока каждый момент времени, если сохранять позицию каждый кадр, то мало того что данных будет слишком много, так еще проблема в том что данных будет еще больше если игра идет с высоким фреймрейтом. не порядок
поэтому я подобрал оптимальный интервал через который сохраняется позиция плюс время “снапшота”
Вторая проблема что теперь нужно отрисовывать призрака каждый кадр, но ведь информация есть только через больший промежуток времени чем частота кадров
на помощь приходит интерполяция
Постараюсь не душить, но идея в том что условно в массиве снапшотов есть 0й кадр, и через 0.1 секунду, мне же требуется отрисовать машину на 0.05 секунде, значит мне надо посчитать процент и взять соответствующую интерполяцию между двумя трансформами
Таким образом в игре появился интерфейс выбора машины и трассы
сохранение времени прохождения трека и участка, и призрак
При прохождении трека необходимо сохранять позицию игрока каждый момент времени, если сохранять позицию каждый кадр, то мало того что данных будет слишком много, так еще проблема в том что данных будет еще больше если игра идет с высоким фреймрейтом. не порядок
поэтому я подобрал оптимальный интервал через который сохраняется позиция плюс время “снапшота”
Вторая проблема что теперь нужно отрисовывать призрака каждый кадр, но ведь информация есть только через больший промежуток времени чем частота кадров
на помощь приходит интерполяция
Постараюсь не душить, но идея в том что условно в массиве снапшотов есть 0й кадр, и через 0.1 секунду, мне же требуется отрисовать машину на 0.05 секунде, значит мне надо посчитать процент и взять соответствующую интерполяцию между двумя трансформами
Таким образом в игре появился интерфейс выбора машины и трассы
сохранение времени прохождения трека и участка, и призрак
🔥1
Чуть позднее когда я дал ребятам поиграть билд, стало ясно что требуется вынести большинство настроек машины в меню. так как для разных условий требуется разные настройки (например для спуска нужно менять распределение тормозов между осями или настройки дифференциала) в общем я не стал гадать и вытащил вообще все возможные настройки в меню
что можно заценить в этом видосе
https://youtu.be/7s24hm_ckrE?si=sJh2cc1kn133WqBV
что можно заценить в этом видосе
https://youtu.be/7s24hm_ckrE?si=sJh2cc1kn133WqBV
YouTube
Car Setup Grip/Drift
качаем билд отсюда: https://disk.yandex.ru/d/D5CSHVYSdXqPRQ
🔥6👍2🤔2
И на этом все
Чуть больше месяца ушло на эту работу (что мне кажется очень мало)
Игра в стим не пойдет по причине использования чужой работы (горных дорог) в этом проекте. Хотя Тодд на странице своего мода просит связаться с ним если кто то задумает использовать его работу, возможно можно с ним договориться, чтобы проект не остался в столе. Но пусть будет в моем портфеле работ
А тем временем я вернулся к Ягуару на данный момент я переношу физическое ядро в ягуар, поскольку там все реализовано на блюпринтах, а у меня все на C++
Естественно гладко такие вещи не проходят, поэтому работа пока не завершена
Вот так анрил мне подкинул телегу работы, а я потом докинул еще вагон.
Но с другой стороны я довольно не плохо разобрался как устроена машина внутри, поэтому успокаиваю себя тем что это была работа над Ягуаром
Из бонусов этого решения, теперь в шинах есть давление, а значит можно пробить выстрелом колесо.
Чуть больше месяца ушло на эту работу (что мне кажется очень мало)
Игра в стим не пойдет по причине использования чужой работы (горных дорог) в этом проекте. Хотя Тодд на странице своего мода просит связаться с ним если кто то задумает использовать его работу, возможно можно с ним договориться, чтобы проект не остался в столе. Но пусть будет в моем портфеле работ
А тем временем я вернулся к Ягуару на данный момент я переношу физическое ядро в ягуар, поскольку там все реализовано на блюпринтах, а у меня все на C++
Естественно гладко такие вещи не проходят, поэтому работа пока не завершена
Вот так анрил мне подкинул телегу работы, а я потом докинул еще вагон.
Но с другой стороны я довольно не плохо разобрался как устроена машина внутри, поэтому успокаиваю себя тем что это была работа над Ягуаром
Из бонусов этого решения, теперь в шинах есть давление, а значит можно пробить выстрелом колесо.
🔥7👍4👏2
Media is too big
VIEW IN TELEGRAM
немного геймплея с разным временем суток и погодой
билд тоже обновил
билд тоже обновил
🔥8👍2
первые эксперименты с новым инструментом в Unreal Engine - PCG (procedural generation content)
сделал расстановку в области сплайна (белые кубики выводятся для дебага, на их месте будет стоять заданная геометрия)
а также идет определение дороги, можно увидеть что вдоль дороги есть порядок домов
сделал расстановку в области сплайна (белые кубики выводятся для дебага, на их месте будет стоять заданная геометрия)
а также идет определение дороги, можно увидеть что вдоль дороги есть порядок домов
👍11🔥3👏1
Media is too big
VIEW IN TELEGRAM
промежуточный результат работы с PCG
задумка с прошлых постов не сработала
пришлось делать граф для создания подобных ячеек сектора
задумка с прошлых постов не сработала
пришлось делать граф для создания подобных ячеек сектора
👍7🔥4😎2
мощь PCG в действии
хочу наконец определить границы мира, чтобы можно было двигать во всех направлениях и не встречать пустот и краев карты
так с помощью PCG я уже завершил Северную часть карты (справа)
карта с севера будет ограничена лесом
далее перемещаюсь на запад карты,
там она будет ограничиваться рекой,
а мосты и дамбы через реку будут заблокированы как-нибудь не явно
хочу наконец определить границы мира, чтобы можно было двигать во всех направлениях и не встречать пустот и краев карты
так с помощью PCG я уже завершил Северную часть карты (справа)
карта с севера будет ограничена лесом
далее перемещаюсь на запад карты,
там она будет ограничиваться рекой,
а мосты и дамбы через реку будут заблокированы как-нибудь не явно
👍9🔥3👏1