Ru/Elevator (Portal 2): Difference between revisions

From Valve Developer Community
< Ru
Jump to navigation Jump to search
(Updated title, otherlang2)
m (obsolete language category)
 
(22 intermediate revisions by 13 users not shown)
Line 1: Line 1:
{{otherlang2
{{lang|title=Лифт (Portal 2)|Elevator (Portal 2)}}
|title=Создание лифта для Portal2
'''Лифты''' используются в Portal 2 для перехода игрока между уровнями. Не путайте лифт с {{L|Disassembler|разборочным аппаратом}}, который используется для перехода между уровнями в кооперативном режиме.
|en=Elevator_(Portal_2)
}}
'''Лифт''' используются в Portal 2 для перехода игрока между уровнями. Не путайте с Разборщиком ([[Disassembler]]), который используется для перехода игроков в кооперативном режиме.


==Добавление лифта на карту==
==Добавление лифтов на карту==
{{note|В данной статье мы будем создать лифт для появления игрока в начале уровня. Особенность такого появления будет картофелина на портальной пушке у игрока. В настоящее время нет информации о появлении игрока без картофелины на портальной пушке. Поэтому наслаждайтесь ГЛЭДОС-картошкой :)}}
{{Note|В данной статье мы создадим лифт, в котором будет появляться игрок в начале уровня. При появлении игрока на его портальной пушке будет прикреплена картофелина. Чтобы убрать картофелину, см. руководства ниже.}}
===Вход в лифт===
===Входной лифт===
1) Выберите инструмент entity tool и создайте с помощью него [[func_instance]]. В поле name введите - "Arrival_Elevator",а в поле file name - укажите путь к следующей заготовке лифта: "instances/turbine_elevator/arrival_elevator_a4_base.vmf"
1) Выберите инструмент entity tool и создайте {{L|func_instance}}. В поле Fix Up Name введите - "Arrival_Elevator", а в поле VMF file name укажите путь к лифту "instances/turbine_elevator/arrival_elevator_a4_base.vmf"


{{note|Если заготовка с лифтом не загружается, то сохраните свою карту и перезапустите редактор hammer.}}
{{Note|Если заготовка с лифтом не загружается, сохраните карту и перезапустите Hammer. Карта, которую вы редактировали, находится в папке portal 2\sdk_content\maps.}}


[[Image:Elevatortutorial1.jpg|thumb|right|Both instances just after copying]]
[[File:Elevatortutorial1.jpg|thumb|right|Оба экземпляра сразу после копирования.]]
2) Чтобы сделать вещи проще, и не создавать два func_instance и потом искать второй экземпляр среди всего этого безобразия, просто зажмите Shift и перетащите "Arrival_Elevator", чтобы скопировать первый func_instance, и перетащите копию, чтобы она оказалась точно над оригиналом.
2) Чтобы сделать проще, и не создавать два func_instance и потом не искать второй экземпляр среди всей этой путаницы, просто дублируйте "Arrival_Elevator" с помощью {{key|Shift}} и перетащите копию так, чтобы она оказалась точно над оригиналом.
{{Note|Если посмотреть на два высоких синих столба с текстурой "skip", вы сможете легко выровнять два этих элемента. Просто проверьте, чтобы столбы были выровнены во всех двухмерных видах.  Также проверьте, чтобы были выровнены нижние части столбов. Если нужно выбрать одну из двух частей, то есть лифт или логику, вы можете нажать на один из кубов, соединённых со столбом.}}


{{note|Этот шаг обязателен, т.к. два func_instance должны распологаться точно друг над другом.}}
3) Дважды любой из двух экземпляров и переименуйте его на "Arrival_Logic" с VMF file name "instances/turbine_elevator/arrival_elevator_a4_logic.vmf".
{{Note|Вы можете не использовать a4_logic. "arrival_elevator_logic" работает точно так же, только лифт идёт сверху вниз, а не снизу верх.}}


{{note|Если заготовка с лифтом не загружается, то сохраните свою карту и перезапустите редактор hammer.}}
Вы можете использовать другие лифты для разных тем; только проверьте, что у вас есть экземпляры и лифта, и логики.


{{note|If you look at the tall blue "skip"-textured column, you can easily align the two items. Simply ensure that the columns line up in all three 2d windows. Also make sure the bottom of the columns are aligned. If you need to select one of the two parts, ie the elevator or the logic, you can click one of the cubes attached to the column.}}
===Управление переходами===
[[File:Elevatortutorial2.jpg|thumb|right|Управление переходами осуществляется с помощью небольших кубов за лифтом.]]
4) Создайте где-нибудь ещё одну энтити func_instance; подходящее место - прямо за моделью лифта (но не внутри входного лифта!).  Назовите энтити "Arrival_Departure_Trans" с VMF file name "{{L|Arrival departure transition ents.vmf (Portal 2)|instances/transitions/arrival_departure_transition_ents.vmf}}". Этот экземпляр отвечает за переходы во входном ''И'' выходном лифтах, но не отвечает за vmf'ы выходного лифта (см. ниже).


3) Double-click either one and change the name to "Arrival_Logic" with the VMF file name "instances/turbine_elevator/arrival_elevator_a4_logic.vmf"
Вы можете выбирать видеоклипы в лифтовых комнатах установкой значений переменных в этом экземпляре; например, попробуйте установить значение переменной $arrival_video равным media/animalking.bik. Полный список видеороликов см. на {{L|List of Portal 2 Movies|этой странице.}}


You can use one of the other elevators to use a different theme; just make sure you have both the elevator and the logic instances.
P.S. Обновление редактора сломало видео. Для восстановления работы скопируйте video_splitter.nut в "<Ваша папка Steam> \ SteamApps \ common \ portal 2 \ portal2_dlc2 \ scripts \ vscripts \ video" из "<Ваша папка Steam> \ SteamApps \ common \ portal 2 \ portal2 \ scripts \ vscripts \ video"


===Transition manager===
===Выходной лифт===
[[Image:Elevatortutorial2.jpg|thumb|right|Transition manager is the little boxes behind the elevator]]
5) Для создания выходного лифта просто повторите шаги 1-3, но вместо "arrival_elevator" выберите "instances/turbine_elevator/departure_elevator_a4_logic.vmf" и "instances/turbine_elevator/departure_elevator_a4_base.vmf", оба находятся в одной папке. Назовите их "Departure_Elevator" и "Departure_Logic" соответственно.
4) Create one more func_instance entity anywhere; a convenient place is right behind the elevator model (but not inside the arrival elevator!).  Name this one "Arrival_Departure_Trans" with the VMF file name "[[Arrival departure transition ents.vmf (Portal 2)|instances/transitions/arrival_departure_transition_ents.vmf]]". This instance covers the transition for both the Arrival AND Departure elevators, but does not cover the vmf's for the departure elevator(read below)


You can set the videos on the elevators by setting the variables in this instance; e.g. try setting $arrival_video to media/animalking.bik.
===Соединение с картой===
[[File:Elevatortutorial3.jpg|thumb|right|Лифт, соединённый с комнатой.]]
6) Выпирающее в середине лифта боковое ответвление выглядит как коридорный переход. Именно этот переход вы должны соединить со своей картой. Для этого хорошо подойдёт {{L|Test Door (Portal 2)|тестовая дверь}}.


===Exit elevator===
{{Note|В карте будут утечки, если вы не прикроете проход брашами снаружи.}}
5) To create the exit elevator, simply repeat steps 1-3 but instead of "arrival_elevator" you will choose "instances/turbine_elevator/departure_elevator_a4_logic.vmf" and "instances/turbine_elevator/departure_elevator_a4_base.vmf" both of which are located in the same folder. Name these "Departure_Elevator" and "Departure_Logic" respectively.


===Connection to map===
{{Note|Вам не нужно создавать энтити для появления игрока или портальной пушки, всё это уже есть в экземпляре.}}
[[Image:Elevatortutorial3.jpg|thumb|right|Elevator connected to a room]]
6) You will notice that sticking out of the middle of the elevators on one side is an extension that looks like a hallway.  You must connect this passage to your map.  A [[Test Door (Portal 2)|door]] would look good here.


{{note|The map will leak at the passageway exit if it's not sealed off with your own construction.  You do not have to box the entire elevator, just take care of the exit.}}
Ваш лифт готов, поздравляем!


{{note|You do not need a spawn point or a portal gun entity, the instances cover this.}}
==Появление без картофелины==


Now your elevator is complete, congratulations!
1. Повторите шаги 1 и 2 выше.


[[Category:Portal_2_Level_Design:ru|Разработка уровней для Portal 2]]
2. На шаге 3 замените "instances/turbine_elevator/arrival_elevator_a4_base.vmf" экземпляром "instances/turbine_elevator/arrival_elevator_base.vmf".
 
3. Щёлкните экземпляр дважды и нажмите Edit Instance. Сразу же сохраните его под новым именем ("my_arrival_elevator_base.vmf", к примеру), так как мы изменим его. Также не забудьте потом изменить Vmf Filename экземпляра в своей карте.
 
4. Дважды щёлкните trigger_once с именем "elevator_1_interior_start_trigger", что охватывает модель лифта.
 
5. Перейдите на вкладку Outputs и '''скопируйте''' строку:
::{| class=standard-table
!  || My Output || Target Entity || Target Input || Parameter || Delay || Only Once
|-
| [[File:Io11.png]] || OnStartTouch || elevator_1 || MoveToPathNode || @elevator_1_bottom_path_1 || 0.10 || No
|}
 
6. Удалите строку этого выхода и рядом с моделью лифта поместите энтити func_instance_io_proxy с именем "proxy".
 
7. Перейдите на вкладку Outputs и '''вставьте''' строку, которую мы скопировали ранее.
 
8. Измените выход "OnStartTouch" на "OnProxyRelay". Сохраните изменения в экземпляре.
 
9. Вернитесь в свою карту и создайте энтити info_player_start и weapon_portalgun в лифте (проверьте, что игрок не застрянет в лифте).
 
10. Создайте энтити trigger_once, покрывающую всю модель лифта вместе с info_player_start.
 
11. Добавьте этот выход:
::{| class=standard-table
!  || My Output || Target Entity || Target Input || Parameter || Delay || Only Once
|-
| [[File:Io11.png]] || OnStartTouch || Arrival_logic || instance:elevator_1;MoveToPathNode || 0 || 0.00 || No
|}
 
12. Сохраните свою карту, скомпилируйте её и проверьте. Всё должно работать.
 
==Появление без картофелины (простой способ)==
1. Создайте logic_playerproxy под именем player_settings. 
 
2. Где-нибудь в карте поместите logic_auto, лучше рядом с logic_playerproxy, чтобы их вместе было легче найти.
 
3. На вкладке Output в свойствах logic_auto добавьте этот выход:
::{| class=standard-table
!  || My Output || Target Entity || Target Input || Parameter || Delay || Only Once
|-
| [[File:Io11.png]] || OnMapSpawn || player_settings || RemovePotatosFromPortalgun || || 1.00 || No
|}
 
4. Наконец, сохраните свою карту, скомпилируйте и проверьте.
 
==Появление без картофелины (простой способ 2)==
1. Создайте trigger_weaponstrip внизу входного лифта.
 
2. Поместите портальную пушку над триггером.
 
3. В свойствах портальной пушки настройте её по своим предпочтениям (без картофелины или только с синим порталом).
 
==Создание старого лифта==
1. Следуйте инструкциям выше, но для Arrival_Elevator используйте instances/underground/test_dome_entrance_lift_01.vmf и не создавайте Arrival_Logic.
 
2. Внутри лифта создайте info_player_start. Если это не удалось сделать в трехмерном виде, создайте эту энтити в двухмерном виде и поместите её так, чтобы она касалась ногами пола лифта. (НЕ шахты лифта, а самого лифта.)
 
3. Создайте энтити logic_auto (или, если такая уже есть, используйте её). На вкладке Outputs добавьте вход:
::{| class=standard-table
!  || My Output || Target Entity || Target Input || Parameter || Delay || Only Once
|-
| [[File:Io11.png]] || OnMapSpawn || Arrival_Elevator-entrance_lift_train || StartForward || || 0.00 || No
|}
 
Он будет указан, как ошибочный. Но он всё равно работает. Здесь также работает "простой способ", как убрать картофелину с пушки.
 
== Создание старого лифта (простой способ) ==
 
Откройте vmf-файл maps\instances\underground\test_dome_entrance_lift_01.vmf и найдите энтити point_teleport под именем @test_dome_lift_entry_teleport, смените её имя на @arrival_teleport и сохраните экземпляр под другим именем.
 
== Свой вход и выход ==
Чтобы игрок появлялся в другом месте, создайте {{L|point_teleport}} и назовите её @arrival_teleport, задайте Entity to Teleport на "!player".
 
Чтобы создать конец уровня в другом месте, добавьте следующий выход к триггеру или другой энтити, которая оканчивает ваш уровень:
::{| class=standard-table
!  || My Output || Target Entity || Target Input || Parameter || Delay || Only Once
|-
| [[File:Io11.png]] || "insert output" || @exit_teleport || teleport || || 0.00 || No
|}
Если выход отмечен как ошибочный, игнорируйте это.
 
==См. также==
*{{L|Underground Elevator|Лифт старой лаборатории}}
{{ACategory|Portal 2 Tutorials}}
{{ACategory|Portal_2_Level_Design}}

Latest revision as of 03:46, 22 August 2024

English (en)Español (es)Русский (ru)中文 (zh)Translate (Translate)

Лифты используются в Portal 2 для перехода игрока между уровнями. Не путайте лифт с разборочным аппаратом(en), который используется для перехода между уровнями в кооперативном режиме.

Добавление лифтов на карту

Note.pngПримечание:В данной статье мы создадим лифт, в котором будет появляться игрок в начале уровня. При появлении игрока на его портальной пушке будет прикреплена картофелина. Чтобы убрать картофелину, см. руководства ниже.

Входной лифт

1) Выберите инструмент entity tool и создайте func_instance(en). В поле Fix Up Name введите - "Arrival_Elevator", а в поле VMF file name укажите путь к лифту "instances/turbine_elevator/arrival_elevator_a4_base.vmf"

Note.pngПримечание:Если заготовка с лифтом не загружается, сохраните карту и перезапустите Hammer. Карта, которую вы редактировали, находится в папке portal 2\sdk_content\maps.
Оба экземпляра сразу после копирования.

2) Чтобы сделать проще, и не создавать два func_instance и потом не искать второй экземпляр среди всей этой путаницы, просто дублируйте "Arrival_Elevator" с помощью Shift и перетащите копию так, чтобы она оказалась точно над оригиналом.

Note.pngПримечание:Если посмотреть на два высоких синих столба с текстурой "skip", вы сможете легко выровнять два этих элемента. Просто проверьте, чтобы столбы были выровнены во всех двухмерных видах. Также проверьте, чтобы были выровнены нижние части столбов. Если нужно выбрать одну из двух частей, то есть лифт или логику, вы можете нажать на один из кубов, соединённых со столбом.

3) Дважды любой из двух экземпляров и переименуйте его на "Arrival_Logic" с VMF file name "instances/turbine_elevator/arrival_elevator_a4_logic.vmf".

Note.pngПримечание:Вы можете не использовать a4_logic. "arrival_elevator_logic" работает точно так же, только лифт идёт сверху вниз, а не снизу верх.

Вы можете использовать другие лифты для разных тем; только проверьте, что у вас есть экземпляры и лифта, и логики.

Управление переходами

Управление переходами осуществляется с помощью небольших кубов за лифтом.

4) Создайте где-нибудь ещё одну энтити func_instance; подходящее место - прямо за моделью лифта (но не внутри входного лифта!). Назовите энтити "Arrival_Departure_Trans" с VMF file name "instances/transitions/arrival_departure_transition_ents.vmf(en)". Этот экземпляр отвечает за переходы во входном И выходном лифтах, но не отвечает за vmf'ы выходного лифта (см. ниже).

Вы можете выбирать видеоклипы в лифтовых комнатах установкой значений переменных в этом экземпляре; например, попробуйте установить значение переменной $arrival_video равным media/animalking.bik. Полный список видеороликов см. на этой странице.(en)

P.S. Обновление редактора сломало видео. Для восстановления работы скопируйте video_splitter.nut в "<Ваша папка Steam> \ SteamApps \ common \ portal 2 \ portal2_dlc2 \ scripts \ vscripts \ video" из "<Ваша папка Steam> \ SteamApps \ common \ portal 2 \ portal2 \ scripts \ vscripts \ video"

Выходной лифт

5) Для создания выходного лифта просто повторите шаги 1-3, но вместо "arrival_elevator" выберите "instances/turbine_elevator/departure_elevator_a4_logic.vmf" и "instances/turbine_elevator/departure_elevator_a4_base.vmf", оба находятся в одной папке. Назовите их "Departure_Elevator" и "Departure_Logic" соответственно.

Соединение с картой

Лифт, соединённый с комнатой.

6) Выпирающее в середине лифта боковое ответвление выглядит как коридорный переход. Именно этот переход вы должны соединить со своей картой. Для этого хорошо подойдёт тестовая дверь(en).

Note.pngПримечание:В карте будут утечки, если вы не прикроете проход брашами снаружи.
Note.pngПримечание:Вам не нужно создавать энтити для появления игрока или портальной пушки, всё это уже есть в экземпляре.

Ваш лифт готов, поздравляем!

Появление без картофелины

1. Повторите шаги 1 и 2 выше.

2. На шаге 3 замените "instances/turbine_elevator/arrival_elevator_a4_base.vmf" экземпляром "instances/turbine_elevator/arrival_elevator_base.vmf".

3. Щёлкните экземпляр дважды и нажмите Edit Instance. Сразу же сохраните его под новым именем ("my_arrival_elevator_base.vmf", к примеру), так как мы изменим его. Также не забудьте потом изменить Vmf Filename экземпляра в своей карте.

4. Дважды щёлкните trigger_once с именем "elevator_1_interior_start_trigger", что охватывает модель лифта.

5. Перейдите на вкладку Outputs и скопируйте строку:

My Output Target Entity Target Input Parameter Delay Only Once
Io11.png OnStartTouch elevator_1 MoveToPathNode @elevator_1_bottom_path_1 0.10 No

6. Удалите строку этого выхода и рядом с моделью лифта поместите энтити func_instance_io_proxy с именем "proxy".

7. Перейдите на вкладку Outputs и вставьте строку, которую мы скопировали ранее.

8. Измените выход "OnStartTouch" на "OnProxyRelay". Сохраните изменения в экземпляре.

9. Вернитесь в свою карту и создайте энтити info_player_start и weapon_portalgun в лифте (проверьте, что игрок не застрянет в лифте).

10. Создайте энтити trigger_once, покрывающую всю модель лифта вместе с info_player_start.

11. Добавьте этот выход:

My Output Target Entity Target Input Parameter Delay Only Once
Io11.png OnStartTouch Arrival_logic instance:elevator_1;MoveToPathNode 0 0.00 No

12. Сохраните свою карту, скомпилируйте её и проверьте. Всё должно работать.

Появление без картофелины (простой способ)

1. Создайте logic_playerproxy под именем player_settings.

2. Где-нибудь в карте поместите logic_auto, лучше рядом с logic_playerproxy, чтобы их вместе было легче найти.

3. На вкладке Output в свойствах logic_auto добавьте этот выход:

My Output Target Entity Target Input Parameter Delay Only Once
Io11.png OnMapSpawn player_settings RemovePotatosFromPortalgun 1.00 No

4. Наконец, сохраните свою карту, скомпилируйте и проверьте.

Появление без картофелины (простой способ 2)

1. Создайте trigger_weaponstrip внизу входного лифта.

2. Поместите портальную пушку над триггером.

3. В свойствах портальной пушки настройте её по своим предпочтениям (без картофелины или только с синим порталом).

Создание старого лифта

1. Следуйте инструкциям выше, но для Arrival_Elevator используйте instances/underground/test_dome_entrance_lift_01.vmf и не создавайте Arrival_Logic.

2. Внутри лифта создайте info_player_start. Если это не удалось сделать в трехмерном виде, создайте эту энтити в двухмерном виде и поместите её так, чтобы она касалась ногами пола лифта. (НЕ шахты лифта, а самого лифта.)

3. Создайте энтити logic_auto (или, если такая уже есть, используйте её). На вкладке Outputs добавьте вход:

My Output Target Entity Target Input Parameter Delay Only Once
Io11.png OnMapSpawn Arrival_Elevator-entrance_lift_train StartForward 0.00 No

Он будет указан, как ошибочный. Но он всё равно работает. Здесь также работает "простой способ", как убрать картофелину с пушки.

Создание старого лифта (простой способ)

Откройте vmf-файл maps\instances\underground\test_dome_entrance_lift_01.vmf и найдите энтити point_teleport под именем @test_dome_lift_entry_teleport, смените её имя на @arrival_teleport и сохраните экземпляр под другим именем.

Свой вход и выход

Чтобы игрок появлялся в другом месте, создайте point_teleport(en) и назовите её @arrival_teleport, задайте Entity to Teleport на "!player".

Чтобы создать конец уровня в другом месте, добавьте следующий выход к триггеру или другой энтити, которая оканчивает ваш уровень:

My Output Target Entity Target Input Parameter Delay Only Once
Io11.png "insert output" @exit_teleport teleport 0.00 No

Если выход отмечен как ошибочный, игнорируйте это.

См. также