User:Dr. Orange/Victory lift: Difference between revisions

From Valve Developer Community
Jump to navigation Jump to search
(Victory lift tutorial (wip))
 
(wip)
Line 1: Line 1:
This tutorial will show how to create the '''complimentory victory lift''' seen in the [[Portal]] test chambers. The lift usually starts in its raised position, and lowers when a certain object is activated, such as an energy pellet catcher or a switch. The lift then raises when the player steps on it.
This tutorial will show how to create the '''complimentory victory lift''' seen in the [[Portal]] test chambers. The lift usually starts in its raised position, and lowers when a certain object is activated, such as an energy pellet catcher or a switch. The lift then raises when the player steps on it.
== Construction ==
=== Step 1 ===
Create a <code>16w*16l*128h</code> brush textured with <code>[[Tool textures#invisible|tools/toolsinvisible]]. Tie this brush to a <code>[[func_door]]</code> entity and make sure all of its flags are unchecked. Next, set the following keyvalues on it:
{| class="standard-table sortable"
|-
! Property Name !! Value
|-
| Name || lift
|-
| Speed || 20
|-
| Start Sound || apc_engine_start
|-
| Stop Sound || apc_engine_stop
|-
| Delay Before Reset || -1
|-
| Move Direction || 90 0 0
|}
=== Step 2 ===
Create a <code>24w*24l*136h</code> 12-sided cylinder and position it so it's in the same place as the <code>lift</code> brush. Tie it to a <code>func_brush</code> and set its ''Name'' to <code>brush_lift</code> and its ''Parent'' to <code>lift</code>.
Finally, texture the sides of the cylinder with <code>metal/metal_lift001</code>.
=== Step 3 ===
Create a <code>[[prop_dynamic]]</code> entity and set its ''Name'' to <code>model_lift_platform</code>, its ''Parent'' to <code>lift</code> and its ''World Model'' to <code>models/props/lift_platform.mdl</code>. Position it on top of the <code>brush_lift</code> brush so its origin is 2 units below the top of the brush.
=== Step 4 ===
Create a <code>120w*120l*1h</code> brush. Texture the top and bottom sides of the brush with <code>glass/glasswindow_frosted_003</code>, and texture all of the sides with <code>[[Tool textures#nodraw|tools/toolsnodraw</code>. Position the brush so its in the middle of the <code>model_lift_platform</code> entity, with its bottom side being 6 units above the origin of <code>model_lift_platform</code>.
Next, create a <code>128w*128l*4h</code> brush textured with <code>[[Tool textures#playerclip|tools/toolsplayerclip]]. Position it so it surrounds the <code>model_lift_platform entity</code> with its bottom side being 4 units above the origin of <code>model_lift_platform</code>.
Now, select both the glass brush and the playerclip brush and tie them to a single <code>func_brush</code> entity. Set its ''Name'' to <code>lift_brush_2</code> and set its ''Parent'' to <code>lift</code>.
=== Step 5 ===
Create a <code>112w*128l*92h</code> brush textured with <code>[[Tool textures#trigger|tools/toolstrigger</code>. Tie it to a <code>[[trigger_multiple]]</code> entity and set its ''Name'' to <code>lift_up_trigger</code>, its ''Parent'' to <code>lift</code> and ''Start Disabled'' to <code>Yes</code>. Next, add the following outputs to it:
{| {{OutputsTable}}
| [[Image:Io11.png]] || OnTrigger || lift || Close || &nbsp; || 0.00 || No
|-
| [[Image:Io11.png]] || OnEndTouch || lift || Open || &nbsp; || 0.00 || No
|}
The victory lift is now completed and ready to be implemente in a map.
== Implementation ==
== See Also ==
<!--
<!--
[[Category:Level Design Tutorials]]
[[Category:Level Design Tutorials]]
[[Category:Portal]]
[[Category:Portal]]
-->
-->

Revision as of 11:08, 14 July 2018

This tutorial will show how to create the complimentory victory lift seen in the Portal test chambers. The lift usually starts in its raised position, and lowers when a certain object is activated, such as an energy pellet catcher or a switch. The lift then raises when the player steps on it.

Construction

Step 1

Create a 16w*16l*128h brush textured with tools/toolsinvisible. Tie this brush to a func_door entity and make sure all of its flags are unchecked. Next, set the following keyvalues on it:

Property Name Value
Name lift
Speed 20
Start Sound apc_engine_start
Stop Sound apc_engine_stop
Delay Before Reset -1
Move Direction 90 0 0

Step 2

Create a 24w*24l*136h 12-sided cylinder and position it so it's in the same place as the lift brush. Tie it to a func_brush and set its Name to brush_lift and its Parent to lift.

Finally, texture the sides of the cylinder with metal/metal_lift001.

Step 3

Create a prop_dynamic entity and set its Name to model_lift_platform, its Parent to lift and its World Model to models/props/lift_platform.mdl. Position it on top of the brush_lift brush so its origin is 2 units below the top of the brush.

Step 4

Create a 120w*120l*1h brush. Texture the top and bottom sides of the brush with glass/glasswindow_frosted_003, and texture all of the sides with [[Tool textures#nodraw|tools/toolsnodraw. Position the brush so its in the middle of the model_lift_platform entity, with its bottom side being 6 units above the origin of model_lift_platform.

Next, create a 128w*128l*4h brush textured with tools/toolsplayerclip. Position it so it surrounds the model_lift_platform entity with its bottom side being 4 units above the origin of model_lift_platform.

Now, select both the glass brush and the playerclip brush and tie them to a single func_brush entity. Set its Name to lift_brush_2 and set its Parent to lift.

Step 5

Create a 112w*128l*92h brush textured with [[Tool textures#trigger|tools/toolstrigger. Tie it to a trigger_multiple entity and set its Name to lift_up_trigger, its Parent to lift and Start Disabled to Yes. Next, add the following outputs to it:

  My Output Target Entity Target Input Parameter Delay Only Once
Io11.png OnTrigger lift Close   0.00 No
Io11.png OnEndTouch lift Open   0.00 No


The victory lift is now completed and ready to be implemente in a map.

Implementation

See Also