Vegetation Creation Techniques for Games
Samuil Munis shares some techniques on the production of awesome vegetation for games in the CGMA course Vegetation & Plants for Games.
My name is Samuil Munis, I am an Environment Technical Artist at Ubisoft Sofia. I’ve graduated from New Bulgarian University with multi-media and design, about two and half years ago. Since then I had the amazing opportunity to be a part of the team working on Assassins Creed Origins.
This scene I worked on during a class I took with CGMA, Jeremy Huxley’s vegetation & plants for games. This was a part of a program to increase and diversify our skills from the studio. I chose this course as it provided interesting insight on a different workflow that I have previously used for vegetation. When combined with regular workdays, it is a very intensive course. I would say indicative of actual work in the studio. I was very pleased with the results, I learned a few new things and pushed myself to use new methods. It is a worthwhile endeavor for artists, both experienced and newcomers.
Reference and Workflow
When starting any project gathering the right reference is key. I had no trouble with this aspect as I have done it many times before, but getting the right scene and composition clear in your head might prove troublesome at first. You might have an urge to throw as many ideas as possible and overdo it, but keeping things focused is worth throwing a few things in the trash (or keep them in mind for the next time).
I really liked the approach Jeremy showed in the course – get as many reference points as possible and then sort them by type and category. For my scene I decided to use a short trip to a nearby monastery as inspiration. We have beautiful vegetation here after all, and the location is interesting. I took a lot of pictures, none of them good enough to get textures or anything, but for reference they did great! You don’t need to be a photographer to get good reference. Next to imagine a bit clearer what I am going for, I made a quick composite, overpaint.
Things obviously changed as I had to make the vegetation showed in the course, work for my scene, but the general idea remained. From this point it should be easy to imagine the steps you will make and assets you will need for your scene.
Leaves and Branches
All the assets in the scene were sculpted in ZBrush, polypainted, and then polished in Substance Designer. This was a new process for me as I haven’t worked on plants in this way.
Working in Zbrush from scratch was also something new. I am not great at sculpting so usually I use 3ds Max to form basic shapes and then run them through ZBrush for detailing of the highpoly. This time I decided to challenge myself and work as the instructor did. Starting from a sphere, using dynamesh and move topological/smooth over and over until you get the shape you need (of a leaf in this example). It was a slow and tedious process for me at first, but I learned a lot about ZBrush and sculpting in the process. Along with some practice I also learned to manage layers in the document, work with the dreaded transpose tool (although it has changed for the better in the newest version), and taking captures of normal/height/albedo right off the viewport.
Polypaint also proved challenging, but after a bit of practice and the right use of masking tools from the masking pallet, I started to get the hang of it, probably someone with a good hand can do it much easier, but still using different brushes and masking by topology, will yield nice results. Also absolutely use “spotlight” to pin a few pictures to pick colors from, it is a huge time saver.
Rocks were a similar challenge as I have done them before only using Max and some small amount of detailing in Zbrush. Starting from scratch they were pretty hard to wrap your brain around. Especially after long sessions of sculpting late at night, you can get convinced that this thing is just a blob and doesn’t look at all like a rock. A few breaks here and there will help a ton. In the end I went through too many iterations and I wasn’t happy with the rocks, but I had to push forward or never finish. Sometimes this happens, you shouldn’t get dragged down by just one asset, better to finish the entire thing than to have that one great rock. Later after most things were finished I returned to polish and add more detail either through texture or some geometry.
The tree was kind of an easy part for me as I have tried (and failed) a lot in this before. This time with some feedback it was much easier. The creation of the branch in Zbrush was interesting and unexpected approach. Having all the leaves (needles) and the branch in a sculpting software before rendering the texture sheet, allowed for some nice final adjustments with the move topological tool that gave it a lot of life.
There were a ton of different types of plants that I made for this scene, given the short time constraint . There were short broadleaf plants, that needed a few distinct sculpted leaves , other short grass type plants, two types of ferns, the tree card and an ivy plant. This in about total of two weeks in between other things for the scene. A good point to start is to get the specific type of leaf sculpted and painted really well, then start to make copies and use move topological + crumple to completely devastate them in different ways. Paint them each a different tint and add the brown, gray, white “dead” parts. This was especially true for the ferns and needle leaf as they required a bunch of unique looking parts, most were just the one well sculpted leaf smashed and repainted a lot.
With the materials I had a lot of fun, since I had some experience with Substance beforehand. For the scene I created a few mosses, two types of mud , some grass, stones, three variations for the rock and the bark. Of course all the textures received some touch-ups in Substance.
The bark at first I tried to make a foundation in ZBrush by sculpting a piece and tiling it and getting the heightmap into substance. This didn’t work for me, but non the less I learned how to composite a tileable texture using the “tilde” in the draw mode of ZBrush, that will come in handy at some point. What I used finally was a completely substance based bark. Using a tutorial by Peter Sekula.
Starting from blending many different noises to achieve a desired effect and basically “sculpting” a piece of height map. This then tiled and manipulated gave a great starting height map for the bark. Applying layers of coloration one over the other and adding more grungy details along the way.
Mosses and mud substances were also completely procedural. The most important thing in a substance like this is to build a good height map as a base. When previewing your progress, remember to turn on height in the viewport and use tessellation not parallax, also choose the right cubemap for the environment, matching the look of the scene you are building. This will ground your expectations for the substance. Good rule to follow is also to try and build it modular. Focus on one aspect, don’t stuff too many elements into a substance, make a good mud, a good moss, good pile of twigs, good pebbles. Then you can mix and match them and have a nice library to build diverse materials from.
When building the shaders in unreal I also felt quite at home. Not constrained by performance and with previous knowledge, I did a few interesting things. I build a shader for the terrain that blends my materials but also scales them according to the distance from the camera. This eliminated tiling in the distance. I also made a few height based calculations to make materials that are in contact with water appear wet (simpy by boost roughness, tinting the albedo abit and throw some metallic in there). This last one I also incorporated into all the shaders, so plants rocks and props get wet when near the water. In the terrain I also build in some extra tessellation and just for kicks I also constrained it to the camera distance so you don’t have waster triangles far away. Other materials like the rocks and trees also got some tessellation. The rocks also change tiling based on camera distance.
Compositing the Scene
You should always block out your scene as early as possible. It gives you an idea of the type,size and feel of the assets and props you will need.
I already got the reference and as soon as I had a few rocks and a tree I started editing some terrain and placing some stuff around. Things changed as assets were getting ready, but it remained along the same lines till the end.
Since the scale of the scene was on the big side, I used a lot of procedural type placement. The big boulders and cliffs I placed where I needed them, and I placed trees along the path to get the focal point of the scene. A lot of the trees outside I painted using the foliage tool. Same goes for some of the on ground smaller rocks and most of the mid size plants. The small plants I placed using the clutter system of the terrain auto generating my small plants on grassy texture. This gave me nice and full feeling. After most of everything else was done I also painted the ivy plants around the rocks using the foliage tool, the ones of the building I placed manually.
For non-organic props I didn’t dispense too much effort as it was a foot note not the main focus of the scene. Still having the structures there gives this overall complete feeling to it all. For the monastery I made a few quick major shapes in max and then quickly detailed them in zbrush. Each one is using a tiling texture for detail and a unique normal and cavity/ao for some detail. In engine I also covered it with projection decals. Same goes for the railings along the path and the wooden bridge. This is absolutely not an approach I would recommend for anything more than fake props.
Speaking of fake, since my scene was pretty open I needed to make something up for the distance. I didn’t want to close myself in with trees all around. So I quickly made some fake terrain in World Machine, textured it in substance using the height maps and normals as masks for my existing textures (rocks, moss, mud), placed a few fake trees on top and voila, fake in the distance.
I was tweaking the lighting during the entire process, but after I got mostly everything else, I sat down to really find the best condition for my current layout.
I used baked lighting, although I did want to use realtime plus VXGI, but because I needed to compile a new unreal version for it to work I decided there is no time as it is. For the sky I used a cubemap, again a compromise from my initial urge to try TrueSky, but again the time I would have needed to make it look as I wanted it, would have made it unfeasible. This is just to show you that sometimes to keep a tight focus on your current task you have to make some concessions.
After stopping at the right time of day, started the post process tweaking. This took longer than I expected and maybe not really finished even now. I was using the tried and true method of tweaking a LUT map in photoshop, but also some in engine post effects as well. Along this I was tweaking the AO, AA and other technical things to my liking.
Finally I was missing some mood so I used some particles taking advantage of the new volumetric fog of UE4, and placed some mist low to the ground.
Building a fully featured scene in about 5-6 weeks from scratch is a challenge for anyone. This I feel is the best way to learn new things, push yourself and get a perspective on aspects of game art production.
The main strength of the vegetation and plants course is, it condenses a lot of important aspects for all environment artists into one. This is not just a how to make a plant course, this will give you an idea how to build a scene from zero, in a professional environment for any kind of art direction.
Most important things to take away aside from techniques in the software, are time management and focusing on the bigger picture and final goal.