Попытка оживить древне зло Lada Racing Club
Шёл 2023 год. Дело было вечером делать было нечего.
Начнём с того, что занимаюсь адаптацией разных карт и локаций под такой весёлый VR проект как VRChat. Многие уже о нём слышали, видели всякие мемасные подборки да и в эпоху его раскрутки про красных наклзов знал каждый второй. Но сейчас не об этом.
Итак, вернёмся к сути. Так как я больной на голову автомобилями, в особенности особая любовь наматываться на столбы, привет марководам, мною было адаптировано под VRChat не мало интересных российских локаций, где можно раздать бочком в этаком аркадном режиме, да ещё и в шлеме виртуальной реальности.
В один вечер словил себя на мысли "Хочу локацию из родного города Москва". Долгое время пытался своими руками и разными способами воссоздать небольшой район. Были уже какие-то наработки, но всё было не то, чего то не хватало.
И тут я вспомнил о ней, Lada Racing Club.
Да, это не самая идеальная игра, да там не самые качественные текстуры, дома в виде низкополигональных коробок, но такой проект адаптировать под виар - идея здравая, меньше будет требовать ресурсов, думал я тогда и как же ошибался, но об этом чуть позже.
На руках был оригинальный DVD диск игры.
Установил, покатался "да, надо пробовать, тем более оживить такую игру в рамках другого проекта, это будет интересно". Действительно, увековечить такое старое Г. Вот же дурак да?)
Так я в течении аж 2х месяцев искал информацию каким образом можно из этого старого куска г вытащить какие либо ресурсы. Всё, что смог найти это сообщение, на одном старом форуме, с текстом подобного плана "вот этот набор программ может вытащить текстуры и модельки" с приложенной ссылкой. Ссылка естественно битая так как сообщение датировано аж 2007 годом... Какие это программы не уточнялось. Уже хотел было сдаться, но решил попробовать рипер. Сразу скажу риппер отказывался адекватно работать с игрой. Об этом я тоже вычитал на форумах и в ВК. Ошибки, вылеты, в общем тупик. Ну, значит не судьба. Забросил это дело.
Но потом что-то меня ёкнуло и решил попробовать ещё раз. Так я внезапно обнаружил, что рипер то работает. Да не без косяков, но работает! И какая же была радость, что модельки мира сохраняют свои координаты относительно нулевой точки. То бишь не нужно потом все это переставлять с нуля. Значит на это уйдёт в 100 раз меньше времени чем я думал. И я взялся за работу.
Но отсюда вытекает другая проблема. Выдёргивая через рипер карту мы получаем лишь маленький кусочек, который рендерится в радиусе видимости игровой камеры. Этот момент я не смог обыграть. Единственное, что смог это поправить конфиг игры и выкрутить дальность прорисовки на самым максимум, который смог переварить движок игры.
Так началась неделя рипинга. Целую неделю, заходил в игру, проезжал по 100 метров и выдергивал локацию. И так локацию за локацией. В общей сумме получилось больше 100 отдельных кусочков общим объёмом больше 10 ГБ.
Далее ещё целую неделю я безвылазно сидел, объединял эти кусочки и удалял дублированные модельки, пытался навести какой-то порядок в этой анархии бесконечных моделей и огромного числа материалов.
И вот настал тот момент, когда оно было склеено воедино. Да, пытаясь оптимизировать такую огромную карту Blender забивал всю оперативку, порой выжирая больше 30 Gb озу и намертво зависая. Единственным пока вариантом осталось - это объединить маленькие кусочки в чуть побольше. В итоге из 100 маленьких кусочков получил около 40 больших.
Тут уже адаптация карты под ночной город в Unity. Получилось подсветить все рекламные вывески, указатели и фонарные столбы. Текстурки конечно 10 шакалов из 10. Мне советовали прогнать текстуры через AI, но проект и без того был большого объема, поэтому эту идею пока отложил.
В процессе работы было выявлено кучу косяков, в основном связанных с рипером, были объекты без текстур и т.д. Но работа кипела. Итоговая версия карты на данный момент не самая идеальная. Но к тому моменту уже морально и физически был истощён. Хотелось поскорее это опробовать даже в таком варианте. Даже с учётом, что сцена в Unity хранила в себе больше 1000 разных материалов... Да, это мрак полный. Но оно работает. Осталось дело за малым.
На карту были выгружены уже заготовленные ассеты автомобилей из других моих проектов. Тут тебе марки, кресты, сильвии, 2107, гелик ( да, чисто по угару добавил ) и т.д. Хочешь раздавай боком, хочешь просто катайся.
Ну всё, осталось только загрузить.
С учётом совершенно не оптимизированной карты, если отталкиваться от нормального, и наличием ассетов, первично проект билдился почти час. В какой-то момент подумал "ну всё, не переварит Unity такой бред, столько времени впустую", но в итоге сожрал и смог загрузить.
И вот оно, живое, работает!
Сразу оговорюсь, данным бредом решил заняться ещё как в память о попытке российскому геймдеву создать поистине интересный проект. Задумка то было неплохой, но вот с реализацией... сами всё знаете. Я был в числе тех, кто ждал эту игру и так же, как все, был сильно разочарован ею. Однако забавен другой факт, в процессе работы над данным проектом я узнал, что много ребят из других стран помнят о ней. О боги, кто-то помнит этот п...
Что же сейчас? Сейчас я даю возможность вам просто вспомнить о тех былых временах, но в контексте другой игры. При этом сейчас имеется возможность в полной мере оценить эту сырую поделку, заглянуть за каждый дом(коробку), уголок, знак и никакое потемнение экрана не страшно, да вы помните этот бесящий эффект, что не давал даже выехать адекватно из неиграбольной зоны. Однако предупреждаю, оптимизация так себе, поэтому слабым ПК будет чуть чуть больно. Я тестировал на двух конфигах с карточками RTX2080TI и GTX1070TI. На первой всё отлично, на второй чуть чуть уже просаживает, но не критично. Что там будет на той же 1050 уже не знаю. Так же осталось ещё кучу косяков, много мест где можно застрять. Это я постараюсь в скором времени поправить.
Для тех кто не знаком с VRChat'том, но хочет оценить. Вам для запуска не нужен шлем виртуальной реальности, достаточно условного игрового компа и установленного стима. Игра бесплатная, находим в стиме и устанавливаем, можно играть через аккаунт стима не создавая внутренний акк.
Саму карту можно найти в игре под названием Night Driving Moscow [WIP]
UPD: туториал как найти карту и войти. Извиняюсь, что сразу об этом не подумал.
Вот небольшой ролик из самой игры. Кадры с низким фпс вызван особенностью стрим-камеры VRChat'a. Без этой камеры, даже в шлеме, всё играбельно.
И да, Спасибо тебе друг, что осилил весь этот бред. Буду рад любому фитбеку от комьюнити.
Буду ли дальше развивать этот проект? Если увижу фитбек и заинтересованность людей, то да, возможно постараюсь оптимизировать адекватно.
Кому нужны файлики с локациями: я возможно позже выложу в общий доступ. Вдруг найдётся ещё один поехавший с желанием адаптировать куда-то ещё, гарисмод, ассетто корса и т.д.
======================================================================================
UPD2: Если ты тот смельчак, что решил заглянуть в нашу помойку, совершенно не осознавая, что делать, вот тебе, мой друг, туториал.
Итак, ты вошёл.
Все машины на карте скрыты, тк они скриптованные то жрут производительность.
Чтобы заспавнить машину тебе нужно найти вот такие кнопки.
Верхняя кнопка спавнит машину рядом с ней, сделано это с целью оптимизации.
Нижняя кнопка возвращает машину на это место, если вдруг потерялась.
Далее чтобы есть на водительское место нужно навестись на машину, она будет полностью выделаться и нажать ЛКП. Чтобы выйти из машины ESC. Высоту камеры можно поправить кнопками PgUP PgDown
Управление:
Управление весьма своеобразное тк, это особенность платного ассета.
Пробег - Газ
Левый Shift - тормоз
W / S - переключение коробки передач
A / D либо стрелочки - рулёжка.
pikabu GAMES
4.1K постов8.2K подписчиков
Правила сообщества
Коротко: никаких "кулвидосиков" с нарезкой геймплеев и смешных моментов, никаких комиксов, артов, косплея и т.д. Только полезная и важная информация для геймеров.
Помни!
- Новостные/информационные публикации постим в pikabu GAMES
- Развлекательный контент в Лигу Геймеров