Ru/Elevator (Portal 2): Difference between revisions
m (Nesciuse moved page Elevator (Portal 2):ru to Ru/Elevator (Portal 2) over redirect: -Language prefixes) |
m (Using L template for links) |
||
Line 1: | Line 1: | ||
{{lang|title=Лифт (Portal 2)|Elevator (Portal 2)}} | {{lang|title=Лифт (Portal 2)|Elevator (Portal 2)}} | ||
'''Лифты''' используются в Portal 2 для перехода игрока между уровнями. Не путайте лифт с | '''Лифты''' используются в Portal 2 для перехода игрока между уровнями. Не путайте лифт с {{L|Disassembler|разборочным аппаратом}}, который используется для перехода между уровнями в кооперативном режиме. | ||
==Добавление лифтов на карту== | ==Добавление лифтов на карту== | ||
{{Note|В данной статье мы создадим лифт, в котором будет появляться игрок в начале уровня. При появлении игрока на его портальной пушке будет прикреплена картофелина. Чтобы убрать картофелину, см. руководства ниже.}} | {{Note|В данной статье мы создадим лифт, в котором будет появляться игрок в начале уровня. При появлении игрока на его портальной пушке будет прикреплена картофелина. Чтобы убрать картофелину, см. руководства ниже.}} | ||
===Входной лифт=== | ===Входной лифт=== | ||
1) Выберите инструмент entity tool и создайте | 1) Выберите инструмент entity tool и создайте {{L|func_instance}}. В поле Fix Up Name введите - "Arrival_Elevator", а в поле VMF file name укажите путь к лифту "instances/turbine_elevator/arrival_elevator_a4_base.vmf" | ||
{{Note|Если заготовка с лифтом не загружается, сохраните карту и перезапустите Hammer. Карта, которую вы редактировали, находится в папке portal 2\sdk_content\maps.}} | {{Note|Если заготовка с лифтом не загружается, сохраните карту и перезапустите Hammer. Карта, которую вы редактировали, находится в папке portal 2\sdk_content\maps.}} | ||
Line 20: | Line 20: | ||
===Управление переходами=== | ===Управление переходами=== | ||
[[File:Elevatortutorial2.jpg|thumb|right|Управление переходами осуществляется с помощью небольших кубов за лифтом.]] | [[File:Elevatortutorial2.jpg|thumb|right|Управление переходами осуществляется с помощью небольших кубов за лифтом.]] | ||
4) Создайте где-нибудь ещё одну энтити func_instance; подходящее место - прямо за моделью лифта (но не внутри входного лифта!). Назовите энтити "Arrival_Departure_Trans" с VMF file name " | 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'ы выходного лифта (см. ниже). | ||
Вы можете выбирать видеоклипы в лифтовых комнатах установкой значений переменных в этом экземпляре; например, попробуйте установить значение переменной $arrival_video равным media/animalking.bik. Полный список видеороликов см. на | Вы можете выбирать видеоклипы в лифтовых комнатах установкой значений переменных в этом экземпляре; например, попробуйте установить значение переменной $arrival_video равным media/animalking.bik. Полный список видеороликов см. на {{L|List of Portal 2 Movies|этой странице.}} | ||
P.S. Обновление редактора сломало видео. Для восстановления работы скопируйте video_splitter.nut в "<Ваша папка Steam> \ SteamApps \ common \ portal 2 \ portal2_dlc2 \ scripts \ vscripts \ video" из "<Ваша папка Steam> \ SteamApps \ common \ portal 2 \ portal2 \ scripts \ vscripts \ video" | P.S. Обновление редактора сломало видео. Для восстановления работы скопируйте video_splitter.nut в "<Ваша папка Steam> \ SteamApps \ common \ portal 2 \ portal2_dlc2 \ scripts \ vscripts \ video" из "<Ваша папка Steam> \ SteamApps \ common \ portal 2 \ portal2 \ scripts \ vscripts \ video" | ||
Line 31: | Line 31: | ||
===Соединение с картой=== | ===Соединение с картой=== | ||
[[File:Elevatortutorial3.jpg|thumb|right|Лифт, соединённый с комнатой.]] | [[File:Elevatortutorial3.jpg|thumb|right|Лифт, соединённый с комнатой.]] | ||
6) Выпирающее в середине лифта боковое ответвление выглядит как коридорный переход. Именно этот переход вы должны соединить со своей картой. Для этого хорошо подойдёт | 6) Выпирающее в середине лифта боковое ответвление выглядит как коридорный переход. Именно этот переход вы должны соединить со своей картой. Для этого хорошо подойдёт {{L|Test Door (Portal 2)|тестовая дверь}}. | ||
{{Note|В карте будут утечки, если вы не прикроете проход брашами снаружи.}} | {{Note|В карте будут утечки, если вы не прикроете проход брашами снаружи.}} | ||
Line 115: | Line 115: | ||
== Свой вход и выход == | == Свой вход и выход == | ||
Чтобы игрок появлялся в другом месте, создайте | Чтобы игрок появлялся в другом месте, создайте {{L|point_teleport}} и назовите её @arrival_teleport, задайте Entity to Teleport на "!player". | ||
Чтобы создать конец уровня в другом месте, добавьте следующий выход к триггеру или другой энтити, которая оканчивает ваш уровень: | Чтобы создать конец уровня в другом месте, добавьте следующий выход к триггеру или другой энтити, которая оканчивает ваш уровень: | ||
Line 126: | Line 126: | ||
==См. также== | ==См. также== | ||
* | *{{L|Underground Elevator|Лифт старой лаборатории}} | ||
[[Category:Portal 2 Tutorials:ru]] | [[Category:Portal 2 Tutorials:ru]] | ||
[[Category:Portal_2_Level_Design:ru]] | [[Category:Portal_2_Level_Design:ru]] |
Revision as of 07:24, 11 July 2024
Лифты используются в Portal 2 для перехода игрока между уровнями. Не путайте лифт с разборочным аппаратом , который используется для перехода между уровнями в кооперативном режиме.
Добавление лифтов на карту

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

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

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

Вы можете использовать другие лифты для разных тем; только проверьте, что у вас есть экземпляры и лифта, и логики.
Управление переходами
4) Создайте где-нибудь ещё одну энтити func_instance; подходящее место - прямо за моделью лифта (но не внутри входного лифта!). Назовите энтити "Arrival_Departure_Trans" с VMF file name "instances/transitions/arrival_departure_transition_ents.vmf ". Этот экземпляр отвечает за переходы во входном И выходном лифтах, но не отвечает за vmf'ы выходного лифта (см. ниже).
Вы можете выбирать видеоклипы в лифтовых комнатах установкой значений переменных в этом экземпляре; например, попробуйте установить значение переменной $arrival_video равным media/animalking.bik. Полный список видеороликов см. на этой странице.
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) Выпирающее в середине лифта боковое ответвление выглядит как коридорный переход. Именно этот переход вы должны соединить со своей картой. Для этого хорошо подойдёт тестовая дверь .


Ваш лифт готов, поздравляем!
Появление без картофелины
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 и скопируйте строку:
6. Удалите строку этого выхода и рядом с моделью лифта поместите энтити func_instance_io_proxy с именем "proxy".
7. Перейдите на вкладку Outputs и вставьте строку, которую мы скопировали ранее.
8. Измените выход "OnStartTouch" на "OnProxyRelay". Сохраните изменения в экземпляре.
9. Вернитесь в свою карту и создайте энтити info_player_start и weapon_portalgun в лифте (проверьте, что игрок не застрянет в лифте).
10. Создайте энтити trigger_once, покрывающую всю модель лифта вместе с info_player_start.
11. Добавьте этот выход:
12. Сохраните свою карту, скомпилируйте её и проверьте. Всё должно работать.
Появление без картофелины (простой способ)
1. Создайте logic_playerproxy под именем player_settings.
2. Где-нибудь в карте поместите logic_auto, лучше рядом с logic_playerproxy, чтобы их вместе было легче найти.
3. На вкладке Output в свойствах logic_auto добавьте этот выход:
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 добавьте вход:
Он будет указан, как ошибочный. Но он всё равно работает. Здесь также работает "простой способ", как убрать картофелину с пушки.
Создание старого лифта (простой способ)
Откройте vmf-файл maps\instances\underground\test_dome_entrance_lift_01.vmf и найдите энтити point_teleport под именем @test_dome_lift_entry_teleport, смените её имя на @arrival_teleport и сохраните экземпляр под другим именем.
Свой вход и выход
Чтобы игрок появлялся в другом месте, создайте point_teleport и назовите её @arrival_teleport, задайте Entity to Teleport на "!player".
Чтобы создать конец уровня в другом месте, добавьте следующий выход к триггеру или другой энтити, которая оканчивает ваш уровень:
Если выход отмечен как ошибочный, игнорируйте это.