Soeper Irfan On Kamis, 09 Februari 2017

Hello guys, here's my first tutorial about making foliage asset for game, 
please enjoy it.


Beautiful scene by Alireza Khajehali (artbyalireza.portfoliobox.me)


Since a lot of my fellow artist asked me about how do I made the foliage on the Our Ghost of War game scenes and make it run optimally in the game engine, so I think I should make a tutorial and share some of the tips and tricks from my R&D Environments.

https://forums.unrealengine.com/showthread.php?72655-Our-Ghosts-of-War-World-War-2-Survival-Game

First, let me introduce myself, I'm a Level and Environment artist, I began my career on Game in 2014 with a local Game studio as a Level Artist, my job was making an open world environment with other Level Artist using Unreal Engine 4, the project was called Grimm Odds, it's an Open World Sci-fi survival game, sadly the project has been canceled.

Some concepts from the Grimm Odds that I had a chance to work with.

 Swamp concept art by Francis Goeltner (conceptdojo.com)

Plant and creature concept art by Ken Darmadi (www.artstation.com/artist/kendmd)

The project was fun, I love it. Especially the people that I had a chance to worked with, I've learned a lot from this project especially from my Lead, he is a former Ubisoft Artist, as his junior working close with him motivated me to pursue my art career and keep pushing my limit. After that, I've got some offers from another game studio, all the offers require me to work on the spot. Unfortunately I still a college student at that moment, and I have to finish my education in computer science before fully working overseas. So I missed a lot of chances that makes me feels really sad but also motivated me to finish my studies as soon as possible, and I'll graduate in this year on April, Yeaay! :)

Since I can't leave my university, I accepted an offer from Hanakai a video game company in France, work remotely as a level and environment artist. I'm so grateful to work with them, because I had a chance to work on such a beautiful Game while doing my study.

 Prodigy by Hanakai Studio

www.prodigythegame.com/devblog/

I think that's too long for an introduction, sorry :)

Ok, let's get to work!

Before joining Hanakai, I do some freelance works, one of them is worked with Our Ghost of War project. On this project, I work as a Foliage Artist and here's the breakdown.



 





www.artstation.com/artwork/51dNJ






Using a green channel on the normal map to make a gradient layer






I'm using Maya to make all the foliage assets manually, the reason why I'm not using Speedtree because I didn't have freedom to edit the geometry like I did in Maya and I can optimally control the polycount.










We all know making an Open World game in Unreal Engine is not easy when we have to put a lot of foliage assets that is almost impossible without massive FPS drops. The asset that using Alpha Material for the transparent will consume a lot of FPS on the screen, in that case, foliage asset like trees, grasses, and bushes frequently using Alpha Map on the material. So it makes me curious how to make a good and optimize foliage asset for Game.

I. Maintaining the Silhouette

Since I'm working with LoD, maintaining the silhouette is important. 

Here are my tips to maintain the silhouette.

When I want to create a tree or bush, I've always thinking to divide the mesh into two parts, Inside part and Outside part.






It makes me easier to create LoD for the tree. So I can brutally reduce the inside part on the tree to create the LoD without impacting the silhouette.

The problem comes when I have to create the LoD2 and so on. Because when I've reduced a lot of geometry on the inside part, I can see the holes on the tree, don't worry there are two simple tricks to solve this problem.

First, I increasing the scale on the geometry from the outside part to cover the hole.

Or just simply make a mesh like this on the inside part with the branch texture to cover the hole, looks like a plus from the top view. 




Here are the results







II. Friendly Shader

We can see how complex the foliage shader on the Unreal Engine with simply hit Alt+8 to show the Shader Complexity.



Shader Complexity Mode is used to visualize the number of shader instructions being used to calculate each pixel of your scene. It is generally a good indication of how performance-friendly your scene will be. In general, it is used to test overall performance for your base scene, as well as to optimize particle effects, which tend to cause performance spikes with a large amount of overdraw for a short period of time. (https://docs.unrealengine.com/latest/INT/Engine/UI/LevelEditor/Viewports/ViewModes/)

The keyword here is Overdraw. Overdraw is a common issue on rendering performance. I've found that when I make a grassland, I can see my shader are very expensive. Because rendering foliage such as grass is commonly done using Low-poly meshes and alpha-tested materials. So I realised that I have to add more geometry to reduce the amount of transparent space on the screen.

That is the answer to the question why I'm not simply using a simple plane (not a Canadian rock band simple plan) for the grass and for the leaves because it's more friendly for the rendering performance.

Here's the material for the leaves, nothing fancy. I've always had a motto for creating a workflow or a material "make it simple". 


The three basic textures like green, normal and white it should stay in 16x16 size or you can go even further as small as possible that you can get.



Thank you for spending your time to read my first tutorial, hope it help. Any input or advice are very welcome.

For more artwork can be seen here > www.artstation.com/artist/irfancg