Making realistic Trees
Ever wondered how those awesome trees in maps such as cs_costabrava and de_odile were made? Well, all is explained here.
For this tutorial, you shall need to know about masked textures (see Blinks great tutorial on these). Also, the very basics of vertex manipulation are needed. Although, this is explained, step by step, to help stop errors arising.
Here are the trees from de_odile and cs_costabrava respectively:

Now, lets make a tree! I will be using the textures used in de_odile to make this. Full credits to the makers of the textures
(Tazus, D4Ms and TOLCHOK).
However, a texture like this by X-Tender, from xt_flora.wad, can be used instead. Just use the leaves for the branches (see later).

1) First of all, we need to make the tree trunk. So, make yourself a cylinder of 6 or 8 sides. Six is preferable as it has a lower amount of planes (helping you to avoid
max_map_planes) and looks just as good as an 8 sided one.
I made mine a 6 sided cylinder, with the following dimensions (with the smallest grid size):

If you're using these dimensions, then the tutorial can be followed through exactly. If you're using different dimensions, then you will have to adjust values later on. This is noted for reference.
Also, make your cylinder a height of about 177. This doesn't matter, but makes it look better whilst you're making it, and is the height that I'm using.
2) Ok, next, we move onto the vertex manipulation stage. This is probably the hardest part of the tree, since it is the main reason why such errors as 'Coplanar Plane, Invalid Solid Structure, Brush With No Normal and Brush Outside Of World' appear. It is one of the hardest tools to use, but is well worth the
practise.
Here, I will go step by step on what to do.
Select the cylinder that we created and go into vertex manipulation mode >> vertex.jpg << .
Now, we need to move the top vertices to give the impression that the trunk is getting thinner as it goes up. So, in the 3D view, select the following vertices:

Select one, and hold down Ctrl and click on the other one to select it. Do not select any of the yellow vertices. Now, in the
top(x/y) view, zoom in so that you can see the smallest squares.
Now, move your mouse over one of the red dots and slowly, move the selected red squares towards the centre of the trunk, exactly 13 squares (this value is different if different dimensions for the cylinder are used).

Repeat for the other side of the trunk:

Ok, now that we have done the two sides with two available 'dots', select either of the two that we haven't used yet and do exactly the same, but move them towards the centre exactly 11 squares (this value is different if different dimensions for the cylinder are used):

When these two have been done, you should be left with the following:

One more stage to making the trunk error free (if you go into 'Check for Problems', you will see invalid solid structure). To fix this, the following must be done:
Select the following vertices in the 3D view.

Now, move these Exactly 2 squares 'down'. (down, as in down in the Top(x/y) view). Like this:

Repeat for the other side:

Now, here's the finished product:

As you can see from the picture, the bottom two views show the cylinder getting thinner as it gets higher.
Looks good eh?
Well, were not finished yet soldier!
3) We have our tree trunk, but we now need some branches. Well, we need to use masked textures here for the correct effect. So, draw yourself a block with an appropriate texture. Like so:

Now, repeat this for all around the tree, like this:

Now, each of those branches need to made so that the blue areas don't appear in game. So, select one and press Ctrl + t. This will tie it to an entity. In the properties box that appears, select the drop down box and choose func_illusionary from the list.
Set this up with the following properties:
- Render Mode - Set this to Solid
- FX Amount (1-255) - Set this to 255.
You may also want to set the light flags to Opaque (Available with Zoners Compile Tools only). This will make the branches block light, creating shadows.
Do this for every branch that you create.
When compiled in this stage, you will get something like this:

As you can see, we need to add more branches. It looks very bare!
We shall add more like this:
Select all of the 8 current branches and copy + paste them. With the 8 new branches, press Ctrl + m and then type 15 into the 'Z' box. This will rotate them 15 degrees about the Z axis.
Now, line them up with the others, but make them either higher or lower than the other 8. This will add more realism and randomness to the tree.
Here's a picture of what we've got so far:

I have also added some horizontal branches across the middle of the tree. It may not look good at the moment, but the final compile will show what the end product looks like:

There you go! An excellent looking tree that even blocks light (if the light flags are used). I know its square, but it's better than having a rectangle shadow of the trunk!
Just beware of using trees like this: The more masked textures you use, the
lower your FPS will be.
If you look at de_odile with r_speeds enabled, you will notice it in the courtyard (they drop to about 13-15 from 25). Its not too bad, but with high wpoly and epoly counts, you map will come to a stand still.
Also, if you can't get the tree trunk right first go, don't give up. Vertex Manipulation is a tricky tool to grasp. You probably moved one of the vertices one square more or less than what it is supposed to be! Experimenting with this tool is the best way to learn how to use it.
Comments?