Home Technical Talk

Tree Creation - Part 2 (leaves)

So I’ve 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 it’s up to whatever way the studio you’re working at likes best. There is also some photoshop stuff in here so feel free to skip around if you don’t need it.

I’m 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 let’s get started.

You’ll 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 don’t 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 I’m sure, but these two are the ways I have used in almost every case… I’m done with rambling let’s get to pictures!

Since intersecting planes is a very self-explanatory method I will be going the rout of bowl shaped geo. Here’s what I mean…


bowls.jpg

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 what’s going on. (Again, if you want to see how the tree was made you can check out the quick tree tutorial)
thetree.jpg

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. It’s all subjective.) What I am trying to do though is build what is basically a set of pieces to build my tree with…

parts.jpg

So now were in the fun part of painting textures. For the bark I’m just going to slap on something from CG textures that’s 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…

newbark.jpg

So now I’m going to start painting the leaves. Like I said, I will be doing hand painted leaves but you can obtain them whatever way you’d like. First I’ll start by painting the silhouette of the leaf’s 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 don’t 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…

leaf1.jpglayerorder.jpg


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.


layerorder2.jpg


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.)

leaf6.jpg

Now I will do some quick finishing stuff and I’ll take all the layers I used to create this leaf (including the base) and combine them! Crazy! Make a back up folder so you don’t 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.

leaf7.jpg

The slow stuff is out of the way and I’m 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…

readytobuild.jpg

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.

finallayersetup.jpg

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.

finaltexture.jpg

Note on making the leaf bunches; make sure they aren’t 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.

alpha.jpg

So woot! We’re back in our modeling program! Now it’s 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”

set.jpg

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.

pivotlocate.jpg

Now it’s 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…

render1.jpg

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 I’ll put the time into making one. Take care!

Replies

  • NoisyMonk
    Cool tutorial, thanks for posting!

    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. :)
  • Mark Dygert
    That's pretty cool. Thanks for sharing =)

    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.
  • Vadien
    Noisy Monk: The tiling texture is simple. This was a quick job. You just take it into photoshop, use offset and do a heal brush on the seams. After that, it was just some color changes and other quick stuff.

    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.
  • BradMyers82
    Offline / Send Message
    BradMyers82 interpolator
    Nice tutorial dude! I remember when you made the modelng tree tutorial way back when and I'm glad you finally got to this one.

    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...
  • Vadien
    Yeah I normally match background to my painting. Black can cause an outline. If I'm doing models like 3D grass for terrain. I will actually use the terrain texture itself as the background for that piece. Didn't really care to do it this time since it was more instructional but now that I think about it I should have probably included it. Glad it was mentioned! Thanks guys!

    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
  • Shogun3d
    Offline / Send Message
    Shogun3d polycounter lvl 12
    Question, Did you use the generated UV's from the Lofts or map them separately?
  • Vadien
    kaburan wrote: »
    Question, Did you use the generated UV's from the Lofts or map them separately?

    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.
Sign In or Register to comment.