В этой статье мы рассмотрим создание маятника. Нам понадобятся два объекта (звук и собственно маятник): ambient_generic
func_pendulum
Давайте подумаем, как часто на CS-картах встречаются часы с маятником и вообще нужны ли они? Ответ вполне очевиден. Но ведь мы знаем, что объекты в Half-Life не являются какими-то конкретными предметами. Например, в HL нет стиральной машины (func_clotheswasher :), однако мы можем ее изобразить при помощи других объектов. Так вот и в нашем случаем мы будем использовать func_pendulum не по своему прямому назначению.
Мы создадим подвесной мост, раскачивающийся из стороны в сторону. Согласитесь, что в некотором роде такой мост тоже является маятником. Вот как он будет выглядеть:
Мы не будем подробно останавливаться на создании самого моста, т.к. каждый вправе самостоятельно решить, какой мост будет лучше смотреться на его карте. Мы считаем более важным рассказать о расположении ORIGIN-браша, который обязательно должен быть у func_pendulum, т.к. это вращающийся объект.
На рисунке ниже показано, как расположен ORIGIN-браш по отношению к мосту. Форма ORIGIN-браша не имеет значения, главным является расположение его центра. Для наглядности мы удлинили ORIGIN-браш вдоль оси Y (оси вращения).
На следующих двух картинках Вы можете более четко увидеть, как расположен ORIGIN-браш на видах сверху и спереди. Для большей наглядности внизу каждой картинки мы разместили 3-х мерный вид (ORIGIN-браш отмечен белой стрелкой).
Итак, выделяем все браши, составляющие мост (это и доски, и канаты) и ORIGIN-браш, и превращаем в func_pendulum. Теперь все, что выделено (см. рис. ниже) будет вращаться (раскачиваться) вокруг ORIGIN-браша.
Теперь необходимо выставить свойства и флаги для func_pendulum.
Code
Func_pendulum (раскачивающийся мост)
Speed: 3 (скорость раскачивания моста; очень медленная)
Distance (deg): 2 (угол раскачивания моста)
Damping (0-1000): 0 (замедление при раскачивании до остановки)
Damage inflicted when blocked: 0 (повреждения игроку; по умолчанию отключены)
Флаги:
Start ON — раскачиваться в начале раунда
Y Axis — вращение вдоль оси Y
Определение оси вращения
Мост раскачивается вдоль одной из горизонтальных осей (X или Y), поэтому во флагах необходимо отметить флаг или X Axis, или Y Axis.
Ось определяем на виде сверху (см. рис.3). На виде сверху ось, вдоль которой раскачивается мост, вертикальна, а значит это ось Y. Следовательно во флагах отмечаем Y Axis.
Вставляем звук
Для придания большей реалистичности около середины моста вставим звук ambient_generic. Звук раскачивания моста (скрип натянутых канатов) будет воспроизводиться постоянно, как бы повторяя движения моста слева-направо и обратно.
Так как звук будет повторяться бесконечно, то он должен содержать ключевую точку (cue point), которая дает знать движку Half-Life откуда начинать повторение. Подробнее о создании бесконечно играющих звуков Вы можете прочитать в этой статье.
Свойства ambient_generic мы приводить не будем, потому как Вы прекрасно их знаете Данный объект неоднократно использовался в других наших уроках.