Blowout Doors

From Valve Developer Community
Jump to navigation Jump to search
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.

Introduction

This tutorial will detail how to create a door, which can be toggled open or closed, and will also detail how to make the door become a physics object. This is useful for when you require a simple door to be blown down, most likely for a scripted sequence which involves NPCs.

The Door

Fig. 1
Fig. 2
  1. Create your door as needed. See Creating Doors.
  2. Once you have created your door, you will need to create a door frame. To do this, use three brushes to create an outline of your door. For ideal performance, you should use vertex manipulation to slot the pieces of the frame together, as in fig. 1.
  3. Once your frame is complete, select all the pieces, press Ctrl + T to tie them to an entity, and select func_detail from the list. You should now have a door and a frame as in fig. 2.
  4. If you'd prefer your frame not have any collisions, you can change the entity to a func_brush and select Not Solid in the Solidity field.

Transformation

In order to transform the door and provide the door with physical properties, the phys_convert entity is used.

Place this entity near to your door and set the following values:

  • Name: DoorConverter
  • Entity to convert: Door

The Explosion

Fig. 3

To cause the 'blowout' effect, you need to place two explosion entities. To do so, follow these steps:

  1. Place an env_explosion entity on whichever side you want the door to be blown from. If you place it behind the door, the door will blow towards you. Name this entity DoorExplosion.
  2. To create the movement of the door, place an env_physexplosion entity in the same place as the env_explosion. You should also name this entity DoorExplosion.
  3. You should now have a set up similar to fig. 3.

The Trigger

Now, put a logic_relay in your map

Name: RelayDoorBlow

In the outputs

OnTrigger : DoorPhysExplosion Explode Delay 0

OnTrigger : DoorExplosion Explode Delay 0

Now all you have to do so your door explodes, is to trigger the logic_relay RelayDoorblows and your done!

If you want more, put a func_smokevolume for smoke

Here is how to use the smokevolume :


The Smoke

Put a brush with trigger texture on it as big as you want your smoke to be, and tie it to func_smokevolume, change the color to the color you want for your smoke, and put the density to 0

Now, to make you smoke appear, simply put :

SmokeVolume SetDensity 1

And you'll have your smoke.