Школа Counter-Strike - Часть 10.1 Сдвигающиеся и вращающиеся двери

Мир Counter-Strike

Приветствую Вас Гость | RSSГлавная | Часть 10.1 Сдвигающиеся и вращающиеся двери | Регистрация | Вход
Главное меню
Теория CS
Видео школа CS 1.6
Скачать
Магазин
Мастерская
Арт-Cs
Новые видео уроки CS 1.6Новые материалы и файлы


Учебник по созданию карт
Часть 10. Двери

Часть 10.1 Сдвигающиеся и вращающиеся двери

Из данного материала вы узнаете как делаются двери: сдвигающиеся в сторону и простые вращающиеся. Также мы расскажем о методах открытия дверей с помощью кнопок и триггеров. От вас потребуется знание следующих энтити-объектов:

- func_door
- func_door_rotating
- func_button
- trigger_multiple


1. Сдвигающиеся двери
Самое лёгкое создать сдвигающуюся в сторону дверь. С такого вида дверей мы и начнем.

Активировать, то есть сдвигать дверь можно несколькими способами, вот основные из них:

– дотрагиванием до двери или нажатием на «Use» (по умолчанию клавиша «E»)
– нажатием кнопки
– проходом через триггер

a) открытие двери дотрагиванием

Допустим мы хотим сделать дверь в данном проеме (смотрите картинку ниже). Для этого выберем подходящую текстуру двери (к примеру,C1A0B_DR4A) и создадим браш по размерам равный проёму. Хочется отметить, что стандартными размерами дверей в HL и CS являются96 х 64 х 8 (то есть 96 юнитов по высоте, 64 юнита по ширине и 4 или 8 юнитов по толщине). Конечно же, это не строгое правило, и вы можете создавать двери другого размера.

Создаем дверь


Теперь выберем браш и превратим его нажатием комбинации клавиш [Ctrl-T] в энтити-объект func_door. Дверь готова! Осталось только указать её параметры, такие как: направление и скорость движения, звуки при движении и остановке, время до автоматического закрытия и пр.

Angle — здесь указывается направление движения двери. Чтобы правильно его определить, поставьте вид сверху (2D top), тогда движение налево будет соответствовать 180 градусам, направо — 0 градусов. Если нужно, чтобы дверь поднималась вверх или опускалась вниз, то выберите в списке Up или Down соответственно;

Speed — скорость движения двери (по умолчанию 100, нормальная скорость);

Move Sound — звук при движении двери, можно не указывать;

Stop Sound — звук остановки двери, также можно не указывать;

Delay before close — время в секундах, в течении которого дверь будет находится открытой, потом она автоматом закроется. Если нужно чтобы дверь никогда не закрывалась поставьте здесь значение «-1» или фо флагах отметьте «Toggle» (смотрите ниже). Стандартно дверь закрывается через 4 секунды.

Health (shoot open) — «прочность» двери. Если установить значение больше нуля (> 0), то дверь откроется, только после нанесения ей установленного значения повреждений. К примеру, если указать Health = 100, то дверь откроется после 4-5 выстрелов из автомата. По умолчанию значение 0.

Lip — данным параметром можно изменять расстояние, на которое открывается дверь. Стандартно дверь открывается на свою ширину, то есть если дверь имеет ширину 64 юнита, то и откроется она на 64 юнита. Формула очень простая: Расстояние = (Ширина двери - Lip), то есть если параметр Lip положительный, то дверь откроется на расстояние меньшее своей ширины, а если — отрицательный, то — на большее.

Для чего нужен Lip? Когда дверь откроется полностью, то её видимая боковая сторона совпадёт со стеной, в которую дверь задвинулась, что создает не очень красивый эффект (попробуйте :-). Если задать параметр Lip, скажем, в 2 юнита, то дверь будет «выглядывать» из стены на 2 юнита, и некрасивого эффекта уже не будет.

Остальные параметры не так важны.

Теперь рассмотрим флаги.

Starts Open — если отметить данный флаг, то дверь будет открыта в начале раунда;
Passable — через дверь можно проходить (врядли необходимо для нормальной двери);
Toggle — если у двери есть имя (Name), то ее можно будет открывать и закрывать при помощи кнопки или триггера (смотрите ниже). Дверь с установленным флагом Toggle не будет автоматически закрываться;
Use Only — если отметить данный флаг, то дверь будет открываться только при нажатии на «Use» (по умолчанию кнопка «E»).


б) открытие двери нажатием на кнопку

Сдвигающаяся дверь, рассмотренная выше, открывается при дотрагивании до нее. Рассмотрим теперь открытие двери нажатием на кнопку.

Создадим точно такую же дверь. Единственным отличием данной двери от рассмотренной выше будет наличие названия (Name). Чтобы дверь можно было открывать кнопкой, ей нужно присвоить какое-либо название, к примеру, sliding_door1.

Теперь создадим кнопку. Кнопкой у нас будет браш с размерами 12 х 12 х 4 юнита (смотрите картинку ниже), окрашенный текстурой+0BUTTON1 и размещенный на стене рядом с дверью. Конечно же, простой браш работать не будет, поэтому превратим его нажатим комбинации клавиш [Ctrl-T] в кнопку func_button.

Создаем кнопку, при нажатии на которую, откроется дверь


Свойства кнопки в данном случае очень простые:

Targetted object — sliding_door1 (здесь мы указываем, что при нажатии кнопки будет открыта дверь с названием sliding_door1)

Delay before reset — время в секундах, в течении которого кнопка не может быть повторно нажата. По умолчанию: 3 секунды, можно поставить 0.

Флаги:

Don't Move — отметьте данный флаг, если хотите, чтобы кнопка при нажатии не вдавливалась в стену, но активация двери все же будет происходить. Конечно же, если вы хотите, то можете не отмечать данный флаг, но тогда нужно будет указать в парметре «Angle» сторону, в которую будет вжиматься кнопка, скорость и другие параметры.


в) открытие двери прохождением через триггер

Триггеры в игре прозрачны. При прохождении игрока через триггер, активируется объект, указанный в его параметрах. Этой возможностью мы и воспользуемся для открытия двери.

Что же, дверь у нас уже есть. Назовем ее sliding_door2. Теперь создадим браш, окрашенный со всех сторон спец. текстурой AAATrigger и разместим его в центре двери (смотрите картинку ниже).

Создаем триггер, при активации которого, откроется дверь


Браш необходимо делать немного бОльшим, чем дверь, чтобы игрок касался его с любой стороны двери (смотрите вид top (x/y) на картинке выше).

Выберем браш и нажмём [Ctrl-T], в списке выберем trigger_multiple. Этот вид триггера позволяет активировать объект многократно.

Выставим свойства триггера.

Target — sliding_door2 (здесь записывается название двери, которую будет открывать триггер);

Delay before reset — время в секундах, в течении которого триггер не работает после активации. Стандартно — 10 секунд, но в нашем случае с дверью, наилучшим будет значение 0, чтобы дверь открывалась всегда, когда игрок проходит через триггер.

Delay before trigger — время в секундах, до активации объекта (до открытия двери). К примеру, если здесь указать 5 секунд, то дверь будет открыта только через 5 секунд, после прохождения игрока через триггер. Для двери лучше поставить 0 секунд, чтобы дверь открывалась мгновенно, без задержек.

Остальные параметры можно не трогать. Всё — дверь готова. Когда игрок пройдет через триггер, дверь откроется.


2. Вращающиеся двери

Вращающиеся двери несколько сложнее в изготовлении и имеют больше параметров, но ничего страшного нет :-)

a) открытие двери дотрагиванием

Создайте браш, который будет дверью.

Так как дверь (в данном случае) вращающийся объект, то для нее нужно определить ось вращения. Делается это с помощью ORIGIN-браша, то есть браша со ВСЕХ сторон окрашенного спец. текстурой ORIGIN.

Нужно правильно размещать ORIGIN-браш, так как от этого зависит как дверь будет вращаться. Чтобы при открытии дверь «не въезжала» в стену, ORIGIN-браш должен располагаться на 2D виде сверху так, как показано на картинке ниже.

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


Заметьте, что центр ORIGIN-браша расположен посередине толщины двери (смотирте вид сверху), и расстояние от края двери до этого центра равно половине толщины двери. Размеры ORIGIN-браша роли не играют. Это может быть совсем маленький браш, а может и большой, главное, это его центр, который определяет точку, через которую проходит ось вращения.

Выберем дверь (пока что дверь это обычный браш) и ORIGIN-браш (во время выделения зажмём клавишу Ctrl), нажмём [Ctrl-T] и в списке выберем func_door_rotating. Дверь готова! Все что остается сделать - это указать параметры вращения двери. Подавляющее число параметров совпадает с параметрами сдвигающей двери func_door, посему рассмотрим только новые.

Distance (deg) — угол поворота двери в градусах. Стандартно дверь поворачивается на 90°, что вполне нормально.

Теперь рассмотрим флаги.

Starts Open — если отметить, то дверь в начале раунда автоматом откроется;
Reverse Dir — по умолчанию дверь открывается «от игрока», если выбрать данный флажок, то она будет открываться «на игрока». В случае с открытием двери кнопкой или триггером, данный флажок просто меняет направление открытия двери на противоположное;
Passable — если отмечено, то через дверь можно будет свободно проходить (не нужно);
One-way — дверь будет открываться только в какую-то одну сторону (независимо от того, с какой стороны подошел к ней игрок);
Toggle — если у двери есть название и открытие происходит от кнопки или триггера, то она не будет автоматически закрываться. Чтобы закрыть дверь, необходимо будет повторно нажать на кнопку или пройти через триггер;
X-Axis, Y-Axis — этими флажками определяется ось, относительно которой будет крутиться дверь. По умолчанию, если ничего не отмечать, дверь вращается вокруг вертикальной оси Z, то есть, как обычно. Подробно о выборе оси вращения мы рассказывали в материале: "Вращающийся свет" (Часть 8.6)
Use Only — если отметить данный флажок, то дверь будет открываться только от нажатия на «Use» (по умолчанию клавиша «E»).


б) открытие двери от кнопки или триггера

Методы создания вращающейся двери от кнопки и от триггера совершенно такие же, как и для сдвигающейся двери, поэтому описывать их повторно нет смысла. Главное, не забывайте включать в состав вращающейся двери ORIGIN-браш и правильно размещайте его центр.


 
Форма входа
Гость

Здравствуйте Гость! Пожалуйста зарегестрируйтель или зайдите под своим ником.biggrin
Поиск по сайту
Облако тегов
Тактика в CS 1.6
Опрос
Что изменить в сайте?
Всего ответов: 338
Материалы
Comments: 49
Forum: 12/45
News: 6
Downloads: 250
Guestbook: 56
Кто онлайн

Онлайн всего: 4
Гостей: 4
Пользователей: 0
uCoz
При копировании материалов активная ссылка на world-cs.net обязательна © 2016