Blowout Doors: Difference between revisions

From Valve Developer Community
Jump to navigation Jump to search
Line 21: Line 21:


== The Explosion ==
== The Explosion ==
[[Image:Blowout3.jpg|thumb|200px|right|Fig. 3]]
To cause the 'blowout' effect, you need to place two explosion entities. To do so, follow these steps:


This part is in case you want the door to explode
# Place an <code>[[env_explosion]]</code> 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''.
 
# To create the movement of the door, place an <code>[[env_physexplosion]]</code> entity in the same place as the <code>[[env_explosion]]</code>. You should also name this entity ''DoorExplosion''.
Simply put an [[env_explosion]] in the other side you want to door to blow at.
# You should now have a set up similar to fig. 3.
For example, if you want your door to blow and fly to the east, put the [[env_explosion]] to the west, if you want it to blow to the west, put the [[env_explosion]] to the east...ect...
 
Now, the [[env_explosion]] is just the visible part for the explosion, but if you really want your door to FLY you must put an [[env_physexplosion]]
 
This entity is like an [[env_explosion]] but its more for physics, and it does not has a physical explosion.
 
So put it near the [[env_explosion]]
 
Name : DoorPhysExplosion
Magnitude : Depends on the size of the door
Clamp Radius : This is the radius at which the physexplosion touches the physics, if you don't want all the physics near the door moving and killing your fps, then put the radius only so it includes the door.


== The Trigger ==
== The Trigger ==

Revision as of 03:51, 21 January 2006

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.