Ru/Creating a button and door: Difference between revisions

From Valve Developer Community
< Ru
Jump to navigation Jump to search
No edit summary
m (obsolete language category)
 
(7 intermediate revisions by 4 users not shown)
Line 1: Line 1:
{{otherlang2
{{lang|Creating a button and door|title=Создание напольной кнопки, соединенной с дверью}}
|title=Создание напольной кнопки, соединенной с дверью
|en=Creating a button and door
}}


[[Image:Buttonanddoor6.jpg|right|thumb|350px|Финальный результат]]
{{update}}
{{translate}}
 
[[File:Buttonanddoor6.jpg|right|thumb|350px|Финальный результат]]


В этом туториале вы научитесь создавать '''1500-Мегаваттную Экспериментальную Сверхпрочную Сверхударную Сверхкнопку''', которая открывает определенную дверь,если на неё наступит игрок или если на ней окажется утяжеленный куб.
В этом туториале вы научитесь создавать '''1500-Мегаваттную Экспериментальную Сверхпрочную Сверхударную Сверхкнопку''', которая открывает определенную дверь,если на неё наступит игрок или если на ней окажется утяжеленный куб.
Line 12: Line 12:


=== Рамка двери ===
=== Рамка двери ===
Создайте [[prop_static]] в проёме. В ''World Model'' выставьте "<code>models/props/door_01_frame_reference.mdl</code>" или "<code>models/props/door_01_frame_wide_reference.mdl</code>" (работают оба варианта).
Создайте {{L|prop_static}} в проёме. В ''World Model'' выставьте "<code>models/props/door_01_frame_reference.mdl</code>" или "<code>models/props/door_01_frame_wide_reference.mdl</code>" (работают оба варианта).
{{tip|Вместо "All Mods" в Mod Filter выберите "portal", затем в поле Filter textbox at the bottom type "props\door" без кавычек.}}
{{tip|Вместо "All Mods" в Mod Filter выберите "portal", затем в поле Filter textbox at the bottom type "props\door" без кавычек.}}


=== Двери ===
=== Двери ===
[[Image:Buttonanddoor1.jpg|right|thumb|Размещение <code>func_door</code>.]]
[[File:Buttonanddoor1.jpg|right|thumb|Размещение <code>func_door</code>.]]
1. Создайте [[prop_dynamic]] со следующими настройками:
1. Создайте {{L|prop_dynamic}} со следующими настройками:
::{| class=standard-table
::{| class=standard-table
!  Property Name || Value
!  Property Name || Value
Line 27: Line 27:
Установите её в левой внутренней части дверной рамки.
Установите её в левой внутренней части дверной рамки.


2. Создайте прямоугольный браш с размерами <code>56Lx8Wx104H</code> и с текстурой [[nodraw]]. Разместите его во внутренней центральной части модели двери. Переведите его в энтити [[func_door]], выбрав в выпадающем списке "Tie to Entity".  Энтити func_door должна иметь следующие параметры:
2. Создайте прямоугольный браш с размерами <code>56Lx8Wx104H</code> и с текстурой {{L|nodraw}}. Разместите его во внутренней центральной части модели двери. Переведите его в энтити {{L|func_door}}, выбрав в выпадающем списке "Tie to Entity".  Энтити func_door должна иметь следующие параметры:
::{| class=standard-table
::{| class=standard-table
!  Property Name || Value
!  Property Name || Value
Line 45: Line 45:
Также убедитесь, что в ''Flags'' вы убрали галочку у пункта ''Touch opens''.
Также убедитесь, что в ''Flags'' вы убрали галочку у пункта ''Touch opens''.


3. Выберите Move Direction в [[Hammer_Object_Properties_Dialog|Properties Dialog]]. Когда вы перевели браш в func_door, свойство Move Direction было задано как <code>0 0 0</code>. Нас интересует только Yaw (второе число), которое может быть изменено путем перетаскивания указателя в Angle Compass [[image:Hammer_AngleCompass.png|24px]] или вводом угла в тексовое поле слева.  Обычно используются углы 0, 90, 180 и 270, при которых дверь движется вправо, вверх, влево или вниз соответственно в окне "2D top (x/y)".
3. Выберите Move Direction в {{L|Hammer_Object_Properties_Dialog|Properties Dialog}}. Когда вы перевели браш в func_door, свойство Move Direction было задано как <code>0 0 0</code>. Нас интересует только Yaw (второе число), которое может быть изменено путем перетаскивания указателя в Angle Compass [[File:Hammer_AngleCompass.png|24px]] или вводом угла в тексовое поле слева.  Обычно используются углы 0, 90, 180 и 270, при которых дверь движется вправо, вверх, влево или вниз соответственно в окне "2D top (x/y)".
{{tip|Выберите "Point At" и затем кликните в 3D виде на точку, куда должна двигаться дверь. Появится новое свойство "angles" и в 2D видах появится линия, отображающая движение к этой точке. Для ручного редактирования свойства "angles" необходимо отключить [[Hammer_Object_Properties_Dialog#SmartEdit|SmartEdit Mode]] в [[Hammer_Object_Properties_Dialog|Properties Dialog]].}}
{{tip|Выберите "Point At" и затем кликните в 3D виде на точку, куда должна двигаться дверь. Появится новое свойство "angles" и в 2D видах появится линия, отображающая движение к этой точке. Для ручного редактирования свойства "angles" необходимо отключить [[Hammer_Object_Properties_Dialog#SmartEdit|SmartEdit Mode]] в {{L|Hammer_Object_Properties_Dialog|Properties Dialog}}.}}
{{note|Вы также можете изменить свойство ''Blocking damage'' - это урон, наносимый игроку, когда он застревает между дверями. Также, можно активировать свойство ''Forced Closed'', чтобы игрок не мог заблокировать дверь утяжелённым кубом или камерой наблюдения.}}
{{note|Вы также можете изменить свойство ''Blocking damage'' - это урон, наносимый игроку, когда он застревает между дверями. Также, можно активировать свойство ''Forced Closed'', чтобы игрок не мог заблокировать дверь утяжелённым кубом или камерой наблюдения.}}
[[Image:Buttonanddoor2.jpg|right|thumb|Готовая дверь.]]
[[File:Buttonanddoor2.jpg|right|thumb|Готовая дверь.]]
4. Повторите шаги 1-3, но с иными настройками:
4. Повторите шаги 1-3, но с иными настройками:
Для <code>prop_dynamic</code>:
Для <code>prop_dynamic</code>:
Line 71: Line 71:
== Кнопка ==
== Кнопка ==
=== Модели ===
=== Модели ===
[[Image:Buttonanddoor3.jpg|right|thumb|Размещение моделей кнопки.]]
[[File:Buttonanddoor3.jpg|right|thumb|Размещение моделей кнопки.]]
1. Создайте <code>prop_static</code>. В ''World Model'' выставьте "<code>models/props/button_base_reference.mdl</code>". Это будет основание кнопки.
1. Создайте <code>prop_static</code>. В ''World Model'' выставьте "<code>models/props/button_base_reference.mdl</code>". Это будет основание кнопки.
{{tip|Вращайте основание кнопки, пока картинка с подсказкой [[File:Hammer PortalButtonInstruction.png|29px]] не окажется со стороны подхода игрока.}}
{{tip|Вращайте основание кнопки, пока картинка с подсказкой [[File:Hammer PortalButtonInstruction.png|29px]] не окажется со стороны подхода игрока.}}
Line 84: Line 84:


=== Движение ===
=== Движение ===
1. Теперь создайте 8-угольный [[Primitive#Cylinder|цилиндрический браш]] с размерами <code>58Wx58Lx9H</code> и с текстурой [[Tool textures|nodraw]]. Переместите этот браш прямо под <code>prop_dynamic</code>. Переведите цилиндр в [[func_door]] со следующими настройками:
1. Теперь создайте 8-угольный [[Primitive#Cylinder|цилиндрический браш]] с размерами <code>58Wx58Lx9H</code> и с текстурой {{L|Tool textures|nodraw}}. Переместите этот браш прямо под <code>prop_dynamic</code>. Переведите цилиндр в {{L|func_door}} со следующими настройками:
::{| class=standard-table
::{| class=standard-table
!  Property Name || Value
!  Property Name || Value
Line 101: Line 101:


=== Триггеры ===
=== Триггеры ===
[[Image:Buttonanddoor4.jpg|right|thumb|Большой trigger_multiple.]]
[[File:Buttonanddoor4.jpg|right|thumb|Большой trigger_multiple.]]
1. Создайте прямоугольный браш с размерами <code>48Wx48Lx1H</code> и с текстурой [[Tool textures|trigger]]. Расположите его на вершине <code>button_top_model</code>. Переведите его в [[trigger_multiple]] со следующими настройками:
1. Создайте прямоугольный браш с размерами <code>48Wx48Lx1H</code> и с текстурой {{L|Tool textures|trigger}}. Расположите его на вершине <code>button_top_model</code>. Переведите его в {{L|trigger_multiple}} со следующими настройками:
::{| class=standard-table
::{| class=standard-table
!  Property Name || Value
!  Property Name || Value
Line 110: Line 110:
Раздел ''Outputs'' мы настроим позднее. Также убедитесь, что в ''Flags'' галочка стоит только у пункта ''Clients''.
Раздел ''Outputs'' мы настроим позднее. Также убедитесь, что в ''Flags'' галочка стоит только у пункта ''Clients''.


[[Image:Buttonanddoor5.jpg|right|thumb|Маленький trigger_multiple.]]
[[File:Buttonanddoor5.jpg|right|thumb|Маленький trigger_multiple.]]
2. Теперь создайте 8-угольный цилиндрический браш с размерами <code>7Wx7Lx2H</code> и с текстурой [[Tool textures|trigger]]. Разместите этот браш в центре вершины <code>button_top_model</code> и переведите в <code>trigger_multiple</code> со следующими настройками:
2. Теперь создайте 8-угольный цилиндрический браш с размерами <code>7Wx7Lx2H</code> и с текстурой {{L|Tool textures|trigger}}. Разместите этот браш в центре вершины <code>button_top_model</code> и переведите в <code>trigger_multiple</code> со следующими настройками:
::{| class=standard-table
::{| class=standard-table
!  Property Name || Value
!  Property Name || Value
Line 121: Line 121:
Раздел ''Outputs'' мы настроим позднее.
Раздел ''Outputs'' мы настроим позднее.


3. Создайте [[filter_activator_name]] неподалеку от вашей кнопки и выставьте следующие настройки:
3. Создайте {{L|filter_activator_name}} неподалеку от вашей кнопки и выставьте следующие настройки:
::{| class=standard-table
::{| class=standard-table
!  Property Name || Value
!  Property Name || Value
Line 132: Line 132:
4. Выберите ваш <code>button_trigger_box</code> и выставьте в ''Filter Name'' "button_filter_boxes".
4. Выберите ваш <code>button_trigger_box</code> и выставьте в ''Filter Name'' "button_filter_boxes".


5. Создайте два энтити [[ambient_generic]] и выставьте в одной следующие настройки:
5. Создайте два энтити {{L|ambient_generic}} и выставьте в одной следующие настройки:
::{| class=standard-table
::{| class=standard-table
!  Property Name || Value
!  Property Name || Value
Line 157: Line 157:
!  || My Output || Target Entity || Target Input || Parameter || Delay || Only Once
!  || My Output || Target Entity || Target Input || Parameter || Delay || Only Once
|-
|-
| [[Image:Io11.png]] || OnClose || door_left || Close || <none> || 0.00 || No
| [[File:Io11.png]] || OnClose || door_left || Close || <none> || 0.00 || No
|-
|-
| [[Image:Io11.png]] || OnClose || door_right || Close || <none> || 0.00 || No
| [[File:Io11.png]] || OnClose || door_right || Close || <none> || 0.00 || No
|-
|-
| [[Image:Io11.png]] || OnClose || button_up || PlaySound || <none> || 0.00 || No
| [[File:Io11.png]] || OnClose || button_up || PlaySound || <none> || 0.00 || No
|-
|-
| [[Image:Io11.png]] || OnOpen || door_left || Open || <none> || 0.00 || No
| [[File:Io11.png]] || OnOpen || door_left || Open || <none> || 0.00 || No
|-
|-
| [[Image:Io11.png]] || OnOpen || door_right || Open || <none> || 0.00 || No
| [[File:Io11.png]] || OnOpen || door_right || Open || <none> || 0.00 || No
|-
|-
| [[Image:Io11.png]] || OnOpen || button_down || PlaySound || <none> || 0.00 || No
| [[File:Io11.png]] || OnOpen || button_down || PlaySound || <none> || 0.00 || No
|}
|}


Line 174: Line 174:
!  || My Output || Target Entity || Target Input || Parameter || Delay || Only Once
!  || My Output || Target Entity || Target Input || Parameter || Delay || Only Once
|-
|-
| [[Image:Io11.png]] || OnEndTouchAll || button_trigger_box || Enable || <none> || 0.00 || No
| [[File:Io11.png]] || OnEndTouchAll || button_trigger_box || Enable || <none> || 0.00 || No
|-
|-
| [[Image:Io11.png]] || OnEndTouchAll || button_top_door || Close || <none> || 0.00 || No
| [[File:Io11.png]] || OnEndTouchAll || button_top_door || Close || <none> || 0.00 || No
|-
|-
| [[Image:Io11.png]] || OnStartTouch || button_trigger_box || Disable || <none> || 0.00 || No
| [[File:Io11.png]] || OnStartTouch || button_trigger_box || Disable || <none> || 0.00 || No
|-
|-
| [[Image:Io11.png]] || OnStartTouch || button_top_door || Open || <none> || 0.00 || No
| [[File:Io11.png]] || OnStartTouch || button_top_door || Open || <none> || 0.00 || No
|}
|}
8. Выберите маленький цилиндрический <code>trigger_multiple</code> ("button_trigger_box") и в Outputs пропишите следующее:
8. Выберите маленький цилиндрический <code>trigger_multiple</code> ("button_trigger_box") и в Outputs пропишите следующее:
Line 186: Line 186:
!  || My Output || Target Entity || Target Input || Parameter || Delay || Only Once
!  || My Output || Target Entity || Target Input || Parameter || Delay || Only Once
|-
|-
| [[Image:Io11.png]] || OnEndTouchAll || button_trigger_player || Enable || <none> || 0.00 || No
| [[File:Io11.png]] || OnEndTouchAll || button_trigger_player || Enable || <none> || 0.00 || No
|-
|-
| [[Image:Io11.png]] || OnEndTouchAll || button_top_door || Close || <none> || 0.00 || No
| [[File:Io11.png]] || OnEndTouchAll || button_top_door || Close || <none> || 0.00 || No
|-
|-
| [[Image:Io11.png]] || OnStartTouch || button_trigger_player || Disable || <none> || 0.00 || No
| [[File:Io11.png]] || OnStartTouch || button_trigger_player || Disable || <none> || 0.00 || No
|-
|-
| [[Image:Io11.png]] || OnStartTouch || button_top_door || Open || <none> || 0.00 || No
| [[File:Io11.png]] || OnStartTouch || button_top_door || Open || <none> || 0.00 || No
|}
|}
[[Image:Buttonanddoor6.jpg|right|thumb|Финальный результат.]]
[[File:Buttonanddoor6.jpg|right|thumb|Финальный результат.]]
9. Наконец, создайте энтити [[light]] под вершиной кнопки, но внутри основания. Пропишите следующие настройки:
9. Наконец, создайте энтити {{L|light}} под вершиной кнопки, но внутри основания. Пропишите следующие настройки:
::{| class=standard-table
::{| class=standard-table
!  Property Name || Value
!  Property Name || Value
Line 208: Line 208:


== Создание дверонго проема==
== Создание дверонго проема==
Хотя этот шаг необязателен, и ваша дверь всё равно будет нормально работать, ваша карта будет выглядеть странно с дверью без стен по бокам. Этот шаг довольно прост, так что рекомендуется ознакомится со следующим туториалом: [[Portal_Door_Frame_Using_the_Clipping_Tool:ru|Создание дверного проема]].
Хотя этот шаг необязателен, и ваша дверь всё равно будет нормально работать, ваша карта будет выглядеть странно с дверью без стен по бокам. Этот шаг довольно прост, так что рекомендуется ознакомится со следующим туториалом: {{L|Portal_Door_Frame_Using_the_Clipping_Tool|Создание дверного проема}}.


Также, можно воспользоваться следующей заготовкой: [[Creating a button and door/DoorFrame.vmf]].
Также, можно воспользоваться следующей заготовкой: {{L|Creating a button and door/DoorFrame.vmf}}.


== Теория ==
== Теория ==
Это один из простейших вариантов установки двери и кнопки. Однако, используя её вариации, можно достичь самых разнообразных результатов.
Это один из простейших вариантов установки двери и кнопки. Однако, используя её вариации, можно достичь самых разнообразных результатов.
Также, для поддержания стиля Portal, не забудьте добавить [[Creating indicator lights:ru|индикаторную линию]].
Также, для поддержания стиля Portal, не забудьте добавить {{L|Creating indicator lights|индикаторную линию}}.


== Смотрите также ==
== Смотрите также ==
* [[Portal Level Creation:ru|Создание уровней Portal]]
* {{LCategory|Portal level design|Создание уровней Portal}}


== Дополнительные ссылки ==
== Дополнительные ссылки ==
* [http://forums.thinkingwithportals.com/downloads.php?view=detail&df_id=186 Пример карты, используемой в туториале. Сюда включен и файл VMF.]
* [http://forums.thinkingwithportals.com/downloads.php?view=detail&df_id=186 Пример карты, используемой в туториале. Сюда включен и файл VMF.]


[[Category:Level Design Tutorials:ru]]
{{ACategory|Level Design Tutorials}}
[[Category:Russian]]
[[Category:Russian]]
[[Category:Portal:ru]]
{{ACategory|Portal}}

Latest revision as of 03:43, 22 August 2024

English (en)Français (fr)Русский (ru)Translate (Translate)
Broom icon.png
This article or section needs to be updated to include current information regarding the subject.
Remember to check for any notes left by the tagger at this article's talk page.
Info content.png
This page needs to be translated.
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 complies with the alternate languages guide.(en)
Финальный результат

В этом туториале вы научитесь создавать 1500-Мегаваттную Экспериментальную Сверхпрочную Сверхударную Сверхкнопку, которая открывает определенную дверь,если на неё наступит игрок или если на ней окажется утяжеленный куб.

Установка двери

Сперва сделаем дверь, которая будет открываться при нажатии на кнопку.

Рамка двери

Создайте prop_static(en) в проёме. В World Model выставьте "models/props/door_01_frame_reference.mdl" или "models/props/door_01_frame_wide_reference.mdl" (работают оба варианта).

Tip.pngСовет:Вместо "All Mods" в Mod Filter выберите "portal", затем в поле Filter textbox at the bottom type "props\door" без кавычек.

Двери

Размещение func_door.

1. Создайте prop_dynamic(en) со следующими настройками:

Property Name Value
World Model models/props/door_01_lftdoor_reference.mdl
Name door_left_model

Установите её в левой внутренней части дверной рамки.

2. Создайте прямоугольный браш с размерами 56Lx8Wx104H и с текстурой nodraw(en). Разместите его во внутренней центральной части модели двери. Переведите его в энтити func_door(en), выбрав в выпадающем списке "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(en). Когда вы перевели браш в func_door, свойство Move Direction было задано как 0 0 0. Нас интересует только Yaw (второе число), которое может быть изменено путем перетаскивания указателя в Angle Compass Hammer AngleCompass.png или вводом угла в тексовое поле слева. Обычно используются углы 0, 90, 180 и 270, при которых дверь движется вправо, вверх, влево или вниз соответственно в окне "2D top (x/y)".

Tip.pngСовет:Выберите "Point At" и затем кликните в 3D виде на точку, куда должна двигаться дверь. Появится новое свойство "angles" и в 2D видах появится линия, отображающая движение к этой точке. Для ручного редактирования свойства "angles" необходимо отключить SmartEdit Mode в Properties Dialog(en).
Note.pngПримечание:Вы также можете изменить свойство Blocking damage - это урон, наносимый игроку, когда он застревает между дверями. Также, можно активировать свойство Forced Closed, чтобы игрок не мог заблокировать дверь утяжелённым кубом или камерой наблюдения.
Готовая дверь.

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". Это будет основание кнопки.

Tip.pngСовет:Вращайте основание кнопки, пока картинка с подсказкой Hammer PortalButtonInstruction.png не окажется со стороны подхода игрока.

2. Создайте prop_dynamic на вершине prop_static со следующими настройками:

Property Name Value
World Model models/props/button_top_reference.mdl
Name button_top_model

Движение

1. Теперь создайте 8-угольный цилиндрический браш с размерами 58Wx58Lx9H и с текстурой nodraw(en). Переместите этот браш прямо под prop_dynamic. Переведите цилиндр в func_door(en) со следующими настройками:

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".

Триггеры

Большой trigger_multiple.

1. Создайте прямоугольный браш с размерами 48Wx48Lx1H и с текстурой trigger(en). Расположите его на вершине button_top_model. Переведите его в trigger_multiple(en) со следующими настройками:

Property Name Value
Name button_trigger_player

Раздел Outputs мы настроим позднее. Также убедитесь, что в Flags галочка стоит только у пункта Clients.

Маленький trigger_multiple.

2. Теперь создайте 8-угольный цилиндрический браш с размерами 7Wx7Lx2H и с текстурой trigger(en). Разместите этот браш в центре вершины button_top_model и переведите в trigger_multiple со следующими настройками:

Property Name Value
Name button_trigger_box

В Flags галочка должна стоять только у пункта Physics Objects.

Раздел Outputs мы настроим позднее.

3. Создайте filter_activator_name(en) неподалеку от вашей кнопки и выставьте следующие настройки:

Property Name Value
Name button_filter_boxes
Filter Name (Имя вашего утяжелённого куба)
Note.pngПримечание:Если у вас ещё нет утяжелённого куба, создайте энтити prop_physics с моделью models/props/metal_box.mdl

4. Выберите ваш button_trigger_box и выставьте в Filter Name "button_filter_boxes".

5. Создайте два энтити ambient_generic(en) и выставьте в одной следующие настройки:

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 пропишите следующее:

My Output Target Entity Target Input Parameter Delay Only Once
Io11.png OnClose door_left Close <none> 0.00 No
Io11.png OnClose door_right Close <none> 0.00 No
Io11.png OnClose button_up PlaySound <none> 0.00 No
Io11.png OnOpen door_left Open <none> 0.00 No
Io11.png OnOpen door_right Open <none> 0.00 No
Io11.png OnOpen button_down PlaySound <none> 0.00 No

7. Выберите большой trigger_multiple ("button_trigger_player") и в Outputs пропишите следующее:

My Output Target Entity Target Input Parameter Delay Only Once
Io11.png OnEndTouchAll button_trigger_box Enable <none> 0.00 No
Io11.png OnEndTouchAll button_top_door Close <none> 0.00 No
Io11.png OnStartTouch button_trigger_box Disable <none> 0.00 No
Io11.png OnStartTouch button_top_door Open <none> 0.00 No

8. Выберите маленький цилиндрический trigger_multiple ("button_trigger_box") и в Outputs пропишите следующее:

My Output Target Entity Target Input Parameter Delay Only Once
Io11.png OnEndTouchAll button_trigger_player Enable <none> 0.00 No
Io11.png OnEndTouchAll button_top_door Close <none> 0.00 No
Io11.png OnStartTouch button_trigger_player Disable <none> 0.00 No
Io11.png OnStartTouch button_top_door Open <none> 0.00 No
Финальный результат.

9. Наконец, создайте энтити light(en) под вершиной кнопки, но внутри основания. Пропишите следующие настройки:

Property Name Value
Brightness 251 159 57 30
BrightnessHDR 251 159 57 20

Теперь созданная вами кнопка будет открывать дверь, когда игрок наступает на неё, или когда на ней оказывается утяжелённый куб.

Создание дверонго проема

Хотя этот шаг необязателен, и ваша дверь всё равно будет нормально работать, ваша карта будет выглядеть странно с дверью без стен по бокам. Этот шаг довольно прост, так что рекомендуется ознакомится со следующим туториалом: Создание дверного проема(en).

Также, можно воспользоваться следующей заготовкой: Creating a button and door/DoorFrame.vmf(en).

Теория

Это один из простейших вариантов установки двери и кнопки. Однако, используя её вариации, можно достичь самых разнообразных результатов. Также, для поддержания стиля Portal, не забудьте добавить индикаторную линию(en).

Смотрите также

Дополнительные ссылки