Tutorials UE1/UE2 Semi Solids
About : This tutorial is aimed at providing info about Semi Solid brushes.
Target Audience : Unreal Engine users – intermediate skill required
Platform : Engine 1 and 2, bit of 3
Last Update : August 2006
Semi Solids are a type of brushes you can use to lower your BSP polycount up to 50 percent defendant on the situation and their use. They are available in both Unreal Engine 1 as in Unreal Engine 2.
Normally when you add or subtract a brush somewhere it will create cuts to fit itself in the surrounding geometry, like in this example :
Semi Solids however do not create cuts in the surrounding geometry. They only receive cuts. And as every cut is a polygon that means when it doesn’t create cuts the polycount will be lower, as you can see in this picture :
Sounds good no ? Now how to make such semi solid brushes ? There are two ways. You can make them by clicking on the Add Specials button on your left toolbar, or by right clicking an existing brush and convert it to semi solid. Don’t forget to rebuild geometry to let the chances take effect.
Semi Solid brushes will be displayed as a brownish pink color.
Semi Solids can take some practice to get right, there are certain things you cannot and do not want to do but when used correctly they can greatly help the framerate.
There lots of urban myths about semi solids floating around the internet. Especially older tutorials often provide false information about semi solids. For example: the claim that semi solids can only be used for minor details the player can never touch is completely untrue. You can build half a level of nothing more than semi solids and if done correctly it doesn’t matter at all if the player can touch them or not.
As you can see in this picture from my Xidia Gold Genome Warrior level you can take the use of semi solids very far. Apart from one subtracted brush and four solid brushes the entire very high poly corridor is made up of more than a hundred semi solid brushes without a single bug!
All pillars, little deco things, bars, cylinders, small rocks, etc… can be made Semi Solid. Especially curves and stairs are good candidates for semi solid brushes since they are very BSP cut intensive.
Take a look at this stairs example. The right picture is a solid stair, the left one is a semi solid stair. The right solid stair obviously creates A LOT more BSP cuts.
Semi solids do have restrictions though. So what not to do ? Following situations should be avoided when using Semi Solids :
A.) Avoid REALLY large Semi Solid brushes. Keep the size reasonable. Eg. not more than a few thousand units..
B.) DO NOT subtract something from a Semi Solid brush. Only additive brushes can be Semi Solid. And only those who do not have a subtraction on them somewhere such as shown in this bad example:
C.) Avoid brush sinking one or multiple semi solid brushes on each other or on other brushes such as Solids or Subtracted brushes. Always keep a few units of space left. Brush Sinking is the technical term for a widely used method of adding/subtracting two brushes on the exact same height. See the BeyondUnreal Wiki for pictures and info. Link
D.) Too many Semi Solid brushes on the same spot MIGHT cause trouble. If done correctly and with some luck they will not but the chance always exists. Convert some of them back to solid if a problem occurs. The most common problem with semi solid brushes is pieces of geometry becoming non solid. This problem is almost always the direct result of too many semi solids in one area.
E.) Non Solid Sheets/other stuff cutting trough Semi Solids MIGHT cause trouble. Also note Semi Solid brushes can not be used to form the edge of a zone so be careful with those zone portal sheets!
A.) It might happen that the semi solid brushes become non solid. One of the most well known examples of this is the ceiling bar in the flak room of CTF-Coret in UT1. You can walk through the pillar near the flak.
B.)Some semi solid surfaces or even entire semi solid brushes cant become invisible.
C.) You might get a HOM where a solid brush and a semi solid brush intersect each other.
For all these bugs the solution is simple. Track the offending brush and convert it to a solid brush again. And how to track it ? Simply look around and follow the BSP cut lines and see what nearby brush seems to cause the BSP cut. Info on how to follow BSP cut lines can be found in my BSP tutorial.