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.
Jake Dunlop showed the way he created the moss, worked with the shaders and set up the materials in his most recent 3d scene.
I’m Jake Dunlop and I’ve lived a majority of my life in Victoria Australia. I’m currently freelancing although I do actually prefer working in a studio where I can have fun, make friends and work as a proper team! Some of the bigger projects I’ve worked on are Hyper Jam and Grip.
Hyper Jam is an 80’s inspired neon-soaked arena brawler. I absolutely loved working on this game and can not wait to play it with my buddies when it’s released!
Grip is a futuristic combat racer inspired by the Rollcage games from 1999/2000.
The reason why I started this project was for me to further my photo scanning skills and show them off in a similar way that ArtByRens does. I loved how his small scenes were so real looking and therefore I was very inspired. I ended out rendering this image as a test and thought I’d turn it into a portfolio piece.
But after a little while, I thought maybe I should turn this into something bigger. And that’s exactly what happened.
When working on the cliffs in particular I used some Megascans mossy rocks. They were alright, but the shape and roundness of them just proved to make the scene way too smooth. After creating the whole scene with these rocks I was not happy with it, It didn’t really look like much and I knew that if I played around with scale and possibly had sharper rocks then it might look a little nicer composition wise.
Now I should explain that I had to figure out the best ways to speed up the development process on this piece for a couple personal reasons. In the end, I decided to stop scanning my own textures and models and quickly get them from somewhere. I already had a couple Megascans assets in the project so I continued to gather assets from there.
So for the rocks, I go back onto Megascans and the best rock that fit the scene was this nice flat sandstone rock. But it was sandstone, So I knew I had to really heavily edit it for it to work out for this scene. This is the difference I ended up with.
Moving onto materials, I’ll start by explaining the big one, the moss/wet rock material.
With this one, I started with a regular material, But as I worked further on in the scene I kept adding to it. I first added some moss textures that I found on Megascans and edited them in substance designer. I masked those with a vertex color node plugged into a height lerp node. This blends the textures together depending on the height form each height map and what’s great about it is you can use the resulting alpha mask to plug into extra lerps to blend all of your other textures.
I used a slightly different version of that vertex texture blending technique on the rain streaks that go down the rock and the wetness. With those, I didn’t need to blend with height so I just used simple lerp nodes with the vertex color plugged into the alpha input.
As you can see in that image the moss texture looks a little plane on its own, That is why I decided to use the foliage tool to paint on some extra plants and give it depth. Here are some of the little plants I used, They are only about 7 Triangles each, apart from the clovers, those are much higher.
So the way I created the landscape material was by layering 4 material functions (each one is its own material) using a layer blend node as you can see on the left half of the image.
They each have their own tiling amount and one of them (the leaf layer) is height blended.
There are 3 gravel materials: regular gravel, almost flat water and a darker version of the water material. On the right side of the landscape material, that is where I control how saturated the texture is, what color I should multiply it by (so it fits more into the scene) and some tessellation parameters.
Now, the explanation of how I did the water/mud. I simply copied the gravel material, used the AO map inverted as a mask to put a mud color into the cracks between the rocks. I changed the specular and roughness values to be more like water and then used the flatten normal node at 0.95 to make it almost flat.
To get the darker version of the water material I copied the water material this time and simply used a power node to control how much more mud I wanted. After that, I simply darkened the color.
You might be wondering why I have dark water though. It’s to simulate depth. It’s a little hard to tell because it is subtle but here’s an image of all the materials for the landscape. You can probably see at least a slight difference.
I should mention that the reason I went through the route of making the water not actually a transparent plane but included in the landscape was to save more time. I knew it was going to take days to create a nice looking water so I cut that out of the scope with this workaround.
Okay, now a good tip for blending assets together and making sure they feel like they’re in the same image is to keep the albedos all at similar values.
If you see in this image, this is my base color pass, it’s very basic in terms of contrast but that’s the best way to keep it realistic and easily blendable.
A great and very easy way to get extra sharpness and detail in your renders is to increase your normal intensity. Usually normals loose detail the further away you get from them so you could always set up the normal to gain intensity the further away you are. But for this project I just simply use the ‘flatten normal’ node at a negative value to strengthen my normals.
One more thing about a detail that I should mention is if you’re creating a natural environment then you need more assets in there then you think. You need to get some more plants/ sticks/ rocks into the foliage painting tool and paint those around artistically. Once you think you’re done, go get another bunch of assets and place those around more sparingly. Doing this sort of second round really helps sell the fact that there are heaps of different plants around your area, they just don’t need to be the main focus is all.
Lighting! It’s probably the most important thing on the list. You need photo reference and you need to copy it exactly, that’s how you get it to look real. Understand what all the different lights and lighting techniques are an experiment. If you want to know how I’ve done it then I’ll tell you that I actually hardly use the directional light in this piece. It’s the skylight doing all the work. I also enabled generate mesh distance fields in the project settings tab of unreal when starting the project. You’re going to want distance field AO (located in the settings of your skylight) if you want your real-time lighting to look good. Just remember it’s much more expensive than SSAO.
Reflections wise I simply used a sphere reflection capture for the main reflections and relied on screen space reflections in the water which is very cheap and easy because they’re enabled by default in unreal engine.
In this project, I used volumetric fog which I tinted a slight blue color. But I set the view distance to around 4000 so after 4000 units it switches out to the regular height fog. I did this so I could have a green tint in the regular fog that was very far away. I did this because it looked like it had a nice amount of fog but it also looked like some fake bounce lighting was coming off from the green leaves in the background trees.
So I started this project maybe 6 or so months ago just working in very small amounts when I had the spare time (which wasn’t often). Then about one week before I posted it I was working full on 12 hours a day for the whole week to get it done.
I would say the biggest hurdle for the project would have been when I knew I had to scrap basically the whole scene when I figured out those old rocks didn’t look too great. But when I started it again with that one special sandstone rock it started coming together much better then it did before. I’m sure if I didn’t take advantage of Megascans and scanned it all 100% by myself it would have taken months so I am thankful it exists.