November 15th, 2009
A lot of people have mentioned the plants as an area we could improve in Overgrowth. For this reason, I made a point of trying out games that have great plants, such as Crysis, S.T.A.L.K.E.R., The Hunter, and Battlefield 1943. I stared at the plants to figure out how they were built. We even went so far as to load plant assets from other games into Phoenix just to get a better look at them. It's fairly easy to make plants that look good, but it's extremely hard to make good-looking plants that use as few triangles as possible for their 3D models. Here I have boiled down what I have learned from these other games about Xtreme plant optimization!
Above are the basic building blocks of video game plants. On the left is the most modest of plant branches using a single triangle, and on the right is the Cadillac of tree branches with a whopping 6 triangles. Some of these shapes give a lot of bang for the buck, and some are not worth using. Which is best has mostly to do with how the geometry is perceived by the viewer.
You may be thinking here that because the single triangle branch looks the worst, maybe it isn't worth using. The truth is that it can be very useful to fill plant interiors, where the exterior branches are able to hide the bad angles. This is a technique used in Crysis, and can make a plant look really dense.
This branch is about as useful as using two 1tri. branches. It still has one bad angle. It is nothing special, but no real reason to avoid it.
This is the first branch option with no bad angles. This is the best basic branch piece, but not that great for something that may poke out of the bulk of the foliage.
Although this has no bad angles, the same as the 3 tri. branch, it also basically looks the same as the 3 tri. branch and so you are wasting one triangle. I don't use this unless I have a squared off branch texture, but I try to make sure that doesn't happen.
This is the best looking basic building block because the extra edge loop on the back allows you to curve the geometry naturally. This is great for smaller palm tree type leaves, and branches that are sticking out of the foliage. Plants with mostly planer branches look good with this too, like some conifers.
There are a few more basic tips for how to construct a tree that looks as dense as possible. It is important for bushy trees that the branch geometry has their planer faces pointed towards where you expect the viewer to look at the tree from. You can use all the triangles in the world, but if the player only sees your branches edge-on, it will look bad.
Does anyone else have any tips on how to optimize trees? I am always trying to improve so I would love to hear about new techniques!