WiseGarageDoor01: Quick and easy Garage door
This tutorial was originally created by wisemx. It was originally posted on SDKnuts.net.
Introduction
func_movelinear
is a real time saver for a project like this one. I’ve created a barn and have considered how tall the large front door will need to be by deciding how many parts I want it to be, for this project the door has 5 moving parts all the same size. Another consideration is the amount of space needed to hide the door once it goes up. The brush above the 5 moving brushes is taller than they are individually.
Creation
To create the door I created 5 brushes the correct width and all 40 units tall. All 5 together will occupy the 200 units of open space allotted for the door. Each of the 5 brushes is converted into func_movelinear
one at a time by selected each of them individually and then pressing Ctrl+T, choosing func_movelinear
and finally clicking on Apply.
All 5 are given the same name, door01. This keeps us from having to have 5 times the outputs. 4 of the 5 have nearly the same settings but the bottom brush needs to have an additional sound, when it stops, and it needs to move 2 units less so there is a small lip once the 5 brushes have opened.
Each of the 5 func_movelinear
brushes has the same Move Direction, -90 0 0
. They will all move up, together. Since each of them is 40 units tall they need to move at least 40 units, plus the height of each brush above them. i.e. 40, 80, 120, 160 and 198. The bottom brush moves 198 instead of 200 so we can have that lip when they’re open.
I’ve added a Block damage of 100
to each of the 5. For all of them the Start sound is doors\door_metal_gate_move1.wav
. Only the bottom one has a Stop sound which is doors\default_stop.wav
. The Speed for each is 60
. And the Start position is 0
.
In this project I've used trigger_multiple
entities to open and close the door. The same thing can be done with buttons. That’s all there is to it. You can make a door like this in less than 15 minutes.