Portal BTS - Tutorial - Turret Doors

From Valve Developer Community
Jump to navigation Jump to search
Portal Level Creation
Broom icon.png
This article or section needs to be cleaned up to conform to a higher standard of quality.
For help, see the VDC Editing Help and Wikipedia cleanup process. Also, remember to check for any notes left by the tagger at this article's talk page.
Skill Level

This tutorial expects you to have this amount of knowledge within the topic to follow along smoothly.

Novice Familiar Competent Proficient Expert


Introduction

A turret door in the escape levels of Portal

This tutorial will teach you how to make a turret door which opens revealing a Turret.

Step One: The Cube

End of step One

Firstly, create a block which is 192w x 160l x 160l. This is the size Valve uses in the game. If you want to make the box a bit longer, you can, but don't ajust the height and length. This is the box where the turret will be sitting, and where the door will be on. Make the cube hollow (I gave the walls a thickness of 4, but it doesn't matter). Now texture the inside walls with concrete_bts_modular_wall001b, the floor with concrete_bts_floor002a and finally the ceiling with concrete_bts_ceiling002a. If you have the guts to go into that place again, you'll see inside the ceiling has a hole in it with white light coming out of it. We'll get to that later.

Important: Press the "fit" button on each of the textures to make them look right.

Delete one of the walls (one on the front or back, long-wise) for the entrance. We're ready to move on. Don't texture the outside faces yet - You can do that when we move the block into a wall later on.

Step Two: The Door

End of step Two

Now for the fun bit. If you've read the door tutorial here, you'll already know what to do. If you haven't, I would advise you do that tutorial first before attempting this one!

Create a prop_static with a world model of vert_door_frame.mdl. Line it up with the box. Now, the box may be a little big for the frame. You can ajust that later.

Next, make a prop_dynamic with the world model of vert_door_upper.mdl, and name it turretDoor1_model_top and parent it to turretDoor1_top. Align it perfectly in the frame. Then, repeat, but this time make it with a world model of vert_door_lower.mdl. Parent it with turretDoor1_bottom, and name it turretDoor1_model_bottom.

Make a shape with dimensions of 120w x 4l x 81h Place it in the top door (align it perfectly, but a little bit behind the door in the box). Rotate it 90 degrees around Z. Turn it into a func_door and name it turretDoor1_top. Texture it with nodraw. Repeat for the bottom part, this time the dimensions are 120w x 4l x 48h and the name is turretDoor1_bottom!

Now you're done with the door... for now.

Step Three: The Logic

Time to add in the things that make it move.

Create a logic_relay and place it inside the box. Call it turretDoor1_openRelay.

Give it the following outputs:

My Output Target Entity Target Input Parameter Delay Only Once
Io11.png OnTrigger turretDoor1_top Open <none> 2.00 No
Io11.png OnTrigger turretDoor1_bottom Open <none> 2.00 No

Next goto your turretDoor1_top and add this:

Property Name Value
Speed 30
Start Sound Portal.moving_pistons
Stop Sound Portal.stair_clack
Delay before Reset -1
Lip 20
Move Direction (This will be different for which way your door is facing)

Also make sure that you un-check Touch opens under Flags.

Repeat for turretDoor1_bottom, changing the Lip to 2, and not filling in the start/stop sound.


See also