| Home Page | Recent Changes

Brush

UT :: Actor (UT) >> Brush (Package: Engine)
UT2003 :: Actor >> Brush (Package: Engine)

Brushes are wireframe models, made directly within UnrealEd, which are used by the build process to compile the BSP world. In general, brushes are simple shapes, such as cubes and cylinders. The Unreal Engine differs from most other 3D engines in that its brushes combine with CSG: they can be additive or subtractive, removing or adding matter to the world.

Default brush colours

The brush wireframes are coloured according to the brush solidity. These global colours can be changed under UnrealEd Main Menu → View → UnrealEd Advanced Options.

  • Active : red, hence the name red builder brush
  • Subtractive: yellow
  • Additive: blue
  • Semisolid: pink
  • Non-Solid: green
  • Zone Portal: yellow-green

Properties

bColored & BrushColor
set the flag to true and choose your own colours for an individual brush...
CsgOper
sets the brush CSG type. This is equivalent to doing Brush Context Menu → CSG to change between additive and subtractive CSG types.
  • CSG_Active
  • CSG_Add
  • CSG_Subtract
  • CSG_Intersect
  • CSG_Deintersect
MainScale & PostScale
see brush scaling and brush transformation.
  • Scale – a summary readout of sub items
    • X, Y, Z
  • SheerAxis
  • Sheer None, Sheer ZX, etc
  • SheerRate
PolyFlags
The PolyFlags property overrides the Surface Flags (UT) for all this brush's surfaces. This is set on brushes made with the Add Special command.

Known subclasses

Related Topics

Making brushes

Working with brushes:

Brush toolbox modes

Brush techniques

Types of Brush

General

Technical

weird brush mojo

(Tarquin writes...)

Just been playing around trying to see if it's possible to pre-merge polys in the building process... it's not, but if anyone from Epic reads this, please nudge Warren, I think it would be a good idea.

Anyway... I was copying brushes and pasting to Textpad to see how merged polys are stored internally. (yes, it's another of those "gather round the fireside with tarquin" moments, as he tells an interminable story where two lines would suffice...)

Two kinds of behaviour spotted. Some brushes look like this:

 Begin Brush Name=Model4
 Begin PolyList
  ... blah
 Brush=Model'MyLevel.Model4'

and some skip the whole "Begin brush" thing, and just have:

 Brush=Model'MyLevel.Model4'

So... what's happening here? Does UnrealEd secretly keep models of brushes that are the same? I made a second cube after I'd made 2D-ed sheets, and this one was fully defined.

My initial hypothesis is this:

  • brushes made with the same incarnation of the RBB are only stored once as a model. any beyond the first "stamp" are stored with a reference to the model of the first.
  • this would seem to imply (unless there's a later optimization phase) that there's a way to keep map filesize down here.

So what happens if you intersect a brush after it's been made - does it then reference the model the brush ws built from? – EntropicLqd.

I think it's as follows: First off, UnrealEd always keeps the brush geometry in a Model object that's referenced from the Brush object (at least that is confirmed). I'm guessing that UnrealEd fails to copy the Model object to the clipboard due to some confusion in some cases, nothing more.

In any case, you can do some pretty interesting things by manually editing what has been copied to the clipboard. If you, for instance, give two brushes the same model reference, vertex editing one instance of that brush will automagically vertex-edit all other instances as well (and real-time). Since I guess that unused model objects won't be saved along with the map, I suppose that can indeed serve to save some file space (not too much though since the rendered, cut world polygons are stored separately) and probably even as a comfortable editing tool. —Mychaeel


Category Class (DX)
Category Class (P2)
Category Class (RTNP)
Category Class (UT)
Category Class (UT2003)
Category Class (UT2004)

The Unreal Engine Documentation Site

Wiki Community

Topic Categories

Recent Changes

Offline Wiki

Unreal Engine

Console Commands

Terminology

FAQs

Help Desk

Mapping Topics

Mapping Lessons

UnrealEd Interface

UnrealScript Topics

UnrealScript Lessons

Making Mods

Class Tree

Modeling Topics

Chongqing Page

Log In