Yana Bystrova showed us the workflow behind the Tangerine Tree project, discussing how she modeled and textured realistic foliage, fruit, and branches based on a real photo and accurately captured their size and patterns using SpeedTree, Substance 3D, and Marmoset Toolbag.
Introduction
Hi, my name is Yana, and I am a 3D Plant Artist. I came to 3D after analyzing what professional sphere I would go to and also chose what I would like to create. Thus, the choice fell on 3D. Strangely enough, the very first course I took was on 3ds max. It was a course on the basics of polygonal modeling. Also, I struck out on my own, if I may say so. Like many 3D Artists, I often learned from YouTube tutorials. I also took a few basic courses from different schools.
I started working on plants after I couldn't make a tree that I was asked to make, and I thought about how plants are created. After discovering SpeedTree, I realized that this is what I wanted to do. Unfortunately, there are few tutorials on this software, and they are mostly basic. If you face a more complex task, in some cases, you can't even google it. I had to learn to read the documentation. But despite this, creating plants is still a thrill for me. Even though my studio has an 8-hour working day, I can work on my projects until 2 or 3 am or even in the morning.
Any plant and its shape are mesmerizing, and how beautiful ordinary grasses or trees can look. Surprisingly, the most beautiful plants are the ones that have problems. Usually, unusual leaf coloring or growths tell you that the plant has problems. I could talk about plants and their forms for seemingly endless hours. Unfortunately, most of my projects are under the NDA. In general terms, I've done both large monumental trees for movies and small flowers and grasses for commercials. I've also done a certain amount of assets for games as an outsourced employee.
Inspiration & References
I started making the tangerine tree quite spontaneously. I wanted to get away from the stylized asset that I sculpted and make something realistic. The choice fell on the tangerine tree also because I was going to the botanical garden to take photos of references and leaves for textures. I thought that they definitely had a tangerine tree in their greenhouse. It was not there, by the way, but I didn't want to take ready-made textures, so I made a compromise. I found a species of tangerine trees whose leaves reminded me of lemon leaves. There were lemon seedlings in the greenhouse, and I was allowed to photograph them. It can take me more than one day to find references. If the plant is nearby and I can go and see it in person, I always do. It's much better than photos from the internet, although of course I use them too.
The node generator I have is sometimes more complicated than it needs to be. I often have several identical node branches in it. I often do this in the case of the bifurcating branch arrangement type. This type fits most organically into the tree's structure because the branches only grow on the bends of the trunk or mother branches. But this same type of arrangement is the most difficult for me to manage. Having found the most successful arrangement, I usually copy the node and attach it to the same trunk. However, I rotate the branches with the Rotate Parameter and slightly randomize their length, radius, and late noise, and move them up or down a bit. But with bifurcating, you need to do it carefully, as branches can disappear because the bends of the trunk are not everywhere. In any case, several parallel branch generators give me much more control than one.
When selecting references, I try to pay attention to:
1. Crown outline for determining the branch length curve graph.
2. Difference in diameter between the trunk, the first tier of branches, and the subsequent ones. These are slightly different parameters from species to species.
3. The angle of growth of the branches in relation to the parent (trunk or branches) and how gravity acts on them. Not all trees behave the same way.
4. The type of arrangement of leaves and branches. These are already botanical nuances, but they are easy to see and find.
5. It is also important to respect the scale. The length of the plant and the size of the leaves are available on Wikipedia, and I think they can and should be used.
6. Color and shade of leaves and bark. There can be some difficulties. For this, it is important, if possible, to see the plant in person.
A more experienced artist once told me about this. He said that on the Internet, a lot of photos are often already post-processed, and it makes it difficult to understand the actual shade of leaves and their brightness, as well as the color of the bark. Since then, I have been collecting many photos of plants from all my acquaintances from different parts of the country and the world, taken with a regular phone camera. Of course, there are distortions here as well, but it's much better than over-processed photos with the contrast cranked to the ceiling. I got photos from Crimea, Baku, Bali, Moscow, and Germany. I have a channel on Telegram where I store them.
Production Workflow
I always make a high poly model first, even if the customer wants optimized vegetation. In the case of the tangerine, of course, there was no customer, but I am used to making the shape of the plant without limiting myself either in texture resolution or polygon. The most important thing at this stage is to hit the reference. But I always start not with geometry but with textures because they largely determine the appearance of the plant. Sometimes, I make first-draft textures, which I then replace with the final ones. But even the rough ones, I make the desired shape and shade.
Creating a plant with textures already applied to it makes it much easier to understand how it looks as a result of certain manipulations with geometry. For the leaves, I used photos that I took myself. For the fruit, I scanned and created a 3D model based on the photo in Substance 3D Sampler. After that, I baked the Albedo in Marmoset Toolbag from the built model to my own, with a cleaner topology. The textures I then ruled in Substance 3D Painter. At the very least, I needed to remove glare and seams. Even though I made edits to the source, it played a key role in the look of the mandarine. The difficulty was that the mandarin was shiny. It has a rather harsh glare that should not be there. As with any texture photography, this is always the biggest challenge. I also needed to get the right lighting for the photo. I used diffused light.
Creating the Bark
The graph with the bark nodes in Substance 3D Designer is not too complicated. I used a photo of bark as a resource, but since I didn't have tangerine tree bark, I had to modify it in the designer and add a different coloring.
Tree & Clusters in SpeedTree
I have not worked at SpeedTree for very long, not even three years. Now I am also studying Plant Factory. Many people consider it a full analog of SpeedTree, but there are some functions that are not available in that software. I think they can complement each other very well in my work.
SpeedTree is good because it is understandable almost immediately, even by a beginner. At least, it was not so difficult for me. The only disadvantage is that there is very little information on this software. When creating a tangerine tree, I did not use any special settings. The important thing is that I always keep an eye on reducing the radius of branches. It is never equal to the default in SpeedTree. There is never such a sharp radius reduction in branches of real trees. In many trees, the radius of the mother branch changes after each daughter branch, for example, in coniferous trees like pine.
I also like to add forces in the scene, perhaps even more often than necessary. But it gives me additional flexibility and control. For example, it's easier for me to add some direction forces in addition to the main influence of gravity and to adjust the direction of branches, although gravity could also handle it. But if you have a force, you can always turn it off, and the gravity curve requires a little more time.
If possible, I try not to use ready-made clusters of branches and always bake them myself. This gives much wider possibilities and allows you to make any crown, while ready-made clusters do not give such an opportunity. To replicate the tree exactly, sometimes you have to bake clusters of rather strange shapes. As for SpeedTree training, the best lessons are on their official YouTube channel. But in general, almost all lessons are similar to each other.
Lighting & Rendering
I did the final rendering in SpeedTree. I like how the tree looks in the native environment where I created it. But in SpeedTree, there is no possibility of putting more than one light source. So, I make several renders with different light source positions and then compile them in Adobe Photoshop with the Replace with Light option. Yes, it looks rather strange and old-fashioned, but my work does not require the ability to make a beautiful final render, so I rightly decided that my method is quite suitable for presentation. However, the next work in the portfolio will be rendered in Redshift; it's already been created, and I'm waiting for the NDA to expire.
When creating game-ready models, there's an important point that can be overlooked. You should never scale clusters with branches and leaves. You can't just make a few clusters and scale them down towards the ends of the branches. Note that the leaves on any tree are either the same size or small only at the very ends of the branches – they never decrease along the length of the entire branch evenly. The second variant is that sometimes there is quite a strong variation in the size of leaves on the same plant, sometimes almost two times – but they do not decrease to the ends of large branches. They are evenly chaotically scattered throughout the tree. Of course, this is not chaos; it happens because of a large number of new shoots on rather short daughter branches, but they are often not visible, and it seems that the larger leaves are evenly mixed with small ones. But this just means that leaves of different sizes need to be incorporated into each cluster.
I create a separate scene in SpeedTree for each cluster. This also ensures complete control of the crown. If I see that one of the clusters is a bit out of shape, I can easily re-bake it.
I always have a few clusters of different sizes that I place at different angles to avoid the feeling of a fake crown. I use Anchor Points on clusters quite actively.
When creating clusters, I always use color variations in the leaf material settings. If that's not enough, I duplicate the material of one leaf several times and do some light color correction in SpeedTree.
In the tangerine tree, I had five different leaf variations in the scenes when baking the clusters, although maybe it's not too noticeable in the final scene. However, I think the slight variations in hue in the final scene give an overall impression of the plant as more realistic. But the variations really shouldn't be too sharp. The exception is foliage when the tree transitions from summer season to autumn. In this case, there are many more colors and variations.
Also, I had three color variations of the fruit and many bark variations, although only two of them were used in the work – tree bark and material for mandarin fruit cuttings. As for the clusters, I bake them usually more than I use in the final, it's a process of finding a solution.
As an option for more beautiful color variations, you can add some gradients to the textures either in Substance 3D Painter or in Photoshop. Naturally, it takes longer, but the result is much more beautiful. It depends on the requirements of the plant, of course, and on the distance at which it will be shown in the scene.
I also bake billboards inside the tree, but this is optional. In billboards, is important strong sparsity of the crown, the tree for baking billboards should be separately thinned, otherwise they will be too noticeable.
The most difficult game trees for me are conifers. You have to collect them in several tiers and try hard to leave a sense of fluffy branches while not going beyond the required polycount. I can take three days to collect the crown of such a tree, depending on the requirements. Usually, it happens faster, but not with conifers. For them, I model needles separately. And color them. It is also important that the needles on the clusters were medium density, as in the case of billboards. The presence of gaps makes the plane much less noticeable.
Conclusion
I consider the basis of realistic plants to be high-quality phototextures, and it's great if you make them yourself. Of course, there is nothing wrong with buying and using a ready-made image, but when I photograph leaves, bark, and flowers myself, I know exactly how they look in reality and make the resulting clusters myself. Ready-made atlases with leaves, even at 4K resolution, often don't solve my problems. Since I bake clusters of branches myself, I usually need only a couple or three leaves from the atlas, and when they are in the ready atlas, each of them has not so many pixels – because there are usually a lot of them in the atlas. And if you need a plant for a cinematic with subsequent close-up shots, it will be a challenge.
That's why I take photos of leaves myself, if possible. Also, when you do everything by yourself from the beginning, it allows you to feel creative from scratch to the end. Although it is not too easy to photograph, you need to consider the lighting, blurring on the edges, and other parameters. But the result is worth it.