RSS Feed Hellkeeper.net

Dernière mise à jour : 10/04/2012 à 21h45

Current Project : Dunno.

Index des tutoriaux

# Brush Cloning

Here's a little trick to speed up a thing or two in UnrealEd. I named this technic Brush-cloning, and the name pretty much gives it away : it allows you to clone a brush and thus modify several brushes at the time in the exact same way as you would do with Static-Meshes.

First, notice this trick can only be performed in UnrealEd 1.0 and 2.0. In latter engines, it will make UnrealEd crash when rebuilding lights. I suspect it has to do with the way lightmaps are applied (I think it gives up when it tries to attribute different lightmaps to brushes supposed to be exactly the same or something like that). Anyway, since Unreal 2, this method would have been useless since Static-Meshes will perform much better.

Let's begin: first create a brush. I will refer to this brush as Brush 1. Then, duplicate it (select it and press CTRL+W). This second brush will be Brush 2 You now have two similar brushes, but they are still totally independant of each others.

Select Brush 1 and press CTRL+C. Open Windows' notepad and paste. Behold! Your brush in text format. That's how the editor handles objects. At the very end of the document, search for the line "Brush=Model'Mylevel.ModelXXXX", where XXXX is a number. Here is mine. Notice that my Brush 1 is numbered as Model1656 :

Keep this number in mind. Now delete everything and in UnrealEd, copy Brush 2, then delete it. Paste the result in Unrealed. You should have almost the same thing as in Brush 1 with a few exceptions, namely the name, the coordinates and the brush model.

Simply delete anything between the tags "Begin Brush Name=ModelXXXX" and "End Brush". Between these two tags are a bunch of things reading as :
Begin Polygon Texture=E_dr3 Link=14
Origin -00068.599998,+00029.400002,+00016.000000
Normal +00000.000000,+00000.000000,+00001.000000
TextureU +00000.000000,-00001.000000,-00000.000000
TextureV -00001.000000,+00000.000000,+00000.000000
Vertex -00068.599998,+00029.400002,+00016.000000
Vertex +00039.200001,+00068.599998,+00016.000000
Vertex -00039.200001,+00068.599998,+00016.000000
End Polygon

Once you have deleted all this, you should still have near the end, a line "Brush=Model'Mylevel.ModelXXXX". Usually, since you're supposed to have added Brush 2 just after Brush 1, the Model number will be very close to that of Brush 1. Change this line to give it the same brush model as brush 1. In my example, the brush model of Brush 2 was 1657 (since I had added just after Brush 1), so I set it back to 1656, the brush model of Brush 1.

Now select the result in notepad, and paste it in UnrealEd. A brush will be added, exactly similar to Brush 1 and Brush 2. You can rotate and move it freely around This brush, resulting of the modification of Brush 2, will be Brush 3. Then, rebuild geometry and see the result :

This is exactly what you would have had normally. Now change a the texture of a surface of Brush 1 and rebuild geometry :

The change is transmitted to Brush 3. Changing a texture will require a rebuild to be effective, but you can also vertex edit Brush 1, and witness the change of Brush 3 in realtime in the 2D viewports! Appart from rotation and location, any modification of either Brush 1 or Brush 3 will affect the other!

Of course, you can have more than one clone of a brush. All that you need is to keep notepad open with the modified Brush 2 in text format : select it once and paste it as many times as you want. You will have Brush 1 and several Brush 3. Just like with two brushes only, any change made to any copy will affect all the others (that means that Brush 1 will also be affected by modifications applied to any Brush 3).

This is useful when you have a large number of similar decoration made of brushes. It will also (I think), reduce the size of the map, since it will make Unreal have to store much less Brush model in the map (though I'm not sure of this one). To my knowledge, it can be used with any type of brush (additive, subtractive, solid, semi-solid, non-solid...), and any flag applied to a surface of such a brush will be applied for the cloned brushes. It saves some time, and does not seem to cause problems (I never encountered any at least).

2005-2008, by Hellkeeper.

Valid XHTML 1.1 CSS 2.1