В 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" (чтобы звук играл по всей карте). Флаги, так же как и свойства, могут быть различными у разных объектов. И опять же, не стоит выставлять все флаги - только необходимые.
На последок хочется сказать, что не все объекты работают правильно и не глючат. Если у Вас что-то не получается, просто попробуйте реализовать свою идею при помощи других объектов. Проявите изобретательность, свойственную русскому человеку! :)
©
http://cs-mapper.by.ru/