If you go for Unity and Biomes, as you wrote in your article, please do support Vegetation Studio Pro. Your work is awesome, can't wait to see it on the store.
Great breakdown of the process and optimization, thanks for sharing.
This article just not only provides great tools for level design. It's also useful vocabulary to express ideas with our team. https://xbeasts.blogspot.com/2018/12/Remove-Wall-Decals.html
Can Durmaz was kind to share his environment workflow and tips for creating organic vegetation and landscapes that will work even for the beginners and low-budget projects.
Hello everyone, my name is Can Durmaz. I’m working as an Environment and Lighting artist at Massive Crystal Inc. We are developing a game and at the same time, I am preparing special assets for the markets of the game engines.
Everything for me started with CryEngine 2. I was 15 back then and I was just making a mod in the beginning. I learned artificial intelligence, then gameplay and web-based programming languages. I continued as a programmer for a while, but I couldn’t enjoy what I did. I was thinking of entering the arts field, but I didn’t know anything about modeling. One day I decided to try and since then I’m an environment artist. And I’m in love with this job because I love nature
I didn’t take any special training, but I followed up with the masters’ workflows and quickly caught up. Thank you very much to all of them and special thanks to these artists: Tom Deerberg, Patrick Gladys, Clinton Crumpler, Rogelio Olguin and Bradford Smith. And of course, this platform where valuable information is gathered was very helpful, too. My new goal is to buy two courses in CGMA and improve my knowledge even more.
Before the Start
Make a plan before every work and stick to the plan. It is important to work in design and programming with a plan. Decide what you want to do! Take a note. Which type of biome you choose, which plants are there, the type of trees, cliffs, rocks etc. Search and get references. I recommend using PureRef as a reference application as it is simple and convenient.
I use two different methods when modeling. The first one is to create high poly leaves and branches using 3ds Max. The second one is to create high poly branches in SpeedTree, export the materials and do the modeling in SpeedTree.
One of my methods is this:
- Choose the best texture pictures for cutting.
- If you like, create a plane and cutting by shape. Don’t forget to mark the Preserve UVs.
- Detach your cutting area with the polygon.
- Apply subdivide in Modifier List.
- Edit the pivot point.
- Apply shell within Modifier List.
- Use TurboSmooth.
- Use FFD (box) 4x4x4 for the latest shape. Click the Conform to shape button in the parameters under the FFD Box and give shapes from the control points.
- Create a plane that behind the plant. Add a projection from the Modifier List. Pick the plant mesh from Reference Geometry. You need to increase the amount in the push section under the cage tab and move up over the model.
- Open the rendered plant texture (diffuse) in Photoshop and create leaf normal texture from NDO
It is much more practical to do it in SpeedTree after this step. You can develop a much easier workflow for ground plants in SpeedTree 8. I’d say that the main SpeedTree’s advantages are amazing Wind Effects, useful Mesh Tool, and time-saving.
You can also do the same with 3ds Max. If you are going to use 3ds Max, I suggest this training:
- Finally, import all textures into SpeedTree. Click the edit button under the mesh when the import progress is finished. Then come to the generation section to create a leaf mesh, apply the material to the leaf mesh. Give it the shape you want from the properties menu.
As in the ground plants, I first created the high poly mesh and baked in 3ds Max.
After the baking process, I open the diffuse map in Photoshop and pad it with Solidify C.
After that, I moved to SpeedTree 8. Here is the result:
I made my plan first and then selected my references. I was especially inspired by Far Cry 5 when making ponderosa pine. First, I created a leaf cluster in SpeedTree. Be careful when creating a leaf cluster and make sure that the leaves are not too frequent and contiguous. This way the tree will look better in the game engines.
Then I made the trunk and branches of the tree taking into account the actual measurements. LOD creation is very easy in SpeedTree, it is possible to create LODs within seconds.
I made a blocking first. I exported it to ZBrush and sculpted the rocks. Then I converted them to the low polygon with ZRemesher and created the UV map in ZBrush. After doing the baking process with xNormal, I made the texturing in the DDO.
The most important thing about plants optimization is shader complexity – it has influences performance greatly especially on grass and flowers. You have to be very careful to cut the plane. Empty spaces are rendered in the game engines.
Vertex counts may increase, but you should be afraid of shader complexity and quad overdraw, not vertex count. Find more details here:
When it comes to the materials for plants, I like to have many variations. Getting the right result with the Material Instance is extremely enjoyable.
For example, my tree leaves and billboard materials look like this:
I used Megascans for the terrain textures and created packed textures for the good performance.
I mixed AO with the base color in Photoshop.
A displacement map was added to the normal map’s alpha channel, then I selected the green channel and inverted it with Ctrl + I.
The cliff texture was made in Substance Designer.
Moss for rocks:
Lighting and Shadows
Finally, I want to talk about light. Next-gen game engines have GI technologies available and among these engines, I mostly work with Unreal Engine. It is more advantageous to use LPV when I consider performance and quality. I strongly recommend that you use LPV or other GI technologies in the natural field. Of course, you should also pay attention to the performance when doing this. Beside this, pay attention to CSM (Cascades Shadows) for the shadow optimization, reduce CSM distance and the numbers of cascades. You can enable distance field shadows for far shadows. (Edit – Project Settings, Rendering). Thanks to the distance field shadow we have achieved a minimum of 15-20 fps in our game which is quite satisfactory for a natural environment.
My Lighting Setup (these settings are not optimized):
Mind that the things I’ve mentioned above are all a part of a low-budget indie experience. There are only 2 of us developing the game – me and my friend. I wrote this article to provide guidance for the beginners and share my knowledge.
I would also like to share with you some of my stuff made for the marketplace:
Feel free to leave the feedback and questions in the comment section or reach me directly at email@example.com. Thank you!