DEdit Advanced – Door Tutorial

DEditV1.0BETAsmallCreating a Door (MovingBrushes)

Creating Doors in DEdit can be a bit tricky if done for the first time or if ones perception of how a door works is missing or unclear. In this tutorial we will make the simple mechanical door that moves sideways into a wall. And we will learn to understand how swingable doors work and then make one of these too. For even better understanding you can also download my door tutorial map that also shows off what you will learn here.

Table of Content

First Steps (Doorway)

  • What you need:
    • A Brush
    • A destinctable texture: e.g.
      TEXTURES\LAYOUTS\9)COMMCENTER\COMMCENTER_01.DTX
    • A mechanical moving sound e.g. SOUNDS\DOORS\TECH1.WAV
    • A swinging sound e.g. SOUNDS\DOORS\SWING1.WAV
    • A Door Object
    • A RotatingDoor Object
  1. Create the doorway in which you want to place the door with brushes
    • A good size for the doorway is 96×64 units
  2. Create the brush that will become the door and apply a fitting texture to it
    • A good size for the door is 96×64 units and a thickness of 4 units

deditdoortut1

Sideways Opening Door

A sideways opening door can be a mechanical door that slides into the wall, stays there for a few seconds and then returns into default position. After you set up the doorway and the door as described above, do the following:

  1. Bind the Brush that is your door to a Door Object
  2. Select the Door and Brush Object in the Nodes Tab
  3. Set these values to the following Properties:
  • StateFlags = 1
  • Speed = 64.000
  • MoveDist = 52.000
  • MoveDir = 0,0,1
  • OpenWaitTime = 3
  • OpenStartSound = SOUNDS\DOORS\TECH1.WAV

Rotating Door (Swingable Door)

A swingable door is our everyday life door as we know it. But before we start building such a door with DEdit, let’s have some theory for better understanding:

A door in real life rotates in a 90 degree angle around a rotation point. The angle of movement can either be a positive value (away from the person that opens it) or a negative value (moving forwards the person that opens it). The rotation point is the hinges in which the door hangs and which allow the door to open in the set angle of movement.

deditdoortut4

In short, the rotation point must have the same value as the RotatingDoor Object. The angle of movement can either be positive or negative. With that newfound knowledge, let’s make our traditional opening door in DEdit:

  1. Place the green marker on the grid at the point where the rotation point of your door will be, then bind the Brush that is your door to a RotatingDoor Object
  2. Select only the RotatingDoor Object in the Nodes Tab
  3. Click on the Pos Property and note down the values for x,y,z-axis
  4. Set these values to the following Properties:
  • BoxPhysics: False
  • StateFlags = 1
  • Speed = 64.000
  • OpenStartSound = SOUNDS\DOORS\SWING1.WAV
  • OpenWaitTime = 5
  • RotationPoint = same x,y,z-axis values as the Pos Property
  • RotationAngles = 0,90,0 (angle of movement)

deditdoortut2

Additional Hints

If a rotating door opens into the direction of the player, it might happen that it phases into the player and telefrags him. To decrease the chances of this to happen, you can set the TriggerDim values to expand the distance of how far the player can be away for the door to open. Apparently Blood 2 got an expanded script that tests if AI blocks a opening door, trying to prevent killing doors.

Yes, doors seem to open in a weird behaviour, but this can’t be changed because it’s a mistake the developers did in the games sourcecode. Blood 2 should apparently have this fixed as well.

deditdoortut3

You can’t coexist with a door

Properties Description

Here is a little overview of the various Properties one can set for Door Objects and their Subclasses:

  • BoxPhysics: If set to true Door Objects are handled like a box so the player can’t walk through a rotating door, set to false to walk through open rotating doors
  • StateFlags: 0 = normal brush, 1 = triggers when touched, 2 = start in open position, 4 = trigger to close, 8 = remains open
  • Speed: Moving speed
  • MoveDelay: How long it takes until the door starts moving after being touched and how long it takes for the door to return to its default position
  • MoveDist: How many units is the door moving from its default position (less, so it doesn’t disappear in wall)
  • MoveDir: In which direction on the x,y,z-axis the door is moving (values: 0;1 or -1)
  • OpenWaitTime: How long the door will wait before returning to default position
  • OpenStartSound: Defines the sound that is played when the door starts moving
  • RotationPoint: Needs to have the same x,y,z-axis values as the position of the RotatingDoor Object
  • RotationAngles: The Angle of Movement (usually 0,90,0 or 0,-90,0 degree)
  • TriggerDims: If StateFlags is set to 1, doors will open once the player touches them, by setting additional TriggerDims you can expand the distance of how far the player can be away for the door to open (e.g. 64,64,64 units)
Advertisement
This entry was posted in DEdit Advanced and tagged , , , , , , , , , , , , , . Bookmark the permalink.

1 Response to DEdit Advanced – Door Tutorial

  1. Winsti*likwid* lamar says:

    Kiss Psycho Circus always opens a swinging door away from player, unless the door is part of a cut scene. Sounds like things hadn’t changed until lithtech2.0.

    Like

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.