Серия «Эксперименты»

GTA SA на Unity

Сколько таких проектов было, и сколько еще будет. Вот и я вношу свою лепту.

Микрофакты:

* Какое видео, такие и факты.

* Все ресурсы оригинальные.

* Персонаж в конце на самом деле управляется игроком.

* Не хочу ничего обещать, делаю для себя и т.д и т.п.

* Если зародилась хоть толика интереса, прошу поделиться этим не только здесь в комментах, но и у меня в группе))

Показать полностью
17

Эксперименты Ep.3 - Текстуры

Добрый день!

Работа над импортом Сан Андреаса в редактор Юнити продолжается. На данный момент закончил работу с текстурами. Было не просто, но я справился.

Первая попытка не была слишком удачной.

Эксперименты Ep.3 - Текстуры GTA: San Andreas, Конвертация, Unity, Текстуры, Сжатие, Длиннопост

Саму текстуру я тогда вытащить не смог, но получил название текстуры, информацию о размере и о типе сжатия.

Прошерстил интернеты по теме сжатия текстур типа DXT1 и DXT3. Нашел схемы, как запакованы текстуры в таких файлах, примеры кода, для чтения цветовых данных.

Попробовал снова и... опять не совсем то, что надо. НО уже получилось заполнить полотно известного размера пикселями.

Эксперименты Ep.3 - Текстуры GTA: San Andreas, Конвертация, Unity, Текстуры, Сжатие, Длиннопост

Пересмотрев код, нашел свои косяки и пошло-поехало.

Для проверки, достал TXD Workshop, и сравнивал, что получается у меня с тем, что должно быть.

Эксперименты Ep.3 - Текстуры GTA: San Andreas, Конвертация, Unity, Текстуры, Сжатие, Длиннопост

(Слева оригинал, справа очередная итерация моих попыток)

Снова найдя свои глупые ошибки, исправил их и прошелся по файлам еще.

Эксперименты Ep.3 - Текстуры GTA: San Andreas, Конвертация, Unity, Текстуры, Сжатие, Длиннопост

В итоге получил уже что-то практически похожее на оригинал. Но видно, что есть проблемы с некторыми блоками, и пиксели расположены как-то неправильно (не считая перевернутой текстуры в целом).

К сожалению времени уже не оставалось и пришлось оставить все в таком виде на некоторое время.

Через пару дней, прежде чем вернуться к работе, решил еще раз изучить вопрос сжатия и на свежую голову переписал декодер. На этот раз, все получилось как надо.

Эксперименты Ep.3 - Текстуры GTA: San Andreas, Конвертация, Unity, Текстуры, Сжатие, Длиннопост

Даже подъехали текстуры с прозрачностью.

Эксперименты Ep.3 - Текстуры GTA: San Andreas, Конвертация, Unity, Текстуры, Сжатие, Длиннопост
Эксперименты Ep.3 - Текстуры GTA: San Andreas, Конвертация, Unity, Текстуры, Сжатие, Длиннопост

Дальше было довольно просто сохранить их в проекте. Разве что генерация материалов заняла достаточно много времени. Но и с этим я справился.


Следующим шагом, я думаю загрузить модели и сделать из них префабы, которые уже можно будет быстро спавнить на сцену. Может быть попробую сконвертировать их в формат FBX, для редактирования. В общем, процесс идет, вдохновение есть. И снова - буду держать в курсе в своей группе, если вдруг интересно.

А на этом пока все.

Эксперименты Ep.3 - Текстуры GTA: San Andreas, Конвертация, Unity, Текстуры, Сжатие, Длиннопост
Показать полностью 7
76

Эксперименты Ep.2 - Оно грузится!

Добрый день. Продолжаю работу над импортом моделей из GTA SA в редактор Unity. В этот раз результаты уже лучше. Доработав загрузчик удалось избавиться, кажется, от всех ошибок и теперь все подгружается без проблем.

Эксперименты Ep.2 - Оно грузится! GTA: San Andreas, Конвертация, Unity, Длиннопост

Есть правда небольшая проблемка из-за которой процесс затягивается и я не стал ждать до конца... 23к объектов, 287к отрисовок. Тут явно нужна оптимизация. Пока что явная проблема с материалами, отсюда и количество отрисовок.


Кстати, теперь еще и источники света подгружаются.

Эксперименты Ep.2 - Оно грузится! GTA: San Andreas, Конвертация, Unity, Длиннопост

Ну и пара скринов с сеткой для любопытных.

Родной Грув стрит.

Эксперименты Ep.2 - Оно грузится! GTA: San Andreas, Конвертация, Unity, Длиннопост

Один из выездов из Лос-Сантоса.

Эксперименты Ep.2 - Оно грузится! GTA: San Andreas, Конвертация, Unity, Длиннопост

Примерный план действий есть.

Попробую теперь загрузить текстуры и создать материалы к ним, чтобы объекты уже имели свой изначальный вид. Сделаю разделение по районам, чтобы загружать или прятать загруженные модели частями. Расставить LOD и прочее. Буду держать в курсе в своей группе, если вдруг интересно.


А на этом пока все.

Эксперименты Ep.2 - Оно грузится! GTA: San Andreas, Конвертация, Unity, Длиннопост
Показать полностью 5
1

Эксперименты Ep.1 - Ностальгия

Немного отвлекся от основного проекта. Попробовал себя в чтении файлов и начал со знаменитой игры GTA San Andreas. Вот что из этого получилось.

Пара тысяч объектов загружается и стопорится. Ошибка в чтении одного из файлов, посмотрю подробнее и попробую исправить. Но оно работает.

Отличная работа, все прочитано!