Создание напольной кнопки, соединенной с дверью
Remember to check for any notes left by the tagger at this article's talk page.
This page either contains information that is only partially or incorrectly translated, or there isn't a translation yet.
If this page cannot be translated for some reason, or is left untranslated for an extended period of time after this notice is posted, the page should be requested to be deleted.
Also, please make sure the article tries to comply with the alternate languages guide.
В этом туториале вы научитесь создавать 1500-Мегаваттную Экспериментальную Сверхпрочную Сверхударную Сверхкнопку, которая открывает определенную дверь,если на неё наступит игрок или если на ней окажется утяжеленный куб.
Установка двери
Сперва сделаем дверь, которая будет открываться при нажатии на кнопку.
Рамка двери
Создайте prop_static в проёме. В World Model выставьте "models/props/door_01_frame_reference.mdl
" или "models/props/door_01_frame_wide_reference.mdl
" (работают оба варианта).
Двери
1. Создайте prop_dynamic со следующими настройками:
Property Name Value World Model models/props/door_01_lftdoor_reference.mdl Name door_left_model
Установите её в левой внутренней части дверной рамки.
2. Создайте прямоугольный браш с размерами 56Lx8Wx104H
и с текстурой nodraw . Разместите его во внутренней центральной части модели двери. Переведите его в энтити func_door , выбрав в выпадающем списке "Tie to Entity". Энтити func_door должна иметь следующие параметры:
Property Name Value Name door_left Speed 250 Stop Sound Doors.FullClose8 Delay before Reset -1 Lip 12 Move Direction (Зависит от расположения двери.)
Также убедитесь, что в Flags вы убрали галочку у пункта Touch opens.
3. Выберите Move Direction в Properties Dialog . Когда вы перевели браш в func_door, свойство Move Direction было задано как 0 0 0
. Нас интересует только Yaw (второе число), которое может быть изменено путем перетаскивания указателя в Angle Compass или вводом угла в тексовое поле слева. Обычно используются углы 0, 90, 180 и 270, при которых дверь движется вправо, вверх, влево или вниз соответственно в окне "2D top (x/y)".
4. Повторите шаги 1-3, но с иными настройками:
Для prop_dynamic
:
Property Name Value World Model models/props/door_01_rtdoor_reference.mdl Name door_right_model
И для func_door:
Property Name Value Name door_right Move Direction (Значение, противоположное значению у левой двери)
5. Выставьте у door_left_model
(prop_dynamic
) в свойстве Parent "door_left". У door_right_model
в этом же свойстве пропишите "door_right".
Кнопка
Модели
1. Создайте prop_static
. В World Model выставьте "models/props/button_base_reference.mdl
". Это будет основание кнопки.
2. Создайте prop_dynamic
на вершине prop_static
со следующими настройками:
Property Name Value World Model models/props/button_top_reference.mdl Name button_top_model
Движение
1. Теперь создайте 8-угольный цилиндрический браш с размерами 58Wx58Lx9H
и с текстурой nodraw . Переместите этот браш прямо под prop_dynamic
. Переведите цилиндр в func_door со следующими настройками:
Property Name Value Name button_top_door Speed 25 Delay before Reset -1 Move Direction 90 0 0 (или Down)
Также убедитесь, что в Flags вы поставили галочку у пункта Passable.
2. В свойстве Parent у button_top_model
выставьте "button_top_door".
Триггеры
1. Создайте прямоугольный браш с размерами 48Wx48Lx1H
и с текстурой trigger . Расположите его на вершине button_top_model
. Переведите его в trigger_multiple со следующими настройками:
Property Name Value Name button_trigger_player
Раздел Outputs мы настроим позднее. Также убедитесь, что в Flags галочка стоит только у пункта Clients.
2. Теперь создайте 8-угольный цилиндрический браш с размерами 7Wx7Lx2H
и с текстурой trigger . Разместите этот браш в центре вершины button_top_model
и переведите в trigger_multiple
со следующими настройками:
Property Name Value Name button_trigger_box
В Flags галочка должна стоять только у пункта Physics Objects.
Раздел Outputs мы настроим позднее.
3. Создайте filter_activator_name неподалеку от вашей кнопки и выставьте следующие настройки:
Property Name Value Name button_filter_boxes Filter Name (Имя вашего утяжелённого куба)
4. Выберите ваш button_trigger_box
и выставьте в Filter Name "button_filter_boxes".
5. Создайте два энтити ambient_generic и выставьте в одной следующие настройки:
Property Name Value Name button_down Sound Name Portal.button_down Source Entity Name button_top_model
А в другой следующие:
Property Name Value Name button_up Sound Name Portal.button_up Source Entity Name button_top_model
6. Вновь выберите браш func_door
, находящийся под кнопкой, и в Outputs пропишите следующее:
7. Выберите большой trigger_multiple
("button_trigger_player") и в Outputs пропишите следующее:
8. Выберите маленький цилиндрический trigger_multiple
("button_trigger_box") и в Outputs пропишите следующее:
9. Наконец, создайте энтити light под вершиной кнопки, но внутри основания. Пропишите следующие настройки:
Property Name Value Brightness 251 159 57 30 BrightnessHDR 251 159 57 20
Теперь созданная вами кнопка будет открывать дверь, когда игрок наступает на неё, или когда на ней оказывается утяжелённый куб.
Создание дверонго проема
Хотя этот шаг необязателен, и ваша дверь всё равно будет нормально работать, ваша карта будет выглядеть странно с дверью без стен по бокам. Этот шаг довольно прост, так что рекомендуется ознакомится со следующим туториалом: Создание дверного проема .
Также, можно воспользоваться следующей заготовкой: Creating a button and door/DoorFrame.vmf .
Теория
Это один из простейших вариантов установки двери и кнопки. Однако, используя её вариации, можно достичь самых разнообразных результатов. Также, для поддержания стиля Portal, не забудьте добавить индикаторную линию .