Course overview Course overview
Creating plant design and vegetation
During this course, students are going to create an environment for games, with a heavy focus on vegetation and plants. Over the course of 6 weeks we will be going over the creation of plants, trees, rocks and a few blend textures, importing them into the Unreal Development Kit and composing a final, lit scene. We will be using various tools, including: Maya, Zbrush, Substance and the Unreal Development Kit to accomplish our goals. I will provide my own examples and help the students to narrow their style and focus on specific details that will help to create a stronger final piece. We will discuss colors, composition and shape language in order to form a cohesive look. This will serve as a valuable learning exercise which can then translate directly to modern studios. At the end of the class, students will have a final piece which can be used for their portfolio and a knowledge that will serve as a great foundation for their careers in games.
Environment design WHAT YOU’LL LEARN
The more you know, the better.
Taking your skills to the next level
Lectures by Jeremy Huxley
Jeremy Huxley has been working at Naughty dog for over 6 years on the Uncharted franchise, and 13 years in the industry total. He has worked full time and contract in multiple cities and countries around the world. Some of Jeremy's experiences include projects for Naughty Dog Inc., Runic Studios, Flagship Studios, Planet Moon Studios. Previous work includes: Uncharted 4, The Lost Legacy, Uncharted 4, Uncharted 3, Torchlight 1, Pre Production for Torchlight 2.
Vegetation & Plants for Games Student gallery
winter TERM Registration
Nov 5, 2019 - Feb 1, 2019
Christen Smith / Fall 2017
I really don't have anything negative to say about Jeremy, honestly. I really enjoyed this class and gained a lot of new skillsets from it, and was amazed that this was his first time teaching. He has a natural talent in not only his craft, but in delivering it in a digestible manner in class. I highly recommend this class!
Alexander Cowan / Fall 2017
Jeremy was awesome!
Sara Parysz / Summer 2017
Jeremy was one of the best instructors I've had for game design, and this includes counting the instructors I had - - He was always helpful, always kind, and was a wealth of information for both newcomers and experienced artists.
Sahir Irfan / Summer 2017
Jeremy is an awesome instructor! I'm so happy I took this class and I'm happy with what I've learned. -
Joshua Williams / Summer 2017
He's a very encouraging and caring dude. I felt like he really enjoyed teaching the class which goes a long way.
Companies that hire our students
Speak to an advisor
Need guidance or course recommendations? Let us help!
Show us your skills
Not sure if you have the skills, or are you proving you do? Show us.
Growing a Jungle Environment in UE4
Interview with Alexander Cowan
Alexander Cowan did a very cool breakdown, talking about some of the amazing vegetation he created for his ‘Jungle’ environment.
My name is Alexander Cowan and I’m from a small Caribbean island called St.Lucia and I have a master’s degree in Interactive Entertainment from the Florida Interactive Entertainment Academy at UCF. For the past few years, I have been back in St.Lucia where I have worked odd freelance gigs and kept up with the latest workflows. While on my tropical island home I started experimenting with capturing textures of all the lush tropical flora I had around me, developed a custom lighting rig and even did some work for the guys at game textures.
The guys at GameTextures used several material scans I did for them in a little UE4 showcase scene, it wasn’t anything super complicated but looked cool and was the catalyst for me to start working on a foliage-focused environment. While planning my scene I came across Jeremy Huxley’s CGMA Vegetation for Games class, the environments in the Uncharted series was always a huge inspiration and I thought it would be awesome to take a class taught by one of the people who worked on that series. I was indecisive at first and the class even appeared full at some point, but when a spot became available a few days before the beginning of class I jumped on it. My goal was to create a lush tropical jungle scene and actually finish it which I’ve had problems doing in the past.
Jeremy had us collect lots of reference to the type of environment we wanted to create and bring it into a style guide. At first it felt like a waste of time to sort through all of that reference, eventually I realized that by doing it this way I was frontloading the decision-making process so I wouldn’t be dedicating time to a poor design and also meant I wouldn’t get stuck spinning my wheels mid-way through the project and possibly not finishing.
I wanted tall canopy trees with buttressed roots, those are a staple for every tropical jungle. When I thought about smaller trees I was drawn to shapes of fan palms and how they interacted with light and I could also use these textures for smaller palms have those larger shapes to play off of for my ground layer plants. Along with the sea of green that was ferns and other small plants I wanted to make some sort of flowers, so I could add pops of color to the scene. I settled on using anthuriums which I have seen growing in the wild and they have a wider than expected variation of color and can grow in interesting clusters.
Ironically for someone who had been scanning foliage, all of these plants were handmade, sculpted and polypainted in ZBrush and baked and tweaked in Substance Designer. There were some plants I would block out the shapes for in Maya, otherwise, I would just start sculpting from a sphere in ZBrush. After most of the sculpting was done I moved onto polypainting. I tended to make a relatively clean and symmetrical version and then I would make a few instances that were warped differently and had a varying amount of damage and decay and then place those on stems/branches and warp further to get a natural result. I baked these down to a plane in Substance Designer where I could tweak colors and create different masks that allowed me to add details construct roughness maps. Bringing the foliage into substance allowed me to export textures quickly and re-use certain nodes over again, instead of manually having to do it in photoshop over and over. This handmade approach may take longer and not be physically accurate as a scanned texture, but you can make anything from things that you don’t have the scanned assets for to plants on an alien planet for which scans obviously don’t exist.
ZBrush was a major part of the workflow and having not used it for a while and never having sculpted plants, it was challenging getting up to speed interface-wise. I was lucky that 4R8 recently came out because using the gizmo to arrange sub tools is easier to than using the transpose tool. It isn’t just transforming objects like a normal 3D program, but the ability to quickly duplicate and deform objects using the gizmo. It comes in amazingly handy when you are placing hundreds of leaves on a branch or a stem.
Creating the Canopy Texture
I probably learned the most from creating my canopy texture. The branches were made by pulling points out of a sphere in ZBrush and then dynameshing. It was tricky to get accustomed to but was extremely fast and provided nice organic detail. Then for the leaves, I made a few different leaf sculpts starting with a “perfect” version I would duplicate warp differently and add varying levels of discoloration and decay. Then I made clusters of them on a stem-like in my reference photos and then places those on my branches. When I stepped back and looked at what I had done, it was horrible. The clusters of leaves looked like the same little sticker all over the place. I then started making the clusters look more natural by warping them and removing random leaves. I then realized I wasn’t overlapping the leaves on the branches, so I fixed that, and the texture looked much better.
I also kept cognizant of the amount of negative space in my texture. Too little and the tree would look too sparse, too much and the cluster would just mix together in a blob and I wouldn’t be able to generate that nice full layered look, it would also block too much light from hitting the jungle floor which was important for my scene.
Most scenes have rocks, but since the course was focusing on foliage we needed to make a pretty versatile rock. I sculpted my rock in ZBrush I made sure it had interesting large and medium shapes and looked good from multiple different angles. I avoided putting in any micro-detail since when this rock was brought into the engine it would rely on a tiling detail texture for the close-up fidelity. In the engine, the rock consists of a unique normal map for the large and medium details, and it has a detail albedo/normal/roughness texture which tiles. I also made detail texture tile more as the object was scaled so the detail would be consistent even between differently scaled rocks.
Everyone in the class had to make some sort of focal point or story detail for our scene. I had had my ruins blocked in for quite awhile before I even attempted doing anything with it. I made a shader which blended between a plaster material and a damaged/stone and mortar sort of material. During the class, the foliage was the focus so I left the ruins basic with a nice blend material. After the class, I spent way too much time fiddling with different methods for making the ruins. I sculpted and baked a bunch of stones to alter the silhouette and modeled and UVd the broken edges in a way to minimize seams. When it came to placing the model in the scene, most of the meticulous work I had done ended up covered by ferns and served as a lesson to spend time working on the right things.
For the jungle floor, I created a ground plane and exported this from Unreal into ZBrush where I sculpted it to flow more naturally among the larger objects that had already been placed. I then remeshed this into a lower polygon count and re-imported this back into Unreal. This is how Jeremy covered it in the course material because building and applying a shader network, was easier to do on a static mesh than terrain but object, but we were free to use whatever method we were most comfortable with.
I left applying the textures to my floor rather late in the process. In Substance Designer, I made 4 different types of materials for the ground. There was a muddy ground material, a rocky material, a loam/fallen leaf material and a grass/moss material. My grass material was really a moss material but the way it was made could pass for either.
The other materials all built off of each other, first I generated some rocky sort of shapes and then blended them into a mud base. With the mud, I used the same rock shape generator but at a much smaller scale to have pebbles sunk into the mud. For the loam texture, we imported a few of the alphas of leaves we had already created and scattered them along the surface in different layers so we could build up the organic material. I do think that these textures could be pushed further, but this was a case where they were good enough and I didn’t waste time agonizing about small details that probably won’t be noticed in the end like I ended up doing with the ruins.
For the initial blockout, I used the larger objects like the trees and rocks to get a feel for the scene. These weren’t even textured or fully fleshed out modeling-wise, but it was important to get the larger forms looking good.
As I completed my first plant type I tried to place them and see how they would look, but there is only so much you can do with 1 plant, but this led to a happy accident. I had been messing with the slope settings in the foliage placement tool and decided to try to make these plants grow on walls, it looked strange at first but when I set a low value for aligning max angle, I got these awesome looking plants growing up and around the trunk of a tree which I ended up making a focal point of the scene. Now this isn’t very optimized since my plant was radial in design there were always going to be a bunch of leaves intersecting the trunk of the tree and I needed to delete the stems of the original plant model, but you couldn’t beat the visual payoff for such a quick and dirty method.
Dead Things & Variation
When my library of plants was built up I started all over with placing foliage. Placing the larger plants like the palms first and progressing smaller attempting to create more visual interest. As I placed more plants, I realized the scene came to life when I placed flowers and plants with dead or dying parts avoiding the monotone sea of green. I had to consider this with reference to my fan palms. Much of the images I did have, showed plants in botanical gardens that are well manicured. My scene was supposed to be quite wild and simply adding dead palm fronds hanging off those trees gave them a more interesting shape, and color variation and added to the believability even though my scene and most of the assets in it are quite stylized. I used this effect making a quick and dirty dead version of my fern which I used to drape over the edge of the ruins and from ferns that were growing on the sides of trees.
I used a few different methods to get variation in my plants, mostly I painted dead bits directly into the texture but on something like my Kapok canopy texture that wasn’t practical with so many leaves. I did make different versions of leaves that from a distance ended up looking similar and blending together. I baked that mesh in substance designer with a mesh ID mask using the random option and I converted it to greyscale and used that as a mask to blend between a browner version of my albedo and could simply rebake if I didn’t like how the mask looked.
On larger assets, I got a lot of mileage out of blend textures. My ruins shader blended between a 2 material sets as I mentioned before, but I also blended in moss and lichen. I used this moss and lichen shader on all the larger assets like the rocks and tree trunks. This not only allowed me to vary the look but to ground the scene better, having moss painted into places that would be damper than others or as a base that ferns or other plants could sit on.
Since most of my foliage was hand-painted and not strictly PBR values, I had to tweak things on the fly but this was easy with substance designer being a hub for all my exporting. An important aspect of my scene was having that translucent leaf effect. I used the built-in 2 sided foliage shader to achieve this and made masks for certain textures so things like tree branches wouldn’t be shaded as translucent.
Technically the lighting setup of the scene is very simple, it is baked down using lightmass with a single directional sunlight and the number of light bounces increased a bit. More importantly, I am using volumetric fog which adds a lot to the feel of the scene since most of it isn’t lit directly. The streaks of light through the fog create a cool dappled lighting effect on the jungle floor and looks even better in motion after I added some simple vertex wind to the plants. Towards the end, I added a post process volume that upped the saturation and contrasts a bit for my final images.
The whole scene runs in real time in UE4 and while it was intended to be a high fidelity showcase and it runs well on my pretty decent machine, but there were some foliage specific optimizations that I kept in mind when building my assets.
A real killer of foliage heavy scenes is overdraw, which is the area where blank space on foliage cards overlap. I tackled this by spending a few more polygons following the silhouette closely to avoid as much empty space within reason.
My plants were for the most part quite low poly so I didn’t bother doing any LODs, but in production, I would end up doing them, especially for the short ground plants which would typically be obscured at a decent distance anyway.
I appreciate being able to share my scene with you guys and hopefully, I have more scenes to share with you in the future.
Vegetation Creation Techniques for Games
Interview with Samuil Munis
Samuil Munis shared some techniques on the production of awesome vegetation 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
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.
Creating Natural Landscapes for Games
Interview with Fernando Quinn
Fernando Quinn talked about his work with the preparation and use of vegetation in environment production.
Hello! My name is Fernando Quinn and I am an Environment Artist currently living in Brazil. After three frustrating years in school trying to get a degree in Electrical Engineering I decided to drop everything and try to figure out what I really wanted to do with my life. That’s when I started to take a closer look into the 3D and traditional art and realized that that’s what I wanted to do going forward. That was in 2012. Since then I have been learning 3D by myself, studying traditional art, doing some small jobs in the advertising industry and I also got a degree in Graphic Design. Recently I have decided to focus on real-time art for games and I am at the moment looking for opportunities to work for a studio to keep improving on what I love to do.
Planning the Environment
This piece was done for Jeremy Huxley’s Vegetation & Plants for Games class at CGMA. While gathering some reference and inspiration for it I decided from the beginning that I would be going for a warmer color in my composition. With that in mind, I was able to art direct every aspect of the scene to warmer tones instead of straight up color picking from the references. The lighting with the sun coming down with just a slight angle from the top also helped setting the mood by establishing the time of the day being captured by this piece.
Some of my inspirations collected at the beginning of the project, also with my initial color key
I have always wanted to create an open environment with lots of trees, bushes and plants, but making this without knowing the best approach to the process can be a little intimidating even when you have an idea of what you want to achieve. It’s funny, because when I started this piece my initial plan was a lot different from the results I got in the end. My scene evolved during the process, ideas changed even though the base concept — a forest with lots of vegetation — remained the same.
When I started this, I wanted to create a clearing in a forest with an old mill as my main focal point. I started blocking the scene to get an idea of the initial placement of assets and while doing that I got a happy accident with a very large rock that was helping a lot with my composition.
Initial blocking in Unreal Engine, with some rocks and trunks. You can see the mill that I intended to create
The mill block remained in the environment until almost the end of the creation process, when I decided that due to time constraints I wouldn’t be able to make it in time and also because the composition was working really well even without the mill in it. For me it was really hard to let it go, but I had to and this is all part of the process. It was also very challenging to make this piece since at the same time I was learning all the ins and outs of the Unreal Engine 4, as this was my first piece that I brought inside the engine.
After the initial composition being established, it was time to create the assets. Every asset in this scene was created by modeling the high poly either inside Maya or ZBrush, then baking down to a low poly and texturing it using Substance Designer. All assets are using tileable materials with the exception of the leaves and branches which I will explain the process more in-depth later.
Rock creation process
The rocks were one of the first assets I created for the scene since I needed them to determine a good initial composition. When sculpting rocks it is important to think about scale since these assets will be used with different sizes throughout the environment. Keep microsurface detail out of the sculpt, you will have those in a detail map later. You can use varied types of alphas and brushes to help you with your sculpt such as Crackle, ClipCurve, hPolish and others, but my main tools for sculpting rocks are using the TrimSmoothBorder brush and a little bit of Crumple brush with a square alpha. Besides that you should always keep in mind the Primary, Secondary and Tertiary shapes rule, be careful to not over polish your sculpt and also remember to keep flat surfaces around your model.
Rock sculpts in ZBrush
With the sculpts finished, I exported these models as a high poly and also a decimated version to use as the low poly. I imported the low polys in Maya, gave them a UV and after that was a matter of baking the normal maps from the high polys using Substance Designer.
For the rock texture I used Substance Designer to create a simple tileable material with three different variations so I could vertex blend them later inside Unreal Engine: one dry/clearer rock surface, one regular mid-toned material and one darker/wet with some light moss patches on it.
Rock tileables, created in Substance Designer
All that remains after that is setting up a proper master shader inside the engine. Using the ObjectRadius node and multiplying it to your Texture Coordinate you can set up the tileable material in a way that it scales at the same rate that you scale your rock. I used the rock material normal map as a Detail Normal and blended it with the baked normal map. Then I Vertex Blended the rock materials I’ve created with some moss material also created in Substance Designer and that was it for the rock creation process.
Wet and dry moss materials
Rock master material
The first thing I did was bringing some basic shapes of rocks and trunks into Unreal Engine and scattering some of this stuff around in a way that I could work with for my composition. This was very rough, everything would be changed later. Then, I exported this basic blockout to ZBrush and there I started sculpting on a plane to “ground” these blocked assets, always thinking ahead of what I wanted for my scene. For example, I knew that I wanted a small river crossing the composition, so I carved the river shape in the plane and determined its position in the scene during this stage.
Landscape in ZBrush
This ZBrush sculpt is that is seen in the foreground and midground of this piece. For the background I used the landscape tool inside Unreal Engine just to create some shapes that I could work with and later scatter some trees and rocks around. It doesn’t show up a lot for this one, so it was more about just creating something to place the assets on top.
Landscape in Unreal Engine 4
The texturing process for the landscape started with the creation of the materials in Substance Designer that I wanted to Vertex Paint inside the engine. For this I used four materials: one of my previously shown mosses, one muddy ground, one rocky ground and one ground full of leaves.
Mud material used in the landscape
For the leafy ground I exported the height maps from the leaves I modeled for this environment and in Substance Designer finished the material by blending the height maps and giving it a base color and a roughness. The base for this was just some noisy map blended with a perlin noise to give a bit of a bumpiness to the surface.
Ground with leaves and ground with rocks, used to Vertex Paint the landscape
I will separate this in three different types of assets, even though their creation process is very similar: Plants, Trees and Grass/Flowers.
The first thing I needed to do was to decide which plants I would be creating. To do that, I gathered some reference on the vegetation of a specific region in the world that I wanted to portray and loosely base my scene in. This is relevant so that you don’t mix a lot of different types of plants that would never be together in reality, otherwise things might start looking a bit off.
Some of the leaves, after being sculpted, polypainted and layed out on a square in ZBrush
With my reference at hand, it was time to start sculpting individual leaves for some of these plants in ZBrush. My process was basically sculpting the leaves, painting the base color with polypaint, exporting the base color and height maps and then tweaking the texture a little bit in Substance Designer and also creating the roughness before exporting the final maps. While polypainting the leaves, one great tip that I got from Jeremy was using the Standard Brush with a square alpha and also with RGB turned on in order to paint some damage while already giving some color to these areas. After you’re finished sculpting and painting your leaves, you should lay them out on top of a square plane so you can frame the scene and export a perfectly square map from ZBrush. Then you can bring it to Substance Designer to finish the textures. Note that it is also important to export an opacity map to use later in engine.
An example on how the final maps looks like, after exporting from Substance Designer
After the maps are created, it was time to bring them inside Maya (Modo, 3DS Max, etc.) and apply the textures on a simple plane. This way you can cut out the individual cards and create different types of plants from your leaves. For some of them it was needed to model a simple stem to hold the leaves in place. If you need a stem you can create a tileable texture the same way you created the leaves in ZBrush and place it in the corner of your square plane before exporting the maps. You shouldn’t have a separate texture for the stem in order to prevent more drawcalls for each plant you place inside the engine. Since you are gonna scatter a lot of those around it needs to be optimized otherwise it can get heavy very quickly.
Plants assembled inside Maya
There was nothing fancy about the master shader created inside the engine. It was just a Two Sided Foliage shader with a subsurface color again pushing for a warmer tone.
Master shader for the plants
After everything was set up, it was just a matter of scattering the plants around, either using Unreal Engine’s foliage system or hand placing everything if I wanted more precision.
The creation process for the trees was very similar to the plants. For this scene I created only two types of trees: a conifer and a smaller broadleaf and scattered them around. In the case of a dense scenario like the one I was creating it is really difficult to notice repetition if you carefully rotate the trees before placing them next to one another. The first thing was, again, modeling the leaves for the tree, then organizing them on a branch before exporting the textures using the same process used for the plants. I also exported an empty version of the branch on the same texture, so I could have some variation to work with when populating the trees with cards.
Branches organized in ZBrush
The modeling of the trunk and larger branches was just some regular extruding inside Maya using splines to guide the shapes that I wanted to achieve for the trees. After that it was just a matter of cutting the cards from the branch texture that was created before and populating the trees in a way that looked natural — remember to always check your reference.
Trees and branches inside Maya
I wasn’t particularly proud of the tileable bark material I created for the trunks. I definitely needed to work more on it, but I couldn’t find enough time to do it before the deadline of the class, so it ended up staying in the realm of “just good enough”. Sometimes you got to pick and choose what do you think is best to do with your time before it expires.
Bark material made in Substance Designer
I started these by making the base shapes inside Maya. I had already established that I wanted red flowers and some clovers in my piece, so using curves and some extrusions I was able to make them and also make the leaf blades that I was going to need. Like the previous vegetation, I exported these models to ZBrush, polypainted some color and organized them on top of a plane in a way that I could have some smaller and larger clumps of grass that I could use. I made a mistake making them too thin the first time I created the blades (see image below). After I noticed that I remodeled the grass and made them thicker.
First base models, ended up being too thin
After a quick pass in Substance Designer just to get some roughness variation and export the final maps, it was time to cut the cards inside Maya and organize them in varied clump sizes to finish the grass creation process.
Grass and Flowers
What were sort of the biggest advice you’ve got from Jeremy during this course?
Jeremy was an amazing mentor throughout the creation of this environment. He gave me some great advice that helped me achieve the results I wanted. One of the most importants advices that I got from him was to work on my transitions. He kept telling that from the beginning and now I can clearly see how important this is for environment creation for games. Transition from larger to smaller objects, transitions between different shapes and materials, transition between ground and assets, transition between shades and colors on your textures. It is so important to work on this since abrupt transitioning and straight lines completely breaks the immersion and looks very “game-y”. Make sure you also pay attention to how objects tend to cluster in nature, this is relevant when creating ground textures or when placing rocks and grass around your scene.
This class was great to learn the entire process used by industry professionals of one of the greatest studios in the world on how they create their vegetation for their games. There are a lot of great softwares and plugins that help with the creation of trees and plants (such as SpeedTree) but I feel like it is very important to also know how to make this stuff from the ground up. Most of the time you will not have those specific tools available to you and then you will have to do everything by yourself.
Other great aspect of taking this CGMA class is the time constraint you are forced to adhere to. As I’ve shown at the beginning of this article, my initial idea was very different from my results. Due to time constraints I was obligated to alter my focal point, problem solve and figure out ways to make the scene look good even after making changes in the middle of the project. I always want everything to be perfect and this is actually a problem when you’re working under tight schedules. Because of that, it is very important to remember that making your environment look good as a whole is a lot more important than doing that perfect texture or that awesome asset that the player will look at for only two seconds.
Overall, my experience with CGMA has been great and it is helping me a lot to achieve my goals. I had a great time writing this article and I hope it can be helpful to someone. I would love to contribute again in the future!
Creating Mossy Swamplands in UE4
Interview with Meggie Rock
Meggie Rock talked about her latest scenes filled with beautiful vegetation she created with the help of Jeremy Huxley’s vegetation course.
My name is Meggie Rock. I am an Environment Artist from Austin, Texas where I have been working in the game industry since 2013. Most recently, I was at Gunfire Games where we worked on a variety of exciting projects ranging from a soon-to-be released VR game, From Other Suns, to Darksiders III. I’m in the process of moving right now and will be starting at a new studio in December.
This scene was the product of Jeremy Huxley’s vegetation course with CGMA. This was my first time taking an online course. I’m a huge proponent of self-teaching and I was a little dubious if the course was going to be worth it. However, foliage for games is something that I find both fascinating and intimidating, as I’m sure many others would agree. I’ve been wanting to do a purely organic scene for ages, but would get overwhelmed when starting. Or I would get so laser-focused on creating the perfect moss or bark in Substance without actually following through with creating a scene. In the end, I couldn’t pass up on the opportunity to learn foliage tricks from a Naughty Dog artist. The course was a great experience and I’m glad I took the leap!
Organic scenes can lack the structure that man-made and modular environments have. They can be an overwhelming mess, especially at the outset. For anyone doing their first organic scene, I would urge them to keep the scope small. Either do a small close-up diorama or a scene in which natural elements are secondary so that they have a foundation to build on and a clear composition and end goal.
Luckily, the beauty of taking a CGMA course is that everything is broken down into weekly goals, which is a great way to approach any project you’re doing. (Excel is your friend.) Nevertheless, reference gathering and making a style sheet was still one of the hardest parts for me. If I’m not working directly from concept or in a production setting, I tend to work in an ad-hoc method, creating what I need as I go. Composition can also be a challenge since you may not have a focal point to center your scene around. On the bright side, organic scenes are very flexible and fun if you have the patients and creativity. I’m not entirely happy with the composition of this scene, but I did try to be mindful of how the curves of the trees and ground led the eye.
When it comes to resource gathering, websites like Alltrails.com can be a powerful tool. The image quality is hit or miss (you won’t be photosourcing textures from here), but it is a great place to start to develop an understanding of the region you are working with and what grows there. There are locations from all over the world. Of course nothing beats being able to walk out of your door and take pictures yourself, which was my primary approach.
Something I try to remember is that the environment as a whole is more important than any one asset. And in production, making something “good enough” and cohesive is often a more valuable skill than making everything hero quality. Due to the time constraints, I really relied on that and other tricks to finish the environment. Material blends are a useful way to get more mileage out of a few materials. “Unoffensive,” boring textures can be really flexible. I knew that I wanted a world space moss covering the tops of my rocks, so I didn’t worry about over-doing the rock texture.
Lighting and effects can immensely change the mood of a scene or inform visibility, so it’s great to start working on those early. I love Unreal because it is so easy to use the resources they provide. My go-to’s are the dust particle system and godrays (found in the “Particles” project). Now that UE4 supports volumetric lighting, the godrays aren’t a necessity, but they can help highlight layers of the scene if used subtly. For this project I also used Unreal’s fogcard particle (found in the “Blueprints” project). UE4 makes adding these powerful tools to your project so simple and the payoff is immense. Environment art is already so broad, don’t feel that you have to reinvent the wheel.
As for asset creation, I was surprised by how straight forward and easy to grasp Jeremy’s methods were. Foliage isn’t necessarily complicated, it’s just often a long process of sculpting small pieces, painting them, placing and compiling branch cards, and using your cards to create larger plants.
While tedious, sculpting and polypainting leaves in ZBrush gives you a lot of control over the look of your plants as well as how optimized the atlas is. Duplicating a sculpted leaf with a base polypaint lets you easily make variants of different conditions of decay and health. Crumple is great for dried leaves. The rake tool, or a brush with a similar alpha can produce ridges along the length. Deformation tools like twist and soft bend are great to get subtly differences in the normals. When it comes to polypainting a limitation I found was getting color variation without re-painting each leaf. A quick solution I found when compiling my leaf textures in Substance Designer was to overlay a blurred color map (any noise + gradient map + HQ blur) over the imported flat color. You can also overlay a perlin noise over the normals to get more wobbliness if you need it.
I’ve made Spanish moss with SpeedTree before, and while you may have more control, I’ve found it to be a bigger headache than anything. For this project I used Zbrush’s fibermesh for the first time. It gave me great results really quickly. Nanomesh and Fibermesh are both amazingly powerful tools for things like moss and grass and really quite easy to use.
One thing that I do love about SpeedTree is the leaf map maker. It’s very similar to making a tree in the program, but you lock the viewport, turn off any shadow information, and export the resulting image. SpeedTree automatically creates base color with alpha, normal, and specular maps. It’s a wonderful time saver. For example, I was able to quickly add a few leaves to my original leafless branch card with minimal hassle and no rework of my existing branch cards that I had already placed on my tree in 3ds Max. You can also use these branch cards to make small shrubs.
To create things like the tree trunk and branches, I used splines combined with a tapered and twisted cylinder and the PathDeform modifier. To get the gnarly oak tree look I added a noise modifier directly to the spline before using PathDeform.
When working in UE4, I prefer to hand place the trees instead of making them a foliage type. Since they remain as a static mesh, you can still use the foliage painting tool to add things like mushrooms, creepers, and hanging moss directly onto the tree.
Overall, nothing in this scene is that complicated on its own. It’s just a lot of little pieces working together. I hope to keep adding to my foliage library in the future now that I have a better understanding.
Hidden Shrine: Game Location Production
Interview with Emily Henderson
Check out Emily Henderson talking about her early experiments with environment design during an awesome class.
My name is Emily Henderson and I am an Environment Artist based in Los Angeles. I received my Bachelors in Fine Arts with a minor in mathematics from Whittier College. At the time I felt incomplete, therefore I attended Rio Hondo Community College where I enrolled in their 3D Animation program. I quickly and enthusiastically made the transition from traditional to digital 3D art. Understanding the possibility of obtaining a job in the gaming industry sparked a fire in me that is everlasting.
After completion of the Animation program, I began taking classes at CG Master Academy. Taking courses at CGMA has proven to be one of my best decisions. So far I’ve completed Foliage and Vegetation with Jeremy Huxley and Texturing and Shading for Games with Kurt Kupser. Both classes have pushed my artwork to the next level and put me in connection with some really amazing artists. Soon I will participate in their new class The Art of Lighting for Games with Omar Gatica. I would definitely recommend looking into CGMA for any artist who wants to take their work to the next level, or anyone who just wants to learn something new!
I currently work as an accountant. However, through learning and meaningful experiences at Rio Hondo CC as well as CG Master Academy I hope to gain employment in the gaming industry in the near future.
I developed a scene entitled Hidden Shrine while taking Jeremy Huxley’s Foliage and Vegetation classat CGMA. Concepts and ideas are the first step in creating any scene. My idea for Hidden Shrine stemmed from a long time obsession with many Japanese shrines, as well as various anime. I have always been fascinated with the blurred borders regarding man made and the natural environments. I explored the concept of nature winning in a battle against man, and the peace that comes from the revival of the natural environment.
My main tasks included juxtaposing natural beauty with Japan’s manmade environments and cities.
Gathering references photos is one of the most important aspects of creating a solid idea. I put various images together in one .psd file so that I could collectively view them and make sure they fit together. Once I have enough reference photos, I break the idea down piece by piece and form a Style Guide. This is so that the scene become simpler and easier to manage. At this point, I think about what kind of plants and assets I want in the scene, what architectural structures to use, as well as other aspects such as textures, atmosphere, lighting, and color palette.
Blocking out a scene is very experimental for myself. Sometimes I start by sketching around in photoshop, however for this particular scene I really didn’t know what layout would work. Therefore, I began with rocks and tree bases that I knew I could use several times throughout the scene. It is an unnecessary a waste of time to make countless of unique rocks. One trick I use to be time efficient is making a single rock that would look different from multiple angles and placements. I also knew I would radically scale these rocks to different sizes so I did not sculpt any micro detail into the rock. Instead, I kept this as simple as possible, while still showing an interesting silhouette. This is because details can be added later with fairly simple shaders.
Unreal’s Landscape tool is very powerful. This tool was used to quickly block out the terrain and get an idea of what I wanted. Several iterations were made and then scrapped before coming up with something that would work. It feels abstract to layout an area that will be filled with vegetation without actually having the vegetation yet. I found it important to not get too attached to anything since it may not work in the end.
Once I had a layout that I liked I’m always sure to share my idea and get opinions from others. One of the most helpful things for me in making this scene simply came from me asking for help and critique from my mentors and peers.
Foliage and Vegetation
For me personally, foliage and vegetation is best made in Zbrush. I generally used a 2048×2048 document size. This isn’t standard when you open Zbrush but it can be changed at any time. Using a square document makes it easier to grab textures from it when finished.
To begin modeling I break down the plant into its smallest parts. For my cherry blossom tree that meant breaking it down from branches, to twigs, to stems, and then finally to buds and petals. For something simpler, like vines, it only needs to be broken down into segments, leaves, and stems. This method was used for all my foliage. I started by making a single leaf from a sphere. I dynamesh it to something low like 128 or 256. It’s much easier to keep the dynamesh low until I am sure about the general silhouette. Once satisfied with the leaf sculpt, I use polypaint to texture it. Several of my peers used other programs like photoshop or substance painter, I found there was no one right answer. Substance Painter is a very strong program and I use it to texture other, more unique, assets.
From the single leaf, I duplicated and altered it to end up with three or four variations, generally ranging from alive to dead. The variations then are placed around a stem to create sections of the plant. I then arrange sections of plants in the borders of my document, keeping a square setup. I think of it like a UV editor in Maya. Putting a plane behind it will help with this and also allow you to control the color of the background.
The Diffuse, Normal, and Height maps can all be taken directly from Zbrush using GrabDoc. To get these maps, go to the render settings and make sure shadows are turned off. Then set the rendering to flat and immediately you have your diffuse texture! To export the material, go to the Texture tab, then GrabDoc at the bottom. Hit export and save!
You can repeat this process using the normal material to get the Normal map. Similarly you can export a height map by right clicking on alpha and GrabDoc from there. A little bit of editing can be done in either Substance Designer or Photoshop to these exports to make the Alpha, Roughness, and Ambient Occlusion map. For the sake of efficiency in the game engine I like to channel pack my textures. I put the Alpha map in the alpha channel of the diffuse map. In a separate texture I pack my Ambient Occlusion map in the Red channel, Roughness in the Green channel, and Metallic in the Blue channel.
A single plane is created and assigned a new material named accordingly. I then cut out each leaf and bundle and separate into single objects. I like to keep the Preserve UV setting on, it helps when cutting out the segments. Then, vert and edge manipulation is needed to form them into their proper shapes. Maya doesn’t handle alphas very well so I simultaneously work in marmoset to make sure things look the way they should and leaves aren’t floating in mid air.
The majority of the scene will be covered in natural elements, but I needed a few architectural pieces and small assets to bring everything together and tell a story. Everything begins or ends in Maya. The temple itself is built from many modular pieces and a few unique ones. The Torii proved to be a challenge since it was so large. The two Komainu were the most fun assets to model. Prior to this scene I was mainly a hardsurface modeler, so to play around with character-like assets was quite fun. They began as blocks in maya and were then sculpted in Zbrush. Everything was baked and textured in Substance Painter.
Substance Painter has been the absolute best program for both baking and texturing unique assets. It even has options that allow for a streamline workflow right into Unreal.
I used Substance Designer to make all of my procedural textures. I have to thank Jeremy Huxley’s CGMA class for helping me understand Designer, because it was quite daunting to learn on my own. I made a range of fairly simple materials. The Loam material was made from height maps, from my Zbrush sculpts, blended together.
The bark texture was by far the hardest material I’ve made. Node based texturing didn’t come easy to me and it was a challenge to make something so organic through such a mathematical process. Just like any other challenge I broke it down into parts and tackled it piece by piece. There is also a great breakdown tutorial from Peter Sekula that helped fix some of the problems I was having with this material.
Unreal also uses nodes in its shaders. Master materials can be made using maps exported from Substance Designer. A common mistake of mine is to make textures too saturated for real life. Setting up a good master shader in Unreal is useful for changing things like saturation, roughness, and other parameters on the fly in real time. It also allows you to make instances of the same material very quickly and easily.
There are five lights in total in this scene. The most important of these lights was the directional light. Directionality is very important in games and I note that most often it is light that points a player in the direction they need to go. I used that same method in this scene. The most important light was the Directional light that I used this to light up the areas in the background, while leaking through the trees and lighting the path. The best lighting suggestion I was given was to move the light in a way that produced volumetric light rays or as many like to call them “God Rays”. They create diagonals over the scene and make the it feel more dynamic. These rays can only be seen from specific angle situations, which proved to be a challenge, but I made sure they could be seen from the most common and important ones.
Using Unreal’s Detail Lighting render relieved some of the noise and confusion created by color. I wanted the Temple to be the main focal point, but the directional light source comes from behind it. So, I placed a spot light towards the temple and set it to a low intensity to illuminate the facade. Sometimes it’s best to cheat the “real life” scenario and go with what actually looks good.
Challenges and Lessons
My biggest challenge was my tendency to obsess over polycount and texel density. I like to make sure things are technically correct and would make sense in the real world. This doesn’t always work or translate well in a game engine so it was a challenge for me to let go of some of those things and focus on making it look beautiful rather than be technical. Especially for a personal project, things like polycount and texel density just don’t matter as much as the overall image. Letting go of my obsession has really pushed my artwork forward to the next level.
Time was also a challenge. There are many things in this scene I would love to have spent more time on, but I also felt it was important to not get stuck on any one object. Artwork can always be pushed further and is never ultimately finished, but at some point is important to call it done and move on to new work.
Recreating Uncharted's Environments with UE4 and Substance
Interview with Yury Vorobiev
Yury Vorobiev did a breakdown of his amazing fan art environment based on Treasury Courtyard from Uncharted 4.
Hi, my name is Yury Vorobiev and I currently live in Saint-Petersburg, Russia. I received my master’s degree in mathematics and applied informatics, after that dive into 3d art. Before graduation, I had a job as a 3d designer, where I model hi poly ship equipment and create training videos for them. For a start, it was an interesting job, but I felt that I was closer to gamedev. So after this job, I went to an art bootcamp, where we created game-ready character within 6 weeks. There I learned the basics of sculpting, proper hi poly and low poly creating, baking and texturing. And now almost a year I work as a 3d artist.
About the project
I have long wanted to try myself in the environment art and also I felt I needed a stronger portfolio piece to replace older works, so I started looking for some cool concepts and ideas on the internet. I wanted to create a not too big scene, but with a lot of vegetation and also man-made stuff. So what can be better for this idea than not Uncharted, and I dwelled on the idea of recreating treasury courtyard in UE4.
The main goals were to learn more about modularity and environment creation, substance designer for creating tileable materials. And also learn how to make great vegetation, because it is very important in modern games.
I started by gathering a lot of references to have a clear view of all the details and proportions. At this stage, my friend Alexandr (many thanks to him) helped a lot, by lending me his ps so I can make all the necessary screenshots. For vegetation, I found many references of a tropical forest.
For the planning stage, I created Trello boards and calculated the approximate time for each stage. Architecture planning took about 1 month; 1.5-2 months for vegetation; about 1 month for statues; 1.5-2 months for props and texture them; 1 month for Substance Designer; and 1 month for all Unreal stuff.
When the planning phase was over I began blockштп out main architectural elements inside 3ds Max. I started with side columns and built the remaining proportions. I’ve imported everything in Unreal to feel proportions in the game in relation to the character.
Workflow with the assets
My blockout was quite detailed, so I only had to decide what geometry will be baked and what will be left for the tile textures. I made high poly and then baked them. And for the tiled assets, I just added support edges where needed. In light green color I marked all architecture that uses tiling textures.
I wanted to achieve the feeling of a long-abandoned placed. And also to show that there was a fight. And for this, I destroy some of my architectural elements.
For this stage, CGMA class Vegetation and Plants for Games by Jeremy Huxley was super helpful and amazing. I started with sculpting simple grass leaf inside Zbrush. Than polypaint it and made several more. After that, I tweak every leaf a little and bring more variation to the color. And finally with grabdoc get albedo, normal and opacity textures resolution 2k. I also generate AO inside Substance Designer and roughness map from albedo with little tweaks. And finally, inside 3ds Max I joined leaves to form different grass shapes.
Next step was to create some flowers. The technique was pretty much the same.
After that, I started making trees and tree roots. First is a tree trunk. I made them inside 3ds Max using splines crossing each other. And when trunks are finished I started to create canopy same as grass. When making meshes in 3d max I tried to minimize unused texture space on geometry for optimization purpose.
Also, I made several ferns, lianas, ivy, bushes, and more flowers.
For vegetation, I create simple master material in which I can control subsurface color and color variation. Be careful with Speedtree Color Variation, because too high values will cause bizarre variation.
All grass, flowers, and canopy in the scene where placed with unreal foliage painting tool. I use a small hack to paint easier: I made invisible help planes, they only have a collision. And I paint ivy and grass on them.
For the props, I set a deadline for myself about 2- 2.5 months. So I will not be stuck too long on one asset. My modeling approach is based on a low poly workflow. First, i make low poly asset in 3ds Max, then from by adding support loops, I get hi poly mesh. And after that unwrap with UVLayout. For texturing and baking assets in this environment, I used Substance Painter.
For some assets I use parts from my previous works, with them I made Avery sign and capitol.
Other assets built from scratch. I started with unbroken meshes.
When these props were ready I just broke them. Noise modificator was super helpful for this.
For statues, I had a slightly different pipeline. I sculpt them inside Zbrush without diving into the details, i need only what affects the silhouette. Then i use Zremesher, unwrap resulting mesh in 3ds Max.
After that import mesh inside unreal and adjust plaster material with moss blend. That was a lot faster and economical for resources than sculpting everything super detail, bake and manually paint all assets.
I made a fairly simple master material in which I can tweak brightness, saturation, contrast and change color.
All tileable textures I made in Substance Designer. Creating them was a great challenge for me. For the scene, I created cobblestone, marble. plaster, moss, bark, and few different types of ground.
Every texture I start with normalmap. For the bark, I created 3 small barks and arranged them with tile sampler.
For the plaster, I blend many different noises to achieve desired effects.
When I satisfied with normalmap, I move to albedo and roughness. Trying to keep my albedo not too contrasty and not very dark for the proper lighting reason. Later I can also tweak my textures inside unreal with the master material.
I didn't use trims a lot, only for a few elements. Instead of them I set up 2 blending materials inside unreal for ground and plaster. So I can add some variation to my architectural elements and ground
Lighting has always been a difficult topic for me, so I wanted to improve my skills in it. Luckily I discovered super helpful tutorials on youtube called Unreal 4 Lighting Academy. It helps me a lot in understanding more about light, different lighting techniques and post processes. First of all, I turn off auto exposure for better viewing light.
I decided to use baked lighting. Started with directional light and set up the right angle for it. Also, I added SkyLight, LightmassImportanceVolume, ExponentialHeightFog and default unreal sky.
There is a useful function Lightmap density. With it help you can figure out lightmap resolution for each asset. Blue colors – low resolution, green – higher and red is extremely high. With its help I set up all my lightmaps. For all assets, in the shade and in the distance I don’t need too high resolution, so I set them lower, and others I keep in green color. Since I do not need too much light data on every leaf I also keep them pretty low on lightmaps.
I wanted my shadows to be not too dark and also softer in the far. And for that, I use pretty high indirect lighting intensity in directional light and also turn on Area Shadows for Stationary Light. Here is the full setup for it.
Next I setup SkyLight. Nothing too complicated here, just added hdri from epic courtyard, add some color to the light and change lower hemisphere color.
Because I was working on version 4.17 multiple light bounces where calculate not so correct (in 4.18 epic’s fix it) and objects in the shadows where too dark, but this does not happen in real life. So to fix it I downloaded multi-bounced sky lighting by Luoshuang ( https://forums.unrealengine.com/development-discussion/rendering/112827-lightmass-multi-bounced-sky-lighting?140006-Lightmass-multi-bounced-sky-lighting= ) Comparison on RealisticRendering demo. Left – old one, right – with downloaded fix 10 bounces
When I had approximate light settings I setup auto exposure in post process volume. Proper light setup is very repetitive, and so I returned many times to the directional and skylight to tweak some settings. And when I go for work, I left my light to build up. I ended up with this lightmass settings.
After all light setup was finished I proceeded to post process volume and started with color grading. First I try to make LUT’s, but I realized that for me it is not very convenient and I use built-in color grading wheels.
When I was done with color grading I add some more effects.
And as a cherry on the cake, I placed sphere reflection capture where it needed. Not so optimal, but works for me.
When I started making this scene I knew, that I don’t need good real-time performance, so I don’t care a lot about LOD’s and optimization. For example, my pc not super good and I have 12 fps in the scene at 1920×1080 resolution, which is quite good for not optimized scene. And there are almost 6 million triangles. To increase fps I would definitely create 2-3 LOD’s for my assets, especially for the grass and statues, they will benefit most from this. Because of the static lighting light don’t affect performance too much. However lower and optimize some lightmap resolution can help. And too much unnecessary reflection captures will cause fps loss. Also, disable some effects in post process like Depth of Field, Screen Space Reflections will have a positive impact. Setup draw distance for some meshes also would be a good idea.
I hope you enjoyed this breakdown. Thanks for reading and good luck!
Creating an Ominous Scene in UE4
Interview with Ilya Ivanov
Ilya Ivanov did a great breakdown of his Possessed Tree UE4 project.
Hi! My name is Ilya Ivanov, I work as a Level Artist at Sperasoft Studio in St. Petersburg, Russia. Before that, I worked at Trace Studio on such projects as Call of Duty: Infinite Warfare, Arktika 1, World of Tanks and others. In addition to the main job, I do freelance and had an opportunity to work on such projects as Armored Warfare, Skyforge, and Mutant Year Zero: Road to Eden.
I got a master’s degree in electrotechnology in The First Electrotechnical University LETI and during my studies, I was engaged in self-learning 3D graphics, and developing my skills in music and drawing.
Since school, I’ve been interested in the games series WarCraft, Command and Conquer, Heroes of Might and Magic, Disciples, Dungeon Siege. But the undisputed leaders for me have always been such games as Diablo, World of Warcraft and Ragnarok online. In my opinion, fantastic worlds of these games shaped my taste and enthusiasm and inspired me to create environments for games.
Start of the Project
The project Possessed Tree appeared out of a desire to improve skills in working with vegetation since 99% of my entire work was mainly hard surface and it lacked something alive.
Fortunately, I caught a sight of the CGMA course Vegetation&Plants for Games by Jeremy Huxley and I immediately became one of his first students. Feedbacks, skills, advice on composition, sculpting and texturing plants, working with the shape of both plants and stone structures and trees that I received during the course, were very useful and highly affected my project.
My work began with a single concept painted by Marek Madej for the game Witcher 3: The Wild Hunt. I realized that I wanted to create such a scene! I like the Witcher’s fantasy setting, but the game is also very realistic, so this concept was almost perfect for my purposes. There was a lot of vegetation in it, and it also depicts a dark atmosphere that is not so easy to express.
Next, I collected the references for the main elements, which I thought could be in my scene. I decided first to determine the type of the terrain and what plants and trees can grow on it, what materials can be used, stones, various ruins and so on. The main task at this stage for me was not to invent something new but to use what nature has already made for us. For many of my references, I used the Quixel Megascans library, where I found a huge number of objects that were broken into biomes, which helped a lot in my work. I used the library of materials and objects more than once. Many thanks to the team for the great work!
Having analyzed my main reference, I decided that the focal point in my scene would be the tree. I chose a very interesting species of oak – the oldest in the world, which is about 1500 years old!
When I proceeded to the concept piece of the scene, I was trying to stay close to the concept, but as usual, it did not look so good in 3D. I changed the landscape, rearranged the trees, changed the composition of stones. In the beginning, the scene looked like this:
I got a lot of advice from Jeremy about how to work with the composition, how to make an interesting shape of the stone structures and that the scene needed to be built based on the atmosphere and feeling.
Around the 3rd week of the course, I already had a completed block-out level. Using Maya and ZBrush, I created simple trees, branches with leaves and stones to fill the scene. They all were changed later, and only the stones remained untouched until the very end.
As my work progressed, one thought didn’t let me go. I felt that I had definitely forgotten something important.
I completely forgot about any sort of storytelling and didn’t work with my reference correctly. The concept worked very well with the general atmosphere in the scene, but it did not have an interesting story behind it which is the most important part of any environment.
I paused my work and decided to continue looking for an idea and story references. At that time, an interesting artist Ross McConnell caught my eye. He creates maps for tabletop RPGs and in his artwork collection, I found the starting point of my whole story of the scene. In addition to that, I found a couple of screenshots from Hellblade: Senua’s Sacrifice and decided to add some elements from this amazing game to my surroundings.
The idea was the following: the tree grows in the place of the malignant energy concentration and to stop the spreading it was decided to tie the tree down with bewitched chains. The chains send energy to monoliths enchanted to restrain the evil energy. Because of the amount of accumulated negative energy, the monoliths have almost collapsed and could no longer contain the evilness as before and the negative energy slowly began to appear on the surface and form drops of blood.
The foundation was set and the story was described. It was the time to put everything into practice and work on the assets.
I tried to avoid working in the vacuum as much as possible, which means that each asset should have fit the scene and be the part of one whole. I did constant editing of the materials and textures, adjusting light and color in the scene, and so on. This took quite a lot of time, but in the long run, it worthed it. Do not dwell on how it is turning out, but try to make it as good as possible and look at the whole picture, – that was my thought.
Vegetation & Simple Objects
For simple objects, I created a simple M_BaseProps shader that does not contain anything over the top. It allowed me to control the specular level from the red channel Base Color, change the intensity of the color, specify metal or non-metal, change the surface roughness immediately.
For plants, the standard two-sided foliage also gave more control. For SSS, I used the base color texture but reduced the intensity.
Stones are one of the main components of the environment and the main task was not to overload them with extra details and leave enough simple forms that would work in almost any situation. I chose a more angular silhouette to convey an atmosphere of tension and anger.
The same material was made in the Substance Designer and further processed in the Substance Painter.
Also, I made several sets of small stones with a more rounded shape for the additional detailing of the main array of stones.
At first, I made trees and branches in Maya and ZBrush, but it took a very long time and the result was not very realistic. In the end, I decided that if I want to achieve a believable, beautiful and realistic effect, I need to use SpeedTree. And it wasn’t a mistake! I created 4 variations of the trees in one evening and immediately exported them to my scene. There is a very convenient feature in SpeedTree: when importing to Unreal, it grabs and imports materials as well as lightmaps. What a great program!
I used the roots to detail the slopes. I made them with ZSpheres in ZBrush and also used an amazing plugin for creating the trees ZTree by Ignacio Cabrera Peña. Texturing was made in the Substance Painter.
For the leaves, I used a stunning library created by Wojciech Piwowarczyk. The same leaves but blended with the soil material were used for the terrain.
Branches, Bushes & Grass
These assets were taken from the amazing Quixel Megascans library! It was exactly what I wanted to see in my scene: dead twigs, dead branches, dry plants, and the coolest fern. It helped me to save a lot of time, and I’m immensely grateful for.
Making grass was a bit challenging. I took 4 kinds of plant grass, combined them into an atlas with the help of Substance Designer, cut out the geometry by the silhouette and combined it in small clusters the way it works in real life.
To create an atlas I used the Atlaser by Bruno Afonseca nodes.
The idea of adding simple objects like crows skulls and beads was taken from Hellblade: Senua’s Sacrifice.
Shaders for Mossy Objects
The moss was originally made from a photo from textures.com and corrected for the needs of the scene.
The shader was used on the objects where the moss should’ve appeared. I laid it down from above, made a transitional layer, and mixed it with a mask to remove the smooth edges. There is also tessellation only in the moss area and a small push for volume. But the most important thing in the moss is Fuzzy Shading which allowed to give such a fluffy, volumetric effect.
In addition, I added detail normal map because the size of the mesh can vary, and it is required to preserve the clarity and readability of the textures.
As the idea of the scene was formed, I knew that these monoliths should stand out. They are disfigured, cut up by stretched chains, the surface became ashy as the blood from the earth starts to seep through. It turned out very gloomy and cool!
The sculpture is made in ZBrush. The material is the same as that of ordinary stones, plus additional work in the Substance Painter with different generators and masks.
For the chains, I made a simple geometry and processed it in ZBrush. As the Tree and Monoliths were already arranged in the scene, I let the chains go through previously prepared splines and transferred them to the engine with the help of MASH in Maya.
It was possible to do everything with blueprints at once in Unreal but as usual, the smartest solution comes when everything is already done.
The Possessed Tree is the protagonist of the whole scene. The reference itself dictated how it should look: strange, terrifying, interesting.
The basics were done using ZSphere in ZBrush. It helped to keep some kind of angularity of the tree structure. Then I made retopology in Topogun and added more branches in Maya using the spPaint plugin.
The mapping was very simple since I unwrapped it in the UVLayout program and I had only 3 kinds of unique additional branches. UVLayout has the ability to find a similar geometry and unwrap it equally despite the small changes in the size, for example. This saved me a tremendous amount of time!
I made the bottom part of the tree as if someone tore the bark off and it became seen how the blood flowed through the tree.
Thanks to David Chumilla Liccioli for the texture of the oak. Excellent quality scans! I just made small adjustments to the albedo to achieve the color that I needed.
The shader was made based on the super detailed explanation from the guys from Sane. I am very grateful for the work. I believe, a lot of information is mandatory for learning.
My shader came out a bit expensive, but since I wanted to do it nicely and learn as much as possible, I decided to leave it as it was and did not remove tessellation and the ability to draw puddles. I limited tessellation with camera view, which helped to improve the performance.
I made puddles as a translucent material with a depth effect and a slight dithering effect along the edges to remove sharp boundaries.
With the help of the Substance Designer, I created materials for the terrains. There were 5 materials: Puddles, Soil, Soil+Roots, Soil+Rocks, Soil+Leaves. Soil became the main material and further materials were added to it through the heightmaps.
I positioned the shapes on the canvas through a series of tile sampler nodes, mixing different masks and noises, and overlaying / splitting / adding them on top. Various small objects such as leaves, twigs, pebbles were added to them.
The main thing, in this case, is to get an excellent reference and not to be afraid of making mistakes in the process. The more experiments you do, the better result you get. I advise you to look at tutorials from Josh Lynch and materials from Chris Hodgson. They are incredible masters, and I learned a lot by studying their work.
Working with the light took me a lot of time. It was very difficult to achieve realistic lighting with such clouds as I had in my scene. I had to constantly change almost every parameter, the angles of light sources and the intensity of the skylight. But the pain was worth it!
The lighting in the scene is static, with baked shadows to get the best result. All the work with lightmaps, except for the lightmap for the tree, was taken over by Unreal itself and it did really well!
There is a very informative video about the light settings. I advise everyone to take a look at it:
In the scene, HDRi map is used as a source of Ambient Light, Direction Light, and Sky Light. There are no additional light sources. In order to get the most out of the photo of the sky, in the material for the skysphere I used the DeriveHDRfromLDR node.
Volumetric fog hugely influenced both the lighting and the overall atmosphere, bringing volume and depth to the scene. Everything immediately began to feel more alive.
Post-Processing & VFX
The post-processing was the simplest part. I made a small color correction in Affinity Photo, some work with contrast and level, several tweaks in LUT and it was finally loaded into Unreal. I’m a fan of the idea that you need to get the maximum out of the picture without post-processing, and then use it only to polish it a bit.
There are few effects in the scene and they are barely noticeable. They were added to simply emphasize what is already in the scene. I added dust floating in the air and birds flying in the sky. That’s it, nothing serious.
In the beginning, I could not imagine what the result of the project would look like. It gave me the strong boost both in the technical and artistic ways. The CGMA course contributed a lot to the groundwork for my project. I think that it was important not only to work directly with the teacher but also to exchange knowledge with the students from the course. Working in a team is an important part of the learning process!
I want to thank all my friends, colleagues, everyone who left feedback, comments and shared experience with me. Thanks for your support!
A Forest Path
Interview with Rhiannon Catton
My name is Rhiannon Catton and I’m currently a Senior Environment Artist at Capcom Vancouver. I graduated from the 3D Art and Animation program at BCIT in 2007 and was hired at Radical Entertainment as a Junior Environment Artist right away. After that, I was at Blue Castle Games/Capcom Vancouver working on Dead Rising 2,3 and 4.
Over the last year, I’ve been specializing in surfacing/material creation with Substance Designer and ZBrush. Prior to that, I was more of an environment art generalist working on everything from level layout, modeling, texturing, collision and bug fixing. Most of my professional work has been with proprietary engines and toolsets, focused on more urban environments primarily. I’ve always wanted to get a better grasp on foliage creation and organic environments. Having a deeper understanding of UE4 has also been a focus of mine recently.
Forest Path: Preparation & Goals
The ‘Forest Path’ is a scene I worked on as part of CGMA‘s 6-week Vegetation and Plants for Games with Jeremy Huxley course. I spent a couple of weeks prior to the course beginning to take reference photos in various locations in Vancouver.
My key reference shots came from Stanley Park. I was looking for composition ideas as well as specific materials, shapes, and lighting reference. Some limitations were on my mind as I did this: I only had 6 weeks to complete this scene (evenings and weekends while working full-time) so I knew I had to keep the scene small. Game-wise I was inspired by Horizon Zero Dawn and the Uncharted series for the lush overgrowth, foliage color, and lighting. My reference gathering trip to Stanley Park was taking place in January when it is not so lush, so I had to supplement with web reference from Stanley Park in summer. I lucked out one day and took these shots that became my key inspiration for composition and lighting:
I knew I wouldn’t stick to this ref 100% as there would be weekly assignments that I would follow as well as feedback from Jeremy and the other students. I also knew there would be no time to table flip the scene either so I committed to this idea as much as possible.
My main goals for this scene/course was to work on a natural environment, learn a solid technique for foliage, trees, and rocks and gain more experience in UE4.
Approach to the Scene
My approach to this environment was to be 100% open to what Jeremy taught us and to follow the course outline. I was looking to go outside of my comfort zone with this course and try new ways of working.
My regular way of approaching this scene was:
- Gather as much reference as you can. Take your own photos and spend time in the environment if possible. There is something amazing in seeing the light hit surfaces in real life that’s very hard to get from just web reference.
- Refine this reference. Instructor or Art Director eyes on at this stage really help!
- Block out the scene in the engine. I use proxy meshes created in Maya for large elements such as rocks, trees, and ground. Getting basic composition and lighting in early gives me a sense of what I need to build and what will need the most polish. Also getting more feedback at this stage makes it easier to make changes.
This was my first block out for the course using early iterations of plants, trees, and rocks:
Sometimes in a production of the environment, a lot of what comes next is based on time. Do I have time to sculpt this element? Do I have time to build my material sets in Substance Designer? I was excited to see how Jeremy would approach it in the given 6-week time frame.
All of the foliage in this scene is sculpted and polypainted in ZBrush with the exception of the tree trunk which I did in Maya. During many of the weekly classes, Jeremy would demo his technique in ZBrush which was incredibly helpful. I started from a sphere and dynameshed in the large forms. For medium to smaller forms, I used a variety of brushes and deformation. The new transform tool in ZBrush R8 made it so much easier for me to lay out all the leaves and branches.
I used polypaint to rough in the base color. When possible I used scan reference such as textures.com 3d scan thumbnails to color pick. This gave me a nice base for any detailed texture work I would do later on. Using this base and the normal map from ZBrush I created the AO, height and roughness maps in Substance Designer. As the plants came into the scene I saw I needed to tweak the hue/saturation on some – that was done in Designer and a bit in UE4.
Here are some ZBrush sculpts from earlier on in the course:
And some texture sheets:
I went a little heavy with the polycount on the alpha cards for the ferns and branches to get some nice bending. These were used close to the camera.
It was nice not to worry too much about that for this scene!
I used the Two-Sided Foliage shading model in UE4 for all leaf/fern materials. I ended up creating subsurface color maps in Designer to make sure only the leafy parts of the textures were affected.
I wanted to use one rock for the whole scene which meant I had to think about scaling and rotation. I had to make the rock with an interesting silhouette from many angles. I also had to use a detail map so I wouldn’t lose texel density as I scaled it. To begin I sculpted some large shapes in ZBrush. It took a few tries to find a shape that would work for me. I started to chisel in some med detail, keeping in mind I wanted some crevices for moss to settle in. I didn’t sculpt in any smaller detail as my tiling detail map should take care of that.
Sculpt in ZBrush:
I then created a low res version with the quad draw in Maya, UVed and took this to Substance Painter for baking. I decided to add some rough color values in Painter as well: a slight green tint in some of the crevices for moss and some color variation over the whole rock. This was done with color fill layers and smart masks. I didn’t spend too much time on that as I wasn’t sure how much this would read under the detail map.
Next was my detail map which I built in Substance Designer:
I did a lot of experimenting with how this tiling detail worked over the base rock. I am very new to UE4 Material Editor so this was a bit of a challenge. I tried adding some moss with WorldAlignedBlend (moss would appear top down no matter how I rotated the rock in the scene as well as the tiling detail map. I got the rock to a certain point and thought I had better move on to the many other things I had to do for the week’s assignment. I put this on the ‘to-work-on’ list for the end of the class.
As the scene progressed I ended up covering these rocks pretty heavily with ferns and weeds so I left the rock as it was. This is one of those things I know I will come back to after having more experience with UE4 Material Editor!
I did all of my tiled materials in Substance Designer. I can’t describe how much I love this program! I started using it about a year ago and it was a bit intimidating at first. I quickly realized the power it gave me to iterate and build exactly what I want to build and studied many tutorials, basically anything I could find. But it wasn’t until I did the Materials Mentorship with Josh Lynch that I really clicked with Designer.
I’m still learning every day: from co-workers, online tutorials and by opening the graphs that people put up on Gumroad etc.
Here are some of the materials in the scene:
I have some basic guidelines I follow when working with Substance:
- height map first. I aim to get a solid read of the material here. I start with large forms and work my way to smaller detail as I move through the graph.
- roughness map next. This map is so important for surface read. I use the height map to get a basic material separation. There are many fine details that are not in the height or normal map that I will add. Surface scratches, scuffs etc. can make all the difference so I spend a lot of effort here. At this point, I will probably take the material into the engine and review it. If it’s reading as the right material then I will go on to the base color.
- when I first started using Substance Designer I rushed right into the gradient map/picker. I learned valuable lessons from many artists on how to build the base color slowly. I now start with uniform color and then slowly bring in controlled gradients based on specific shapes. Also whenever possible get color samples from scan data.
I had no prior experience lighting in UE4 beyond throwing a directional light in the scene when I started this course so I knew I had a lot to learn. Jeremy showed us a lighting set up from scratch. We used a basic sky sphere, directional light, skylight, and exponential height fog to start. He showed us some of the parameters in each as well as Post Process Volume set up and LUT table creation. This was incredibly helpful to me coming into this with no experience. I was able to get a working set up quite quickly but I spent days trying out different things and watching tutorials. I know it’s just the tip of the iceberg but that basic information got me really interested in continuing my education with lighting. Here is my scene progression from start to current state:
One of the challenges for me was time management and leaving certain assets to work on ‘later’. We had weekly assignments to complete that would keep us on track to finish our scenes. I gave myself the personal goal of posting on Artstation a week after the course wrapped up. That week gave me time to address any feedback Jeremy gave me as well as some input from some co-workers. It also stopped me from redoing and redoing again until I just never posted. There are definitely some improvements I would still like to make but having that hard deadline made me pick my battles.
Another challenge was being a bit of a beginner when it comes to the material editor and lighting in UE4. Jeremy did a great job of teaching the basics and demonstrating the possibilities of the engine. I feel like I have a strong foundation now and I look forward to diving into these areas.
Feedback: CGMA Experience
Jeremy did an awesome job teaching this class. It looked like all the students had varying levels of experience and abilities. He was able to be encouraging to all of us while also providing useful feedback and new techniques. Seeing other students work and progression was very inspiring to me.
Personally, I learned a lot about UE4 as I mentioned above. I also found Jeremy’s ZBrush demos to be very helpful, I tried all the techniques he showed us and it has really improved my organic sculpting in a few short weeks.
This was my first course I signed up for on CGMA. I had a great experience and I am looking forward to the next class that I start at the end of April – Texturing and Shading for Games. Time to explore the UE4 Material Editor!
Thank you for inviting me to do this interview. I always find helpful and inspirational articles on 80 Level so it’s amazing to be a part of it.