Учебник по созданию карт
Глава X. Двери.

§ 10.3 Специальные двери (momentary_door)

В этой статье мы рассмотрим создание дверей, которые открываются по мере того, как игрок вращает вентиль, и автоматически начинают закрываться, когда игрок прекращает вращение. Для создания подобных дверей нам потребуются два новых энтити-объекта:

Дверь momentary_door отличается от уже известной нам сдвигающейся двери func_door лишь тем, что она может быть открыта только объектом momentary_rot_button. Сам же объект momentary_rot_button представляет из себя вращающийся вентиль, который активирует объект (в нашем случае открывает дверь) постепенно, пока он сам активирован (вращается).

Итак, изготовим гаражную дверь, которая будет подниматься вверх от вращения вентиля. Вентиль расположим на стене гаража (см. рис. ниже).

Создаем дверь momentary_door и вентиль momenatry_rot_button


Дверь изготавливается точно так же, как и самая обыкновенная сдвигающаяся в сторону дверь, только после нажатия [Ctrl-T] в списке необходимо выбрать momentary_door вместо func_door. Свойства двери абсолютно такие же, как и у func_door. Ниже приводим основные параметры, которые мы выставили в тестовой карте.

Name - mom_door1 (это имя мы будем использовать, чтобы открывать дверь поворотом вентиля);
Angle - up (дверь поднимается вверх);
Speed - 35 (скорость движения двери, небольшая);
Lip <24> (после подъема, дверь будет высовываться из вертикальной стены на 24 юнита).

Также можно задать какие-нибудь звуки при движении и остановке двери. Остальные параметры оставим как есть.

Флаги:

Toggle - если отметить этот флаг, то дверь будет автоматически опускаться, когда игрок отпустит вентиль.

С дверью разобрались, теперь вентиль. Вентилем может быть любой объект, мы изготовили нечто похожее на настоящий вентиль при помощи манипуляции с вертексами (см. рис. ниже).

Определяем месторасположение оси вращения вентиля ORIGIN-брашем


Не забудьте при изготовлении momentary_rot_button (вентиля) создать ось вращения, т.е. ORIGIN-браш. Мы сделали довольно маленький ORIGIN-браш, удлинили его вдоль оси вращения (для наглядности) и разместили его ровно в центре вентиля (см. рис. выше).

Когда положение ORIGIN-браша задано, остается только выделить все браши, составляющие вентиль, а также ORIGIN-браш и превратить все это в momentary_rot_button.

В нашем примере мы выставили следующие свойства для momentary_rot_button:

Targetted object - mom_door1 (сюда мы вписали имя двери, которую будет открывать вентиль);
Speed - 30 (скорость вращения вентиля вокруг оси, небольшая);
Sounds - plunger (звук при вращении вентиля);
Distance (deg) - 270 (угол поворота вентиля, выбирается произвольно, по умолчанию 90 градусов);
Auto-return speed - 20 (скорость обратного вращения вентиля, т.е. при закрытии двери).

Флаги:

Auto Return - при отпускании вентиля игроком, он начнет вращаться в противоположную сторону;
Y Axis - здесь определена ось Y в качестве оси вращения вентиля, т.к. в нашем примере на виде сверху ось вращения (не путайте с ORIGIN-брашем, т.к. ORIGIN-браш определяет лишь центр оси вращения, а не направление) располагается вертикально, а следовательно это ось Y.

Все, кнопка, а с ней и вся дверь готова.

Естественно, можно использовать эти два объекта не только для создания дверей. Можно таким же способом изготовить поднимающийся мост или платформу и т.п.


Ссылки

momentary_door.zip [22Кб] — в архиве карта-пример в форматах BSP и RMF.


Глава X. Двери.


К оглавлению Учебника

© http://cs-mapper.by.ru/
CMT (CS Mapping Tutorials) - © 2006-2011+. Created by VM
[ Script Execution time: 0.0051 ]