Воскресенье, 28.05.2017, 03:15
Under sky of Half-Life
Приветствую Вас Гость | RSS
Главная | Каталог статей | Регистрация | Вход
Меню сайта

Категории каталога
На движке Valve Source [29]
На движке Half-Life 1 [1]

Главная » Статьи » Статьи по мэппингу » На движке Valve Source

Переключающаяся текстура на браше (Toggle Texture)
Переключающаяся текстура на браше (Toggle Texture)

Содержание

  1. Введение
  2. Создание материала и VMT-файла
  3. Использование toggle-текстуры на карте
  4. Пример карты

Введение

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

Создание материала и 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.
После всех действий должно получиться примерно следующее:

pic01.jpg

Теперь снова выделите env_texturetoggle и в свойствах в поле Name напишите, например, tex_toggle, а в поле Target Brush(es) выберите в списке my_brsh, т.е. тот браш, на котором, собственно, будет переключаться текстура.

Выделяем func_button и во вкладке Outputs пишем следующее:

pic02.jpg

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-текстуры!

Пример карты

Категория: На движке Valve Source | Добавил: monolife (05.08.2008) | Автор: Pl@zmer
Просмотров: 1922 | Комментарии: 1
Всего комментариев: 1
1  
Огромный респект автору за нелегкие труды!
Меня в свое время эта статья очень спасла. Я все сделал, и у меня все получилось!

Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Форма входа

Поиск

Друзья сайта

Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0

© 2017, MonoLife Сайт создан в системе uCoz