can someone please tell me how to make custom brushes?
Thanks
// this config defines various heightmap brushes
// a brush has two parts: the brushmap and the brushhandle
// the brushmap is a 2D field that defines how the brush affects a heightmap
// the brushhandle is a 2D vertex on the brushmap.
// this handle is a reference point on the brushmap which represents
// where the editing cursor is pointed at.
// clearbrush : resets the brushmap
// brushvert <x> <y> <value> : set a point on the brushmap
// brushx <x> : the x coordinate of the brushhandle
// brushy <y> : the y coordinate of the brushhandle
brushhandle = [
brushx $arg1
brushy $arg2
]
brushindex = -1
brushmax = -1 // make sure to bump this up if you add more brushes
selectbrush = [
brushindex = ( + $brushindex $arg1 )
if (< $brushindex 0) [ brushindex = $brushmax ]
if (> $brushindex $brushmax) [ brushindex = 0 ]
do [brush_@brushindex]
echo $brushname
]; setcomplete "selectbrush" 1
brushverts = [
loop y (listlen $arg1) [
bv = (at $arg1 $y)
loop x (listlen $bv) [
brushvert $x $y (at $bv $x)
]
]
]
newbrush = [
brushmax = (+ $brushmax 1)
do [
brush_@brushmax = [
brushname = [@@@arg1]
clearbrush
@@(if (> $numargs 1) [result [brushhandle @arg2 @arg3; brushverts [@@arg4]]])
]
]
]
newbrush "Circle 1-0 Brush" 0 0 [1]
newbrush "Circle 2-1 Brush" 2 2 [
""
"0 0 1 "
"0 1 2 1 "
"0 0 1 "
]
newbrush "Circle 4-2-1 Brush" 2 2 [
"0 0 1 "
"0 1 2 1 "
"1 2 4 2 1 "
"0 1 2 1 "
"0 0 1 "
]
newbrush "Square 3x3 brush" 1 1 [
"1 1 1 "
"1 1 1 "
"1 1 1 "
]
newbrush "Square 5x5 brush" 2 2 [
"1 1 1 1 1 "
"1 1 1 1 1 "
"1 1 1 1 1 "
"1 1 1 1 1 "
"1 1 1 1 1 "
]
newbrush "Square 7x7 brush" 3 3 [
"1 1 1 1 1 1 1 "
"1 1 1 1 1 1 1 "
"1 1 1 1 1 1 1 "
"1 1 1 1 1 1 1 "
"1 1 1 1 1 1 1 "
"1 1 1 1 1 1 1 "
"1 1 1 1 1 1 1 "
]
newbrush "Smooth 3x3 brush" 1 1 [
"0 0 0 "
"0 "
"0 "
]
newbrush "Smooth 5x5 brush" 2 2 [
"0 0 0 0 0 "
"0 "
"0 "
"0 "
"0 "
]
newbrush "Smooth 7x7 brush" 3 3 [
"0 0 0 0 0 0 0"
"0 "
"0 "
"0 "
"0 "
"0 "
"0 "
]
newbrush "Noise 25x25 Brush" 12 12 [
"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 "
""
"0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 1 1 0 1 "
"0 0 0 0 0 1 0 0 0 1 0 0 0 0 1 0 1 0 0 1 0 0 2 2 "
"0 0 0 0 1 1 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 1 "
"0 0 0 0 0 1 0 0 0 0 0 2 0 0 0 0 1 0 0 0 1 1 0 0 1 "
"0 0 1 0 0 0 1 0 1 1 0 0 0 0 1 0 0 1 0 0 0 0 2 "
"0 0 0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 1 1 1 2 "
"0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 1 1 "
"0 0 0 0 1 1 1 0 0 1 0 0 0 0 0 0 0 0 1 0 0 1 0 1 "
"0 1 0 2 0 1 1 1 1 0 0 1 0 0 0 0 1 "
"0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 1 1 0 1 1 "
"1 0 1 0 0 0 0 0 1 0 0 0 1 0 1 "
"0 0 0 0 0 0 0 1 1 0 1 1 0 0 1 0 0 1 0 0 0 0 1 0 0 1 "
"0 1 1 1 0 3 0 2 0 0 0 1 1 0 0 0 1 1 "
"0 0 1 0 0 1 0 0 1 0 1 1 0 1 0 0 0 0 0 1 "
"0 0 1 1 0 0 0 0 2 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 1 "
"0 1 1 0 1 0 0 1 0 0 0 0 0 1 0 0 1 1 0 0 0 0 1 "
"1 0 0 0 0 0 1 0 0 1 0 0 1 0 0 0 0 0 0 0 1 0 0 1 0 1 "
"0 0 0 1 0 0 1 0 1 1 0 0 0 0 0 0 0 1 "
"0 0 0 0 0 0 1 1 1 0 1 1 1 0 0 0 0 0 0 0 0 0 0 1 "
"0 0 0 0 1 0 1 1 0 2 0 0 0 0 0 1 0 0 0 1 0 0 0 0 1 "
"0 0 0 0 0 0 0 0 0 1 0 1 "
"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 "
]
do [ brush_2 ] // 421
Users browsing this forum: No registered users and 1 guest