Brush files are used to store information used for terrain painting in World Editor.
They are described in the document Content Tools Reference Guide's sections Terrain → Cloud shadows.
The grammar is listed below:
<root> <type>string
</type> <texture>file
</texture> <strength>float
</strength> <size>float
</size> <uProjection>float float float float
</uProjection> <vProjection>float float float float
</vProjection> <opacity>integer
</opacity> <uvLocked> [true|false] </uvLocked> <heightMask> [true|false] <h1>float
</h1> <h2>float
</h2> <h3>float
</h3> <h4>float
</h4> </heightMask> <slopeMask> [true|false] <s1>float
</s1> <s2>float
</s2> <s3>float
</s3> <s4>float
</s4> </slopeMask> <textureMask> [true|false] <includeProj> [true|false] </includeProj> <uProjection>float float float float
</uProjection> <vProjection>float float float float
</vProjection> <texture>file
</texture> <invert>[true|false] </invert> </textureMask> <noiseMask> [true|false] <minSat>
float
</minSat> <maxSat>float
</maxSat> <minStrength>float
</minStrength> <maxStrength>float
</maxStrength> <noise> +<octave> <waveLength>float
</waveLength> <weight>float
</weight> <seed>float
</seed> </octave> </noise> </noiseMask> </root>
Grammar of brush files
The list below describes the tags in brush files:
-
h1 (section heightMask)
The minimum height in meters at which the height mask will be fully off. Heights below this value will not get painted. Heights between h1 and h2 are painted with a strength that varies from zero strength at h1 meters to full strength at h2.
-
h2 (section heightMask)
The minimum height in meters at which the height mask will be fully on. Heights between h1 and h2 are painted with a strength that varies from zero strength at h1 meters to full strength at h2. Heights between h2 and h3 are painted with full strength.
-
h3 (section heightMask)
The maximum height in meters at which the height mask will be fully on. Heights between h2 and h3 are painted with full strength. Heights between h3 and h4 are painted with a strength that varies from full strength at h3 meters to zero strength at h4.
-
h4 (section heightMask)
The maximum height in meters at which the height mask will be fully off. Heights between h3 and h4 are painted with a strength that goes from full strength at h3 meters to zero strength at h4. Heights above h4 will not get painted.
-
heightmask (section textureMask)
This is used to determine whether the height mask is enabled.
-
includeProj
This is used to determine whether the texture mask compares texture projections as well as the texture name when choosing which layers to replace.
-
invert (section textureMask)
Invert the sense of the texture mask. If this is false then painting with the texture mask will replace the masked texture. If this is true then painting with the texture mask will replace everything except the masked texture.
-
opacity
The opacity of the brush. The scale is 0 is completely transparent and 255 is completely solid.
-
minSat (section noiseMask)
This is the minimum saturation value of the noise as a number between 0.0 and 1.0. All noise values below this value get set to the minimum strength (minStrength).
-
minimumStrength (section noiseMask)
This is the minimum strength of the noise mask as a number between 0.0 and 1.0.
-
maxSat (section noiseMask)
This is the maximum saturation value of the noise as a number between 0.0 and 1.0. All noise values above this value get set to the maximum strength (maxStrength).
-
maximumStrength (section noiseMask)
This is the maximum strength of the noise mask as a number between 0.0 and 1.0.
-
noiseMask
This determines whether the noise mask is enabled.
-
s1 (section slopeMask)
The minimum angle in degrees at which the slope mask will be fully off. Slopes below this value will not get painted. Slopes between s1 and s2 are painted with a strength that varies from zero strength at s1 degrees to full strength at s2.
-
s2 (section slopeMask)
The minimum angle in degrees at which the slope mask will be fully on. Slopes between s1 and s2 are painted with a strength that varies from zero strength at s1 degrees to full strength at s2. Slopes between s2 and s3 are painted with full strength.
-
s3 (section slopeMask)
The maximum slope in degrees at which the slope mask will be fully on. Slopes between s2 and s3 are painted with full strength. Slopes between s3 and s4 are painted with a strength that varies from full strength at s3 degrees to zero strength at s4.
-
s4 (section slopeMask)
The maximum slope in degrees at which the slope mask will be fully off. Slopes between s3 and s4 are painted with a strength that varies from full strength at s3 meters to zero strength at s4. Slopes above s4 will not get painted.
-
seed (section noiseMask/noise/octave)
The number used to seed the noise for this octave. Changing the seed allows for multiple copies of similar looking noise to be used.
-
slopeMask
This is used to determine whether the slope mask is enabled.
-
strength
The strength of the brush from 0.0 to 100.0.
-
size
The size of the brush in meters.
-
texture
-
Section root
The name of the texture used to paint with.
-
Section terrainMask
The name of the texture to mask against.
-
-
textureMask
This determines whether texture masking is enabled.
-
type
This identifies the brush type. Currently this is set to "TerrainPainting".
-
uProjection
-
Section root
The u-projection of the brush. This combined with the vProjection defines an orthogonal coordinate system from which the yaw, pitch, roll and u/v scales are derived.
-
Section terrainMask
The u-projection of textures to mask against.
-
-
uProjection
The u-projection of the brush. This combined with the vProjection defines an orthogonal coordinate system from which the yaw, pitch, roll and u/v scales are derived.
-
uvLocked
If true then the u and v scales are locked to be the same.
-
vProjection
-
Section root
The v-projection of the brush. This combined with the uProjection defines an orthogonal coordinate system from which the yaw, pitch, roll and u/v scales are derived.
-
Section terrainMask
The v-projection of textures to mask against.
-
-
waveLength (section noiseMask/noise/octave)
The size of an octave of noise in meters.
-
weight (section noiseMask/noise/octave)
The relative weight of an octave of noise. Octaves whose weights are larger will contribute more to the overall noise.