Как открыть vtf файл в photoshop
Всем привет,сегодня хотел бы вам рассказать и показать,как уменьшить размер любой VTF текстуры.
Тут нужно понимать,что если мы будем сжимать текстуру,то мы будем терять ее качество.
Сжать можно хоть до текстур из майнкрафта,но естественно это будет не правильно!
2) Распаковываем в любое удобное для вас место
3) Видим 2 файла с расширениями .8bi и .dll
4) Перемещаем VTFLib.dll в корень ../Photoshop/
В моем случае это такой путь C:\Program Files (x86)\Adobe\Adobe Photoshop CC 2018 (32 Bit)\
Примечание: Adobe Photoshop должен быть закрыт.
5) Перемещаем VTF.8bi ../Photoshop/Plug-Ins/File Formats/
В моем случае это C:\Program Files (x86)\Adobe\Adobe Photoshop CC 2018 (32 Bit)\Required\Plug-ins\File Formats\
6) Запускаем Adobe Photoshop и к примеру нажимаем в верхнем меню Файл после Открыть как.
7) Появляется такое окошко , нажимаем,где надпись Photoshop (*.PSD;*.PDD;*.PSDT)
8) Ищем формат VTF,если вы его нашли,то вы все сделали правильно и мы можем продолжить.
9) Если у вас нет данного форматы,прочтите выше написанное или поищите информацию в интернете под вашу версию программы,на этом установка плагина закончена.
2) Приступим к сжатию VTF Текстур
2.1 Я буду показывать на примере данной модели оружия AK-47 Demon.rar
2.2 Скачиваем желаемую модель и разархивируем в любое удобное для вас место
2.3 Заходим по пути materials\ какая то моделька
В моем случае это C:\Users\Создание Серверов\Desktop\AK-47 Demon\materials\models\weapons\babka\ak_47\test\
2.4 В идим что то вроде этого,обратите внимания на размер VTF текстур.
2.5 Открываем Adobe Photoshop
2.6 Возвращаемся к нашим VTF текстурам и выделяем их все и зажав левую кнопку мыши тащим их на фотошоп
Примечание: предварительно сделайте копии ваших текстур,если вам не понравиться качество,то вы сможете его поменять.
Будут высвечиваться такие окошки просто жмем ОК
2.7 Отлично все текстуры у нас в фотошопе,что мы делаем нажимаем в верхнем меню Изображение далее нажимаем Размер изображение.
2.8 Нам высвечивается такое окошко,тут нам следует поменять Пиксели на Проценты (Выделил красным,где это делается).
2.9 Далее ставим нужный нам % на сколько мы хотим сжать нашу текстуру,я поставлю 50% ,т.е этим я сожму модель ровно на половину.
Размер был 3.00м
Стал всего лишь 768.0к
2.10 Далее жмем ОК далее жмем Файл после жмем Сохранить как , появляется такое окошко,выбираем в разделе Template: Compressed Texture и жмем ОК.
2.11 Проделываем те же операции с остальными текстурами начиная с пункта 2.7, заканчивая 2.10, сделали отлично!
2.12 Сравниваем наши размеры до и после ( этот пункт не обязателен,ради интереса так скажем).
2.13 А теперь все же давайте посмотрим,через Model Viewer, как у нас изменилось качество текстур.
2) Выбираем игру Counter-Strike Source и жмем Model Viewer
3) Далее нам необходимо поместить измененные папки models и marterials c жатыми текстурами по пути C:\Ultimate SSDK v2\Source Engine 2009\hl2
4) Далее заходим в Model Viewer и нажимаем File (верхний левый угол)
5) Далее нажимаем Load Model.. и выбираем нашу модель,в моем случае модель находиться по пути [ROOT]\models\weapons\babka\ak_47\test нажимаем к примеру на w_rif_ak47 (модель от 3 лица) и у вас должна появиться ваша модель с вашими текстурами.
6) Если вас устраивает качество текстур модели,то оставляете,если вы не заметили разницы,то можно сжать еще,проделав те же самые операции)
7) Не знаю видно ли на фото,но если скачать их и листать,то видно изменения)
3) Не знаю стоит ли затрагивать тему Альфа канал
3.1 Сейчас немного лекции так скажем,есть такая штука,как Альфа канал не знаю,как вам это правильно объяснить,но все же попробую.
Альфа канал - это некая текстура,например текстура волос,текстура перчаток,текстура стекла.
Этим текстурам задается блеск, прозрачность.Если вы ничего не поняли,то вам сюда)) Альфа-канал — Википедия
3.2 Вы спросите зачем я вам это рассказываю,отвечаю путем удаления Альфа канал можно так же уменьшить размер текстур VTF .
3.3 Приступим,открываем наш PhotoShop и перетаскиваем наши сжатые VTF текстуры,как мы делали это ранее.Пункты 2.3 до 2.6
3.4 Далее видим справа надпись Каналы нажимаем.
3.4 Ищем текстуры с надписью Альфа 1 и нажимаем на неё левой кнопкой мышки(выделяем как бы).
3.5 Далее жмем правой кнопкой мышки и видим Удалить канал , собственно жмем Удалить канал и сохраняем,проделываем те же самые действия с остальными текстурами.
Важно: Не удаляйте альфа каналы,где они необходимы,например на модели персонажа,если вы сожмете VTF текстуру в формате dx1,то вы автоматически удалите альфа канал,что есть не правильно,смотрите в каждой текстуре наличие альфа канала и делайте вывод нужен ли он вам или нет.
Приведу пример,на это модели игрока мы удалили необходимые альфа каналы,что есть не правильно и вот что мы видим:
Из фото следует,что мы удалили необходимый альфа канал и тем самым мы сделали текстуры,как бы покрытые водой и это не правильно,так делать нельзя!
3.6 Проделываем те же самые операции из пунктов 2.10 и 2.13
Важно знать!
Если вы сохраняете в формате DXT1,то вы автоматически удаляете альфа канал
Если вы сохраняет в формате DXT5,то вы сохраняете альфа канал
4) Заключение
В Заключении хотел бы сказать,не знаю получилось ли мне объяснить вам всю суть,а именно как влияет уменьшение размера,на качество текстур модели.
Думал напишу за Час-Два,но что то пошло не так и убил я на это 7 Часов своего времени,поэтому просьба,кому помогла эта статья,то поставьте пожалуйста лайк.
Если вы считаете,что я в чем то не прав или у вас есть какие то дополнения,напишите об этом в комментарии,всем удачи не болейте!
Вложения
-=|УЧЕНИК|=-
Участник
[CS:Source] Урок №1 Делаем из Клиентской модели оружия серверную
Добрый день,сегодня я хотел бы вам рассказать и показать,как сделать из клиентской модели оружия серверную и что для этого нам понадобиться. Список моих уроков: Это будет 1 Урок! Это 2 Урок [Source] Урок №2 Как уменьшить размер любой VTF текстуры 1) Список программ,которые нам необходимы для.
Всем привет,сегодня хотел бы вам рассказать и показать,как уменьшить размер модели.
Тут нужно понимать,что чем больше размер,тем больше качество самой модели,из этого следует,что если мы будем сжимать модель,то мы будем терять ее качество.
Сжать можно хоть до текстур из майнкрафта,но естественно это будет не правильно!
Посмотреть вложение 54984
2) Распаковываем в любое удобное для вас место
3) Видим 2 файла с расширениями .8bi и .dll
Посмотреть вложение 54959
4) Перемещаем VTFLib.dll в корень ../Photoshop/
В моем случае это такой путь C:\Program Files (x86)\Adobe\Adobe Photoshop CC 2018 (32 Bit)\
Примечание: Adobe Photoshop должен быть закрыт.
5) Перемещаем VTF.8bi ../Photoshop/Plug-Ins/File Formats/
В моем случае это C:\Program Files (x86)\Adobe\Adobe Photoshop CC 2018 (32 Bit)\Required\Plug-ins\File Formats\
6) Запускаем Adobe Photoshop и к примеру нажимаем в верхнем меню Файл после Открыть как.
7) Появляется такое окошко , нажимаем,где надпись Photoshop (*.PSD;*.PDD;*.PSDT)
Посмотреть вложение 54960
8) Ищем формат VTF,если вы его нашли,то вы все сделали правильно и мы можем продолжить.
Посмотреть вложение 54961
9) Если у вас нет данного форматы,прочтите выше написанное или поищите информацию в интернете под вашу версию программы,на этом установка плагина закончена.
2) Приступим к сжатию VTF Текстур
2.1 Я буду показывать на примере данной модели оружия AK-47 Demon.rar
2.2 Скачиваем желаемую модель и разархивируем в любое удобное для вас место
2.3 Заходим по пути materials\ какая то моделька
В моем случае это C:\Users\Создание Серверов\Desktop\AK-47 Demon\materials\models\weapons\babka\ak_47\test\
2.4 В идим что то вроде этого,обратите внимания на размер VTF текстур.
Посмотреть вложение 54962
2.5 Открываем Adobe Photoshop
2.6 Возвращаемся к нашим VTF текстурам и выделяем их все и зажав левую кнопку мыши тащим их на фотошоп
Примечание: предварительно сделайте копии ваших текстур,если вам не понравиться качество,то вы сможете его поменять.
Будут высвечиваться такие окошки просто жмем ОК
Посмотреть вложение 54963
2.7 Отлично все текстуры у нас в фотошопе,что мы делаем нажимаем в верхнем меню Изображение далее нажимаем Размер изображение.
2.8 Нам высвечивается такое окошко,тут нам следует поменять Пиксели на Проценты (Выделил красным,где это делается).
Посмотреть вложение 54971
2.9 Далее ставим нужный нам % на сколько мы хотим сжать нашу текстуру,я поставлю 50%,т.е этим я сожму модель ровно на половину.
Размер был 3.00м
Посмотреть вложение 54972
Стал всего лишь 768.0к
Посмотреть вложение 54973
2.10 Далее жмем ОК далее жмем Файл после жмем Сохранить как,появляется такое окошко,выбираем в разделе Template: Compressed Texture и жмем ОК.
Посмотреть вложение 54974
2.11 Проделываем те же операции с остальными текстурами начиная с пункта 2.7,заканчивая 2.10,сделали отлично!
2.12 Сравниваем наши размеры до и после ( этот пункт не обязателен,ради интереса так скажем).
Посмотреть вложение 54975
2.13 А теперь все же давайте посмотрим,через Model Viewer,как у нас изменилось качество текстур.
2) Выбираем игру Counter-Strike Source и жмем Model Viewer
3) Далее нам необходимо поместить измененные папки models и marterials c жатыми текстурами по пути C:\Ultimate SSDK v2\Source Engine 2009\hl2
4) Далее заходим в Model Viewer и нажимаем File (верхний левый угол)
5) Далее нажимаем Load Model.. и выбираем нашу модель,в моем случае модель находиться по пути [ROOT]\models\weapons\babka\ak_47\test нажимаем к примеру на w_rif_ak47 (модель от 3 лица) и у вас должна появиться ваша модель с вашими текстурами.
6) Если вас устраивает качество текстур модели,то оставляете,если вы не заметили разницы,то можно сжать еще,проделав те же самые операции)
Посмотреть вложение 54976
Посмотреть вложение 54977
7) Не знаю видно ли на фото,но если скачать их и листать,то видно изменения)
3) Не знаю стоит ли затрагивать тему Альфа канал
3.1 Сейчас немного лекции так скажем,есть такая штука,как Альфа канал не знаю,как вам это правильно объяснить,но все же попробую.
Альфа канал - это некая текстура,например текстура волос,текстура перчаток,текстура стекла.
Этим текстурам задается блеск, прозрачность.Если вы ничего не поняли,то вам сюда)) Альфа-канал — Википедия
3.2 Вы спросите зачем я вам это рассказываю,отвечаю путем удаления Альфа канал можно так же уменьшить размер текстур VTF.
3.3 Приступим,открываем наш PhotoShop и перетаскиваем наши сжатые VTF текстуры,как мы делали это ранее.Пункты 2.3 до 2.6
3.4 Далее видим справа надпись Каналы нажимаем.
Посмотреть вложение 54978
3.4 Ищем текстуры с надписью Альфа 1 и нажимаем на неё левой кнопкой мышки(выделяем как бы).
Посмотреть вложение 54980
3.5 Далее жмем правой кнопкой мышки и видим Удалить канал,собственно жмем Удалить канал и сохраняем,проделываем те же самые действия с остальными текстурами.
Посмотреть вложение 54982
Важно: Советую вам удалять Альфа каналы только у "какое_то_название_модели_normal.vtf"
т.е с окончанием _normal.vtf ,так как это удаление не затронет качество модели,а размер уменьшит!
3.6 Проделываем те же самые операции из пунктов 2.10 и 2.13
4) Заключение
В Заключении хотел бы сказать,не знаю получилось ли мне объяснить вам всю суть,а именно как влияет уменьшение размера,на качество текстур модели.
Думал напишу за Час-Два,но что то пошло не так и убил я на это 7 Часов своего времени,поэтому просьба,кому помогла эта статья,то поставьте пожалуйста лайк.
Если вы считаете,что я в чем то не прав или у вас есть какие то дополнения,напишите об этом в комментарии,всем удачи не болейте!
Также, убедитесь в том что статья пытается соответствовать статье об альтернативных языках.
Contents
Valve Texture Format (VTF) - это проприетарный формат текстур использующийся движком Source. VTF файлы обычно задействуются через VMT файлы вместо использования напрямую, что предоставляет возможность их повторного использования.
VTF файлы могут быть созданы из изображений в формате TGA с помощью Source SDK Tool VTEX или из большинства основных форматов изображений с помощью сторонних инструментов. И текстуры и материалы хранятся в подпапках game_dir/materials/ .
Возможности
Формат VTF может хранить двумерную текстуру, либо карту окружения, либо объемную текстуру. Каждая из этих текстур может иметь несколько кадров.
- Карта окружения (environment map) - это шестигранная кубическая карта.
- Объемная текстура (volumetric texture) - это текстура с глубиной, у которой каждый кадр это слой в третьем измерении. То есть объемная текстура 16x16x16 имеет 16 текстур размером 16x16 сложенных друг на друге (как стопка блинчиков). Этот формат используется внутренне движком Source и у вас не должно быть никакой потребности в создании такой текстуры самому.
- Для каждого кадра и грани, файл VTF содержит и оригинальное изображение и серию mipmap'ов, использующихся для рендера текстуры на различных расстояниях. Так как каждый последующий mipmap имеет 1/2 размера (ширины и высоты) предыдущего, оригинальное изображение должно быть в размерности степени двойки. Не смотря на то, что оригинальное изображение может быть прямоугольным, квадратные mipmap'ы хранятся более эффективно в VTF.
- Начальный кадр (для анимаций)
- Размер бамп мапы
- Значение коэффициента отражения для VRAD
- Копия VTF небольшого разрешения для сэмплирования цвета движком.
Ресурсы
В VTF версии 7.3 появилась расширяемая система ресурсов. Вы можете хранить что угодно, но движок Source распознает только следующие данные:
- Значение CRC для обнаружения "битых" данных.
- An U/V LOD control. This is the highest mipmap which should be loaded when game's Texture Detail setting is "High" ( mat_picmip 0 ). An U LOD Control value of 11 selects the mipmap which is 2048 pixels (2 11 ) across.
Форматы данных изображения
VTF может хранить в себе данные в различных форматах. Некоторые форматы предназначены для движка, некоторые только как промежуточные форматы для преобразований. Несжатые форматы не теряют данных, а сжатые (DXT) - теряют.
Таблица форматов данных изображений
Формат | Red Bits | Green Bits | Blue Bits | Alpha Bits | Total Bits | Сжатие | Поддерживается | Комментарий |
---|---|---|---|---|---|---|---|---|
A8 | 0 | 0 | 0 | 8 | 8 | False | True | |
ABGR8888 | 8 | 8 | 8 | 8 | 32 | False | True | Несжатая текстура с альфа-каналом |
ARGB8888 | 8 | 8 | 8 | 8 | 32 | False | True | |
BGR565 | 5 | 6 | 5 | 0 | 16 | False | True | Несжатая текстура, ограниченная глубина цвета |
BGR888 | 8 | 8 | 8 | 0 | 24 | False | True | Несжатая текстура |
BGR888_BLUESCREEN | 8 | 8 | 8 | 0 | 24 | False | True | |
BGRA4444 | 4 | 4 | 4 | 4 | 16 | False | True | Несжатая текстура с альфа-каналом, половина глубины цвета |
BGRA5551 | 5 | 5 | 5 | 1 | 16 | False | True | |
BGRA8888 | 8 | 8 | 8 | 8 | 32 | Either | True | Также используется для сжатых HDR |
BGRX5551 | 5 | 5 | 5 | 1 | 16 | False | True | |
BGRX8888 | 8 | 8 | 8 | 8 | 32 | False | True | |
DXT1 | N/A | N/A | N/A | 0 | 4 | True | True | Стандартное сжатие, без альфа-канала |
DXT1_ONEBITALPHA | N/A | N/A | N/A | 1 | 4 | True | True | Стандартное сжатие, однобитный альфа-канал |
DXT3 | N/A | N/A | N/A | 4 | 8 | True | True | Uninterpolated Alpha |
DXT5 | N/A | N/A | N/A | 4 | 8 | True | True | Interpolated Alpha (recommended) |
I8 | N/A | N/A | N/A | N/A | 8 | False | True | Luminance (Grayscale) |
IA88 | N/A | N/A | N/A | 8 | 16 | False | True | Luminance (Grayscale) |
P8 | N/A | N/A | N/A | N/A | 8 | False | False | Paletted |
RGB565 | 5 | 6 | 5 | 0 | 16 | False | True | |
RGB888 | 8 | 8 | 8 | 0 | 24 | False | True | |
RGB888_BLUESCREEN | 8 | 8 | 8 | 0 | 24 | False | True | |
RGBA16161616 | 16 | 16 | 16 | 16 | 64 | False | True | Integer HDR Format |
RGBA16161616F | 16 | 16 | 16 | 16 | 64 | False | True | Floating Point HDR Format |
RGBA8888 | 8 | 8 | 8 | 8 | 32 | False | True | |
UV88 | N/A | N/A | N/A | N/A | 16 | False | True | Несжатый формат du/dv |
UVLX8888 | N/A | N/A | N/A | N/A | 32 | False | True | |
UVWQ8888 | N/A | N/A | N/A | N/A | 32 | False | True |
Сжатие HDR
HDR текстуры могут храниться в сжатой форме используя формат BGRA8888.
Эта формула показывает как преобразовать эти цвета в целочисленный HDR (integer): RGB = RGB * (A * 16)
и в HDR с плавающей запятой (floating point):
RGB = (RGB * (A * 16)) / 262144
Выбор формата изображений
Не смотря на то, что VTF предоставляет поддержку широкого ряда форматов изображений, есть только несколько форматов, которые вы, скорее всего, будете использовать. Эти форматы и критерии выбора описаны ниже.
- BGR888: используйте для текстур без альфа-канала и с качественным градиентом (например, карт нормалей и световых ореолов (light halo)).
- BGRA8888: используйте для текстур с альфа-каналом и с качественным градиентом (например, карт нормалей и световых ореолов). Он также может быть использован, чтобы получать высококачественные текстуры.
- DXT1: используйте этот формат для обычных текстур без альфа-канала.
- DXT3: используйте этот формат для обычных текстур с альфа-каналом и резкими градиентами.
- DXT5: используйте этот формат для обычных текстур с альфа-каналом и плавными градиентами.
- I8: используйте этот формат для черно-белых текстур без альфа-канала и с качественным градиентом (например, световые ореолы).
- IA88: используйте этот формат для черно-белых текстур с альфа каналом и качественным градиентом (например, дым или световые ореолы).
- RGBA16161616F: используйте этот формат для HDR текстур.
- UV88: используйте этот формат для DuDv карт.
Флаги изображений
VTF может содержать следующие флаги (версия 7.5):
Флаг | Значение | Комментарий |
Point Sampling | 0x0001 | Низкое качество, фильтрация текстур "пиксельная графика". |
Trilinear Sampling | 0x0002 | Фильтрация текстур среднего качества. |
Clamp S | 0x0004 | Координаты зажима S. |
Clamp T | 0x0008 | Координаты зажима T. |
Anisotropic Sampling | 0x0010 | Качественная фильтрация текстур. |
Hint DXT5 | 0x0020 | Используется в skyboxes. Убедитесь, что края бесшовные. |
PWL Corrected | 0x0040 | Цель неизвестна. |
SRGB | n/a | Использует пространство RGB. Полезно для высоких гамм. Не рекомендуется в версии 7.5. |
No Compress | 0x0040 | Сжатие DXT не используется. Устаревшее |
Normal Map | 0x0080 | Текстура - это карта нормалей. |
No Mipmaps | 0x0100 | Отрисовывать только самые большие MIP-карты. (Не удаляет существующие MIP-карты, а просто отключает их.) |
No Level Of Detail | 0x0200 | Не зависит от настроек разрешения текстуры. |
No Minimum Mipmap | 0x0400 | Если установлено, загружайте MIP-карты размером менее 32x32 пикселей. |
Procedural | 0x0800 | Текстура - это процедурная текстура (код может ее изменять). |
One Bit Alpha | 0x1000 | Используется однобитовый альфа-канал. |
Eight Bit Alpha | 0x2000 | Используется восьмибитный альфа-канал. |
Environment Map | 0x4000 | Текстура - это карта окружения. |
Render Target | 0x8000 | Текстура - это цель рендеринга. |
Depth Render Target | 0x10000 | Текстура - это цель рендеринга глубины. |
No Debug Override | 0x20000 | |
Single Copy | 0x40000 | |
Pre SRGB | 0x80000 | Исправление SRGB уже применено |
One Over Mipmap Level In Alpha | 0x80000 | Заполните альфа-канал значением 1 / Mipmap Level. Устарело (для внутреннего использования VTEX?) |
Premultiply Color By One Over Mipmap Level | 0x100000 | (Для внутреннего использования VTEX?) |
Normal To DuDv | 0x200000 | Текстура - это карта DuDv. (Для внутреннего использования VTEX?) |
Alpha Test Mipmap Generation | 0x400000 | (Для внутреннего использования VTEX?) |
No Depth Buffer | 0x800000 | Не Z-буферизация для обработки видео обычно расстояние визуализации. |
Nice Filtered | 0x1000000 | использование NICE фильтрация для создания MIP-карт. (Для внутреннего использования VTEX?) |
Clamp U | 0x2000000 | Координаты зажима U (для объемных текстур). |
Vertex Texture | 0x4000000 | Может использоваться как вершинная текстура |
SSBump | 0x8000000 | Текстура - это SSBump. (SSB) |
Border | 0x20000000 | Привязка к цвету границы по всем координатам текстуры |
Формат файла
Описание формата VTF.
Структура формата
- VTF заголовок
- VTF Данные изображения с низким разрешением
- Для каждого Mipmap (от наименьшего к наибольшему)
- Для каждого кадра (от первого до последнего)
- Для каждого лица (от первого до последнего)
- Для каждого Z-среза (от минимального до максимального; зависит от Mipmap)
- VTF Данные изображения высокого разрешения
- Для каждого Z-среза (от минимального до максимального; зависит от Mipmap)
- Для каждого лица (от первого до последнего)
- Для каждого кадра (от первого до последнего)
- VTF заголовок
- Записи ресурсов
- VTF Данные изображения с низким разрешением
- Для каждого Mipmap (от наименьшего к наибольшему)
- Для каждого кадра (от первого до последнего)
- Для каждого лица (от первого до последнего)
- Для каждого Z-среза (от минимального до максимального; зависит от Mipmap)
- VTF Данные изображения высокого разрешения
- Для каждого Z-среза (от минимального до максимального; зависит от Mipmap)
- Для каждого лица (от первого до последнего)
- Для каждого кадра (от первого до последнего)
Перечисления
Заголовок формата
VTF данные изображения в низком разрешении
Плотно упакованные данные изображения с низким разрешением в формате, описанном в заголовке. Данные изображения с низким разрешением всегда хранятся в формате сжатого изображения DXT1. Его размеры соответствуют размерам самого большого MIP-карты с шириной или высотой, не превышающей 16 пикселей. то есть для VTF 256x256 пикселей: 16x16, для VTF 256x64 пикселей: 16x4, для VTF 1x32 пикселей: 1x16, для VTF 4x4 пикселей: 4x4.
VTF данные изображения в высоком разрешении
Tхорошо упакованные перемежающиеся данные изображения высокого разрешения в формате, описанном в заголовке. Распространенные форматы изображений включают DXT1, DXT5, BGR888, BGRA8888 и UV88. Все размеры должны быть power of two.
История версий
- Выпущено 19 июля 2010 г. как часть Alien Swarm
- Побитовый эквивалент v7.4.
- Переопределяет и изменяет два флага текстуры.
- Сферы теперь официально избыточны.
- Большинство изменений внутри процесса создания VTF с помощью VTEX, например Форматы MipMap fading, Alpha decay и XBox360.
- Выпущена 10 октября 2007 г. как часть The Orange Box.
- Побитовый эквивалент версии 7.3.
- Решает проблемы, связанные с тем, как выполняется гамма-коррекция текстур для ТВ-вывода на XBOX 360 в сочетании с поиском памяти выгружаемого пула ОС.
- Добавлена расширяемая структура, ориентированная на ресурсы.
- Добавлены ресурсы CRC, управления уровнем детализации текстуры и листа, а также ресурсы изображений с обратной совместимостью и изображений с низким разрешением.
- Добавлено несколько форматов трафаретов глубины, зависящих от поставщика (для внутреннего использования в движке), а также форматы карт нормалей и линейные несжатые форматы.
- Выпущена 18 сентября 2007 г. как часть Team Fortress 2 бета.
- Добавлена поддержка объемных текстур.
- Выпущен 23 сентября 2005 г. как Steam обновление двигателя.
- Добавлена поддержка карты сфер для карт среды. (Это было предназначено для поддержки DirectX 6, которая позже была сокращена.)
- Изначальный выпуск. (Только для внутреннего выпуска, однако некоторые текстуры v7.0 попали в опубликованный заголовок.)
Реализация
Пример независимой от Steam реализации формата файла изображения VTF можно найти в библиотеке LGPL C / C ++. VTFLib.
Этот урок является пошаговым руководством по созданию совершенно нового материала, включая материал текстур.
Создание текстур
Для создания текстуры подойдёт любое изображение, если его размеры (высота и ширина) кратны двум, например: 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, 2048, и т.д. Прежде, чем создавать новую текстуру, изучите существующие, выполняющие ту же роль. Текстуры с высоким разрешением тормозят производительность, но при этом дают большую резкость при просмотре вблизи.
Различные классы объектов имеют разные стандартные разрешения (например, модели персонажей более детализированы). Если запутаетесь, вам в помощь source materials.gcf вместе с GCFScape.
Преобразование текстур
Перед тем, как использовать в Source, текстуры необходимо преобразовать в Valve Texture Format. Для этого Valve предоставляет инструмент VTEX. С этим инструментом можно работать через командную строку, или с помощью сторонних программ, таких как VTFEdit. VTFEdit предпочтительней, поскольку имеет удобный графический интерфейс, позволяет редактировать текстуры без перекомпиляции, поддерживает множество форматов, и не требует отдельных скриптов для создания каждой текстуры.
Чтобы импортировать текстуру в VTFEdit, используйте File > Import или нажмите Ctrl+I . Выберите изображение и откроется окно импортирования:
Основные параметры
Следующие параметры наиболее важны. Их три:
Формат нормалей Формат цвета/сжатия, который используется для прозрачной текстуры. Формат Альфа Формат цвета/сжатия, который используется для текстуры с альфа-каналом. Тип текстуры Если вы импортировали больше, чем одно изображение, тут задаётся тип их использования (кадры анимации/кубмапы/глубина срезов).
Если вы создаёте простую текстуру, то вам не понадобится ничего из перечисленного выше. Если вы создаёте текстуру с детально проработанными градиентами, вам придётся выбрать режим сжатия без потерь.
Настройки мип-карт
Мип-карты - это версии текстуры, имеющие низкое разрешение, сменяющие друг друга по мере удаления камеры от неё. Они существенно сокращают требуемый объём текстуры, повышая производительность и качество изображения.
Следующие изображения демонстрируют различные мипмап-фильтры, доступные в VTFEdit:
Читайте также: