Создание неба на карте
1. Intro.
В данном туторе я постараюсь объяснить как устроено небо в играх на движке Source и как использовать его на своих картах.
Небо - так называемый скайбокс (от англ. 'skybox'- небесная коробка)
состоит из шести изображений. Пол, потолок и четыре стены - всё вместе
это образует своеобразную коробку, которая окружает уровень и придаёт
ему большую реалистичность. Этот метод построения небес на картах широко
использовался в большинстве известных игр, таких как Quake 2, Half-life
1-2 и т.д. и продолжает использоваться до сих пор.
Создание неба для движка Source, пламенного сердца Half-life 2,
практически не отличается от аналогичной операции в отношении Half-life.
Различие составляет лишь то, что сейчас текстуры требуют упаковки в
формат .vtf и создания индивидуально для каждой файла .vmt, содержащего в
своём теле описание некоторых свойств текстуры.
2. Создание и компиляция текстур.
Сейчас мы на примере рассмотрим создание скайбокса и установку его на вашу карту в Half-life 2.
Для начала нам нужны шесть изображений неба.
Нарисовать их можно и самому в Photoshop, главное чтобы четыре боковых
изображения могли быть соединены в одно непрерывное изображение, а две
оставшися представляли собой вер и низ скайбокса.
Текстуры должны быть представлены в формате .tga (targa), глубиной цвета 16, 24 или 32 бита.
Размеры должны быть эквивалентны числу 2: 512х512 пикселей - оптимальное разрешение.
Идём дальше. Конвертируйте текстуры в .tga, придайте им разрешение 512x512 и положите в папку materialsrc вашего мода.
Теперь придайте текстурам имена, подходящие для компиляции скайбокса:
К примеру ваш скайбокс будет называться nebo. Тогда текстура, на
которой изображён низ скайбокса получает имя 'nebodn.tga'. 'dn' -
означает 'down', что в переводе с английского - 'низ'. По аналогии, верх
скайбокса 'neboup.tga' (up - верх), а боковые стороны
'nebolf.tga','nebort.tga','neboft.tga' и 'nebobk.tga'. Left, right,
front и back соответственно.
Каждая текстура при компиляции использует текстовый документ, имеющий
имя текстуры и содержащий команды для компилятора. В принципе, если его
нет, компилятор создаст пустой файл, но нам необходимо указать в нём
параметр $skybox, тогда при игре на небе не будет 'швов' :)
Создайте шесть текстовых документов и назовите их также как и
текстуры, но расширение оставьте .txt. В каждом из них поместите
вышеуказанный параметр $skybox. Всё готово для компиляции.
Запустите Steam и откройте новое окно, в котором прописан путь до папки bin, вашего SDK.
C:\Program Files\Valve\Steam\SteamApps\ваш_аккаунт\sourcesdk\bin
Теперь лёгким движением руки перетаскивайте по очереди каждую текстуру на значок vtex.exe, лежащий в папке bin.
В принципе с тем же успехом вы можете создать ярлык для этой проги и
перенести его в папку materialsrc, а затем таскать текстуры на него.
Заходите в папку material, вашего мода и смотрите, появились ли там
шесть файлов с расширением .vtf. Создайте там же папку skybox и скиньте
файлы в неё.
Теперь осталось для каждого файла создать одноимённый .vmt со следующим содержанием:
"UnlitGeneric"
{
"$basetexture" "skybox/имя_текстуры_без_расширения"
"$nofog" 1
$ignorez 1
}
Получаем: 'nebolf.vmt','nebort.vmt','nebobk.vmt','neboft.vmt','neboup.vmt' и 'nebodn.vmt'
3. Установка скайбокса на карте и компиляция.
Запустите Хаммер, настроенный для работы с вашим модом. Создайте новую
карту и в ней большую коробку. Нажмите на полученный куб правой кнопкой
мыши, выберите пункт 'hollow' и нажмите enter. Внутри куба, который
теперь стал пустотелым, создайте площадку, киньте на неё
info_player_start, light_environment и наконец покрасьте куб в текстуру
скайбокса.
Для этого откройте браузер текстур и наберите в строке поиска tools/.
Видите голубую текстуру с именем tools/toolsskybox? Выбирайте её, смело
щёлкая по изображению левой кнопкой мыши. Закройте панель текстур.
Теперь выделите куб, которому предназначено быть скайбоксом и нажмите на
значок apply current texture, чтобы куб окрасился в выбранную текстуру.
Последний штрих: в свойствах карты надо указать используемый скайбокс,
по умолчанию стоит sky_wasteland02. Для этого заходим в меню map ->
map properties..., выбираем строку SkyBox Texture Name и вписываем туда
своё небо. Точнее то самое ключевое слово, которое присутствует в именах
всех шести текстур - nebo...
Ес-сно без расширения.
Вроде ничего не забыл. Ладно, жмите уже F9 и компилируйте карту. Если
вместо неба увидите чёрно-фиолетовую текстуру, раскраски а-ля 'шахматная
доска для эпилептиков' - то это означает что вы его неправильно
скомпилировали.
Автор: Дикс |