Школа Counter-Strike - Часть 4.2 Типы текстур в Half-Life и Counter-Strike

Мир Counter-Strike

Приветствую Вас Гость | RSSГлавная | Часть 4.2 Типы текстур в Half-Life и Counter-Strike | Регистрация | Вход
Главное меню
Теория CS
Видео школа CS 1.6
Скачать
Магазин
Мастерская
Арт-Cs
Новые видео уроки CS 1.6Новые материалы и файлы


Учебник по созданию карт
Часть 4. Текстуры и декали.

Часть 4.2 Типы текстур в Half-Life и Counter-Strike

В этом материале мы поведаем вам, на какие виды подразделяются текстуры в Half-Life и Counter-Strike, также мы расскажем о совместимости текстур.

В HL есть несколько разных типов текстур: обычные текстуры, текстуры с маской, текстуры воды и пр. Тип, которому принадлежит текстура, определяется по её названию, а точнее по нескольким 1-ым символам (приставке, префиксу) в названии текстуры. К примеру, все текстуры воды имеют в начале названия восклицательный знак «!», а текстуры с маской (прозрачные заборы, лестницы и др.) — с фигурную скобку «{».

Некоторые текстуры нельзя наносить на объект вместе с другими, так как это вызовет ошибку, а посему крайне необходимо знать о совместимости разных видов текстур. Есть также специальные текстуры (всего их 7), которые применяются для создания неба, брашевых триггеров, ограничительных поверхностей и т.д.


Типы текстур:

Специальные текстуры:


ЧАСТЬ 1.

1. Обычные (простые) текстуры

Имена простых текстур начинаются с английских букв: a-z, A-Z или цифр от 0 до 9.

Примеры простых текстур:

Пример простой текстурыПример простой текстурыПример простой текстуры


Пример простой текстурыПример простой текстурыПример простой текстуры


Как видно из примеров выше, простые текстуры могут быть самыми различными: скалы, ящики, земля и пр. В основном уровни текстурируются ими.

Также текстуры, как это ни парадоксально, оказывают влияние на пробиваемость объектов пулями. В директории «Cstrike\sound» есть эдакий файл materials.txt, в котором указаны имена некоторых стандартных текстур и соответствующий им тип материала (грязь или скала, дерево или металл и др.). Практически было доказано, что объекты, затекстурированные, к примеру, текстурой металла пробиваются хуже, чем объекты с текстурой дерева. Но, помните, если имя текстуры не указано в файле materials.txt, то простреливаемость всех объектов в уровне будет одинаковой, и не будет зависить от наложенной текстуры.


2. Накладывающиеся в случайном порядке текстуры

Имена данных текстур начинаются с цифр: от –0 до –9, со знаком «минус». Затем, после цифр, идёт какое-либо простое имя.

Пример серии из 2-х накладывающихся в случайном порядке текстур:

Примеры текстур, накладывающихся в случайном порядкеПример текстур накладывающихся в случайном порядке


Из примера выше видно, что текстуры из 1-ой серии называются так: –0название, –1название, –2название и т.п.

В целом, это тоже простые текстуры, как и в первом случае, только движок Half-Life, когда увидит «минус» перед названием, накладывает их случайным образом. На наш взгляд, выгода от использования данных текстур под вопросом и просто не видна обычному игроку, который не всматривается в стены по ходу игры :-)

Требование к подобным текстурам
Накладывающиеся в случайном порядке текстуры должны, как говорят, тайлиться (от английского tile — черепица), то есть хорошо подходить друг к другу. И всякая текстура должна являться продолжением предудущей и всех соседних текстур. Получается, что создавая подобные текстуры, необходимо добиваться плавности перехода между краями текстур, то есть не должно быть заметно швов.


3. Анимированные текстуры

Имена таких текстур начинаются с цифр: от +0 до +9; со знаком «+».

Пример серии анимированных текстур:

Примеры анимированных текстур


Текстуры начинающиеся с цифр от +0 до +9 в игре отображаются друг за другом, создавая таким образом анимацию. К примеру, мониторы компьютеров на cs_militia. Другой пример: водопад, где анимация создаёт иллюзию движения воды. В общем и целом, вещь достаточно нужная.

Требование к таким текстурам
Анимированные текстуры должны подходить друг к другу, то есть иметь правильную последовательность анимации.


4. Переключаемые

Имена переключаемых текстур начинаются с +А и цифр: +0 до +9.

Пример серии переключаемых текстур:

Примеры анимированных переключаемых текстур


Единственное, чем отличается переключаемая текстура от анимированной, является нахождение в серии одной текстуры, имя которой начинается с +А (смотрите картинку выше).

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


5. Светящиеся текстуры

Имена таких текстур начинаются со знака тильды «~», хотя в принципе всякая текстура в HL может излучать свет, но об этом позднее.

Примеры светящихся текстур:

Примеры светящихся текстур


Текстуры с именем, начинающимся с тильды, излучают свет, только если они записаны в спец файле с расширением *.RAD. Вообще говоря, можно сделать светящейся любую текстуру (пусть даже и без тильды), главное: прописать её имя в *.RAD файл. Этот файл подключается при компиляции и используется при рассчёте освещённости.

Изначально программы-компиляторы ищут данные о светящихся текстурах в файлах lights.rad или имя_карты.rad, но, по идее, можно назвать *.RAD файл как хочешь, только при этом придётся указать имя этого файла в параметрах компиляторов.

Подробно об использовании светящихся текстур и создании *.RAD файла мы рассказываем в отдельном материале этой главы.

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

А зачем тогда светящиеся текстуры?
В самом деле, многие из вас спросят: для чего задействовать светящиеся текстуры, если значительно увеличивается время компиляции, да, ещё надо тратить драгоценное время на создание собственного *.RAD файла?

Судя по следующему рисунку, можно видеть «зачем»:

Разница между использованием светящихся текстур (слева) и объекта light


Как видно из картинки, светящаяся текстура делает лампу как бы в самом деле включённой. А вот если использовать простой источник света — энтити-объект light, то стороны лампы останутся тёмными.

Заметим попутно, что есть ещё один способ заставить энтити-объект светиться. Только при этом он совершенно не будет излучать свет, а просто будет ярким. Значительным преимуществом этого метода перед светящимися текстурами является весомая экономия времени компиляции.

Как это работает: превратите лампу в какой-нибудь брашевый энтити-объект: func_wall, func_illusionary и т.п. и выставьте параметр Minimum light level (бывает встречается _minlight) в значение отличное от нуля, к примеру: 0.7. Теперь лампа будет светиться, хоть и не излучать свет. Около лампы необходимо будет создать простой источник света light или light_spot, так как, повторимся, сама она свет не испускает.

Примечание! Чтобы использовать выше описанный метод, у вас должна быть свежая версия *.FGD файла — 0.7.7 и выше) и утилиты Зонера 2.5.3 и выше.


6. Текстуры с маской или прозрачные текстуры

Имена текстур с маской начинаются с фигурной скобки «{». При помощи этих текстур создаются: решётки, деревья, заборы, лестницы и прочие энтити-объекты.

Примеры текстур с маской (частично прозрачных):

Примеры текстур с маской (частично прозрачных)


Эти текстуры называются текстурами с маской, так как синие части в игре будут абсолютно прозрачными. Чтобы синие части таких текстур стали прозрачными, нужно браш превратить в энтити: func_wall, func_illusionary, func_breakable и т.п. Далее нужно выставить следующие параметры отображения:

    Render Mode: Solid
    FX Amount: 255
Подробнее о параметрах отображения энтитей мы рассказываем из раздела сайта «Энтити».

Возможные проблемы
Часто при изготовлении своими силами подобных текстур появляются проблемы из-за неправильной цветовой гаммы. Будущие прозрачные места должны быть чистого синего цвета в формате R=0 G=0 B=255. Также рекомендуется текстурировать объект со всех сторон 1-ой и той же текстурой. Но вобщем-то разрешается раскрасить один объект различными текстурами с маской и еще SKY-текстурой.


7. Текстура воды, жидкости

Имена текстур жидкостей всегда начинаются с восклицательного знака «!».

Примеры текстур жидкостей:

Примеры текстур жидкостей


Важно! Если вы раскрашиваете некий энтити-объект текстурой воды (жидкости), то раскрашивать нужно ВСЕ СТОРОНЫ объекта. В противном случае появится ошибка.

Можно сказать, в 99 процентах случаев текстура воды наносится на объект func_water, который собственно и используются для создания жидкостей. Но можно текстуру жидкости наложить и на простой браш. В этом случае движок Half-Life автоматом сделает этот браш водой. Но! Подобная вода не будет двигаться, у нее не будет волн и она не будет прозрачной — и вообще это уже не вода :-) Лучше жидкость делать объектом func_water.

Прозрачность жидкости выставляется в параметрах отображения энтити-объекта func_water:

    Render Mode: Texture
    FX Amount: от 50 до 150 (оптимально)
Подробнее о параметрах отображения энтитей мы рассказываем в разделе сайта «Энтити».

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


8. Scroll-текстуры (двигающиеся, скроллящиеся)

Имена таких текстур начинаются со слова «Scroll». Применяются двигающиеся текстуры при создании конвейеров, воды с течением, водопадов и других подобных объектов.

Примеры двигающихся текстур:

Примеры двигающихся текстур


Всякую простую текстуру можно сделать двигающейся, для этого необходимо просто приписать в начале слово scroll. Первую текстуру (на картинке слева) можно использовать для создания иллюзии движущейся воды, а вторую — для создания конвейера.

Помните, что сама по себе двигающаяся текстура не толкает игрока, а просто создает иллюзию движения. Чтобы конвейер в самом деле толкал игрока нужно создать соответствующую энтити.

Возможные трудности
Нужно опытным путем подбирать правильность нанесения движущейся текстуры, потому как она может скроллиться, к примеру, против движения конвейера или под углом 90 градусов. Раскрасте конвейер, откомпилируйте уровень и проверьте — совпадает ли движение текстуры с направлением толкания игрока.


ЧАСТЬ 2.

Специальные текстуры

Всего существует 7 специальных текстур. Вот их названия:
  • AAAtrigger
  • SKY
  • CLIP
  • ORIGIN
  • HINT / SKIP
  • NULL
Вы будете нередко использовать данные текстуры. Советуем, запомнить их имена и внимательно прочитать о случаях, когда они используются.

Следует запомнить, что текстурами CLIP и ORIGIN нужно ПОЛНОСТЬЮ расскрашивать объект. Эти спец текстуры не допускают наличия на объекте других текстур вместе с ними. Все данные специальные текстуры в игре прозрачны и используются в строго определённых случаях.

Помните также, что внешний вид специальных текстур, может различаться. Здесь нет ничего страшного.
Важно, чтобы текстура имела именно такое спец название. То есть если текстура названа SKY, но она не такая, как представлена здесь, то можено не боясь её использовать, ошибки не будет. Это же относится и других спец текстур. Можно даже самостоятельно нарисовать картинки для спец текстур и потом пользоваться ими при создании уровня, нужно лишь дать им точно такие же специальные, служебные названия.


9. AAAtrigger — текстура для триггеров

Используется для создания триггеров и других брашевых энтитей прозрачных в игре.

Ниже вы можете видеть, как выглядит эта текстура (может быть другое изображение при использовании другого *.wad файла):

AAAtrigger

Эта текстура расположена в главном WAD-файле HL — halflife.wad в директории Valve. Используется для создания триггеров и других прозрачных в игре брашевых энтитей. Примеры объектов: trigger_once, trigger_multiple, trigger_hurt, trigger_push, env_bubbles, func_buyzone, func_bomb_target, func_ladder и др. Не советуется расскрашивать простые объекты этой текстурой, так как это может привести к ошибке.

Возможные проблемы
Помните, что расскаршивание этой текстурой простых брашей не сделает их прозрачнымы. Прозрачными будут лишь определённые (перечисленные выше) энтити.


10. SKY — текстура неба.

Используется при создании неба. Браши, окрашенные текстурой SKY-текстурами (они называются SKY-брашами), создаются вокруг карты, образуя некий колпак. При компиляции программой-компилятором HLRAD.EXE при помощи одного объекта light_environment со SKY-брашей распространяется свет.

Изображение текстуры:

SKY

Эта текстура расположена в главном WAD-файле HL — halflife.wad в директории Valve. Важно! Все стороны брашей, составляющих небо, должны быть окрашены специальной текстурой SKY. Если в уровне есть точечный объект light_environment (солнышко), то данная текстура будет излучать свет. Именно таким образом создается общее освещение в уровне.

Также эта текстура применяется мапперами для снижения количества рисуемых полигонов (параметр r_speeds). Это происходит при нанесении SKY-текстуры на те стороны объектов, которые игрок в игре не видит (крыши домов, обратные стороны стен, дно карты и др.). Подробнее об использовании текстуры SKY для повышения FPS (числа кадров в секунду) в уровне мы рассказываем в материале: «Улучшенная версия ZHLT Custom Build» и «Все об r_speeds».

Возможные проблемы
Проблемы с данной текстурой могут возникнуть лишь тогда, когда вы используете стандартные программы-компиляторы, идущие вместе с Hammer'ом: qcsg, qbsp2, vis, qrad, а не утилиты Зонера. При использовании этих старых компиляторов, игрок может «пролетать» сквозь небо. Чтобы этого не было, нужно около SKY- брашей неба создавать и CLIP-браши. Но так как мы используем утилиты Zoner's Half-Life Tools, то проблем с этой не будет и нет необходимости создавать какие-либо CLIP-браши.


11. CLIP — ограничение передвижения игроков

Эта спец текстура используется для создания невидимых игроку преград. Однако пули и гранаты свободно пролетают через CLIP-браши. CLIP-браш — это обычный браш, но расскрашенный со всех сторон специальной (служебной) текстурой CLIP.

Изображение текстуры:

CLIP

Эта текстура расположена в главном WAD-файле HL — halflife.wad в директории Valve.

В Учебнике находится подробный материал о применении CLIP-брашей (смотрите главу VII).

Возможные проблемы
CLIP-браш должен быть расскрашен спец текстурой CLIP совершенно со всех сторон, иначе появится ошибка при компиляции уровня.


12. ORIGIN — определяет размещение оси вращаюшихся объектов

Используется для определения оси вращающихся объектов (func_door_rotating, func_vehicle и пр.).

Изображение текстуры:

ORIGIN

Эта текстура расположена в главном WAD-файле HL — halflife.wad в директории Valve. Этой спец текстурой окрашивается ORIGIN-браш — простой браш, но расскрашенный со всех сторон спец текстурой ORIGIN. ORIGIN-браш своим центром определяет точку, через которую проходит ось вращения энтитей: вращающихся дверей, вентиляторов, платформ, маятников, поезда, автомобиля, вращающейся платформы. В целом, если энтити хоть как-то вращается, то он без сомнения должен иметь один ORIGIN-браш.

ORIGIN-браш должен входить в состав энтити, то есть быть его неотделимой частью. Сначала создается браш (дверь, машина и пр.), потом создается ORIGIN-браш, своим центром определяющий ось вращения, и далее всё вместе: и браш, и ORIGIN-браш, превращаются в энтити, к примеру, func_rotating (вентилятор). Такой же порядок действий необходимо соблюдать при создании любого вращающегося объекта.

Подробно об использовании ORIGIN-брашей мы рассказываем в материале: «Использование ORIGIN-брашей».

Предостережение
ORIGIN-браш должен быть раскрашен специальной текстурой ORIGIN совершенно со всех сторон! Абсолютно не допускается наносить какую-либо другую текстуру вместе с ORIGIN. Такой браш должен всенепременно входить в состав энтити, а не состоять отдельно. Если в составе одного вращающегося энтити будет сразу 2 или более ORIGIN-брашей, появится ошибка. Ось вращения для всякого вращающегося энтити-объекта должна быть только 1. Форма и размер ORIGIN-браша не важны, главное, расположение его центра.


13. HINT/SKIP — оптимизация карты, повышение FPS

Эта пара текстур используется для снижения числа отрисовываемых движком полигонов (параметр r_speeds). Подробно об использовании HINT-брашей мы рассказываем в материале: «Оптимизация карты (R_Speeds)».

Ниже вы можете видеть изображения текстур HINT/SKIP (могут быть другими при использовании других *.wad файлов):

HINT/SKIP

Эти текстуры можно нарисовать самому или отыскать их в текстурных wad-файлах zhlt.wad и zeditor.wad, которые идут вместе с компиляторами Зонера. Грамотное использование HINT/SKIP-брашей помогает снизить «тормоза» на карте, то есть увеличить FPS (количество кадров в секунду).

В игре HINT-браши совершенно прозрачны и через них можно безпроблемно проходить. Не советуем расскрашивать обычные объекты этими текстурами!

Возможные проблемы
Трудно понять принцип действия HINT/SKIP-брашей, ещё труднее грамотно разместить их в уровне. Неправильное применение HINT/SKIP-брашей может вызвать обратный эффект — повышение параметра R_Speeds в уровне. Помните, что браш, закрашенный данными текстурами, не может быть окрашен какой-либо другой текстурой.


14. NULL — оптимизация карты, повышение FPS

Наносится на стороны объектов, которые игрок не видит в игре, тем самым уменьшает количество отрисовываемых полигонов и повышает FPS (количество кадров в секунду).

Ниже вы можете видеть изображение текстуры (может быть другое при использовании других *.wad файлов):

NULL

Эта текстура расположена в текстурном файле zhlt.wad, который входит в состав улучшенных утилит Зонера — Custom Build. NULL-текстуру можно использовать ТОЛЬКО с улучшенными утилитами Zoner's Half-Life Tools (Custom Build). С простыми компиляторами ZHLT она не работает. Этой текстурой можно раскрашивать любые объекты (как браши, так и энтити-объекты). Также разрешается совмещать эту текстуру с другими, позволяющими это. Заметим, что вместо текстуры NULL можно использовать специальную текстуру SKY. Действие совершенно такое же.

Подробнее о NULL-текстуре мы рассказываем в материале: «Улучшенная версия ZHLT Custom Build»


Часть 4.2 Типы текстур в Half-Life и Counter-Strike
Часть 4.3 Как накладывать текстуры и декали?
Часть 4.4 Как сделать свой WAD-файл?
Часть 4.5 Как включить WAD-файл в карту?
Часть 4.6 Как сделать прозрачную текстуру?
Часть 4.7 Как извлечь текстуры из карты?
Часть 4.8 Светящиеся текстуры (создание RAD-файла)
Часть 4.9 Звучащие текстуры

   
Форма входа
Гость

Здравствуйте Гость! Пожалуйста зарегестрируйтель или зайдите под своим ником.biggrin
Поиск по сайту
Облако тегов
Тактика в CS 1.6
Опрос
Вы нашли что то новое для себя на сайте?
Всего ответов: 399
Материалы
Comments: 49
Forum: 12/45
News: 6
Downloads: 250
Guestbook: 56
Кто онлайн

Онлайн всего: 1
Гостей: 1
Пользователей: 0
uCoz
При копировании материалов активная ссылка на world-cs.net обязательна © 2016