本文与游戏《传送门2》有关。点击这里查看更多信息。

信仰弹射板

From Valve Developer Community
< Zh
Jump to navigation Jump to search
English (en)Deutsch (de)Français (fr)Русский (ru)中文 (zh)Translate (Translate)
English (en)Deutsch (de)Français (fr)Русский (ru)中文 (zh)Translate (Translate)
Faithplateicon.png

信仰弹射板(Faith plates)或称弹射器《传送门2》(en)中的弹跳垫。它们可以弹射物体如炮塔(en)立方体(en)和玩家。

创建方法

有多个实例可用;但trigger_catapult需要手动添加。设置其输出来触发实例,包括声音和动画。

  • 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

Property Name Value
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

Property Name Value
Name catapult_target_1
  • 弹射器会将你发射到该目标点

3) 创建带有触发纹理的trigger_catapult

Property Name Value
Name catapult_trigger_1
Launch Direction "-90 0 0" 如果要向上弹射
Player speed 根据弹坑长度尝试调整,750较合适
Physics speed 用于弹射道具。我设为玩家速度+150(900)
Apply Angular impulse True
Launch target catapult_target_1
Use Threshold Check 使用信仰弹射板模型时设为NO
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

Property Name Value
Name catapult_sound_1
Sound Name World.CatapultLaunch
SourceEntityName catapult_model_1(信仰弹射板模型名称)
Flags Value
Is NOT Looped Yes
Start Silent Yes

要使声音生效,需返回trigger_catapult创建新输出:Oncatapulted, 声音实体名称, playsound。

5) 在信仰弹射板模型下方用tools/toolsinvisible纹理创建隐形方块,防止玩家和物体掉落。

6) 别忘了在弹道终点可传送表面添加info_placement_helper——更容易飞过传送门。

调试

如开发者解说所述,Valve使用可视化弹道来调试弹射板。 在控制台输入ent_bbox trigger_catapult可查看地图中所有弹射板的弹道。若只想查看单个弹道,需先输入"developer 1",再输入ent_bbox <弹射实体名称>

如果trigger_catapult使用精确速度,可在游戏中调整:

  • "ent_fire <弹射实体名称> setplayerspeed <速度>"
  • "ent_fire <弹射实体名称> setphysicspeed <速度>"

可视化弹道会实时更新。

技巧

可在预期落点使用trigger_catapult获得更好控制。例如在倾斜墙面上设置传送门进行弹射。

要防止误触发,设置阈值。在trigger_catapult属性中:

Property Name Value
Lower threshold 玩家速度百分比(0-1)
Upper threshold 同上,上限值
UseThresholdCheck 'YES'启用阈值,'NO'总是弹射

但阈值设置有些复杂:

首先,阈值并非简单百分比。下限值会从设定速度中扣除,上限值则会增加。例如设定500单位/秒,下限0.1表示玩家需达到450单位/秒(90%),上限0.5表示不超过750单位/秒(150%)。玩家速度在此区间内才会被弹射。因此阈值设置越低,玩家速度越需匹配弹射速度。

更复杂的是:当指定弹射目标时,游戏会调整玩家速度来抵达目标,导致实际速度难以预测。即使启用精确速度,仍可能有偏差。因此阈值范围应设得稍宽。

调试技巧:使用ent_bbox命令可显示弹道和实时速度数据。注意需指定弹射目标才能显示阈值信息(单位/秒)。

另见