Love your stuff! thanks for the info. You achieve surprising graphics using Unity which is great news.
is that images related to coc generals 2? zero hour ?
@Tristan: I studied computergrafics for 5 years. I'm making 3D art now since about half a year fulltime, but I had some experience before that. Its hard to focus on one thing, it took me half a year to understand most of the vegetation creation pipelines. For speeding up your workflow maybe spend a bit time with the megascans library. Making 3D vegetation starts from going outside for photoscanns to profiling your assets. Start with one thing and master this. @Maxime: The difference between my technique and Z-passing on distant objects is quiet the same. (- the higher vertex count) I would start using this at about 10-15m+. In this inner radius you are using (mostly high) cascaded shadows, the less the shader complexety in this areas, the less the shader instructions. When I started this project, the polycount was a bit to high. Now I found the best balance between a "lowpoly" mesh and the less possible overdraw. The conclusion of this technique is easily using a slightly higher vertex count on the mesh for reducing the quad overdraw and shader complexity. In matters visual quality a "high poly" plant will allways look better than a blade of grass on a plane.
Leo Brynielsson discussed the production of his nice fantasy wall. He discussed the creation of assets, vegetation, materials, and lighting.
My name is Leo Brynielsson, an aspiring digital artist with passion for creating imaginative environments and settings for games. I am currently studying 3d graphics at PlaygroundSquad in Falun, Sweden. Since childhood I’ve always been influenced by art and games has always been a big part of my life. So I decided that making art for games was the way to go.
It feels like I’m always working on a project, either personal or at school. The most recent “big” project was making the game Voyage. A 2.5D sidescroller game focusing on ambience and atmosphere. We were 12 students and we had 9 weeks. You can see more here.
This most recent personal project of mine started out as a much smaller project at school. We had one day to make a “pedestal”, “platform” or similar. I decided to go for a small environment with grass, stones and an old stone lantern.
It had a nice feeling/vibe and an idea started to shape out in my head. I wanted to do more with this than just a small platform. So, I started gathering inspiration and references to spark my imagination on what to do next. I try to gather as much inspiration as possible at first, making a big moodboard with lots of pictures to get the vibe going. I always have simple ideas at first, making it easy to find pictures. For this environment for an example, I knew I wanted a serene atmosphere, green hills and some kind of oriental structures. When I have all these pictures to take inspiration from, I try to narrow it down as much as possible, choosing the ones that works best for the atmosphere that I’m aiming for. This makes the process less chaotic and more streamlined according to me.
My main refs/moodpics (Tibetan temples and shots from Spirited away)
As previously mentioned, the first thing I do is trying to narrow my vague ideas to one distinct one. So other than gathering inspiration and references, I begin making blockouts in Unreal Engine. So with simple geometry and textures I build all kinds of different layouts, trying different shapes/colors/lighting combinations until I’m somewhat satisfied. During this process I always have my moodboard/references by my side, staying on track. I recommend using PureRef for this, an excellent program with lots of great features.
When the blockout is “finished” I sit back and observe all the different elements. How can I make this as efficient and good as possible? How should I split it up? What parts do I need? etc. So I make a list of what I need, but it’s not set in stone, because I know that I have to be flexible, everything is subject to change. But I know that some parts are vital and will not change very much, so I start making those. It’s almost like playing with lego, starting with a simple pack of legos, then with each new collection, you can build more defined and varied stuff. So with this second collection of assets I build a more advanced blockout, copying, rotating and playing around with what I now have. It’s my way of concepting without painting anything. The vague Idea I had at the beginning starts to become crisp and defined.
The first picture was my first blockout. In the second one, I started playing around with more parts and other shapes, defining the blockout even more – leading to the final structure.
For some reason the grass wasn’t showing when taking high res shots in the editor.
Everything on this project was modeled in 3ds Max. I had three different models for the white concrete, one surrounding the gate, one which was tall and tilted and then the standard, wider wall between the towers. The top (red) part of the wall was made as a separate asset, textured in Substance painter.
The concrete is using tiling textures, one broken one and a cleaner one. I can’t take pride in those, I simply modified textures downloaded from textures.com. So the basic wall material was the clean concrete. To apply the damaged variation of it I used the simple HeightLerp node in Unreal engine. With that in place I varied the clean concrete by vertexpainting the damaged concrete all over the place.
To age it further and add variation I used Decals, adding dirt, cracks and moss. I’ll talk about that more later on.
Doors and overseeing towers
Since I wanted to be as efficient and flexible as possible I made them very modular, the door is using textures from the top part of the wall. The overseeing towers are made using one small plank, one bigger plank, one bronzepiece, one small wall and only one window model is used on the whole structure. This made it easy for me to make different modular parts to play around with and being able to change it drastically. I knew that the towers weren’t going to be in your face, so it didn’t have to be perfect. It’s the same with lots of stuff in this scene, if you’re not going to be able to get close to it, why bother making it 100% perfect? I textured all those modular parts in substance painter, making unique sides so that I could vary them by rotating the parts. I assembled the parts of the towers in 3ds Max, making it easy to modify them, reuse textures etc. Then reimported the model to unreal engine with every update and optimization.
As I mentioned before, I have two tiling textures for the concrete material. On top of that I have added quite a few decals to hide the tiling of the concrete and age the wall further. The decals are simple decal materials using only alpha, diffuse and a value for roughness. The cracks and moss is using normal information too, to create some depth. The textures were all made in photoshop mixing free resources (pictures, brushes) and some painting.
(decals are yellow)
The landscape around the scene was swiftly made using heightmaps. To create a heightmap for mountains/landscape you can either use tools like world builder or paint your own one. When you have the height map, you can import the heightmap directly into the landscape tool in the engine but that was a bother for me since I had already made a smaller landscape. So what I did was I created a plane with lots of geometry in 3ds max, applied the displace modifier, attached the heightmap and increased/decreased the values, then used the optimize modifier to decrease the triscount. Since it’s a plane, it’s already mapped on the UV-Map, so it’s easy to apply any texture. Then I just copied this plane around to give some depth to the scene.
The grass texture was painted in photoshop, made some variations with flowers too. Since grass is quite performance heavy and takes ages to bake I decreased the light map resolution to the smallest resolution and made two different meshes, one standard one and one with more grass. On most places I use the bigger one because it covers more area but uses the same lightmap size as the smaller one. The smaller ones were used on specific places to avoid flying/clipping grass or just to make it extra thick in some areas. To make it fluffy i used the opacity mask function in the material.
The grass material.
The ivy was made in a similar way. I had two models, one with more ivy and one with less. But instead of using the foliage tool I placed them by hand. It was a bother but it felt like I had much more control over the outcome. To give them some color variation I used vertex colors.
The ivy material.
Setting up in UE4
As mentioned, I made a blockout first – trying early lighting and colors. Then I replaced the parts bit by bit, it was a very iterative process and I made sure that It was easy to modify the level if I wanted to.
It’s very rewarding working in engines like UE4, seeing your ideas come to life in an instant by just playing around with some simple blocks and lighting. You can get started pretty quickly, defining more and more with each step. For me, the more difficult part are the technical stuff, creating shaders that works the way you want them to work. For this specific scene though, I didn’t have many hindrances. The biggest obstacle I had was with the foliage, making it performance-friendly but still as thick as I wanted to, making bigger lumps of grass on most areas solved this problem.
Light and effects
I used atmospheric fog for depth and scale. I complemented this by making some extra fog/clouds with particles that are located by the sides of the gate. I did this to frame the gate nicely and give it some extra focus. To push this even further I had a spotlight aiming at the gate making it a bit more intensely lit than the rest. In addition to this spotlight I used a directional light and a skylight.
I also modified the post processing effects quite a bit. Especially altering the colors, giving the scene some extra oumph. I do this very early in the process, sometimes even in the blockout stage and then iterate on it when the need comes.