17

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

Добрый день!

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

Unity

260 постов2.7K подписчиков

Правила сообщества

• Запрещается постить вопросы, мемы и прочую ерунду - для этого есть форумы и другие специализированные ресурсы.


• Распространение и обсуждение пиратского ПО, кейгенов, ключей и прочих пиратских файлов запрещено.


• Соблюдайте сетевой этикет. Оскорбительное поведение и мат (в том числе сокращенный или завуалированный) караются баном.


• Запрещается разводить полемики на тему "какой движок круче". Здесь мы обсуждаем только Unity.


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