При изготовлении пулемет нужно ориентировать дулом направо на
виде сверху (2D top), это нужно для того, чтобы игровой движок мог
определить, откуда будут вылетать пули :-) Если вы хотите, чтобы в
начале раунда пулемёт «смотрел» в какую-либо конкретную сторону —
выставьте значение углом «Angle».
Самой важной частью пулемёта (а это брашевый энтити-объект func_tank) является ORIGIN-браш. Им задается точка, вокруг которой пулемёт будет крутиться (ну, вы знаете :-)
А вот, что ещё нужно знать об ORIGIN-браше в пулемёте... От положения
его центра зависит, какие параметры Вы должны будете выставить в
свойствах пулемета, к примеру, нужно будет указать длину ствола,
расстояние от центра ствола до ORIGIN-браша — эти параметры
отсчитываются от центра ORIGIN-браша.
Что же, форма пулемёта определена. Делаем ORIGIN-браш и
размещаем его где-либо в центре пулемета. Теперь выделяем все браши
пулемёта и ORIGIN-браш и превращаем это дело нажатеим комбинации клавиш [Ctrl-T] в брашевый энтити-объект func_tank.
На картинке выше видно, что чуть выше пулемета мы разместили точечный энтити-объект ambient_generic
— звук стрельбы пулемета (на нашем тестовом уровне мы задействовали
свой звук, который скопировали в директорию «cstrike/sound/ambience..»).
Func_tank (пулемет)
Name: gun (название пулемета) Target: gun_sound (название энтити-объекта ambient_generic — звука выстрелов) Yaw rate: 60 (скорость движения пулемета по горизонтали) Yaw range: 150 (угол поворота по горизонтали в градусах) Pitch rate: 15 (скорость движения пулемета по вертикали) Pitch range: 45 (угол поворота по вертикали в градусах) Barrel Length: 66 (расстояние в юнитах от центра ORIGIN-браша до конца ствола) Barrel Horizontal: 0 (расстояние в юнитах от центра ORIGIN-браша до центра ствола по горизонтали) Barrel Vertical: 0 (расстояние в юнитах от центра ORIGIN-браша до центра ствола по вертикали) Rate of Fire: 20 (скорострельность, выстрелов в секунду) Damage Per Bullet: 10 (убойная сила пуль) Bullet accuracy: small cone (точность выстрелов, небольшое отклонение) Bullets: 12mm (калибр пуль)
Флаги:
Controllable: следует отметить, чтобы игрок мог управлять пулеметом
Параметры звука стрельбы таковы:
Ambient_generic (звук стрельбы)
Path: ambience/dm_gun.wav (путь к звуку, в данном случае это наш собственный файл) Volume: 10 (громкость, максимальная)
Флаги:
Small radius: маленький радиус распространения Start silent: не играет в начале раунда Not toggled: не повторяется без конца (звучит только при активации)
И последний, но неменее важный брашевый энтити-объект:
func_tankcontrols — область пространства, откуда игрок управляет
пулеметом.
Как создается эта область? Сначала создаём простой браш (размером, к
примеру, 64 х 64 х 32 юнита). Раскрашиваем его со всех сторон спец.
текстурой AAAtrigger и превращаем нажатеим комбинации клавиш [Ctrl-T] в брашевый энтити-объект func_tankcontrols.
Func_tankcontrols (область, в которой игрок управляет пулеметом)
Tank entity name: gun (сюда записываем название пулемета)
Если что-то не понятно, скачайте наш тестовый уровень. На нём вы,
кстати говоря, сможете пострелять из пулемета по разбиваемым ящикам
func_breakable :-)
pulemet_32.zip [72Кб] — в архиве карта-пример в форматах BSP и RMF, а также необходимый звук.