Faith Plate

From Valve Developer Community
Revision as of 21:20, 11 May 2011 by Ljdp (talk | contribs) (Added debugging section)
Jump to: navigation, search
Русский
Faithplateicon.png

Faith plates or catapults are jump pads in Portal 2. They can fling objects (like turrets and cubes) and players.

Creation

1) Make a prop_dynamic:

Property Name Value
World Model "models/props/faith_plate.mdl" or "models/props/faith_plate_128.mdl"
Name "catapult_model_1" (you can change it, but dont forget to change it in all inputs.)
Collision Not Solid
Disable Shadows Yes

2) Make a info_target

Property Name Value
Name catapult_target_1
  • The catapult will launch you onto that target.


3) Make a trigger_catapult with trigger texture:

Property Name Value
Name catapult_trigger_1
Launch Direction "-90 0 0" If you want to fly up
Player speed Try random for your length of pit, 750 is better
Physics speed This for flinging props. I have +150 to Player speed (900).
Apply Angular impulse True
Launch target catapult_target_1
Use Threshold Check Set to NO for Faith Plate model.
My Output Target Entity Target Input Parameter Delay Only Once
Io11.png OnCatapulted catapult_model_1 SetAnimation (angled, fast or straigthup) 0.00 No
Source Sdk Aerial Faight Plate Example

4) Make a ambient_generic:

Property Name Value
Name catapult_sound_1
Sound Name Metal_SeafloorCar.BulletImpact
SourceEntityName catapult_model_1 (the name of the Faith Plate model)
Flags Value
Is NOT Looped Yes
Start Silent Yes

5) Make a func_clip_vphysics with the trigger texture in space under faith plate model,or objects will fall down.

6) Make a block with the toolsplayerclip texture in space under faith plate model,or you will fall down.

7) Also,dont forget to add info_placement_helper to the ceiling,its easier to fly through.

Debugging

As seen in one of the developers commentaries valve use visual trajectories to help debug and tweak the faith plates. In console type "ent_bbox trigger_catapult" you will now see a visual representation of the trajectories of every trigger_catapult in the map. If you want to just see a single trajectory type "ent_bbox <name of your catapult entity>".

If your trigger_catapult is using exact velocity you can change player and physics velocity in game.

  • "ent_fire <name of catapult entity> setplayerspeed <speed>"
  • "ent_fire <name of catapult entity> setphysicspeed <speed>"

The visual trajectories will update automatically.

Tips

You can use the trigger_catapult anywhere you expect the player to slingshot. For example, you may place a portal on a wall angled upwards and sling out of that. For greater control on where the player lands use a trigger_catapult.

To make sure the catapult doesn't fling you when you just walk into it, set the thresholds. In the trigger_catapult settings:

Property Name Value
Lower threshold This is a percentage, 0 to 1, of the player speed you set.
Upper threshold Same as above but for the upper limit.
UseThresholdCheck 'YES' to use threshold, 'NO' to always catapult.

For example, say you set the catapult to fling the player at 500 units/s. Lower threshold 0.1 means the player must travel at least 10% of that; 50 units/s. Upper threshold 0.5 means the player cannot travel faster than 50% of that; 250 units/s. As long as the player speed is between these limits the trigger_catapult will enable.

See also

Portal 2 Level Creation