В этой статье мы рассмотрим свойства 35 основных энтити-объектов,
используемых для постройки CS-карт. Мы просто выбрали самые часто
используемые объекты из более чем 115, описанных в остальных документах
справочника по энтити-объектам.
Несмотря на огромное количество энтити-объектов, реально используется
только четверть из них! Остальные применяются очень редко и уж точно не
понадобятся начинающему мапперу.
Для начала перечислим те объекты, без которых необходится практически ни одна карта:
Следующие объекты используются также
довольно часто и представляют собой различные объекты, используемые
игроком (лестницы, двери, кнопки, разбиваемые объекты, машины, камеры,
вода и пр.).
Изменяет прозрачность объектов и другие параметры отображения
1. Самые необходимые объекты (свойства)
16. Func_illusionary
Создает нематериальный объект, т.е. через который можно свободно проходить.
1. Создание прозрачных решеток или заборов
Используя func_illusionary, Вы можете создать простреливаемый забор
или решетку, который одновременно будет блокировать передвижение игроку.
Для этого необходимо закрасить такой забор текстурой с маской (названия
таких текстур начинаются с фигурной скобки «{»).
Затем превратите забор в func_illusionary и в свойствах выставьте следующие параметры: «Render Mode» — Solid, «FX Amount» — 255 (это сделает синие места на текстурах прозрачными в игре).
Теперь создайте обычный браш (такого же размера как и забор), но со
всех сторон окрашенный текстурой CLIP и разместите вплотную к забору.
Теперь у Вас есть простреливаемый прозрачный забор, через который нельзя
пройти
2. Создание объектов, не цепляющих игрока
В узких местах (коридорах, туннелях, вентиляциях) некоторые мелкие
объекты, например, фонарики и т.п. могут мешать передвижению игрока
(цеплять его). Чтобы этого не происходило, просто превратите такой
объект в func_illusionary. Никаких дополнительных свойств выставлять не
требуется.
свойства:
Name Имя (не обязательно)
Contents Заполнение объекта (рекомендуем оставить «Empty»)
Создает невидимую (в игре) область, по которой
игрок может подниматься. Используется для создания вертикальных лестниц.
Сначала необходимо создать браш в форме лестницы (для закрашивания
используйте текстуру с маской, название таких текстур начинается на
круглую скобку «{», например, {LADDER1), затем превратите браш в
func_illusionary и в свойствах выставьте следующие параметры: «Render
Mode» — Solid, «FX Amount» — 255. Затем вплотную к этому брашу создайте
таких же размеров еще один браш, окрашенный со всех сторон текстурой
AAAtrigger и превратите его в func_ladder.
свойства:
Name Имя (не обязательно)
18. Func_pushable
Создает объект, который можно передвигать.
свойства:
Свойства этого объекта аналогичны func_breakable, вот лишь три новых параметра:
Hull Size Размер объекта (рекомендуем установить «Point size»)
Friction (0-400) Этот параметр определяет степень
сопротивления передвижению, когда игрок толкает предмет, чем он больше,
тем труднее его толкать. Значения от 0 до 400
Buoyancy Плавучесть объекта (на сколько объект погрузится в воду), по умолчанию 20
флаги:
Breakable Если отмечено, то объект можно не только
передвинуть, но и разрушить (Внимание! Объект можно будет разрушить
только один раз, во всех последующих раундах этого объекта уже не
будет!)
19. Func_tracktrain
Объект создает управляемую платформу или поезд,
который едет по определенному маршруту, заданному объектами path_track,
при этом ориентируясь на них своим центром (центр поезда это центр
ORIGIN-браша, см. далее). Так как это вращающийся объект, необходимо
определить ось вращения. Для этого следует построить браш, со всех
сторон покрашенный текстурой ORIGIN, затем разместить его вместо оси
вращения. Дальше следует выделить поезд и браш-ось и превратить в
func_tracktrain. Для возможности управления (разгонять/тормозить) таким
поездом необходимо создать func_traincontrols. При создании поезд нужно
ориентировать передом на запад (налево) на виде сверху, а в игре он
появится на первом объекте path_track и будет направлен на второй объект
path_track.
Func_tracktrain один из немногих объектов, которые могут иметь в своем
составе CLIP-браши (CLIP-браш — обычный браш, окрашенный со всех сторон
текстурой CLIP. Такой браш в игре не видим, но при этом не позволяет
игроку проходить сквозь него). Используйте CLIP-браши в том случае, если
необходимо ограничить передвижения игрока по платформе (поезду) в
определенных направлениях.
свойства:
Name Дайте поезду имя, чтобы им можно было управлять
First stop target Имя первой точки маршрута (объекта
path_track). В начале поезд будет расположен на этом объекте и направлен
в сторону второго такого объекта
Distance between the wheels Расстояние между колесами поезда. Этот параметр отвечает за то, как поезд будет поворачивать, обычно подходит длина поезда
Height above track Высота поезда над объектами path_track (на самом деле высота между центром ORIGIN-браша и объектами path_track)
Initial speed Начальная скорость поезда (при значении
отличном от 0, поезд начнет движение в начале раунда самостоятельно).
Для неуправляемых поездов — это постоянная скорость движения, которая
однако может быть изменена в свойствах объектов path_track
Speed Максимальная скорость движения для управляемого поезда, юнитов в секунду
Damage on crash Количество процентов жизни, отнимаемых у игрока при попадании его под поезд
Bank angle on turns Угол наклона поезда на поворотах
флаги:
No Pitch (X-rot) Если отмечено, то поезд будет поворачиваться только вокруг вертикальной оси Z (т.е. только налево/направо)
No User Control Если отмечено, то игрок не сможет управлять поездом
Passable Если отмечено, то поезд будет нематериальным, т.е. через него можно будет проходить
20. Func_traincontrols
Объект используется для создания области, из
которой игрок может управлять поездом. Для создания такой области
необходимо сделать браш, со всех сторон окрашенный текстурой AAAtrigger,
обратить его в func_traincontrols и разместить на предполагаемое место
управления поездом (платформой). Затем в параметре «Train Name» указать
имя поезда, которым предполагается управлять.
свойства:
Train Name Впишите сюда имя поезда, которым игрок будет управлять
21. Path_track
При помощи объектов path_track определяется траектория движения поезда
func_tracktrain или начальное направление машины func_vehicle.
свойства:
Name Дайте этому объекту имя
Next stop target Впишите сюда имя следующего объекта path_track в траектории, к нему будет двигаться поезд, когда пересечет эту точку
Fire On Pass Впишите сюда имя объекта, который необходимо активировать, когда поезд проедет через эту точку пути
Branch Path Впишите сюда имя другого объекта path_track,
если необходимо создать разветвленный путь. Тогда при активации объекта
path_track, поезд поедет не в «Next stop target», а в эту точку
Fire on dead end Если следующая точка пути не указана
(пустой параметр «Next stop target») и нет разветвленного пути, то когда
поезд достигнет этой точки path_track, будет активирован объект,
указанный в этом параметре
New Train Speed Этим параметром можно изменить скорость движения поезда, после пересечения этой точки пути
флаги:
Disabled Если отмечено, то path_track будет оключен
Fire once Если отмечено, то объект, указанный в параметре
«Fire On Pass» будет активирован только один раз, а не каждый раз, когда
поезд будет проезжать эту точку пути
Branch Reverse Если отмечено, то поезд перейдет на другой путь, указанный в «Branch Path»
Disable train Если отмечено, то поезд остановится в этой точке
22. Func_vehicle
Объект создает управляемое транспортное средство
(машину), которое может ехать в любом направлении, в том числе и задним
ходом. Для создания машины потребуется два объекта path_track и один
func_vehiclecontrols. Так как это вращающийся объект, необходимо
определить ось вращения. Для этого следует построить браш, со всех
сторон покрашенный текстурой ORIGIN, затем разместить его вместо оси
вращения. Дальше следует выделить машину и браш-ось и превратить в
func_vehicle. При создании машину нужно ориентировать передом на запад
(налево) на виде сверху, а в игре она появится на первом объекте
path_track и будет направлена на второй объект path_track.
свойства:
Name Дайте машине имя, чтобы ей можно было управлять
First stop target Имя первого объекта path_track (в начале
машина будет расположена на этом объекте и направлена в сторону второго
такого объекта path_track)
Sound Звук, издаваемый при движении машины
Length of the vehicle Длина машины в юнитах (рекомендуем поставить значение меньшее длины на 8-16 юнитов для удобства управления)
Width of the vehicle Ширина машины в юнитах (рекомендуем поставить значение меньшее ширины на 8-16 юнитов для удобства управления)
Height above track Высота машины над дорогой (высота отмеряется от центра ORIGIN-браша), в юнитах
Initial speed Начальная скорость движения (при значении большем 0), машина начнет движение в начале раунда самостоятельно)
Speed Максимальная скорость движения машины, юнитов в секунду
Damage on crush Количество процентов жизни, отнимаемых у игрока при попадании его под машину
Volume (10 = Loudest) Громкость звука. Значения от 0 до 10 (10 — максимально громкий)
Bank angle on turns Угол наклона машины при поворотах
флаги:
No Pitch (X-rot) Если отмечено, то машина будет поворачиваться только вокруг вертикальной оси Z
No User Control Если отмечено, то игрок не сможет управлять машиной
Passable Если отмечено, то машина будет нематериальной, т.е. через нее можно будет проходить
23. Func_vehiclecontrols
Объект используется для создания области, из
которой игрок может управлять машиной. Для создании этой области
сделайте браш, окрашенный со всех сторон текстурой AAAtrigger, обратите
его в func_vehiclecontrols и в параметр «Vehicle name» впишите имя
машины, которой предполагается управлять (размещать func_vehiclecontrols
следует в предполагаемое место управления машиной).
свойства:
Vehicle name Впишите сюда имя машины, которой игрок будет управлять
24. Func_wall
Внешне объект ничем не отличается от обычных
брашей. Данным объектом могут быть ящики, стены и мн. др. Но в отличии
от обычных брашей func_wall обладает свойствами, например, он может быть
прозрачным (используется для создания стекол).
Решетки и лестницы
Также func_wall может быть использован для создания прозрачных решеток
и лестниц. Для этого объект закрашивают текстурой с маской (названия
таких текстур начинаются с фигурной скобки «{»). У таких текстур есть
части ярко-синего цвета, которые в игре будут абсолютно прозрачными.
Если Вы закрасите текстурой с маской, например {LADDER1, обычный браш
(не энтити), то в игре синие места будут черными. Чтобы сделать их
прозрачными обратите этот браш в func_wall и выставьте в свойствах
следующие параметры отображения: «Render Mode» — Solid, «FX Amount» —
255.
Неразбиваемые стекла
Чтобы создать неразбиваемое стекло обратите браш в func_wall и
выставьте в свойствах следующие параметры отображения: «Render Mode» —
Texture, «FX Amount» — в пределах от 0 до 255. Значение FX Amount = 0
соответствует абсолютно прозрачному стеклу, а 255 — абсолютно
непрозрачному.
Оптимизация карты
Обращайте в func_wall мелкие детали, такие как лампы на потолках. Это
поможет избежать разбиения брашей (стен, потолков и т.д.) на бОльшее
количество полигонов (подробнее об оптимизации карты Вы можете прочитать
в статьях Учебника).
Wave Height Высота волн, в юнитах. Значение по умолчанию 0
26. Info_target
Используется в качестве мишени для некоторых объектов, например, trigger_camera, env_beam и некоторых др.
свойства:
Name Присвойте данному объекту имя, а затем пропишите его же
в параметре «Target» объекта trigger_camera, тогда камера будет
показывать на info_target. Для камеры не обязательно нужно использовать
info_target, можно указать любой другой объект с именем, тогда камера
будет показывать на него. Info_target используется просто для удобства
(т.к. он не требует выставления практически никаких свойств)
27. Infodecal
Этот объект позволяет вставлять на карту (а точнее
наносить) декали, т.е. специальные текстуры, которые накладываются
поверх основной текстуры для иммитации различных царапин, следов взрывов
гранат, дыр от пуль и т.п.
Подробнее о нанесении декалей Вы можете прочитать в статьях Учебника.
28. Trigger_camera
Объект позволяет поставить на карту камеру, через которую
активировавший ее игрок, сможет смотреть на заранее определенные участки
карты (подобные камеры используются на cs_assault).
Подробнее о различных способах применения камер читайте в статьях Учебника из раздела «Камеры».
свойства:
Target Имя объекта, на который будет направлен взгляд камеры
(мишень). Мишенью может быть любой объект, имеющий имя. Обычно для этих
целей используется объект info_target
Delay before trigger Время в секундах до уничтожения объекта KillTarget
KillTarget Сюда можно вписать имя объекта, который будет
уничтожен после первой активации камеры (Внимание! Объект будет
уничтожен на все оставшиеся раунды!)
Name Дайте камере имя, чтобы ее можно было активировать при помощи кнопки или другого триггера
Hold time Время в секундах, на протяжении которого игрок будет видеть изображение с камеры
Path corner Имя первого объекта path_corner (нужно для движущейся камеры)
Initial speed Начальная скорость движения камеры (нужно для движущейся камеры)
Acceleration units/sec^2 Ускорение движения камеры, юнитов в секунду2
Stop deceleration units/sec^2 Торможение камеры перед окончанием движения, юнитов в секунду2
флаги:
Start at player Если отмечено, то камера начнет свое движение с места глаз игрока
Follow player Если отмечено, то камера будет следить за игроком (держать его в фокусе)
Freeze player Если отмечено, то игрок не сможет двигаться, когда смотрит в камеру
29. Trigger_hurt
Наносит игроку, прошедшему через него, повреждения различного
характера: электрошок, замораживание и пр. Например, можно сделать огонь
и вокруг разместить trigger_hurt, тогда при прохождении через огонь,
игрок получит повреждения.
свойства:
Name Дайте триггеру имя, чтобы его можно было включать и
выключать. Если имя не указать, то триггер сработает, когда игрок
пройдет сквозь него
Target Впишите сюда имя объекта, который необходимо активировать при активации trigger_hurt
Master Имя объекта multisource
Damage Количество повреждений наносимых игроку попавшему в область действия триггера (процентов в секунду)
Delay before trigger Время в секундах до активации объекта, указанного в «Target»
Damage type Тип повреждений (общее, падение, ожог, замерзание, отравление, шок, радиация, парализация и пр.)
флаги:
Target once Если отмечено, то trigger_hurt активирует
объект, указанный в «Target» только один раз. В противном случае
trigger_hurt будет активировать объект каждый раз, когда кто-то будет
проходить через него
Start off Если отмечено, то триггер изначально будет
выключен (игроку повреждения наноситься не будут до тех пор, пока
триггер не будет включен)
FireClientOnly в CS флаг не используется
TouchClientOnly в CS флаг не используется
30. Cycler
При помощи этого объекта на карту вставляются модели (файлы *.mdl).
Просмотреть модели можно при помощи программы Half-Life Model Viewer.
свойства:
Name Если дано имя, и модель активирована (кнопкой или
триггером), то анимация, проигрывающаяся в данный момент, будет
остановлена. А при выстреле по модели, будет воспроизведен следующий
кадр анимации
Model Путь к файлу *.mdl с моделью (обычно модели размещают в
папке cstrike/models). Также Вы можете найти модели в архиве pak0.pak, в
папке valve
При помощи этого объекта на карту вставляются спрайты (файлы *.spr).
Просмотреть спрайты можно при помощи программы Sprite Explorer.
свойства:
Name Если дано имя, и спрайт активирован (кнопкой или
триггером), то анимация, проигрывающаяся в данный момент, будет
остановлена. А при выстреле по спрайту, будет воспроизведен следующий
кадр анимации
Sprite Путь к файлу *.spr со спрайтом (обычно спрайты
размещают в папке cstrike/sprites). Также Вы можете найти спрайты в
архиве pak0.pak, в папке valve
Frames per second Скорость проигрывания анимации спрайта, кадров в секунду. Значение по умолчанию: 10
Данный объект позволяет активировать до 16 других объектов через указанные промежутки времени.
Для его использования необходимо отжать кнопку «SmartEdit» и вписать,
нажав кнопку «Add», имя объекта в параметр «Key» и время его активации в
параметр «Value». Если объектов несколько, операцию необходимо
повторить.
свойства:
Name Дайте этому объекту имя, чтобы его можно было активировать кнопкой или триггером
Пример использования Создадим два звука ambient_generic. Первому звуку дадим имя sound-1,
второму — sound-2. Теперь установим на карте объект multi_manager и
дадим ему имя manager-1. В его свойствах отожмем кнопку «SmartEdit» и
нажмем «Add». Появится окошко с параметрами «key« и «value», где «key» —
имя объекта, который необходимо активировать, «value» — время в
секундах до активации этого объекта
Впишем в параметр «key» имя первого звука (sound-1), а в параметр
«value» — значение 0. Проделаем тоже самое и для второго звука, т.е.
снова нажмем кнопку «Add» и впишем в «key» sound-2, а в «value» впишем
значение 10
В игре после активации объекта multi_manager, будет воспроизведен звук
sound-1, а через 10 секунд — sound-2. Таким образом, мы можем
активировать до 16 различных объектов. Это могут быть не только звуки,
но и двери, свет, а также другие объекты multi_manager и пр.
флаги:
multithreaded Позволяет повторно запускать multi_manager,
даже если он уже работает и активирует какие-то объекты. Поясним
действие этого флага на примере: предположим, что при активации объекта
multi_manager на экран игрока по очереди выводятся 3 сообщения
(используются 3 объекта game_text) с интервалом в 10 секунд . Если в
этоже самое время другой игрок повторно активирует multi_manager, то
сообщений он не увидит, т.к. multi_manager был уже запущен и выполняет
свою работу. Отметьте этот флаг, чтобы и второй игрок мог увидеть
сообщения, т.е. чтобы multi_manager повторно запустился для второго
игрока
33. Env_glow
Объект используется для создания эффекта свечения
(сияния, дымки) вокруг источника света. Чем дальше игрок находится от
env_glow, тем более размытым (прозрачным) будет свечение.
свойства:
Name Имя объекта (данный объект не может быть включен и
затем выключен кнопкой или другим триггером. Чтобы иметь возможность
включать/выключать эффект свечения (дымки) используйте вместо env_glow
объект env_sprite)
Render FX Визуальный режим отображения объекта. Можно
оставить «Normal», тогда дымка будет размываться (исчезать) при
отдалении игрока, если выставить режим «Constant Glow» — дымка будет
иметь постоянную яркость, на каком расстоянии от нее ни находился бы
игрок (как нам кажется, это менее красивый вариант).
Render Mode Для данного объекта Вы всегда должны использовать режим «Glow»
FX Amount (1 - 255) Степень прозрачности свечения (дымки). Значения (1 - 255). Чем меньше значение, тем объект прозрачнее и наооборот
Model Путь к файлу со спрайтом. Необходимый спрайт Вы можете
найти в архиве pak0.pak в папке Sprites. Путь следует указывать,
используя прямой слеш (/), например так: sprites/glow01.spr. Если Вы
используете спрайт из папки Sprites директории cstrike, то просто
нажмите на кнопку с тремя точками и выберите нужный спрайт
Sprite Scale Масштаб спрайта, по умолчанию 1х1. Чем больше значение, тем больше размер эффекта
34. Env_sprite
Объект позволяет вставлять на карту спрайты.
свойства:
Name Если дать спрайту, то его можно будет включать/выключать кнопкой или триггером
Render FX Визуальный режим отображения объекта
Render Mode Для данного объекта Вы должны использовать режимы «Additive» (чаще всего) или «Glow» (реже)
FX Amount (1 - 255) Степень прозрачности. Значения (1 - 255), 1 — наиболее прозрачный
FX Color (R G B) Цвет спрайта в формате RGB (красный, зеленый, синий)
Framerate Если спрайт анимированный (например,
sprites/steam1.spr), то этот параметр определяет быстроту смены кадров,
по умолчанию 10 кадров в секунду
Sprite Name Путь к файлу со спрайтом. Необходимый спрайт Вы
можете найти в архиве pak0.pak в папке Sprites. Путь следует указывать
используя прямой слеш (/), например так sprites/glow01.spr. Если Вы
используете спрайт из папки Sprites в директории cstrike, то просто
нажмите на кнопку с тремя точками и выбирете нужный спрайт
Scale Масштаб спрайта, по умолчанию 1х1. Чем больше значение, тем больше его размер
флаги:
Start On Если у объекта env_sprite есть имя, то чтобы спрайт
появился необходимо активировать env_sprite кнопкой или другим
триггером. Отметьте этот флаг, чтобы спрайт автоматически показывался с
самого начала
Play Once Если отмечено и спрайт является анимированным, то
его анимация будет проиграна только один раз. Чтобы проиграть анимацию
еще раз необходимо повторно активировать env_sprite
35. Env_render
Данный объект позволяет изменять параметры
отображения других объектов. Например, можно сделать какой-нибудь объект
прозрачным при активации env_render. Но помните, что прозрачный объект
не значит не осязаемый! Объект никуда не девается и сквозь него
(прозрачного) все также нельзя будет пройти.
Рассмотрим действие этого объекта на примере создания исчезающего
ящика. Создайте браш похожий на ящик, обратите его в func_wall (для
этого выдилите браш, нажмите Ctrl-T и в списке выбирите func_wall).
Дайте ящику имя, например, crate1.
Рядом с ящиком поставьте env_render, дайте ему имя, например,
crate1_render и в свойствах выставьте следующие параметры: «Render Mode»
— Texture и «FX Amount» — 0. Затем создайте браш в виде кнопки,
обратите его в func_button и в параметр «Target» впишите имя объекта
env_render, т.е. crate1_render.
Теперь при нажатии на кнопку ящик исчезнет.
свойства:
Name Объекту необходимо присвоить имя, чтобы его можно было активировать
Target Впишите сюда имя объекта, которому необходимо изменить параметры отображения
Render FX, Render Mode, FX Amount (1 - 255), FX Color (R G B) все это параметры отображения, которые присваиваются объекту,
указанному в «Target». Подробнее о них Вы можете прочитать в статье «Параметры отображения»
флаги:
No Renderfx Если отмечено, то параметр Render FX не будет применен к объекту, указанному в «Target»
No Renderamt Если отмечено, то параметр FX Amount не будет применен к объекту, указанному в «Target»
No Rendermode Если отмечено, то параметр Render Mode не будет применен к объекту, указанному в «Target»
No Rendercolor Если отмечено, то параметр FX Color не будет применен к объекту, указанному в «Target»