Как открыть vmt файл в photoshop

Обновлено: 06.07.2024

Тарга в фотошопе делаю, затем в едиторе делаю файл, а после сделаю ВТФ, но на серве почему то еррор текстура.

Тарга в фотошопе делаю, затем в едиторе делаю файл, а после сделаю ВТФ, но на серве почему то еррор текстура.

Порядок действий для создания декали таков: ( С использованием Photoshop)

1) Делаем изображение задуманное нами, задаем ему размер для того чтоб игра смогла его отобразить ВАЖНО!
Игра воспринимает такие размеры как : 256, 512, 1024, 2048 НЕ БОЛЬШЕ НЕ МЕНЬШЕ ТОЛЬКО ТАКИЕ.

2) Как сделали картинку размером ну например 1024 на 512 то смело можем переводить в tga формат (так же доступным в Photoshop)

3) Сохранили в tga?! Идем далее : начинаем переводить в vtf формат данное изображение с помощью одноименного плагина для Photoshop. И да, этот плагин работает только на 32 битной версии, не знаю почему, но на 64 битной проблемы с установкой VTF плагина.

И так, у нас готова картинка в уже считываемом для игры формате vtf, даем ей название например reklama.vtf но так как это декаль, ей нужно сделать VMT файл там ну скажем кратко. пишется путь докачки для вашей картинки.

ВАЖНО! название vtf и vmt файла должно совпадать, то есть должны будут существовать 2 файла : reklama.vtf и reklama.vmt

Ниже прикреплю архив, в нем пример файла, в файле, напротив кода будет в виде комментария написано что нужно менять.
reklama.vmt да и в целом такого рода форматы, можно и нужно открывать с помощью Notepad ++, там вы увидите и на интуитивном уровне поймете, что нужно сделать.

Ну и все, у вас готова одна реклама состоящая из reklama.vtf (самого изображения) reklama.vmt (путь докачки)
Теперь вам остается прописать путь подобный как допустим для модели, но с небольшим отличием. не VMT не VTF не указывается! Пример пути: materials/decals/custom/reklama

Пользуйтесь если что-то не понятно или вы увидели недостатки в моем гайде то пишите свои версии и задавайте вопросы!

Прикрепленные файлы

Порядок действий для создания декали таков: ( С использованием Photoshop)

1) Делаем изображение задуманное нами, задаем ему размер для того чтоб игра смогла его отобразить ВАЖНО!
Игра воспринимает такие размеры как : 256, 512, 1024, 2048 НЕ БОЛЬШЕ НЕ МЕНЬШЕ ТОЛЬКО ТАКИЕ.

2) Как сделали картинку размером ну например 1024 на 512 то смело можем переводить в tga формат (так же доступным в Photoshop)

3) Сохранили в tga?! Идем далее : начинаем переводить в vtf формат данное изображение с помощью одноименного плагина для Photoshop. И да, этот плагин работает только на 32 битной версии, не знаю почему, но на 64 битной проблемы с установкой VTF плагина.

И так, у нас готова картинка в уже считываемом для игры формате vtf, даем ей название например reklama.vtf но так как это декаль, ей нужно сделать VMT файл там ну скажем кратко. пишется путь докачки для вашей картинки.

ВАЖНО! название vtf и vmt файла должно совпадать, то есть должны будут существовать 2 файла : reklama.vtf и reklama.vmt

Ниже прикреплю архив, в нем пример файла, в файле, напротив кода будет в виде комментария написано что нужно менять.
reklama.vmt да и в целом такого рода форматы, можно и нужно открывать с помощью Notepad ++, там вы увидите и на интуитивном уровне поймете, что нужно сделать.

Ну и все, у вас готова одна реклама состоящая из reklama.vtf (самого изображения) reklama.vmt (путь докачки)
Теперь вам остается прописать путь подобный как допустим для модели, но с небольшим отличием. не VMT не VTF не указывается! Пример пути: materials/decals/custom/reklama

Пользуйтесь если что-то не понятно или вы увидели недостатки в моем гайде то пишите свои версии и задавайте вопросы!

Это то понятно, я не один гайд прочел и пробовал много что. Я не могу понять как сделать адекватно файл подкачки. Непонятный куб вместо картинки.

Это то понятно, я не один гайд прочел и пробовал много что. Я не могу понять как сделать адекватно файл подкачки. Непонятный куб вместо картинки.

Модели в играх Source - будь то props, персонажи, viewmodels, и др. - требуют хотя бы 3 основных компонента: Ваш.MDL, Ваш.Material:ru и Ваш.VTF.

К сожалению не очень точно говорить, что MDL это "каркас", VTF это "обложка" и VMT это "физика". На каждом этапе, ваша модель будет содержать по крайней мере два отдельных, но всегда ссылающихся друг на друга файла. Каждый этап компиляции требует информацию из части другого файла. Поэтому процедура должна проходить по строгой последовательности, и имена файлов и их расположение всегда также строго определенное.

Процесс создания этих файлов умещается в два общих шага:

  1. Первый этап это создание основной текстуры и размещение её на вашей сетке, в результате получиться пара "временных" файлов: Ваш.SMD и Ваш.TGA.
  2. На втором этапе, используя Ваш.SMD и Ваш.TGA компилируется Ваш.MDL, Ваш.VMT и Ваш.VTF в определенной папке Source game_directory.

Предпросмотр

  • Выводы о процессе текстурирования вашего персонажа могут быть сделаны непосредственно в движке Source, прежде чем идти дальше со своим материалом, экспортируйте его в .vtf, создайте .vmt, создайте .mdl и посмотреть на модель в игре. Работа над тонкостями и параметрами шейдеров может быть только после того, как вы увидите вашу модель в игре.

Временная текстура "checkerboard"("Шахматная доска")

  • Использование текстуры шахматной доски хороший способ проверить ваши UV координаты; это позволит вам быстро увидеть наличие каких-либо искажений, полос или швов, которым требуется корректировка. Также, использование текстуры шахматной доски дает хороший способ измерить сколько элементов текстуры вам требуется на различных частях модели, поскольку вы определили UV координаты, некоторые элементы (таких как лицо) требуют немного больше плотности, но в целом вам следует стремиться к логичной плотности элементов текстуры на всей модели. Стандартный noicon.pic файл в XSI хороший выбор или вы можете использовать Checkerboard Starter Texture (клик ПКМ, сохранить как. ) входящий в SDK.

Какой должен быть размер текстуры?

  • Экспортируйте .VTF как можно раньше и загрузите просмотр вашей модели в игре, используя команду консоли mat_showmiplevel, проверьте что mip-уровни, you’re seeing at some of the most common encounters your character is going to have during gameplay (не могу адекватно перевести эту фразу). Хотя может казаться, что чем больше, тем лучше, но это не всегда так, mipmapping может заставить ваши большие текстуры уменьшиться, пока размытость не станет проблемой.

Многослойные текстуры

  • Вам следует стараться использовать только одну основную текстуру, если материалу не требуется другого. Многослойная текстура может существенно повлиять на время визуализации. Если вам необходимо создать многослойную текстуру для модели, вы должны для начала выбрать полигоны, сгруппировать их, а затем применить материал и изображение к группе. Убедитесь, что в параметрах установлено "reload externally modified images on focus". Это перезагрузит текстуру, когда вы вернетесь при помощи alt-tab в XSI из другой программы, например Photoshop, что спасет вам немного времени.

Любая Текстура, которая применена к модели (перед экспортом в Ваш.SMD из XSI) должна быть конвертирована из TGA в VTF файл, прежде чем это сможет использовать Source Engine. Имя VTF файла должно быть таким же как и у TGA файла, использованного в Вашем.SMD (например: Ваш.TGA -> Ваш.VTF) и VTF помещен в папку game_directory/materials/models .

  • SourceSDK/bin содержит Vtex.exe, приложение, используемое для компиляции в .VTF. Простейший способ использовать Vtex - это создать ярлык для vtex.exe на своём рабочем столе, и перетаскивать .TGA файлы на него. Это создаст .VTF файл, который будет иметь такое же имя как и ваш .TGA файл в директории материалов. Когда вы перетащили tga файл в Vtex, создастся .TXT файл в тойже директории, где расположен .TGA файл. В этом файле вы можете написать команды для Vtex, которые изменят способ компресии.
  • Cannonfodder's StudioCompiler предоставит более дружелюбный интерфейс для Vtex (и Studiomdl). Это позволит компилировать/декомпилировать VTF, VMT и MDL файлы из/в TGA и SMD файлы.

Каждый Материал в Source engine определен .VMT файлом. Это специфическая модель освещения, основная текстура (VTF), и любая другая информация, которая вам может понадобиться: зеркальность, свечение, карты нормалей, прозрачность, полупрозрачность, и proxy shaders.

Для модели Ваш.VMT должен быть написан вручную (используя блокнот и т.п.) и размещен в папке game_directory/materials/models где Ваш.MDL сможет найти их. $basetexture (Ваш.VTF) ссылается на Ваш.VMT, должен также быть в той же папке game_directory/materials/models где Ваш.VMT сможет найти его.

Здесь пример VMT файла из HL2:

В этом примере материал использован для полигональной модели используя VertexLitGeneric шейдер. $basetexture или diffusemap определена в "Models/Combine_soldier/Combine_elite" $bumpmap или карта нормалей импортирована из "models/combine_soldier/combine_elite_normal". $envmap или environmentmap установлена на "env_cubemap" , что ссылает к cubemap entities размещенной на уровне; зеркальное отражение для этого персонажа всегда будет отражать мир вокруг - предполагается, что вы разместили cubemap entities на уровне. Вы можете использовать всместо этого другой cubemap, если хотите. На следующей линии, "$normalmapalphaenvmapmask" 1 сообщает визуализатору что в этом материале есть маска зеркальности, и только некоторые её части отразят информацию из env_cubemap, расположенная в данном случае в альфа канале карты нормалей. Карта зеркальности может быть и в альфа канале основной текстуры "$basealphaenvmapmask 1" или в файле маски зеркальности "$envmapmask" "models/modelname/mymask" . Команда "$envmapcontrast" 1 означает, что яркость отражений envmap умножается на себя один раз; для создания яркого освещения и глубоких теней. Все модели требуют наличие команды "$model" 1 , которая сообщает визуализатору, о том, что материал используется для полигональной модели скомпилированой Studiomdl.exe. Последняя линия "$selfillum" 1 сообщает визуализатору, что альфа канал $basetexture содержит информацию о самоизлучении, эти области альфа канала показывают светящиеся области модели.

Альфа-канал

Для создания материала с рабочим альфа-каналом вам необходимо ввести команду "$translucent" 1 в ваш VMT файл. Иногда это приводит к ошибке визуализации модели (например theres convex 1 in the back of convex 2, but convex 2 gets hidden by convex 1 => Rendering error). Если это случается, используется команда "$alphatest" 1 вместо "$translucent" 1 , которая исправляет это.

Proxy shaders

Мощный компонент системы материалов в Source engine это Proxy shader system. Пример на что способны proxy shaders покажет карта shaderzoo входящая в sdk. Дальнейшая информация о их создании вы сможете найти в соответствующих разделах документации.

sdk custom textures

Следуя предшествующим статьям цикла, вы наверняка освоили процесс создания незаурядной карты с уникальными триггерами и различными видами освещения. Но для воплощения самых смелых идей в жизнь чего-то не хватает, верно? Стандартный контент полету фантазии не помощник, поэтому в данном уроке вы научитесь создавать собственные текстуры для своих карт на движке Source. Подобным образом вы сможете создавать текстуры и для моделей, спреев и вообще всего, что работает с изображениями в играх на Source.

Создание текстур не интуитивный процесс, но и не чрезмерно сложная задача. В отличие от большинства современных движков здесь нет «просто перетаскиваешь и всё работает»: большую часть работы придётся делать самостоятельно.

VTF и VMT

Текстуры делятся на два файла: VTF (Valve Texture Format), файл, в котором хранится изображение, сами пиксели вашей текстуры, и VMT (Valve Material Type), файл, содержащий метаданные и информацию о шейдерах. Для отображения текстуры в игре используются оба файла.

Файлы VTF (.vtf) хранят всю информацию о пикселях, альфа-картах и MIP-картах, которую может использовать текстура.

Они создаются конвертированием исходного изображения в специальной программе. Данные располагаются таким образом, чтобы рендеринг был наиболее эффективным, поэтому обычные .jpg/.jpg-файлы без конвертации не используются. Самое главное – размеры изображения должны представлять из себя двойку в степени (то есть 64×64, 128×128, 256×256, 1024×1024 и т.д.).

Подробный технический анализ файлов VTF можно найти на Valve Developer Wiki.

Файлы VMT (.vmf) – это простые текстовые файлы с метаданными текстуры.

Среди них есть такая информация, как:

  • Является ли текстура полупрозрачной?
  • Анимирована ли она?
  • Использует ли она рельефное текстурирование?
  • Какой звук она воспроизводит при столкновениях?

Для одного VTF-изображения можно сделать несколько VMT-файлов с разными свойствами, и Hammer будет принимать их за разные текстуры. В следующих уроках мы рассмотрим продвинутые особенности VMT, добавляющие текстуре реалистичности.

Подробный технический анализ файлов VMT можно найти на Valve Developer Wiki.

Создание текстур

Что ж, приступим. Я буду использовать для создания текстуры логотип ProGamer.

Логотип окружён прозрачным фоном, но с этим мы разберёмся потом. Размер 1418×1418 я поменял на 1024×1024. На практике вы будете использовать наименьший возможный размер, а такие большие текстуры будут применяться только для самых важных вещей. Хорошим базисом для большинства текстур будет 512×512.

Нам нужно сконвертировать исходный файл в формат VTF. Valve прилагает к своим играм программу VTEX, это простой инструмент командной строки, способный создавать VTF-файлы только из TARGA (.tga). Есть альтернатива получше – VTFEdit, которая работает с большинством форматов, имеет собственный интерфейс и обилие функций.

Типы файлов

VTFEdit открывает файлы .bmp, .jpg, .jpg, .jpg и .tga.

Если вы не знакомы с их особенностями, то вот всё, что вам действительно нужно знать:

  • PNG, GIF и TGA поддерживают прозрачность.
  • GIF поддерживает анимацию (но перед импортированием нужно разбивать на кадры).
  • Для всего остального рекомендуется JPG.
  • С BMP не связывайтесь.

PNG-8 против PNG-24

24-битные PNG-файлы поддерживают переменную прозрачность, но плохо импортируются в VTFEdit, так что для переменной прозрачности нужно использовать .tga.

TARGA (.tga)

TARGA – это старый причудливый формат изображений со своими приятными особенностями, но во многих областях он вытесняется форматами PSD или PNG. Главная проблема состоит в поиске программ, способных создавать/редактировать такие файлы. Как вы могли догадаться, лучшим инструментом для этого является Photoshop. VTFEdit/VTEX хорошо дружат с TARGA, так что если возникают проблемы с импортированием, конвертируйте изображение в этот формат.

Импортирование в VTFEdit

Полагаю, к этому моменту вы уже приготовили желаемое изображение. Выбираем пункт меню File>Import. Для начала познакомьтесь с этим окном:

vtf options

Здесь много всего, но я разобью по пунктам:

  • Normal Format: Какая компрессия используется для стандартных (непрозрачных) изображений.
  • Alpha Format: Компрессия, используемая в изображениях с прозрачностью.
  • Texture Type: Применяется, только когда вы импортируете больше одного изображения, и определяет, что они должны из себя представлять. В 99% случаев здесь выбирается Animated Texture.
  • Resize/Clamp: Тут можно изменить размер в последний момент, но я советую делать это заранее.
  • Generate Mipmaps: MIP-карты – это уменьшенные версии текстуры, которые игра будет накладывать при отдалении. Здесь лучше всё оставить по умолчанию.
  • Normal Map: Карты нормалей используются для придания текстуре мнимой глубины. Опять же, этим лучше заниматься самостоятельно, но вы можете дать VTFEdit шанс и проверить результат её работы.

Хорошее руководство по выбору компрессии есть на Valve Developer Wiki. Если возникают сомнения, оставляйте всё по умолчанию.

Вкладку Advanced мы пока не трогаем (здесь настраивается VTF-файл – оставляйте 7.2, если только не знаете точно, что делаете).

После нажатия ОК вы должны увидеть вот это:

vtf import

Теперь, если не хотите поиграть с продвинутыми настройками, можете нажимать File>Save и получите готовый VTF-файл.

Создание VMT

Мы создадим голый скелет файла VMT для работы вместе с VTF. В той же папке, где вы сохранили свою progamer.vtf, создаём новый текстовый файл и называем его progamer.vmt, затем открываем в блокноте или другом текстовом редакторе и вводим эти строки:

  • LightmappedGeneric – это тип шейдеров, который будет использовать текстура, это важно, когда вам нужны необычные эффекты или вы делаете текстуру для файла модели.
  • Basetexture – это созданный вами файл VMT: заметьте, что у него нет расширения и он находится в папке progamer, которую мы пока не создали (но вскоре создадим).
  • Surfaceprop определяет некоторые физические свойства текстуры.

В VMT-файл можно много чего добавить, расширенный список можно найти на Valve Developer Wiki.

Просмотр и применение текстур

Теперь у нас есть оба необходимых файла, давайте пустим их в дело.

Сначала их нужно поместить в нужную папку, она зависит от игры, для которой вы сделали текстуру и от настроек Hammer. Примеры:

  • Half-Life 2: Episode 2: Steam\steamapps\common\Half-Life 2\ep2\materials
  • Team Fortress 2: Steam\steamapps\common\common\Team Fortress 2\tf\materials
  • CS:GO: Steam\steamapps\common\Counter-Strike Global Offensive\csgo\materials

Обычно все файлы материалов помещаются в отдельную подпапку, чтобы в базовой папке не скапливались потенциально конфликтующие материалы. Не забывайте прописывать название папки в VMT-файлах.

Предполагается, что текстуру вы делали для своей карты, так что открывайте Hammer и ищите новую текстуру в списке материалов. Если всё прошло нормально, она там будет. Если ничего нет, возможно, вы не туда поместили файлы. Если текстура есть, но она пустая/фиолетовая/неправильная, то проблема может быть в кодировке текстуры или настройках VMT.

И вот, ваша текстура в игре.

Создание текстур с прозрачностью

Создание анимированных текстур

При создании анимированных текстур большая часть работы производится перед импортированием, так как кадры анимации должны храниться в отдельных файлах. С этим могут возникнуть сложности, но гугл вас выручит.

Названия готовых файлов должны нумероваться по типу: imagename_0000.tga, imagename_0001.tga, imagename_0002.tga.

При импортировании выделяйте сразу все файлы, остальное сделает VTFEdit.

frames

Если всё сработало, в информации об изображении должно быть указано более одного кадра.

VMT-файл для анимированной текстуры содержит чуть побольше данных:

Результат:

Центральная текстура анимирована, правая текстура статичная, но использует кое-какую магию в файле VMT для движения. Это мы рассмотрим в следующих уроках.

Запаковка текстур в карту

Здесь немного проявляются особенности разных игр. Если вы хотите распространять свою карту с пользовательскими текстурами через интернет, то наилучшим решением будет запаковать текстуры в файл BSP.

Для аддонов Garry’s Mod этого делать необязательно, так как структура .gma сохраняет файловую иерархию. Однако, если вы хотите, чтобы люди запускали карту на своих серверах и не доставали вас отзывами «карта отстой, текстурок нету», то лучше их всё же запаковать. Такое случается, потому что люди декомпилируют ваш файл GMA для хранения серверных файлов в FastDL, а не в Workshop.

И как же паковать текстуры в карту? С помощью Pakrat.

Pakrat позволяет открывать файлы BSP и изменять их содержимое. BSP-файлы представляют из себя контейнеры (как .zip, к примеру), где хранятся различные данные – обычно это файлы самой карты, файлы освещения, кубические текстуры и любой дополнительный контент, который вы решили поместить в свою карту.

pakrat

Дальше всё довольно просто: открываем скомпилированную карту, нажимаем Add и добавляем свои текстуры.

Обращайте внимание на столбец Path: там должно быть что-то вроде “materials/ваша-подпапка/“.

Сохраняем карту и всё готово. Для тестирования удалите свои текстуры из папки игры, чтобы убедиться, что они работают из .bsp, а лучше вообще проверяйте карту на другом компьютере.

Этот туториал покажет как делать "Фото карты", которые показываются после загрузки карты, справа от цели карты.

Финальный результат Фото для карты ctf_example :


Для начала, у вас должны быть базовые знания работы в Фотошопе.

В общем случае, для того чтобы отобразилсь Фото, надо 2 файла, которые должны лежать в team fortress 2\tf\materials\vgui\maps
Эти 2 файла:
menu_photos_названиекарты.vtf
menu_photos_названиекарты.vmt

Как сделать .vtf

Шаг 1 :
Установить плагин для Photoshop vtfplugin (если уже не установлен)
* Закрыть Photoshop.
* Разархивировать архив vtfplugin.zip
* Скопировать файл VTFLib.dll в папку \Program files\Photoshop\
* Скопировать файл VTF.8bi в папку \Program files\Plug-Ins\File Formats\
* Запустить Photoshop.

Шаг 2 : Подготовка картинки
* Сделать несколько скриншотов карты.
* Выбрать 2 наиболее удачных скриншота.

Шаг 3 :
Photoshop: сделать tga (либо открыть шаблон):
* сделать Тга размером 512x512 пикселей.
* залить фон черным
* уменьшить ваши 2 скриншота и вставить их по красивее :).
(Также можно (да и нужно) искользовать шаблоны для Фото (от оригинальных карт), которые можно скачать в конце туториала)
* Нажимаем Сохранить как. там выбираем типы файлов vtf, пишем имя menu_photos_названиекарты.vtf , нажимаем сохранить, в появившемся окне выбираем формат RGBA8888, убираем галку MipMaps, ставим галки на "No Mipmap", "No Level Of Detail", "No minimum MipMap", и кликаем OK.
* получившися vtf кидаем в папку team fortress 2\tf\materials\vgui\maps

Как сделать .vmt

Шаг 1 :
Открыть блокнот

Шаг 2 :
Скопировать эти строчки в него:

"UnlitGeneric"
"$basetexture" "vgui\maps\menu_photos_названиекарты"
"$translucent" 1
"$ignorez" 1
"$vertexcolor" 1
>

Шаг 3 :
Заменить "названиекарты" в строке "$basetexture" "vgui\maps\menu_photos_названиекарты" на название вашей карты
Например "$basetexture" "vgui\maps\menu_photos_ctf_2fort"

Шаг 4 :
Сохранить как. menu_photos_названиекарты.vmt

Положите .vtf и .vmt в нужную папку

Шаг 1 :
Скопируйте ваши "menu_photos_названиекарты.vtf" и "menu_photos_названиекарты.vmt" в папку
\team fortress 2\tf\materials\vgui\maps

И если вы все правильно сделали, то при загрузке карты в окне Цели, будут показаны ваши Фото :)

Добавление ваших .vtf и .vmt в карту

Шаг 1 :
Берем прогаму pakrat.jar (есть в СДК, требует установленую JAVA)

Шаг 2 :
* Запускаем pakrat, в нем открывам вашу карту.
* Нажимаем Add, добавляем ваши menu_photos_названиекарты.vtf и menu_photos_названиекарты.vmt, на запрос нажимаем Yes to All
* Смотрим чтобы у этих 2 файлов было в поле Path написано materials/vgui/maps/, если не так то правим выделяем и нажмием Edit.
* Если все верно то сохраняем файл. (если что, программа всегда созадет бекап из неизменененой версии.)

Читайте также: