Creating a portal elevator: Difference between revisions
Craziestdan (talk | contribs) (→Beams) |
m (Hard to read, fixed format) |
||
Line 1: | Line 1: | ||
==Introduction== | ==Introduction== | ||
It is a common misconception that making a elevator in portal is very hard. It is, however a very simple process. If it is created properly, it can be turned into a prefab and easily duplicated. | <div style='padding-left:20px'> | ||
It is a common misconception that making a elevator in portal is very hard. It is, however a very simple process. If it is created properly, it can be turned into a prefab and easily duplicated.</div> | |||
==The Base== | ==The Base== | ||
The first thing to do is to build the base for the elevator. This consists of brushes and func details. It is the fastest part of the process. | <div style='padding-left:20px'> | ||
The first thing to do is to build the base for the elevator. This consists of brushes and func details. It is the fastest part of the process.</div> | |||
===The Landing=== | ===The Landing=== | ||
[[Image:Eletut.jpg|right|thumb|Step 1]] | [[Image:Eletut.jpg|right|thumb|Step 1]] | ||
<div style='padding-left:20px'> | |||
A landing is really easy to make. It consists of 7 walls and a floor and ceiling with a similar hole.<br> | A landing is really easy to make. It consists of 7 walls and a floor and ceiling with a similar hole.<br> | ||
It can be easily recreated from the image on the right.<br> | It can be easily recreated from the image on the right.<br> | ||
When you have finished your first landing, texture it and group it, so it can be easily duplicated for the bottom landing. | When you have finished your first landing, texture it and group it, so it can be easily duplicated for the bottom landing.</div> | ||
<div style='clear:both'> | <div style='clear:both'> | ||
===The Shaft=== | ===The Shaft=== | ||
[[Image:Eletut_(1).jpg|right|thumb|Step 2]] | [[Image:Eletut_(1).jpg|right|thumb|Step 2]] | ||
<div style='padding-left:20px'> | |||
The shaft is also very easy. It consists of 3 parts. A top cap, a middle piece, and a bottom cap.<br> | The shaft is also very easy. It consists of 3 parts. A top cap, a middle piece, and a bottom cap.<br> | ||
Walls are 192*16, and textured with plasticwall002a.<br> | Walls are 192*16, and textured with plasticwall002a.<br> | ||
The caps are 64 units tall, and the center piece is 384 units.</div> | The caps are 64 units tall, and the center piece is 384 units.</div></div> | ||
<div style='clear:both'> | <div style='clear:both'> | ||
===The Shaft Details=== | ===The Shaft Details=== | ||
[[Image:Eletut_(2).jpg|right|thumb|Step 3]] | [[Image:Eletut_(2).jpg|right|thumb|Step 3]] | ||
<div style='padding-left:20px'> | |||
*1. Create 4 16*16 sized brushes and place them in each corner. They should be turned into a func_detail.<br> | *1. Create 4 16*16 sized brushes and place them in each corner. They should be turned into a func_detail.<br> | ||
*2. Next, create a block that is 8*8*160. | *2. Next, create a block that is 8*8*160. | ||
Line 27: | Line 32: | ||
:Take the center piece and resize it to be 2 units wide, instead of 8. Texture it with white008. | :Take the center piece and resize it to be 2 units wide, instead of 8. Texture it with white008. | ||
:Duplicate this piece to from a square. | :Duplicate this piece to from a square. | ||
:Make it a func_detail and place one every 64 units in the center shaft.</div> | :Make it a func_detail and place one every 64 units in the center shaft.</div></div> | ||
<div style='clear:both'> | <div style='clear:both'> | ||
===The Landing Details=== | ===The Landing Details=== | ||
[[Image:Eletut_(3).jpg|right|thumb|Step 4]] | [[Image:Eletut_(3).jpg|right|thumb|Step 4]] | ||
<div style='padding-left:20px'> | |||
Place the elevator landing prop in the center of the landing.<br> | Place the elevator landing prop in the center of the landing.<br> | ||
You may choose to add the 16 light beams, however for such a time consuming process, it is easier to copy it from the example map.<br> | You may choose to add the 16 light beams, however for such a time consuming process, it is easier to copy it from the example map.<br> | ||
Note: All original portal maps have a misplaced light beam. If copying it, you may wish to move it into place.<br> | Note: All original portal maps have a misplaced light beam. If copying it, you may wish to move it into place.<br> | ||
Place the platform rings in place. The top of these rings align to the top of the platform room.<br> | Place the platform rings in place. The top of these rings align to the top of the platform room.<br> | ||
Copy the landing details to the second landing.</div> | Copy the landing details to the second landing.</div></div> | ||
Line 43: | Line 49: | ||
===The Props=== | ===The Props=== | ||
[[Image:Eletut_(4).jpg|right|thumb|Step 5]] | [[Image:Eletut_(4).jpg|right|thumb|Step 5]] | ||
<div style='padding-left:20px'> | |||
Place a prop_dynamic with these settings in the lower landing. | Place a prop_dynamic with these settings in the lower landing. | ||
{| class=standard-table | {| class=standard-table | ||
Line 52: | Line 59: | ||
|- | |- | ||
| World Model || models/props/round_elevator_body.mdl | | World Model || models/props/round_elevator_body.mdl | ||
|} | |}</div> | ||
<div style='clear:both'> | <div style='clear:both'> | ||
===The TrackTrain=== | ===The TrackTrain=== | ||
[[Image:Eletut_(5).jpg|right|thumb|Step 6]] | [[Image:Eletut_(5).jpg|right|thumb|Step 6]] | ||
<div style='padding-left:20px'> | |||
Hide world details and make a func_tracktrain out of invisible brushes as shown. | Hide world details and make a func_tracktrain out of invisible brushes as shown. | ||
{| class=standard-table | {| class=standard-table | ||
Line 75: | Line 83: | ||
| Volume || 1 | | Volume || 1 | ||
|} | |} | ||
Check every flag except Fixed Orient, and Use Max Speed. Set these settings:</div> | Check every flag except Fixed Orient, and Use Max Speed. Set these settings:</div></div> | ||
<div style='clear:both'> | <div style='clear:both'> | ||
===The CrazyBlock=== | ===The CrazyBlock=== | ||
[[Image:Eletut_(6).jpg|right|thumb|Step 7]] | [[Image:Eletut_(6).jpg|right|thumb|Step 7]] | ||
<div style='padding-left:20px'> | |||
Create an invisible brush and place it as shown. This will stop a player from getting stuck in the door when collisions are enabled. | Create an invisible brush and place it as shown. This will stop a player from getting stuck in the door when collisions are enabled. | ||
{| class=standard-table | {| class=standard-table | ||
Line 89: | Line 98: | ||
|- | |- | ||
| Start Disabled || Yes | | Start Disabled || Yes | ||
|}</div> | |}</div></div> | ||
<div style='clear:both'> | <div style='clear:both'> | ||
===The Paths=== | ===The Paths=== | ||
[[Image:Eletut_(7).jpg|right|thumb|Step 8]] | [[Image:Eletut_(7).jpg|right|thumb|Step 8]] | ||
<div style='padding-left:20px'> | |||
Place two paths in the center of the room. Call the first one elevator1_path1, and the second one elevator1_path2. Do not set the second path to point to anything. | Place two paths in the center of the room. Call the first one elevator1_path1, and the second one elevator1_path2. Do not set the second path to point to anything. | ||
Enable props and test the map using ent_fire. Determine if the paths need to be repositioned. In my case I needed to move it back 8 units and down 16.</div> | Enable props and test the map using ent_fire. Determine if the paths need to be repositioned. In my case I needed to move it back 8 units and down 16.</div></div> | ||
<div style='clear:both'> | <div style='clear:both'> | ||
Line 102: | Line 112: | ||
===Beams=== | ===Beams=== | ||
[[Image:Eletut_(8).jpg|right|thumb|Step 9]] | [[Image:Eletut_(8).jpg|right|thumb|Step 9]] | ||
<div style='padding-left:20px'> | |||
Place an info_particle_system with the following values: | Place an info_particle_system with the following values: | ||
{| class=standard-table | {| class=standard-table | ||
Line 122: | Line 133: | ||
|- | |- | ||
| Parent || elevator1_train | | Parent || elevator1_train | ||
|} | |}</div> | ||
<div style='clear:both'> | <div style='clear:both'> | ||
Line 128: | Line 139: | ||
===Lights=== | ===Lights=== | ||
[[Image:Eletut_(9).jpg|right|thumb|Step 10]] | [[Image:Eletut_(9).jpg|right|thumb|Step 10]] | ||
<div style='padding-left:20px'> | |||
Place two env_lights with the following settings: | Place two env_lights with the following settings: | ||
{| class=standard-table | {| class=standard-table | ||
Line 140: | Line 152: | ||
| Brightness HDR || 183 204 218 40 | | Brightness HDR || 183 204 218 40 | ||
|} | |} | ||
Also, set initially dark.</div> | Also, set initially dark.</div></div> | ||
<div style='clear:both'> | <div style='clear:both'> | ||
===Sounds=== | ===Sounds=== | ||
[[Image:Eletut_(10).jpg|right|thumb|Step 11]] | [[Image:Eletut_(10).jpg|right|thumb|Step 11]] | ||
<div style='padding-left:20px'> | |||
Place three sounds, with their source set to the elevator model. | Place three sounds, with their source set to the elevator model. | ||
They should be: | They should be: | ||
Line 155: | Line 168: | ||
<div style='clear:both'> | <div style='clear:both'> | ||
===Shake=== | ===Shake=== | ||
<div style='padding-left:20px'> | |||
Add an env_shake with these settings: | Add an env_shake with these settings: | ||
{| class=standard-table | {| class=standard-table | ||
Line 167: | Line 181: | ||
==The Trigger== | ==The Trigger== | ||
<div style='padding-left:20px'> | |||
Create a trigger brush inside the elevator with these outputs: | Create a trigger brush inside the elevator with these outputs: | ||
Line 200: | Line 215: | ||
|- | |- | ||
| [[Image:Io11.png]] || OnTrigger || elevator1_block || Disable || || 1.50 || No | | [[Image:Io11.png]] || OnTrigger || elevator1_block || Disable || || 1.50 || No | ||
|} | |}</div> | ||
==Final Touches== | ==Final Touches== | ||
<div style='padding-left:20px'> | |||
Place a soundscape (portal_testchmb.elevator_shaft) in the center of the shaft.<br> | Place a soundscape (portal_testchmb.elevator_shaft) in the center of the shaft.<br> | ||
You may add a changelevel, which fires with the path_track. Change levels will not be covered in this tutorial. | You may add a changelevel, which fires with the path_track. Change levels will not be covered in this tutorial. | ||
Line 209: | Line 225: | ||
Note: You should save the elevator in its own file and copy and paste it to preserve the grouping, so you can easily turn it into a multi stop elevator. | Note: You should save the elevator in its own file and copy and paste it to preserve the grouping, so you can easily turn it into a multi stop elevator. | ||
To make a multiple stop elevator, simply add another path track, and set the middle path tracks to fire a stop event to the train. A trigger can be placed at every floor and disabled until required. | To make a multiple stop elevator, simply add another path track, and set the middle path tracks to fire a stop event to the train. A trigger can be placed at every floor and disabled until required.</div> | ||
[[Category:Level Design Tutorials]] | [[Category:Level Design Tutorials]] | ||
[[Category:Portal]] | [[Category:Portal]] | ||
[[Category:Sbrown Tutorials]] | [[Category:Sbrown Tutorials]] |
Revision as of 17:28, 27 January 2009
Introduction
The Base
The Landing
A landing is really easy to make. It consists of 7 walls and a floor and ceiling with a similar hole.
It can be easily recreated from the image on the right.
The Shaft
The shaft is also very easy. It consists of 3 parts. A top cap, a middle piece, and a bottom cap.
Walls are 192*16, and textured with plasticwall002a.
The Shaft Details
- 1. Create 4 16*16 sized brushes and place them in each corner. They should be turned into a func_detail.
- 2. Next, create a block that is 8*8*160.
- Texture it with plasticwall002a as well.
- Then slice it into 3 pieces vertically, that are 2, 4, and 2 respectively.
- Take the center piece and resize it to be 2 units wide, instead of 8. Texture it with white008.
- Duplicate this piece to from a square.
- Make it a func_detail and place one every 64 units in the center shaft.
The Landing Details
Place the elevator landing prop in the center of the landing.
You may choose to add the 16 light beams, however for such a time consuming process, it is easier to copy it from the example map.
Note: All original portal maps have a misplaced light beam. If copying it, you may wish to move it into place.
Place the platform rings in place. The top of these rings align to the top of the platform room.
The Elevator
The Props
Place a prop_dynamic with these settings in the lower landing.
Property Name | Value |
---|---|
Name | elevator1_model |
Parent | elevator1_train |
World Model | models/props/round_elevator_body.mdl |
The TrackTrain
Hide world details and make a func_tracktrain out of invisible brushes as shown.
Property Name | Value |
---|---|
Change Angles | None |
First Stop Target | elevator1_path1 |
Height Above Track | 0 |
Max Speed | 65 |
Name | elevator1_train |
Stop Sound | eli_lab.elevator_stop |
Volume | 1 |
The CrazyBlock
Create an invisible brush and place it as shown. This will stop a player from getting stuck in the door when collisions are enabled.
Property Name | Value |
---|---|
Name | elevator1_block |
Parent | elevator1_train |
Start Disabled | Yes |
The Paths
Place two paths in the center of the room. Call the first one elevator1_path1, and the second one elevator1_path2. Do not set the second path to point to anything.
Enable props and test the map using ent_fire. Determine if the paths need to be repositioned. In my case I needed to move it back 8 units and down 16.The Details
Beams
Place an info_particle_system with the following values:
Property Name | Value |
---|---|
Name | elevator1_beam |
Parent | elevator1_train |
Particle System Name | elevator_beam |
Start Active | Yes |
Place an env_citidel_energy_core with these settings:
Property Name | Value |
---|---|
Name | elevator1_core |
Parent | elevator1_train |
Lights
Place two env_lights with the following settings:
Property Name | Value |
---|---|
Name | elevator1_lights |
Appearence | Slow strobe |
Brightness | 183 204 218 60 |
Brightness HDR | 183 204 218 40 |
Sounds
Place three sounds, with their source set to the elevator model. They should be:
- Portal.elevator_chime
- Portal.elevator_start
- Doors.FullClose11
Shake
Add an env_shake with these settings:
Property Name | Value |
---|---|
Duration | 2 |
Name | elevator1_shake |
Parent | elevator1_train |
The Trigger
Create a trigger brush inside the elevator with these outputs:
Set the second path track to have these outputs:
Final Touches
Place a soundscape (portal_testchmb.elevator_shaft) in the center of the shaft.
You may add a changelevel, which fires with the path_track. Change levels will not be covered in this tutorial.
Note: You should save the elevator in its own file and copy and paste it to preserve the grouping, so you can easily turn it into a multi stop elevator.