Box dropper: Difference between revisions
No edit summary |
|||
Line 6: | Line 6: | ||
== Construction == | == Construction == | ||
=== Step 1 === | === Step 1 === | ||
Create a <code>[[ | Create a <code>[[prop_dynamic]]</code> entity using the [[entity tool]]. Set the first one's model to <code>models/props/box_dropper.mdl</code> disable the shadows. Create a <code>[[prop_dynamic]]</code> and set it's model to <code>models/props/box_dropper_cover.mdl</code> and set its name to <code>box_dropper_model_cover</code>. Align the two entities so they are in the same place where the dropper should be in the map. | ||
<gallery> | <gallery> | ||
Image:Box dropper models.jpg|The models | Image:Box dropper models.jpg|The models |
Revision as of 17:58, 25 May 2021
This tutorial will show step-by-step how to create the box dropper, or vital aparatus vent, seen throughout the Portal test chambers. The box droppers can be used to give the player a new weighted storage cube whenever their previous one is destroyed.
Construction
Step 1
Create a prop_dynamic
entity using the entity tool. Set the first one's model to models/props/box_dropper.mdl
disable the shadows. Create a prop_dynamic
and set it's model to models/props/box_dropper_cover.mdl
and set its name to box_dropper_model_cover
. Align the two entities so they are in the same place where the dropper should be in the map.
Step 2
Use the arch tool to create a 128l*128w*16h
arch above the prop_dynamic
entities with the following settings:
- Wall width: 24
- Number of Sides: 8
- Arc: 360
- Start Angle: 0
- Add Height: 0
Next use the vertex manipulation tool to move the corners of the arch so it resembles a rectangle with a hole in the middle. After that, texture the inner rim of the arch with metal/metalwall61f
. Texture the underside of the arch with concrete/concrete_modular_ceiling001a
.
Step 3
Create a shaft using brushes above the dropper. The inner dimensions of the shaft should be 128w*128l
. The height of the shaft should be around 256 units. Split the sides of the shaft in two 128 units from the top. Texture the lower sides of the shaft walls with metal/metalwall_bts_006a
and texture the top sides of the walls with metal/metalwall_bts_006b_gradient
. Finally, texture the ceiling of the shaft with lights/light_orange001
.
Step 4
Create a small 128w*128l*112h
room above the dropper shaft with nodraw textured brushes. Next, create a prop_physics
entity in the middle of this room. Set the prop_physics
entity's model to models/props/metal_box.mdl
and set its name to box
. Give it the following outputs:
My Output | Target Entity | Target Input | Parameter | Delay | Only Once | |
---|---|---|---|---|---|---|
![]() |
OnOutOfWorld | !activator | Kill | 0.00 | No | |
![]() |
OnOutOfWorld | logic_drop_box | Trigger | 0.00 | Yes |
Next create a point_template
in the middle of the box
entity. Set its name to box_template
and set its first template to box
. Now create an env_entity_maker
somewhere near the top of the shaft of the dropper. Set its name to entity_box_maker
and set its Point_template to spawn to box_template
.
Create a filter_activator_name
entity somewhere in the map. Set its name to filter_boxes
and set its Filter Name to box
.
Step 5
Create a 96w*96l*4h
nodraw textured brush just below the lid of the dropper. Tie this brush to a func_brush
entity. Set its name to stop_tube_plugging
and set its Start Disabled keyvalue to Yes.
Next create a 128w*128l*128h
trigger textured brush around the box dropper models. Tie this brush to a trigger_multiple
and set its name to trigger_box_dropper_clear
, set its Start Disabled keyvalue to Yes and set its Filter Name to "filter_boxes
". Go to its flags and make sure the Physics Objects flag is checked and the Client flag is unchecked. Now give it the following outputs:
Step 6
Create a logic_relay
and set its name to logic_drop_box
. Give it the following outputs:
Step 7
Create brushes and use the clipping tool to shape them like depicted in the picture below. Tie all of these brushes to a func_detail
entity.
The dropper is now finished and ready to be implemented into a map.
Implementation
Step 1
Place the dropper in the ceiling above where the box should drop.
Step 2
Set up a trigger to send the Trigger input to the logic_drop_box
entity. This can be done in numerous ways, such as using a logic_auto
to make the box drop at the start of the map, a trigger_once
to have the box drop when the player enters the room, or a trigger_look
to make the box drop when the player is looking at the dropper.
Step 3
If there are fizzlers or goo in the map, the box must be set up to respawn if it can be lost. For fizzlers, add a OnDissolveBox output that triggers logic_drop_box
to the trigger_portal_cleanser
entity.
To make the box respawn if it's lost in goo, create a trigger_multiple
within the goo volume with its filter set to filter_boxes
, the Physics Objects flag set, and with the following outputs:
My Output | Target Entity | Target Input | Parameter | Delay | Only Once | |
---|---|---|---|---|---|---|
![]() |
OnStartTouch | !activator | Kill | 0.00 | No | |
![]() |
OnStartTouch | logic_drop_box | Trigger | 0.00 | No |
See Also
- Dropper (Portal 2) - Portal 2 variant