| Добавил: root 2013-01-09 13:28:48 304 просмотра В этой статье мы расскажем, как создаются управляемые пулеметы. Нам понадобятся следующие энтити-объекты:
Так будет выглядеть пулемет в игре:
Вы можете придать пулемету какую угодно форму, можете сделать его маленьким или огромным — это не имеет значения. При создании пулемет необходимо ориентировать дулом направо на виде сверху, это необходимо для того, чтобы игра могла определить, откуда должны вылетать пули :) Если Вы хотите, чтобы в начале раунда пулемет был направлен в какую-то определенную сторону — выставьте направление углом «Angle».
Наиболее важной частью пулемета (а это объект func_tank) является ORIGIN-браш. ORIGIN-брашем задается точка, вокруг которой пулемет будет вращаться. Размер ORIGIN-браша значения не имеет, важно расположение его центра (впрочем, Вы это уже давно знаете :)
Что еще следует знать об ORIGIN-браше в пулемете? От положения его центра зависит какие параметры Вы должны будете выставить в свойствах пулемета, например, необходимо будет указать длину ствола, расстояние от центра ствола до ORIGIN-браша — все эти параметры отсчитываются от центра ORIGIN-браша.
Итак, форма пулемета определена. Создаем ORIGIN-браш и помещаем его куда-нибудь в центр пулемета. Затем выделяем все браши, составляющие пулемет, также выделяем ORIGIN-браш и превращаем это дело в 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 и превращаем в func_tankcontrols.
Если при тестировании работы пулемета Вы никак не можете найти область управления — значит разместили ее не в том месте, где следует.
Func_tankcontrols (область, откуда игрок управляет пулеметом) |
Tank entity name: gun (сюда записываем имя пулемета) |
|
Если что-то не понятно, скачайте карту-пример. На ней Вы, кстати, сможете пострелять из пулемета по разбиваемым ящикам 8]
pulemet.zip [72Кб] — в архиве карта-пример в форматах BSP и RMF, а также необходимый звук.
Тэги: | |