Parallelepiped builder
Extends the cube builder with options to make slanted boxes. This
boils down to adding variables to specify all 6 possible skew types.
|
- BaseSkewX, BaseSkewY - skew the base poly
- InclineX, InclineY - cause the vertical edges
to lean
- DipX, DipY - skew in the z direction.
|
Wave builder
This is the terrain builder with a twist: the heights of the vertices
that make a grid on the base are given by a sine wave. |
- WaveHeight - The half-height of the waves.
They will extend by this amount above and below the base terrain
brush's box. Beware: setting this to too large a number will cause
BSP errors as the side diagonals will be crossing empty space.
- PeriodX, PeriodY - The number of periods for
the wave in each direction. Note this need not be a whole number
- set to .5 for a single hill for example.
- PhaseX, PhaseY - Shifts the wave across in
the X or Y direction by this number of units.
- MergeCoplanars - Set this to true to reduce
the number of polys in the brush. This uses UnrealEd's built-in
coplanar merge option; it's better to use this rather than a polys>merge
command on the built brush, as this removes spare edges from the
brush too. If you use this option, I do not recommend editing
vertices on the resulting brush!
Known issues
Be careful with the WaveHeight setting, if that is too large it's
possible to get bad polys. |
Spiral Stair Builder
This builder is intended to replace the default Spiral Stair builder
as well as the curved stair builder. I felt this was necessary because
brushes made with the default Spiral Stair builder can't be subtracted.
In writing this new script, I've also found that the sloped floor
/ ceiling options in the native builder can throw up a lot of errors
in the log. I don't know enough about the way UEd handles these to
know whether this is bad for a level's BSP, but this new builder addresses
this problem anyway. It also allows some new combinations, for example
a flat base with a sloped top.
I had hoped to find a way to make the installation of this pack disable
the default spiral and curved builders, but I do not think this is
possible. If anyone knows of a way, please let me know! |
- StepHeight - The height difference from one
step to the next - the height that a player climbs for each step.
- StepThickness - The actual height of each
step block. This is usually greater than StepHeight; setting the
two to the same value will make a staircase where the steps only
touch at an edge. If StepThickness is less than StepHeight, each
step is totally seperate from its neighbours.
- StepWidth - Width of the steps.
- InnerRadius - Distance from the centre of
curvature to the inner edge of the steps.
- StepsPerCircle - AnglePerStep * StepsPerCircle
= 360 degrees, if you prefer. I use this because I work in radians,
and so do UnrealScript's trig functions. It would take you a long
time to type in all the digits of pi. ;)
- NumSteps - The number of steps in the staircase.
This can be larger than StepsPerCircle in some cases only - if
you try something that isn't possible, the 'Bad Parameters' dialog
box will explain the problem.
- AntiClockwise - Yes, I'm English. Counterclockwise
if you prefer.
- TopStyle - Select whether you want sloped
top, or regular top with steps, or a flat top. The flat option
will make stairs like the CurvedStair builder, and will not allow
more than a full circle.
Note that a full circle, flat base brush, as with CurvedStair
builder, will meet itself and two polys will touch — the
subtracted brush will have a sheet effect between the first and
last steps.
- BottomStyle - Same as above. Note in particular
you can't have both set to flat - the code is complex enough without
building cylinders too.
You can't have both set to slope if StepThickness isn't strictly
greater than StepHeight, since the brush would then have zero
thickness throughout.
The builder checks for these and other problems and explains them
as you go.
- GroupName - Works the same as in the native
brush builders.
Known issues
The textures on the walls are turned by 90 degrees. I plan to do...
sod all about this, because this builder has been murder to write.
Contact me if you find any bugs. |
Torus Builder
This builder makes a torus, or sections of a torus, and was suggested
by purice at the PlanetUnreal Forums. |
- OuterRadius - The outer radius.
- TubeThickness - It might have been more logical
to call the radii OverallRadius and CrossSectionRadius, as suggested
on PlanetUnreal forums, but I'd already written the code, picturing
the torus as a bicycle tyre, made from an inner tube looped to
meet itself. This is then the diameter of the tubing, and will
also be the height of the torus. OuterRadius - TubeThickness =
radius of hole in the middle.
Note for mathematicians, topologists and freaks on my wavelength:
fiddle with the way it meets itself and you get a Klein bottle!
- WheelSides - This is how many times the tubing
is bent to make the full loop.
- WheelSidesUsed - Works like the 2D editor's
revolve tool, with an added extra: leaving this at zero tells
the builder to use the value of WheelSides, so the number of sides
of a full torus can be specified without having to enter two values.
- TubeSides - The tubing is made from a cylinder
with this number of sides.
- WheelAlignType - 'Plain' and 'Side' work the
same as the AlignToSide 'False' and 'True' respectively; 'Caps'
is a special case of 'Side' which cuts the first section of a
partial torus to the x-axis.
- TubeAlignToSide - This works the same as the
'align to side' option in the native builders, and changes the
alignment of the tube cross-section polygon. (To get a clear picture
of what it does, set WheelSides to 4, TubeSides to 8, and look
at both types in a side view.)
- GroupName - Works the same as in the native
brush builders.
Known issues
I've found that setting sides higher than 16*16 causes some of the
polys not to display. This may be due to the sheer number of polys
and BSP cuts.
Personally, I worry that because the vertices have irrational coordinates,
what drops off when the floating point variable is rounded sooner
or later becomes significant enough to cause a glitch - but I don't
know enough about how these are handled internally.
|
Cylinder Builder
This makes a cylinder just like the native builder, but adds support
for partial revolutions. People who remember the advertising campaign
on UK telly in the 80s may, like me think the button looks like a
piece of Edam cheese. |
- Height - Height of the cylinder.
- OuterRadius, InnerRadius - These are the same
as the native builder.
- Sides - Number of sides of the cylinder. Note
that the Unreal engine splits polys with more than 16 sides.
- SidesUsed - Works like the 2D editor's revolve
tool, with an added extra: leaving this at zero signifies 'full
circle', so the number of sides of a full cylinder can be specified
without having to enter two values.
- Hollow - Same as the native builder.
- TriangulateCaps - If the cylinder isn't hollow,
this will split the two caps into triangles.
Note: A partial cylinder that makes more than half a circle will
have triangulated caps no matter what this is set to.
- AlignType - 'Plain' and 'Side' work the same
as the AlignToSide 'False' and 'True' respectively; 'Caps' is
a special case of 'Side' which cuts the first section of a partial
cylinder to the x-axis.
- GroupName - Works the same as in the native
brush builders.
|
Panorama Builder
This builder makes a panorama: a set of sheets arranged to make an
open cylinder. This is intended for building backdrops in the skybox:
most of the Epic maps use a mountain backdrop with 4 sides and 2 sheets
per side.
The panorama could also be used for building waterfalls like the ones
in DM-UT-Tourney][ by Olav Gjerde, as seen on the 0wnage. |
- Height - Height of the brush.
- Radius / PanelWidth - The radius of the panorama
can be set either directly or by specifying how wide each panel
should be, allowing skybox textures to be aligned correctly.
These two options are mutually exclusive — set whichever
one you want to use, and set the one you want the builder to ignore
to zero.
- Sides - Number of sides of the cylinder formed
by the sheets.
- PanelsPerSide - Number of sheets on each side
of the cylinder.
- AlignToSide - Works like the 'align to side'
option in the native builders.
- GroupName - Works the same as in the native
brush builders.
|
Extrude Builder
Because of the complexity of the procedure, it's not possible for
this builder to check that it isn't making a brush that is bad in
some way - so it's up to you, the user to exercise caution when you
use this.
|
For the complete documentation on this builder, please
refer to these documents and tutorials (note: these are linked to
internet resources).
Documentation Part
1: Properties list Part
2: Presets & Command module Part
3: Caveats
Tutorial Part
1: the path Part
2: the relative path Part
3: turning and tilting the path |