Переключающаяся
текстура на браше (Toggle Texture) Содержание - Введение
- Создание
материала и VMT-файла
- Использование toggle-текстуры на карте
- Пример карты
Введение
Здравствуйте,
товарищи мапперы и текстуровщики тоже! Эта статья посвящена созданию переключающейся текстуры на браше с
помощью кнопки. Начнем с того,
что нам нужно сделать материал, т.е. текстуру, которая будет
переключаться с нажатием кнопки. Создание материала и VMT файла
Нам нужно
создать столько текстур, сколько кадров (frames
- фреймов) будет содержаться в одной toggle-текстуре. Я решил
попрактиковаться на цифрах.
Откройте Photoshop и сделайте несколько
текстур размером, например, 128Х128 и на каждой текстуре напишите цифры
(например, на первой текстуре цифру "1", на второй - "2" и т.д.). Далее
сохраните каждую текстуру (файл) в папку ...\materialsrc\digits
(можно в любую другую папку) как TGA и 32 BIT. Это
обязательно, так как по неизвестной причине toggle-текстура
не работает, если каждый ее фрейм сохранить с 24 BIT'ами.
Название файлов может быть любым, но с
нумерацией из трех цифр в конце названия, начиная с нуля.
Например, первый файл-фрейм toggle-текстуры
- digits000.tga,
второй - digits001.tga,
третий - digits002.tga.
Теперь у нас имеется 3 файла (фреймов) toggle-текстуры.
Для того, чтобы скомпилировать переключающуюся текстуру, нужно создать txt-файл, например, с помощью "Блокнота". Примечание: Принцип создания VTF-файла
переключающейся текстуры аналогичен принципу создания VTF-файла анимированной текстуры.
Там пишем: "startframe" "0" "endframe" "2" |
"startframe" - первый фрейм toggle-текстуры,
а "0"- номер первого фрейма (в данном случае это digits000.tga; если начальный фрейм будет digits001.tga, т.е. нумерация будет начинаться с
единицы, тогдаэта строка будет выглядеть
так: "startframe"
"1"). "endframe" - конечный фрейм toggle-текстуры, "2" - номер конечного
фрейма (в данном случае - digits002.tga). Сохраните текстовый файл с названием images.txt
в ту папку, где лежат файлы (фреймы) toggle-текстуры. Приступим к компиляции toggle-текстуры. Найдите текстовый файл images.txt и файл vtex.exe. Теперь путем "drag
and drop" перетащите текстовый файл на vtex.exe.
Появится окно компиляции текстуры. Должна создаться toggle-текстура с именем digits.vtf.
Как видите, никакой нумерации после названия нет. Если открыть файл в Photoshop, то вы сможете увидеть только первый
фрейм toggle-текстуры - ничего страшного,
так оно и должно быть. Теперь нужно сделать для нее VMT-файл. Его
можно создать как и текстовый файл, например, с помощью "Блокнота". Пишем следующее: "LightmappedGeneric" { "$baseTexture" "digits/digits" "Proxies" { "ToggleTexture" { "toggleTextureVar" "$baseTexture" "toggleTextureFrameNumVar" "$frame" "toggleTextureShouldWrap" "0" } } } |
"$baseTexture"
"digits/digits" - наша текстура, digits.vtf в папке digits "toggleTextureVar"
"$baseTexture" - переменная toggle-текстуры, т.е. что берет за основу текстуры "toggleTextureShouldWrap"
"0" - к сожалению, не разобрался Сохраняем файл по именем digits.vmt в той же папке, где находится digits.vtf. Итак, создание материала и VMT-файла для нее завершено. Переходим к созданию
карты. Использование toggle-текстуры на карте Откройте Hammer->File->New
и создайте небольшую комнату. Поместите в нее point-ентити info_player_start
и env_texturetoggle. Теперь создайте браш,
покрытый той самой текстурой digits.
Отправьте этот браш в solid-ентити func_brush и в поле Name задайте
имя ентити, например, my_brsh. Далее сделайте браш, который будет отвечать за кнопку. Отправьте его в solid-ентити func_button. После всех действий должно получиться примерно следующее:
Теперь снова выделите env_texturetoggle и в свойствах в поле Name напишите, например, tex_toggle, а в поле Target Brush(es) выберите в списке my_brsh, т.е. тот браш, на котором, собственно,
будет переключаться текстура. Выделяем func_button
и во вкладке Outputs пишем
следующее:
My Output
>: OnPressed - действие при нажатии кнопки Target Entity:
tex_toggle - ентити env_texturetoggle,
которой манипулирует func_button
Target Input: IncrementTextureIndex - переключить toggle-текстуру на один фрейм (например, начальный
фрейм - digits000, то инпут будет изменять
этот фрейм на следующий - digits001) Если хотите, то в настройках func_button в поле Delay
before Reset (-1 stay) можете поставить 0 или 0.1, чтобы
увеличить частоту переключения
toggle-текстуры. Сохраняем результаты, компилим и
наслаждаемся работой toggle-текстуры! Пример карты
|