Decorations Reference
 Home
 Overview
 Starting
 Interiors
 Exteriors
 Triggers
 Movers
 Skybox
 Decorations
 Inventory
 Monsters
 URLs & Notes

ATTENTION: This work is copyright 1998 Ron Andrade for Portal Special Edition. Do not duplicate for other than your own purposes or redistribute without the permission of the author: Ron Andrade (Gadget Factor)

Second Edition is Sponsored by

Decorations are important to your map.

They add realism  and help your world feel a little more natural, no matter how unnatural  it may be. The are a few things we need to cover before we jump straight  into the addition of decorations.

First, there  are many different categories of "classes." A class is an object that  is placed in your level to accomplish a specific purpose. Classes  is a group of your object library, which includes Textures, Classes,  Sound FX and Music.

Within the Classes  category, you have several subcategories, which include: Brush (almost  never used), Damage Type (not placed into a map), Decoration, Effects,  HUD (not placed into a map), Info (which we have already used), Inventory,  Keypoint, Light, Menu (will not be covered here), Navigation Point,  Pawn, Projectile, Scoreboard (will not be covered here) and Triggers.

It is important  to note that "decoration" is just that: decoration. Usually inert  objects that lay strewn about your map. Things like barrels and boxes.  Effects are those non-tangible things like certain reactions to actions.  Then you have inventory - these are items that can be picked up by  the player: weapons, ammunition and tools like the translator. Navigation  Points are important for controlling - or giving life to - pawns.  Pawns, which are usually non-inert items, such as schools of fish,  flocks of birds and monsters and creatures are generally used when  creating single-player levels. In this chapter, we will deal specifically  with decorations and we will touch on "special" effects.

You must be careful  with inventory and all other classes that can be seen by the player.  The map you are creating is real life 3D. Three Dimensional software  programs almost always work the same way: connect the dots. Dots are  drawn. They are known as a "vertext point" or "vertices." Lines, or  vertex lines connect these dots.

The open space  inside a closed circle of vertex lines is called a "polygon" or "poly"  for short. Each poly has two sides, usually known as the inside and  outside (when the vertex lines are drawn clockwise, you are looking  at the outside) - these sides are called "surfaces" - and "textures"  are placed on the surface. Now, the more polys that appear in a scene,  the harder your computer must work to generate and ray trace each  and every surface - presenting you with a three dimensional picture.  Ray tracing simply means the computer locates the light source and  traces each and every possible ray of light and calculates how that  light is reflected off a surface based on the strength and wavelength  of the light, the position of the light, the color of the light, the  color of the texture it is bouncing off of, the assumed material of  the texture, the reflectivity of the texture and any other textures  surrounding it.

This whole process  is called "rendering" the image - or just "rendering" for short. So  you can see what your computer is really doing for every single poly  in the entire view - up to 30 times every second! This should give  you an appreciation of just what Unreal is: a true, real-time three  dimensional raytraced rendered computer generated movie! Knowing all  this and working with 3D software for over ten years, this Author  salutes Tim Sweeney and his team for what they have accomplished -  no holds barred.

Back to the rules  of decoration. Now that you know what kind of torture you are putting  the player's computer through, you must take into account the number  of vertices and polys in your scene. Since you are not creating a  static image or "snapshot" - but rather a full blown stage, these  numbers will run rampant as you travel through your level. Needless  to say, the fewer number of polys in the visible frame, the faster  the map will play at the that point. The good thing is that unreal  only renders the polys in the player's immediate view. Those polys  that cannot be directly seen by the player will not be rendered.

 

Now, the important  thing to remember is that if your player can see it, it is rendered  - in full! If your player is standing at the top of your plateau or  your antenna array and looks down - and you have a weapon sitting  on the ground, the engine will try to render that weapon - completely,  even if the weapon is so far away that it appears as nothing more  than a speck and is completely unnoticeable. Therefor, you must take  great care in the placement of your objects and control of lighting.  This chapter will not tell you where to put your decoration or what  decoration to put in a specific location. Rather, we will cover most  of the decoration items and what you can do with them. Note that we  also will be covering of the effects classes throughout.

SOUND: This is simply an ambient sound.
Adding  an ambient sound to a decoration is a good way to get sound flowing  through your map. However, you should note the sound will be loudest  when the player is closest to the decoration and the sound will stop  if the decoration is destroyed. All sound settings are standard.

OBJECT: This property is only used to identify the object to Unreal itself.

NETWORKING: This sets the networking priority. This author admits that the actual  purpose of this setting is unclear.

MOVEMENT: This property is not usually used for decoration. However, you can  use these settings to create ghost movement of your decoration.Experimentation  is required here.

LIGHTING: The main settings of concern here apply to the textures of your decoration.  For instance, the UNLIT property will work the same as that property  when applied to any other surface - as with the surface properties  box. An unlit property will cause the texture to show at full brightness,  regardless of the environment lighting conditions. This setting will  apply to the entire decoration. LIGHT COLOR: Will cause the reflection  of light off the object to emulate a light source of this color.

FILTER: This is where you set the visibility of this object.
bDifficulty (0, 1, 2, 3) - if set to false will remove this  object from a game set to that difficulty level. For instance, if  bDifficulty0 is set to false, this object will not appear in a game  where the player has selected the easiest form of play.
bNet - If set to false, this object will not appear in network  games such as DeathMatch.
bNetSpecial - Unknown
bSinglePlayer - if set to false, will remove this object from  a single-player game.
OddsOfAppearing - if set to less than 1, will randomly place  this object based on the percentage indicated here. A .5 will give  thew object a 50 percent chance of being present during the current  game.

EVENTS:  Used as event/tag in other objects. It is assumed if this object is  destroyed or picked-up, it will cause the event to be signaled.

DISPLAY: Setting the actual appearance of this object. Texture - Unknown. When  used, it appears to set the texture for the entire room where this  object is contained. Normal - this is a pop-down menu. This  setting allows you to create unusual effects to this object, such  as setting the translucency.

Sprite - Unknown

Skin -  Allows you to actually change the texture of the object using the  standard texture set found in the textures category of your object  library.

ScaleGlow - Unknown

Mesh -  the actual polygon model used for this object.

Fatness - allows you to change the size of the object - in width and breadth  without affecting the height.

DrawType - Unknown

DrawScale - Allows you to change the overall size of the object.
bUnlit - this is the usual unlit property.
bShadowCast - will cause this object to cast shadows.
bParticles - unknown
bNoSmooth - unknown
bMeshEnvironment - Unknown
bMeshCurvy - unknown
AnimSequence - allows you to substitute an animation sequence  if this object is animated.
AnimRate - the speed of the animation sequence
AnimFrame - unknown
AbientGlow - adjusts how dark the shadows will be - shadows  cast onto the object.

DECORATION:
PushSound / EndPushSound - the sound made when the player pushes  the object - if pushable or moveable.
EffectWhenDestroyed - If the object can be destroyed, an additional  effect can be added, such as fireball or slime pool.
Contents (Contents 3, Contents 2) - when this object is destroyed,  these contents will be shown to the player. Contents can be just about  anything, including other decorations.
bPushable - If set to false, theis object will effectively  be "nailed to the floor."
bOnlyTriggerable - depending on the object - self explanatory.

COLLISION:
CollisionHeight / CollisionRadius - how high a player needs  to jump or how far around the player has to move to get past this  object.
bProjTarget - assumed to be a projectile target when using  stand alone projectile classes.
bCollideActors - if the object moves or falls, it will actually  hit players and actors.
bBlock Actors and Players - will block passage for players  and actors.

HEALTH: Unknown. It is assumed that certain decoration pieces will give you  health if picked up.

ADVANCED: The only known (or assumed) seetings are as follows:
bMoveable: - This item can be moved
blsSecretGoal - sets the secret flag for the player as having  found a secret location.
blsKillGoal - sets the kill flag for the player as having a  kill.
blsItemGoal - sets the item flag for the player as having found  an item.
bHighDetail - causes the item to display in high detail, requiring  more CPU power.
bHidden - Turns the item invisible (assumed)
bDirectional - used for certain directional classes such as  lights and portals.

Most items are  self explanatory.

Take a close  look at the properties box for each item you place. There may be specific  settings available for that item. For instance, carcasses will usually  have a variable available allowing you to have flies or rats savaging  around. The Cryopod has field for open and close (assumed to be "event"  tags) and so on. There are simply too many items available to go into  detail.

As usual, experimentation  is key. Place your items, play with it's property values and test  play to see what happens. Many items have the option of performing  an effect when it is destroyed. Again, experimentation is in order.  Also, some effects can be used as stand-alone events.

Previous Chapter | Home | Next Chapter