So Ive been asked by a few people now to continue my tutorials for creating trees. (Mainly creating leaves)There is a ton of ways to do this and for the most part its up to whatever way the studio youre working at likes best. There is also some photoshop stuff in here so feel free to skip around if you dont need it.
Im not claiming this stuff to be perfect but people seem to ask me more and more to give some helpful environment tips since polycount falls mainly into character territory.
For this tutorial, I will be adding onto a tree created using the method from the previous tutorial
Simple quick way to make trees. So lets get started.
Youll find lots of people hunting for reference sites for photos of leaves or of what is basically alpha silhouettes and this is a great fast way to do it but a good practice is to hand paint it all. (Obviously you can do it whatever way you wish.) I will be doing it the hand painted way though so you can take as many tricks away from this as possible. I will be rushing through them however, so dont expect ground breaking art. :P
First thing, is decide how you want to construct your leaves on your tree, you can do intersecting planes or you can do what is basically bowls of geometry built together to give good cover. Intersecting planes has its advantages and you can use plugins like normal thief for max or the normal orientation tools for maya to make all the normal mimic normals of another shape (like a sphere) and cause the tree to shade evenly. But intersecting planes always have that intersecting planes look. There are other ways Im sure, but these two are the ways I have used in almost every case
Im done with rambling lets get to pictures!
Since intersecting planes is a very self-explanatory method I will be going the rout of bowl shaped geo. Heres what I mean
This will become clearer as I start making textures for those still lost. So let me explain a bit of process here. What I normally do is create my tree first
so here he is! This is a bare bones tree really, just enough to explain whats going on. (Again, if you want to see how the tree was made you can check out the
quick tree tutorial)
Then I will create the bowl shape for my leaves. I will also make a few planes for branches. (You can go back and forth either way that works best for you. Sometimes making geo first is better and sometimes making textures first works better. Its all subjective.) What I am trying to do though is build what is basically a set of pieces to build my tree with
So now were in the fun part of painting textures. For the bark Im just going to slap on something from CG textures thats tweaked a bit since the main issue I have been hearing is about leaves and branches. For the bark (hand painted or photo) it should be a tiling texture that can repeat on the entire tree base
So now Im going to start painting the leaves. Like I said, I will be doing hand painted leaves but you can obtain them whatever way youd like. First Ill start by painting the silhouette of the leafs shape for base color. I do this on a separate layer than the rest of my painting so that I can select it later for alpha. This will make sure my lines are crisp and dont cause a halo issue or other artifacting. I normally paint at least three leaf variations to change up the texture. I also create them rather large so that I can scale the copies down to make more variation in the texture. Here are the base three and an example of my layering style
Obviously, you do not have to be this organized, but it helps me keep track of things later when I start duplicating leaves. I will re-organize the layres when the leaves are painted fully. I will show the process for one leaf and just make the others
I start by selecting the leaf base and using that as a mask for every new layer on top of the base layer. I will be using this technique a lot. This keeps me from painting over the edges of my leaf and keeps my edges clean so that I can make a clean alpha from it later.
Now, on the mask layers just go-ahead and paint your leaf making sure to keep the base separate. (the reason for keeping the base separate and not paint on it is so you can use its inverse selection to clean up if a mistake is made outside its edges.)
Now I will do some quick finishing stuff and Ill take all the layers I used to create this leaf (including the base) and combine them! Crazy! Make a back up folder so you dont lose all your work if you want to start over or change something. This is an important step though for making leaf clusters. With the single leaf that I have relocated to the corner, I can copy it tons of times to make clusters.
The slow stuff is out of the way and Im starting to write a novel here so the tutorial will speed up a bit. Here, I have all my finished leaves and I can start dragging them to build leaf clusters. One important thing I have done first is create a branch structure using the same methods. I have also sectioned my 512 out to support two leaf bunches for variation on the tree itself. You can do this by simply doing a screen capture of your UVs
So the next trick is to arrange the leaves in whatever way you would like. Remember to keep making copies of the leaves so you always have your original high res ones to pull from if you want a different size. Remember when I mentioned I would change my layering order after I painted the leaves? Indeed I did. I will be making two leaf bunches for my tree, so I made copies of all three leaves in two folders; these folders represent each leaf bunch I will make. Now I will start dragging, resizing, and build my leaf clusters.
And here is the finished texture. I added some branches that we will be placing on the tree as well. When adding branches, leaf bunches, or anything, make sure they have enough room on the texture so that when you are laying out your UVs over them in Max or Maya, poly edges do not overlap onto visible texture space. (The parts that are made visible by your alpha.) I have seen a lot of newcomers just paint a bunch of branches right next to each other to save UV space, but this is not character modeling. That will leave you unable to put your branches on the planes you modeled for them and will cause extra floating textures on your branch planes.
Note on making the leaf bunches; make sure they arent super clumped together. Too many leaves means less alpha space that you can see through. One of the most convincing things is having parallaxing in your tree canopy, so it is important to keep your leaf placement loose. Multiple placements on the model itself will cause fill-in.
So, remember all the crazy layer stuff and masks? That was to keep all of your edges clean for this next step. Now we combine all the leaves we just placed into one layer. With that, we can now select that layer and add the selection of the tree branches we painted under the leaves. We do the same for the large branches. Simply switch to your alpha channel, fill with white, and poof! Awesomely clean alpha channel.
So woot! Were back in our modeling program! Now its really simple. Since the tree is already built, we have our texture, and the other pieces are waiting to be mapped, we simply add the new leaf texture and start building. Here you can see the whole set
One thing I have found very helpful to do is to relocate the pivot point of the branch planes to the base of the branch, this makes it very easy to rotate and position as you like.
Now its simply dragging, copying, and placing as you would like your tree to look! Think the same way we did in photoshop. Combine leaf clusters to make larger ones and place those around on the tree. It will save time.
So, after all our hard labor, hopefully you will now have a tree that you are proud of. Here is the finished example tree I have been building
Obviously, with some more time and care you can create something great with this process. There are endless things you can do with more texture work, more geometry sculpting, and smart thinking. I really hope this has been helpful to you. I have also gotten a few requests to make a tutorial for how I paint my grass textures. Please let me know if this would be helpful and Ill put the time into making one. Take care!
Replies
I've had my own method for low poly trees for a while now, but I never did the extra brach thing, and I think that adds quite abit, so I'll definitely be using that from now on!
I think you said that you tweaked a bark texture to make it tile... I'd like to see how you did that, if you get a chance.
I would change a few things which may or may not speed things up.
First up I would change how the leaves and branches are placed. I would use a object painter script to place the leaves and branches. Either Neil Blevins or the Advanced Painter scripts will allow you to paint or "click to place" objects on the surface of another one. Takes the guess work out of of the alignment.
One other note to remember is that you want to cut down on the number of 0% opacity pixels as much as possible. Try to avoid big cards with not much actual art on them. The reason for this is because the more opacity checks you stack in front of one another the longer it takes to sort things out. Bigger they are, the more likely they are to overlap with other cards.
So big planes with tiny images and a lot of opacity can be bad. If you use a few more polys and more closely crop your image it can help reduce the overlap quite a bit. It also means smaller textures, possibly easier to pack more unique bits into one sheet.
One last thing, you probably want your background color to match as closely as possible the color of your 2D object and you probably want to pad the edge of it also. This is done to cut down on the odd colored outline you could get as the background bleeds into the image, often as a result of downsizing either intentionally done by the artist later trying to save space, or done by the engine in some way.
Vig: You're absolutely right in both those cases. I wanted to create a tutorial for beginners mainly though so I wanted to stay away from custom plugins. As for the alpha planes, I wanted to get the idea of just doing it across so the learners could kind of grow on it in their own way. I tried to design this tut. so that beginners could get the idea and then come up with their own additions to the method. (Also wanted to keep the tut. shorter) We did have to do the same method of adding more polys to the branch planes though on Warhammer because we had that issue of more alpha is more processing power. Different engines can handle it differently though. My current project its not so much an issue. Kind of surprising.
EDIT: Though for new people reading this don't consider it ok to have lots of alpha space on planes still in the long run. It's ok to do it that way starting out but when it comes to working on a game any alpha stacking is going to take up processing power as Vig stated. So try to find a balance between poly count and alpha space.
Vig mentioned that you should make the background colors as close to your forground as possible. I remember someone posted a PS action for this so it does it perfectly, however; I can't seem to find it...
Brad: Yeah its been a long time haha. Some times work just takes you over. I'm trying to jump back into the poly count game again though. Lets hope I stick with it better this time around. :P
I'm using Maya currently and to my knowledge (I could be wrong) maya does not auto-UVmap a loft (extrude tool in Maya language) as it is done differently than in Max. If I were doing it in max I would just use the generated UVs and tweak them as needed. In maya I would simply take the time to map it separately. (Lame for Maya users I know...)
I, however, had the luxury of using a great program called Headus that allows you to cut seams and auto unwrap objects. It's great for organic shapes.