Ru/Faith Plate: Difference between revisions

From Valve Developer Community
< Ru
Jump to navigation Jump to search
No edit summary
m (obsolete language category)
 
(8 intermediate revisions by 5 users not shown)
Line 1: Line 1:
{{otherlang2
{{lang|title=Панель веры (Portal 2)|Faith Plate}}
|en=Faith Plate
|fr=Faith Plate:fr
|de=Faith Plate:de
}}
[[File:faithplateicon.png|thumb|right]]
[[File:faithplateicon.png|thumb|right]]
'''Панели веры''' или '''катапульты''' - это подбрасывающие панели в [[Portal 2]]. Они могут подбрасывать объекты ([[turret (Portal 2)|турели]], [[Cube (Portal 2):ru|кубы]]) и игроков.
'''Панели веры''' или '''катапульты''' - это подбрасывающие панели в {{L|Portal 2}}. Они могут подбрасывать объекты ({{L|npc_portal_turret_floor|турели}}, {{L|Cube (Portal 2)|кубы}}) и игроков.
==Создание с помощью экземпляров==
==Создание с помощью экземпляров==
Для панели веры есть несколько экземпляров. Однако, энтити [[trigger_catapult]] потребуется добавить вручную. Настройте её выход для срабатывания экземпляра, который уже включает и звуки, и анимацию.
Для панели веры есть несколько экземпляров. Однако, энтити {{L|trigger_catapult}} потребуется добавить вручную. Настройте её выход для срабатывания экземпляра, который уже включает и звуки, и анимацию.


*gameplay\faithplate_black.vmf
*gameplay\faithplate_black.vmf
Line 17: Line 13:
==Создание вручную==
==Создание вручную==


1) Создайте энтити [[prop_dynamic]]:
1) Создайте энтити {{L|prop_dynamic}}:


::{| class=standard-table
::{| class=standard-table
Line 31: Line 27:
|}
|}


2) Создайте энтити [[info_target]]:
2) Создайте энтити {{L|info_target}}:


::{| class=standard-table
::{| class=standard-table
Line 42: Line 38:




3) Создайте браш и переведите его в энтити [[trigger_catapult]], покройте её trigger-текстурой:
3) Создайте браш и переведите его в энтити {{L|trigger_catapult}}, покройте её trigger-текстурой:


::{| class=standard-table
::{| class=standard-table
Line 63: Line 59:




{{Tip:ru|Чтобы преобразовать браш в энтити, выберите его, нажмите на нём правой кнопкой мыши и выберите пункт Tie to Entity}}
{{tip|Чтобы преобразовать браш в энтити, выберите его, нажмите на нём правой кнопкой мыши и выберите пункт Tie to Entity}}
{{Tip:ru|Скорость и траектория (угол запуска) обратны друг другу: чем выше скорость, тем прямее траектория. И наоборот, чем меньше скорость,  тем траектория выше.}}
{{tip|Скорость и траектория (угол запуска) обратны друг другу: чем выше скорость, тем прямее траектория. И наоборот, чем меньше скорость,  тем траектория выше.}}


::{| class=standard-table
::{| class=standard-table
!  || My Output || Target Entity || Target Input || Parameter || Delay || Only Once
!  || My Output || Target Entity || Target Input || Parameter || Delay || Only Once
|-
|-
| [[Image:Io11.png]] || OnCatapulted || catapult_model_1 || SetAnimation || (angled, fast или straightup) || 0.00 || No
| [[File:Io11.png]] || OnCatapulted || catapult_model_1 || SetAnimation || (angled, fast или straightup) || 0.00 || No
|}
|}
[[Image:Source_Sdk_-_Aerial_Faith_Plate.jpg|thumb|right|300px|Пример панели веры в Source Sdk]]
[[File:Source_Sdk_-_Aerial_Faith_Plate.jpg|thumb|right|300px|Пример панели веры в Source Sdk]]
4) Создайте энтити [[ambient_generic]]:
4) Создайте энтити {{L|ambient_generic}}:


::{| class=standard-table
::{| class=standard-table
Line 96: Line 92:
!  || My Output|| Target Entity || Target Input || Parameter || Delay || Only Once
!  || My Output|| Target Entity || Target Input || Parameter || Delay || Only Once
|-
|-
| [[Image:Io11.png]] || OnCatapulted || catapult_sound_1 || playsound || - || 0.00 || No
| [[File:Io11.png]] || OnCatapulted || catapult_sound_1 || playsound || - || 0.00 || No
|}
|}
5) Создайте блок с текстурой tools/toolsinvisible под моделью панели веры, чтобы игрок и предметы не проваливались сквозь неё.
5) Создайте блок с текстурой tools/toolsinvisible под моделью панели веры, чтобы игрок и предметы не проваливались сквозь неё.


6) Также не забудьте добавить [[info_placement_helper]] на портальную поверхность в конце траектории - так будет легче пролететь через портал.
6) Также не забудьте добавить {{L|info_placement_helper}} на портальную поверхность в конце траектории - так будет легче пролететь через портал.


==Отладка==
==Отладка==
Line 114: Line 110:
==Советы==
==Советы==


Вы также можете использовать [[trigger_catapult]] для контроля приземления игрока. Например, вы можете установить портал на стене, поднятой под углом вверх, и вылететь из неё.
Вы также можете использовать {{L|trigger_catapult}} для контроля приземления игрока. Например, вы можете установить портал на стене, поднятой под углом вверх, и вылететь из неё.


Чтобы панель не отбрасывала, когда вы просто проходите по ней, установите следующие параметры [[trigger_catapult]]:
Чтобы панель не отбрасывала, когда вы просто проходите по ней, установите следующие параметры {{L|trigger_catapult}}:


::{| class=standard-table
::{| class=standard-table
Line 132: Line 128:
Вопреки обыденным представлениям, ограничения '''НЕ''' выражают процент скорости игрока в традиционном понимании.
Вопреки обыденным представлениям, ограничения '''НЕ''' выражают процент скорости игрока в традиционном понимании.
Нижняя граница - это процентное значение, которое '''''вычитается''''' из скорости игрока, а верхняя граница - '''''добавляется''''' к скорости игрока.
Нижняя граница - это процентное значение, которое '''''вычитается''''' из скорости игрока, а верхняя граница - '''''добавляется''''' к скорости игрока.
Например, допустим, вы задали скорость катапультирования на 500 ед./сек. Нижняя граница 0.1 подразумевает, что игрок должен двигаться со скоростью как минимум 90% (100% - 10%) - то есть 450 ед./сек. Верхняя граница 0.5 означает, что игрок не должен двигаться быстрее 150% (100% + 50%) - то есть 750 ед./сек. Пока скорость перемещения игрока находится в этих пределах, [[trigger_catapult]] отбрасывает игрока.
Например, допустим, вы задали скорость катапультирования на 500 ед./сек. Нижняя граница 0.1 подразумевает, что игрок должен двигаться со скоростью как минимум 90% (100% - 10%) - то есть 450 ед./сек. Верхняя граница 0.5 означает, что игрок не должен двигаться быстрее 150% (100% + 50%) - то есть 750 ед./сек. Пока скорость перемещения игрока находится в этих пределах, {{L|trigger_catapult}} отбрасывает игрока.
Следовательно, ограничения работают так: '''''чем ниже заданные ограничения, тем больше вероятность, что скорость игрока приведёт к срабатыванию катапульты'''''.
Следовательно, ограничения работают так: '''''чем ниже заданные ограничения, тем больше вероятность, что скорость игрока приведёт к срабатыванию катапульты'''''.


К сожалению, здесь придётся учесть ещё кое-что: если для [[trigger_catapult]] указана цель, то скорость игрока будет изменена так, чтобы он долетел до этой цели, поэтому становится невозможно узнать точную скорость, с которой игрок будет катапультирован. Даже если Use Exact Velocity задано на yes, скорость игрока всё ещё может варьироваться. Поэтому ограничения катапультирования должны охватывать все возможные скорости.
К сожалению, здесь придётся учесть ещё кое-что: если для {{L|trigger_catapult}} указана цель, то скорость игрока будет изменена так, чтобы он долетел до этой цели, поэтому становится невозможно узнать точную скорость, с которой игрок будет катапультирован. Даже если Use Exact Velocity задано на yes, скорость игрока всё ещё может варьироваться. Поэтому ограничения катапультирования должны охватывать все возможные скорости.


Всё это более или менее легко проверить: в целях отладки программисты добавили консольную команду ent_bbox, которая используется для графического отображения траекторий катапульт в игре. К счастью, эта команда также выводит текущую скорость игрока и действующие ограничения (в ед./сек.), в момент, когда игрок встаёт на [[trigger_catapult]]. Но чтобы эта команда работала, необходимо, чтобы у [[trigger_catapult]] была указана цель катапультирования.
Всё это более или менее легко проверить: в целях отладки программисты добавили консольную команду ent_bbox, которая используется для графического отображения траекторий катапульт в игре. К счастью, эта команда также выводит текущую скорость игрока и действующие ограничения (в ед./сек.), в момент, когда игрок встаёт на {{L|trigger_catapult}}. Но чтобы эта команда работала, необходимо, чтобы у {{L|trigger_catapult}} была указана цель катапультирования.


== См. также ==
== См. также ==
* [[Portal 2 Level Creation:ru|Создание уровня для Portal 2]]
* {{LCategory|Portal 2 Level Design|Разработка уровней для Portal 2}}
* [[:Category:Portal 2 Level Design:ru|Разработка уровней для Portal 2]]


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

Latest revision as of 03:47, 22 August 2024

English (en)Deutsch (de)Français (fr)Русский (ru)中文 (zh)Translate (Translate)
Faithplateicon.png

Панели веры или катапульты - это подбрасывающие панели в Portal 2(en). Они могут подбрасывать объекты (турели(en), кубы(en)) и игроков.

Создание с помощью экземпляров

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

  • gameplay\faithplate_black.vmf
  • gameplay\faithplate_black_impostor.vmf
  • gameplay\faithplate_clean.vmf
  • gameplay\faithplate_dirty.vmf
  • gameplay\faithplate_dirty_impostor.vmf

Создание вручную

1) Создайте энтити prop_dynamic(en):

Название свойства Значение
World Model "models/props/faith_plate.mdl" или "models/props/faith_plate_128.mdl"
Name "catapult_model_1" (Вы можете изменить название, но не забудьте изменить его во всех входах.)
Collision Not Solid
Disable Shadows Yes

2) Создайте энтити info_target(en):

Название свойства Значение
Name catapult_target_1
  • Это цель, в которую вас запустит катапульта.


3) Создайте браш и переведите его в энтити trigger_catapult(en), покройте её trigger-текстурой:

Название свойства Значение
Name catapult_trigger_1
Launch Direction "-90 0 0" Если хотите взлететь вверх
Player speed Подберите оптимальное значение в зависимости от расстояния, для начала можете попробовать 750
Physics speed Определяет скорость полета летящих предметов. Прибавьте 150 к Player speed (900).
Apply Angular impulse True
Launch target catapult_target_1
Use Threshold Check Для модели панели веры задайте значение NO.


Tip.pngСовет:Чтобы преобразовать браш в энтити, выберите его, нажмите на нём правой кнопкой мыши и выберите пункт Tie to Entity
Tip.pngСовет:Скорость и траектория (угол запуска) обратны друг другу: чем выше скорость, тем прямее траектория. И наоборот, чем меньше скорость, тем траектория выше.
My Output Target Entity Target Input Parameter Delay Only Once
Io11.png OnCatapulted catapult_model_1 SetAnimation (angled, fast или straightup) 0.00 No
Пример панели веры в Source Sdk

4) Создайте энтити ambient_generic(en):

Название свойства Значение
Name catapult_sound_1
Sound Name Metal_SeafloorCar.BulletImpact
SourceEntityName catapult_model_1 (название модели панели веры)
Флаги Значение
Is NOT Looped Yes
Start Silent Yes

Чтобы звук заработал, вернитесь к trigger_catapult и создайте новый выход:

My Output Target Entity Target Input Parameter Delay Only Once
Io11.png OnCatapulted catapult_sound_1 playsound - 0.00 No

5) Создайте блок с текстурой tools/toolsinvisible под моделью панели веры, чтобы игрок и предметы не проваливались сквозь неё.

6) Также не забудьте добавить info_placement_helper(en) на портальную поверхность в конце траектории - так будет легче пролететь через портал.

Отладка

Как было показано в комментариях разработчиков, можно визуально наблюдать траектории полета для отладки и настройки панели веры. В консоли введите "ent_bbox trigger_catapult", и вы увидите визуальное представление траекторий полета от каждой trigger_catapult. Чтобы просмотреть только одну траекторию, введите "ent_bbox <название энтити панели веры>".

Если в trigger_catapult используется константная скорость (Use Exact Velocity = yes), то вы можете изменять скорость игрока и предметов прямо во время игры:

  • "ent_fire <название энтити панели веры> setplayerspeed <скорость>"
  • "ent_fire <название энтити панели веры> setphysicspeed <скорость>"

Визуальное отображение траекторий обновится автоматически.

Советы

Вы также можете использовать trigger_catapult(en) для контроля приземления игрока. Например, вы можете установить портал на стене, поднятой под углом вверх, и вылететь из неё.

Чтобы панель не отбрасывала, когда вы просто проходите по ней, установите следующие параметры trigger_catapult(en):

Название свойства Значение
Lower threshold Нижняя граница скорости в процентах от заданной скорости полета, задается десятичной дробью от 0 до 1.
Upper threshold Верхняя граница.
UseThresholdCheck 'YES' - использовать ограничения, 'NO' - всегда отбрасывать.

С настройками ограничений необходимо немного разобраться:

Вопреки обыденным представлениям, ограничения НЕ выражают процент скорости игрока в традиционном понимании. Нижняя граница - это процентное значение, которое вычитается из скорости игрока, а верхняя граница - добавляется к скорости игрока. Например, допустим, вы задали скорость катапультирования на 500 ед./сек. Нижняя граница 0.1 подразумевает, что игрок должен двигаться со скоростью как минимум 90% (100% - 10%) - то есть 450 ед./сек. Верхняя граница 0.5 означает, что игрок не должен двигаться быстрее 150% (100% + 50%) - то есть 750 ед./сек. Пока скорость перемещения игрока находится в этих пределах, trigger_catapult(en) отбрасывает игрока. Следовательно, ограничения работают так: чем ниже заданные ограничения, тем больше вероятность, что скорость игрока приведёт к срабатыванию катапульты.

К сожалению, здесь придётся учесть ещё кое-что: если для trigger_catapult(en) указана цель, то скорость игрока будет изменена так, чтобы он долетел до этой цели, поэтому становится невозможно узнать точную скорость, с которой игрок будет катапультирован. Даже если Use Exact Velocity задано на yes, скорость игрока всё ещё может варьироваться. Поэтому ограничения катапультирования должны охватывать все возможные скорости.

Всё это более или менее легко проверить: в целях отладки программисты добавили консольную команду ent_bbox, которая используется для графического отображения траекторий катапульт в игре. К счастью, эта команда также выводит текущую скорость игрока и действующие ограничения (в ед./сек.), в момент, когда игрок встаёт на trigger_catapult(en). Но чтобы эта команда работала, необходимо, чтобы у trigger_catapult(en) была указана цель катапультирования.

См. также