project reality header
Go Back   Project Reality Forums > PR:BF2 Mod Forums > PR:BF2 Community Modding > Modding Tutorials
30 Oct 2020, 00:00:00 (PRT)
Register Developer Blogs Project Reality Members List Search Today's Posts Mark Forums Read
Modding Tutorials Information and tutorials related to modding BF2.

Thread Tools Display Modes
Old 2019-06-29, 19:47   #1
PR:BF2 Developer

Outlawz7's Avatar
Default Level Brushes explained

Level Brush or "Paint" mode is one of the 7 tools available within the Level Editor plugin of BF2Editor. I could not find any mentions of this tool before so I decided to do some research.

To begin, it is buggy/broken as one might assume already however there are some specific uses this tool is somewhat better at than using the Move&Rotate tools.

The tool paints brushes either by clicking or clicking and dragging the mouse cursor where each brush consists of one or multiple static objects. Minimum and maximum position and rotation values can be applied to randomly place and rotate each instance of a newly painted brush.

Saved level brushes are stored at *Project Reality or vBF2 root folder*\bf2editor\Content\LevelEditor\LevelBrushes in individual files. A brush called 'Mangrove1' comes with a fresh editor install.


Active Brush - which brush is currently selected. No text means nothing selected.

Define Brush - with a static object already selected click this button to create a new brush. A prompt will pop up to give it a name:

You can define a brush with multiple objects selected. Their positions relative to each other will be kept but their rotation wont.

Add To Brush - with an active brush and one or multiple static objects selected click this button to add more statics to an existing brush. New statics will all be added at 0/0/0 position, requiring some editing afterwards to move them.

Paint Mode - when selected you can paint with the active brush in editor.

Brushes are at the bottom of the list in Resources bar.


Spacing - when dragging the cursor in Paint mode, minimum distance between each newly created object. To illustrate, a value of 0 gives you this:

SnapToGround - if objects snap to ground when painting. With this disabled, some statics will be placed half way underground (at their pivot point/object center) while some statics with this enabled will be placed completely above ground. Go figure:

Random values


Here you can enter minimum and maximum values for random positioning, rotations and scale. You can enter any value, there doesn't seem to be a cut-off/maximum value for some odd reason, but for rotation I recommend -180 to 180 as BF2 rotation values get converted to values in this range anyway.

I have no idea what Scale is supposed to be. Entering values gives no visible results. This is perhaps some seed for randomization? Who knows.

Z and Y are switched around, meaning Y is the vertical axis (meaning height in case of position), not Z, for both rotation and position.

If SnapToGround is enabled, RandomPosition Y value has no effect, obviously.

Rotation saving is bugged, editor will save position values as rotation, too. Scale is saved right.

LevelBrush.RandomPositionMin 0.000/0.000/0.000
LevelBrush.RandomPositionMax 22.000/22.000/22.000
LevelBrush.RandomRotationMin 0.000/0.000/0.000
LevelBrush.RandomRotationMax 22.000/22.000/22.000
LevelBrush.RandomScaleMin 0.000/0.000/0.000
LevelBrush.RandomScaleMax 55.000/55.000/55.000
Each static within a brush is called an 'Item'.

Editing item values is a bit buggy. If you edit an item's values, all other items display last values entered but items values are saved correctly in the file.

If a brush contains multiple items, the rotation values are the same for all items in the brush per instance and for positioning, the center of the brush seems to be used.

In conclusion

Items and brushes cannot be deleted within editor. For that you need to edit/delete the file by hand.

There is one practical issue that you need to keep an eye on. It is very easy to place multiple brushes in same spot, the tool doesn't check for existing objects when it paints etc., thus you can quickly end up with two, three or a hundred statics in the same spot which is obviously a massive waste and performance drain. You can avoid this somewhat by using minimum and maximum position values to always place the brush a bit off center from the mouse cursor but this isn't useful if you want exact placement.

If placing trees, the overgrowth tool is the better solution here at first glance.

However, if you want to place one object quickly with random rotation and/or positions, this tool beats using the combination of copy&paste, Move and Rotate tools to do the exact same thing. For example this is one type of rock rotated randomly on all three axis, placed in a few seconds:

Another example - the practical issue I mention is very obvious here, but again, still faster than having to copy, paste, move and rotate each object:

Outlawz7 is offline
Last edited by Outlawz7; 2019-07-21 at 16:21..
Reply With Quote

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

All times are GMT. The time now is 02:15.