Advanced elevators: Difference between revisions
(Still a work in progress?) |
Brandished (talk | contribs) m (stub'd) |
||
(2 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
{{ | {{stub}} | ||
<!-- This is a seemingly abandoned work in progress. [[User:CrabbyData|CrabbyData]] told us he was working on three articles including this one, so if you want to see this article being made, speak with him about it. --> | |||
Once you've created an elevator (see [[Two-stop elevators]] or [[Multi-stop elevators]]), there are several extra features that you could add to make it more realistic. | Once you've created an elevator (see [[Two-stop elevators]] or [[Multi-stop elevators]]), there are several extra features that you could add to make it more realistic. | ||
*Doors that re-open when blocked | *Doors that re-open when blocked | ||
:Simply tying an '''Open''' output to an '''OnBlocked''' input will ''not'' work, because the '''OnBlocked''' doesn't detect both phyics objects and the player. | :Simply tying an '''Open''' output to an '''OnBlocked''' input will ''not'' work, because the '''OnBlocked''' doesn't detect both phyics objects and the player. This can me remidied by parenting a Trigger_Multiple to the bottom of the elevator and adding the tigger value of the trigger_multiple to the '''Open''' output. | ||
*Counterweight | *Counterweight | ||
:Use a [[func_physbox]] for the counterweight, constrained to the wall with a vertical [[phys_slideconstraint]] and attached to the elevator with a [[phys_pulleyconstraint]]. Remember to add the [[cables]]. Since there's more than one constraint, also use a [[phys_constraintsystem]]. | :Use a [[func_physbox]] for the counterweight, constrained to the wall with a vertical [[phys_slideconstraint]] and attached to the elevator with a [[phys_pulleyconstraint]]. Remember to add the [[cables]]. Since there's more than one constraint, also use a [[phys_constraintsystem]]. | ||
*Multi-part sliding doors (one part slides into the other, while the other slides into the wall) | *Multi-part sliding doors (one part slides into the other, while the other slides into the wall) | ||
: | :The simplest way to make a door like this would be to make the two brushes, or more, and set them in the door's closed position. | ||
Move distance is defaulted to the size of the door in the direction it moves. Lip can be set to make the door stick out more or recede more, with negative values. | |||
It is critical to understand the above note so that you can get your door not only working, but working well. | |||
Let's start off: | |||
First you'll need your door (this includes parts of the door, all the doors together, etc.) Set it all up in its closed position. Tie them all, INDIVIDUALLY, to a func_door, and set their move direction in the same direction. | |||
Now the tricky part. | |||
If your door pieces abutte eachother seamlessly, set a "Lip" value of all the door lengths ahead of it (the ones that recede before it). If you want the sections to stick out, increase each door's lip by a few inches. | |||
If your door pieces are inside eachother and butt up against the wall, then move ahead on to the next part, provided you don't want any door-lip. If you do, you'll need to accrue each door's "Lip" by the previous one's; i.e. if you have one door sliding into another, and the other sticks out of the wall 4 inches, and the smaller one 2 inches out of that door, the lip on the smaller door should be 6 inches. THIS IS ONLY FOR DOOR-PIECES THAT TOUCH BOTH WALLS SIMULTANEOUSLY. | |||
Now, imagine the speed you want your first door to move at, and set it. Set the next door, the one it recedes into, a little slower, and so on, and play with it until it looks good. | |||
For other multipart doors, parenting and other tricks can be used. I strongly advise not using phys_* because they aren't as solid. |
Latest revision as of 14:06, 5 December 2008
Once you've created an elevator (see Two-stop elevators or Multi-stop elevators), there are several extra features that you could add to make it more realistic.
- Doors that re-open when blocked
- Simply tying an Open output to an OnBlocked input will not work, because the OnBlocked doesn't detect both phyics objects and the player. This can me remidied by parenting a Trigger_Multiple to the bottom of the elevator and adding the tigger value of the trigger_multiple to the Open output.
- Counterweight
- Use a func_physbox for the counterweight, constrained to the wall with a vertical phys_slideconstraint and attached to the elevator with a phys_pulleyconstraint. Remember to add the cables. Since there's more than one constraint, also use a phys_constraintsystem.
- Multi-part sliding doors (one part slides into the other, while the other slides into the wall)
- The simplest way to make a door like this would be to make the two brushes, or more, and set them in the door's closed position.
Move distance is defaulted to the size of the door in the direction it moves. Lip can be set to make the door stick out more or recede more, with negative values. It is critical to understand the above note so that you can get your door not only working, but working well. Let's start off: First you'll need your door (this includes parts of the door, all the doors together, etc.) Set it all up in its closed position. Tie them all, INDIVIDUALLY, to a func_door, and set their move direction in the same direction.
Now the tricky part. If your door pieces abutte eachother seamlessly, set a "Lip" value of all the door lengths ahead of it (the ones that recede before it). If you want the sections to stick out, increase each door's lip by a few inches.
If your door pieces are inside eachother and butt up against the wall, then move ahead on to the next part, provided you don't want any door-lip. If you do, you'll need to accrue each door's "Lip" by the previous one's; i.e. if you have one door sliding into another, and the other sticks out of the wall 4 inches, and the smaller one 2 inches out of that door, the lip on the smaller door should be 6 inches. THIS IS ONLY FOR DOOR-PIECES THAT TOUCH BOTH WALLS SIMULTANEOUSLY.
Now, imagine the speed you want your first door to move at, and set it. Set the next door, the one it recedes into, a little slower, and so on, and play with it until it looks good.
For other multipart doors, parenting and other tricks can be used. I strongly advise not using phys_* because they aren't as solid.