User:Dr. Orange/Test Chamber Door: Difference between revisions

From Valve Developer Community
Jump to navigation Jump to search
(wip)
(wip)
Line 26: Line 26:
| Name || door_left
| Name || door_left
|-
|-
| Speed || 150
| Speed || 250
|-
|-
| Stop Sound || Portal.doorclose
| Stop Sound || Doors.FullClose8
|-
|-
| Delay Before Reset || -1
| Delay Before Reset || -1
Line 44: Line 44:
| Name || door_right
| Name || door_right
|-
|-
| Speed || 150
| Speed || 250
|-
|-
| Stop Sound || Portal.doorclose
| Stop Sound || Doors.FullClose8
|-
|-
| Delay Before Reset || -1
| Delay Before Reset || -1
Line 54: Line 54:
| Move Direction || 0 90 0
| Move Direction || 0 90 0
|}
|}
=== Step 4 ===
Create a <code>[[prop_dynamic]]</code> entity and set the following keyvalues on it:
{| class="standard-table sortable"
|-
! Property Name !! Value
|-
| Parent || door_left
|-
| World Model || models/props/door_01_rtdoor_reference.mdl
|-
| Name || model_door_right
|}
Align it so it covers <code>door_left</code>.
Next, create another <code>prop_dynamic</code> entity and set the following keyvalues on it:
{| class="standard-table sortable"
|-
! Property Name !! Value
|-
| Parent || door_right
|-
| World Model || models/props/door_01_ltdoor_reference.mdl
|-
| Name || model_door_left
|}
Align this model so it covers <code>door_right</code>
The test chamber door is now finished and is ready to be implemented in a map.


== Implementation ==
== Implementation ==
=== Step 1 ===
Place the door within the wall the door should be in so that the sides of the frame brushes are flush with the wall. If the door is rotated, the ''Pitch Yaw Roll'' keyvalues of the doors must be altered so that the door opens in the right direction.
=== Step 2 ===
Set up the item that should open the door so that it sends the <code>Open</code> input to both <code>door_left</code> and <code>door_right</code> when the door should open, and the <code>Close</code> input when the door shoul close.
== See Also ==
* [[Test Door (Portal 2)]] - Portal 2 variant


<!--
<!--

Revision as of 10:12, 13 July 2018

Under construction.png
This User page is actively undergoing a major edit.
As a courtesy, please do not edit this User while this message is displayed.
If this page has not been edited for at least several hours to a few days, please remove this template. This message is intended to help reduce edit conflicts; please remove it between editing sessions to allow others to edit the page.

The person who added this notice will be listed in its edit history should you wish to contact them.

This tutorial will show step-by-step how to create the test chamber doors seen throughout the Portal test chambers. Test chamber doors are often used to gate the player until they have completed a puzzle, but can also be used as a puzzle element themselves.

Construction

Step 1

Create a 32w*128l*128h brush. Next use the clipping tool to create three horizontal clips at 24, 48 and 84 units from the top, respectively.

After that, select the second brush from the top and create a diagonal clip 48 units from the side of the brush at the top to 16 units in from the side at the bottom. Do the same thing on the other side of the brush and delete the wedge that remains in the middle.

Next, select the brush below the previous brush and create a diagonal clip from 16 units in from the side at the top to the bottom side corner of the brush. Do the same on the other side and delete the remaining wedge.

Now, select the bottommost brush and create a diagonal clip from the top side corner to 20 units in from the side at the bottom. Do the same thing on the other side of the brush, then delete the remaining wedge.

Finally, select all of the brushes and tie them to a func_detail entity. After that, texture the front and back sides with the same texture of the wall that the door is set into. Texture all of the remaining faces with tools/toolsnodraw.

Step 2

Create a prop_static entity and set its World Model to models/props/door_01_frame_wide_reference.mdl. Align the door frame model within the frame brushes.

Step 3

Create a 8w*56l*104h brush textured with tools/toolsnodraw. Align it to the left of the center of the door frame, and tie this brush to a func_door entity. Make sure that all of its flags are unchecked and set the following keyvalues on it:

Property Name Value
Name door_left
Speed 250
Stop Sound Doors.FullClose8
Delay Before Reset -1
Lip 12
Move Direction 0 270 0

Next create an identical 8w*56l*104h nodraw textured brush, but align it to the right of the center of the door. Tie this brush to a func_door entity, make sure all of its flags are unchecked, and set the following keyvalues:

Property Name Value
Name door_right
Speed 250
Stop Sound Doors.FullClose8
Delay Before Reset -1
Lip 12
Move Direction 0 90 0

Step 4

Create a prop_dynamic entity and set the following keyvalues on it:

Property Name Value
Parent door_left
World Model models/props/door_01_rtdoor_reference.mdl
Name model_door_right

Align it so it covers door_left.

Next, create another prop_dynamic entity and set the following keyvalues on it:

Property Name Value
Parent door_right
World Model models/props/door_01_ltdoor_reference.mdl
Name model_door_left

Align this model so it covers door_right


The test chamber door is now finished and is ready to be implemented in a map.

Implementation

Step 1

Place the door within the wall the door should be in so that the sides of the frame brushes are flush with the wall. If the door is rotated, the Pitch Yaw Roll keyvalues of the doors must be altered so that the door opens in the right direction.

Step 2

Set up the item that should open the door so that it sends the Open input to both door_left and door_right when the door should open, and the Close input when the door shoul close.

See Also