THE ADD SPECIAL BUTTON
"Machismo" cool_machismo@yahoo.com
INTRODUCTION
This tutorial will put the add special
button through the paces. It will deal with all the uses that this button can be put through. When you hit the add special button the dialog on the left opens showing the various properties that you can
assign to the surfaces of the brushes that you create and the one on the
right shows the pull down menu where you have some pre-configured types
that you just have to choose and add in. Lets discuss the setup and use of
these pre-configured ones first. This tutorial is meant for those of you
who are starting out in UnrealEd2 as some parts are really basic (BUT
people who are in other levels may find the Semi-Solid Brush State part
useful). TIP: The sheet builder which builds a sheet should only be used along with the add
special button. This means that if you want to build something using the
sheet use only the add special button and not the normal add button that
you use for cubes, etc.
Tutorial
Subsections - This tutorial is divided into the
following subsections. Just choose any one of these topics to jump
there.
-
Water
-
Semi-Solid
Brush State (IMPORTANT)
-
Zone Portal
-
Transparent Window
-
Masked Decorations
-
Invisible Collision Hull
Lets build a quick tutorial map and see
how to make windows for your level. Build a cube 256x256x768 and subtract
it from the null space in a new level. Next build a cube 256x256x32 and
add it into the center of the room. Next build a cube 128x128x32 and
subtract it from the center of the room - this is where you will place the
window. Load the GenIn.utx or Coret_FX texture package which has got some
nice glass textures.
TIP: To see only the glass textures for a certain texture package
choose glass in the pull down menu below the loaded texture package (see
picture to the left). Build a sheet u=128 and v=128 with x
or y orientation. In this case since we know the exact measurements of the
hole for the window to go into so we can just add it using the same size.
If you have a hole for a window to go into and don't know the size
just build a sheet slightly larger than the hole and then add in the
window. Now that the sheet is built just choose a nice glass texture (I
used the SpecGlass texture from Coret_Fx). Hit the add special button and
in the drop down menu just choose Transparent Window, leave the other
settings alone and hit the add special button. If you did everything
correctly up to now you should get a nice window in your level
now.
Interesting and fun things to
give that "special" look to your level. For now load the GenFX.utx texture
package and just like we did for glass choose mask from the drop down menu
below the texture. Build a sheet and place it where you want it to go and
hit the add special button. Just choose masked decoration from the drop
down menu and hit add special. For this example you can leave the
visibility at 1-sided, but for example you may want vines hanging from the
center of the room to be seen from both sides, then check 2-sided. You can
make some fantastic looking stuff, everything in the following picture was
done in the same way:
 NOTE: The arch was created with the 2d Editor, after
you become more familiar with the editor you may want to head down to the
advanced tutorials section and read my 2d Shapes tutorial.
If you have played your level you would
have noticed that you will be able to walk through the window and the
masked decorations. Never heard of a person being able to walk through
glass so the best way to stop players would be to set up a collision hull.
What this does is place an invisible barrier that the player cannot see
but yet blocks the player from passing. Just build your sheet or brush and
place it in front of the glass that you wan the player to be blocked from
entering and choose invisible collision hull and hit add special. In the
picture above I added in a collision hull only in front the arch grate,
the other decorations like the straw and vines need not have a collision
hull as the player can pass through them in real life, why not in
unreality.NOTE:- NEVER ever use a sheet for an Invisible Collision Hull
(lovingly refered to as an ICH). It just wont work. Always use a cube or
a shape based on the hole for the window.
TIP: If you are an
observant person you would have noticed by now that the various
types of brushes that can be added in are just a variation of the regular
brush. This is in the sense that you can create everything by
changing the combination of settings for the regular brush to get
different types like the collision hull.
TIP2: All the
different types of brushes that you can add into the world with this
button will be shown by different colors in the 2d views. For example a
masked decoration will be a light green brush in the 2d view, a collision
hull brown and so on.
All the information that I know (and learnt
from) about zones is contained in an article written by Tim Sweeney the genius
behind the Unreal Engine. You can read it here:-
http://unreal.epicgames.com/Zones.htm.
Use this to divide the level into
separate zones so that they run faster. For more information you must also read
the Miscellaneous Zone Classes tutorial here.
Note that its best to place the zone portal in narrow hallways and such.
As any advanced mapper will tell you making very large zone portal brushes
can cause your level to slow down instead of speeding it up - which is the
main purpose of zone portals in the first place. The importance of zones cannot
be underemphasized. Familiarize yourself with the above article and zones in particlular
or face the consequences of your level running slowly. What are you waiting for read it already..... :)
The water subclass is a prefab that
helps you to build a water sheet to convert an area into water. Lets take
a very simple example to see how to make water. Here's a simple five steps
to making water:
-
First make the room in which you want
to put the water in - say about 1024x1024x1024.
-
Next make the brush to hold the water
-say about 256x256x1024 and place it to the side of the room, align it
in the side view so that it touches the bottom of the first room and
subtract it so that you get something like the following :-
-
Next lets make the water. Since we
know the size of the brush into which we will put the water lets build a
sheet 256x1024 - this will be the size of the water brush. Load the
genfliud.utx texture package this has all the base water textures now
just select one water texture that you like. Now make sure that the
sheet is a little lower than the subtracted brush that should hold the
water. All you need to do now is hit the add special button and choose
water and hit OK to close the dialog. The final level should look like
this:-
 Notice that the water is a little lower than the
brush that holds its.
-
Now this is not enough. You will
notice in the add special dialog that the water brush is nothing more
than a transparent, non-solid zone portal brush. You just need to place
a Water Zone actor below the water brush so that it tells the editor
that this is a water zone. (You'll find the water zone actor from under
info|zone info.
-
Now just place a player start and
some lights rebuild and play the level. You should be able to hear the
sounds when entering and exiting the water and if you stay too long
underwater you should start losing health. That's all there is to making
water.
TIP: If you make
the brush to hold the water using the 2D editor so that it is in an
irregular shape there are two ways of making the water sheet. (If you
haven't read it as yet please read the 2D Editor
Tutorial its very important).
 For irregular shapes outside it will be easier to build the
water brush using the sheet tool. But imagine if you have a tank made
using the 2deditor then it would be better to build the water brush using
the 2d editor.
The semi-solid brush state is a very
important one (the other two are solid and non-solid ............. duh!).
A semi-solid brush is one that does not cut up BSP and yet
blocks the player. The solid brush cuts up BSP and blocks the
player whereas the non-solid does not cut up the BSP or block the
player either. The semi-solid brush appears as a brown colored brush
in the 2d views. The easiest way of verifying whether whether a brush is a
solid or a semi-solid is by "flying" through it in the 3d view. Say you
have a pillar brush that touches the floor and ceiling of a room. If it
were a solid pillar and you flew into the middle of it in the 3d view, you
would literally be able to look into the void outside the room/level. But
if it were a semi-solid pillar and you flew into the middle of it you
would only be able to see the pillar touching the floor and ceiling - you
would not be able to see into the void.
IMPORTANT: Adding in a semi-solid
brush is as easy as as making the brush via primitives or the 2d editor,
placing it in the level where you want it, hitting the add special button
and then just choosing semi-solid pillar from the pull down menu and
hitting Ok. UnrealEd2 allows you to change the state of solidity of a
brush on the fly. This means that if added in a brush and later need to
change its solidity to a different type you can do so. Just select the
brush in any of the 2d views - or hold down shift and left click on one of
the surfaces of the brush whose solidity you want to change. Now right
click and in the menu that appears just scroll down the list until you
reach solidity and select semi-solid, like this:
 This naturally works vice-versa as
well.
The semi-solid helps to drastically
reduce the node count of a level (the amount of nodes or vertices that a
player can see at any given time). And if the node count is reduced the
level will run faster. Take for example a level that I was making - it had
a total of 842 brushes - 146 subtracted, 123 adds, 518 semi-solids and 54
non-solid brushes. At this point the node count for the level was
9805:
 You can get the full
statistics for your level by doing a complete rebuild of it - don't forget
to turn on BSP under the options tab of the rebuilder. Now I selected all the semi-solid brushes in the level and
converted them to solids. Now I did a complete rebuild of the level and
the Node Count jumped to 12000. Not only did this considerably turn up the
node count it slowed the level down drastically - besides creating a few
horrible Hall Of Mirror (HOM) effects!.
This may make the semi-solid brush seem
like a dream but building the entire level out of semi-solid brushes is a
terrible idea as there will be many problems with your level. You
need to find a balance between excessive use of semi-solids and not at
all. Some times it can be a trial and error method. The semi-solids have
several problems. For example since it does not cut up BSP you cannot add
a semi-solid brush to your level and then subtract from within it - you
can only do it to solid brushes. Sometimes use of the semi-solid brush
itself can cause the HOM effect where due to a compile error you are able
to see into the void or you will be unable to move within that part. So
you need to be very careful with the placement of semi-solid
brushes.
Semi-solids are great for creating
complex decorations that have been intersected. For example I created a
chimney out of 10 brushes - 5 added brushes and 5 subtracted brushes, like
this:
 Notice that there are 49 nodes being
drawn in this picture and that the amount of polys is 22. Now I just moved
these brushes outside the level into another box and intersected them and
placed the brush in the same place as before but I added it in as a
semi-solid brush. Look what happened to the picture:
 The node
count got reduced from 49 to 32 - this may seem like a very negligible
amount but if you carried out this practice in your whole level you may be
able to reduce your node count by at least 1000. Its better to keep the
whole total node count of your level below 10000. And this is where it can
matter a lot - just a few nodes may make the difference in your level
speeding it up just that extra bit.
But then again intersection is not all
that it is cracked up to be. In the above case it proved to be very
helpful. But it will not always be like that - intersection in some
cases will actually increase the node count. Take a look below:
 Some people would have considered the semi-solid
brush an ideal candidate for deintersection. But if I had
deintersected the original builder brush I would actually have added more
vertices to the level thereby increasing the node count. That is why I
have left the brush as it is jutting out with an extra bit. Again this is
something you will have to decide based on the situation - you'll know
when to do it as you get more experienced. But generally speaking it is
better not to intersect/deintersect against irregular brushes as this will
definitely add more vertices to your brush.
The semi-solid is great for decorations
as I mentioned before (especially for that ubiquitous and clichéd crates
that every level designer uses ;). Well learn to use the semi-solid wisely
as it is great answer to many problems that you may face - especially slow
levels. This part of the tutorial has been too much like a sermon and I
better end it before it gets too preachy ;).
|