Creating a moving platform: Difference between revisions
No edit summary |
No edit summary |
||
Line 39: | Line 39: | ||
| First stop target || platform1_s1 | | First stop target || platform1_s1 | ||
|- | |- | ||
| | | Max speed || 40 | ||
|} | |} | ||
:Also, ensure no user control is checked. | :Also, ensure no user control is checked. | ||
3. Create an env_citadel_energy_core, place it under the model, and set these values: | |||
:{| | |||
! Property Name || Value | |||
|- | |||
| Name || platform1_core | |||
|- | |||
| Parent || platform1_train | |||
|- | |||
| Pitch Yaw Roll || 90 0 0 | |||
|- | |||
| Scale || .5 | |||
|} | |||
:Set the flag to start on if desired. | |||
== The Path == | == The Path == | ||
Line 50: | Line 65: | ||
|- | |- | ||
| Name || platform1_s1 | | Name || platform1_s1 | ||
|- | |- | ||
| Next stop target || platform1_s2 | | Next stop target || platform1_s2 | ||
Line 58: | Line 71: | ||
|} | |} | ||
:Set the flag teleport to this path_track if you have a one direction system. | :Set the flag teleport to this path_track if you have a one direction system. | ||
:I also set these outputs: | |||
::{| | |||
! || My Output || Target Entity || Target Input || Parameter || Delay || Only Once | |||
|- | |||
| [[Image:Io11.png]] || OnPass || platform1_train || Stop || 0 || 0 || No | |||
|- | |||
| [[Image:Io11.png]] || OnPass || platform1_train || Resume || 0 || 1 || No | |||
|} | |||
Line 65: | Line 88: | ||
== The Rail == | |||
1. Create a brush 12x2 and set it around your path. Turn it to a func_brush with these settings: | |||
:{| | |||
! Property Name || Value | |||
|- | |||
| Fx color || 225 252 253 | |||
|- | |||
| Solidity Never || Solid | |||
|} | |||
2. Place info_targets at each bend or end of the rail brushes. Name them something like platform1_target1. | |||
3. Create an env_beam for each strait section of track. Set the following: | |||
:{| | |||
! Property Name || Value | |||
|- | |||
| Beam color || 38 50 68 | |||
|- | |||
| Brightness || 255 | |||
|- | |||
| Ending entity || (your info_target) | |||
|- | |||
| Life || 0 | |||
|- | |||
| Name || platform1_beam | |||
|- | |||
| Render FX || Fast Wide Pulse | |||
|- | |||
| Sprite name || materials/Effects/laser1.vmt | |||
|- | |||
| Start entity || (your info_target) | |||
|- | |||
| Texture scroll rate || 2 | |||
|- | |||
| Width || 4 | |||
|} | |||
Set it to start on. | |||
== Props == | |||
1. Add props at the end of your rails. Also under the corners. | |||
: Some props are : | |||
:: models/props/light_rail_wall_emitter.mdl | |||
:: models/props/light_rail_endcap.mdl | |||
:: models/props/light_rail_corner.mdl | |||
2. Add an env_citadel_energy_core that points at the base of the prop. Set these to start on with a scale of .5 | |||
== Enabling == | |||
1. To enable your train use these outputs: | |||
::{| | |||
! || My Output || Target Entity || Target Input || Parameter || Delay || Only Once | |||
|- | |||
| [[Image:Io11.png]] || OnTrigger || platform1_beam || Color || 176 217 247 || 0 || No | |||
|- | |||
| [[Image:Io11.png]] || OnTrigger || platform1_beam || Width || 10 || 0 || No | |||
|- | |||
| [[Image:Io11.png]] || OnTrigger || platform1_core || StartDischarge || 0 || 0 || No | |||
|- | |||
| [[Image:Io11.png]] || OnTrigger || platform1_train || SetSpeed || 40 || 2 || No | |||
|} | |||
---- | ---- |
Revision as of 00:33, 1 December 2008
The platform
1. Create a prop_dynamic with the following settings:
Property Name Value World Model models/props/light_rail_platform.mdl Name platform1_model Parent platform1_train
2. Create a brush that is 120x120x2 with the texture glass/glasswindow_frosted_004. Place it inside the train model. Tie it to a func_tractrain with these settings:
Property Name Value Name platform1_train Height above track 0 Change angles never Move sound Portal.horizontal_lift_move Volume 2 Max pitch 100 Min pitch 80 First stop target platform1_s1 Max speed 40
- Also, ensure no user control is checked.
3. Create an env_citadel_energy_core, place it under the model, and set these values:
Property Name Value Name platform1_core Parent platform1_train Pitch Yaw Roll 90 0 0 Scale .5
- Set the flag to start on if desired.
The Path
1. Create a path_track, center it in the very center of platform1_train. Set these values:
Property Name Value Name platform1_s1 Next stop target platform1_s2 Orientation type no change
- Set the flag teleport to this path_track if you have a one direction system.
- I also set these outputs:
2. Create as many path_track entities as you desire. Ensure they stay the same height, and follow the same numbers. Also make sure the last path_track points to the first.
3. Test your system, before you continue.
The Rail
1. Create a brush 12x2 and set it around your path. Turn it to a func_brush with these settings:
Property Name Value Fx color 225 252 253 Solidity Never Solid
2. Place info_targets at each bend or end of the rail brushes. Name them something like platform1_target1.
3. Create an env_beam for each strait section of track. Set the following:
Property Name Value Beam color 38 50 68 Brightness 255 Ending entity (your info_target) Life 0 Name platform1_beam Render FX Fast Wide Pulse Sprite name materials/Effects/laser1.vmt Start entity (your info_target) Texture scroll rate 2 Width 4
Set it to start on.
Props
1. Add props at the end of your rails. Also under the corners.
- Some props are :
- models/props/light_rail_wall_emitter.mdl
- models/props/light_rail_endcap.mdl
- models/props/light_rail_corner.mdl
2. Add an env_citadel_energy_core that points at the base of the prop. Set these to start on with a scale of .5
Enabling
1. To enable your train use these outputs:
OLD ARTICLE - PLEASE LEAVE ALONE UNTIL EDITING DONE
In this tutorial you will learn how to create a moving platform.
Setting up the model
You will need one from these models
- This one is bigger:
models/props/light_rail_platform.mdl
. - This one is smaller
models/props/light_rail_platform_02.mdl
. - After you have decided witch one is better for you, name it
platform_model
. - Set its parent to
platform_func
, which we'll create next.
Creating functions
Create brush with dimensions of chosen platform. It’s not necessary, but it will surely work without any bugs. Tie it to func_tracktrain
entity by pressing Ctrl-T
, and set its variables as follows:
Property Name Value Change angles this is up to you, I’m using: never (fixed orientation)
Change velocity too, it’s your choice, but: ease in/ease out
First stop target P1_S1_M
Initial speed 100
Max speed 10 000
Name platform_func
And, you may set sounds:
Property Name Value Start sound Doors.Move12
Stop sound Doors.FullClose12
Path tracking
Our platform is using the path_track
entities to specify its movement course, so we have to add these now. You can see the architecture we will use.
Create a set of path_tracks, configuring them as follows:
Property Name Value Name P1_S1_M
New train speed 30
Next stop target P1_S1_O
Property Name Value Name P1_S1_O
New train speed 200
Next stop target P1_S2_I
Property Name Value Name P1_S2_I
New train speed 30
Next stop target P1_S2_M
Property Name Value Name P1_S2_M
New train speed 30
Next stop target P1_S2_O
Property Name Value Name P1_S2_O
New train speed 200
Next stop target P1_S1_I
Place them as necessary but make sure they are linked, as shown by a yellow line in Hammer's viewports.
Final touches
Now you have a working platform, so we can add a few models to support it. That oval-shaped object is used on walls, so it's easy to add to your map. The second model looks better, you may even add that stand under it.
- Moving platform mdl 01.jpg
- Moving platform mdl 02.jpg
- Moving platform mdl 03.jpg
See also
- Moving platform - an example map for the above tutorial.