Справочник по энтити-объектам § 1. Что такое энтити?
В Counter-Strike все карты состоят лишь из двух типов объектов:
Брашей
Энтитей
1. Браши
Начнем с брашей (brush). Браши можно сравнить со строительными
плитами. Посмотрите на картинку ниже, на ней изображено 5 брашей,
составляющих некую открытую комнату.
Из подобных брашей и состоят карты. Игроки бегают по земле, состоящей
из брашей и между стенами — тоже брашами. Естественно, игрок видит
раскрашенные (затекстурированные) браши, а не такие одноцветные, как на
нашей картинке.
2. Энтити
Энтити (entity) — объекты, обладающие свойствами. Примеры энтитей:
открывающаяся дверь, кнопка, источник света (лампочка), звук, машина — у
всех этих объектов есть свойства (скорость, громкость и пр.).
При помощи энтити-объектов мы можем сделать карту более интересной — добавить в нее звуки, сделать воду и прочие спецэффекты.
Но энтити это не только спецэффекты, но и объекты, управляющие
событиями на карте. Например, чтобы сделать карту с бомбой нужно
вставить на нее энтити-объект одного типа, а если с заложниками —
другого.
К слову сказать, ни одна карта в Counter-Strike не обходится без
использования хотя бы нескольких энтити-объектов, поэтому их изучение не
менее важная часть, чем усвоение техники создания карт, которая
описывается в Учебнике.
Классы энтити-объектов
Всего для создания CS-карт может быть использовано 118
энтити-объектов, которые разбиты на 7 классов. Класс, к которому
принадлежит тот или иной энтити-объект, указывается в названии,
например:
func_door — объект класса func info_target — объект класса info game_text — объект класса game
Список классов энтити-объектов:
env func game info trigger xen все остальные
Для создания самой простой карты необходимо знать от 3 до 5
энтити-объектов. Для более сложной карты потребуется знание 15-20
объектов. Ну, а обычно число различных объектов на карте не превышает
25-30.
Где хранятся описания энтитей
Все энтити описаны в файле с расширением *.fgd (game definition file).
Существуют 2 таких файла: стандартный и расширенный (экспертный), в
котором добавлено несколько новых видов энтитей и изменены некоторые
свойства уже существующих. Его мы и рекомендуем использовать
Проверить номер версии своего FGD-файла можно, открыв его в Блокноте, — номер написан во второй строке сверху.
Энтити точечные, энтити брашевые
Энтити-объекты интересны тем, что могут выглядеть, как обычные браши,
также они могут быть прозрачными, а могут вообще не иметь размеров! Все
зависит от типа энтити-объекта. Давайте разберемся какие же существуют
типы энтити-объектов.
Энтити-объекты делятся на два типа:
Брашевые (brush-based или материальные энтити)
Точечные (point-based или нематериальные)
На картинке ниже схематически представлена структура карты:
Брашевые (brush-based) энтити
Брашевые (brush-based) энтити — это энтити, в основе которых лежит
браш. Обычно такие энтити мы можем увидеть в игре, но бывают и такие,
которые видны только в редакторе карт, но не в игре.
Грубо говоря, брашевые энтити — это браши со свойствами.
Точечные (point-based) энтити
Точечные (point-based) энтити — это энтити невидимые в игре, их размер не имеет значения, главное у таких объектов — свойства.
Примеры: звуки, источники света, места рождения игроков и др.
В редакторе точечные энтити изображаются в виде прямоугольников
(квадратов) фиолетового цвета, а в трехмерном виде — иконками. На
рисунке ниже приведены примеры иконок из 3D-вида редактора: место
рождения контра, источник звука, источник света (слева направо).
В игре Вы не увидите никаких иконок, но объекты существуют и выполняют свои функции.
Редактирование свойств энтитей
Свойства энтити-объектов вызываются сочетанием клавиш [Alt-Enter] или в 2d-виде в меню правой кнопки мыши, пункт Properties. Прежде чем вызывать свойства энтити-объекта, его необходимо выделить (что вполне логично :).
Свойства всех энтити-объектов выглядят примерно так:
Пояснения к рисунку:
Class Название энтити-объекта. В начале названия идет класс, а через знак
подчеркивания «_» название самого объекта. Превратить один объект в
другой проще простого. Просто выбирете в списке другой объект.
Attributes Свойства объекта. У каждого объекта есть как свои собственные
свойства, так и общие, которые есть у большинства объектов. К общим
свойствам можно отнести: Name и Target.
Name Имя объекта. Имя нужно давать объекту в том случае, если он будет активироваться (включаться/выключаться) другим объектом.
Target В это поле записывается имя того объекта, который должен быть
активирован. Например, у нас есть лампочка с именем LAMP и кнопка. Чтобы
лампочка включалась от нажатия на кнопку, необходимо прописать имя LAMP
в параметр «Target» кнопки.
Помните, что не обязательно выставлять все свойства, имеющиеся у
объекта, достаточно указать только необходимые. Часто бывает так, что
объект имеет, скажем, 10-15 свойств, из которых действительно полезны и
часто применяемы лишь 2-3.
Angle Для некоторых объектов (источники света, некоторые типы дверей, кнопки
и др.) важным параметром является «Angle» (см. рис. выше),
устанавливающий направление действия объекта (сторону открытия дверей,
направление световых лучей и т.п.) Вы можете указывать направление
градусами или в черном кружке, задавая необходимый угол черточкой.
Кнопка Smart Edit «Smart Edit» — это кнопка, переключающая режимы отображения свойств
энтити-объектов. По умолчанию «Smart Edit» нажата, и Вы видите свойства
любого объекта, как показано на рисунке выше. Для некоторых же объектов
таких свойств нет. В этом случае необходимо отжать «Smart Edit» и
производить изменение свойств в несколько менее удобном виде (но ничего
не поделаешь, хорошо хоть объектов таких всего пара штук). Но на первых
порах с такими объектами Вы встречаться не будете. Просто имейте это в
виду.
Закладка Flags Многие энтити наряду со свойствами имеют флаги (дополнительные
параметры). Флаги выставляются в закладке «Flags». Например, для звука
существует флаг «Play everywhere» (чтобы звук играл по всей карте).
Флаги, так же как и свойства, могут быть различными у разных объектов. И
опять же, не стоит выставлять все флаги — только необходимые.
На последок хочется сказать, что не все объекты работают правильно и
не глючат. Если у Вас что-то не получается, просто попробуйте
реализовать свою идею при помощи других объектов. Проявите
изобретательность, свойственную русскому человеку! :)