Wow, that's great. Have to try this out!
Wow beautiful environment. Very thorough and detailed. But I think there are a few images that are not showing up (error?). Is that just me? Interested in seeing those other pictures...
Jack. First of all, I want to apologize for offending you. We published this just to show how the tech could be used. We don't actually care about the message. But you do bring up a viable point, that for some people - this might be an issue, so I take this post down.
Swayam Shah talked about the way he experiments with Speedtree and works with modular architectural designs.
Hi, my name is Swayam Shah. I am a 3D Environment Artist based in India and looking forward to working in the industry. I am currently looking for Internships and Jobs.
So this environment is based on a 3D concept from tabletop-world.com. The setting of the environment really got onto me. It has a good focus that is the house and side props to fill up and tell a story. The most important aspects that I wanted to keep in mind were the volume and the look and feel of the house and how each piece of wood was placed on the model for a reason, be it for support or for design. But I did not just want to finish the model with just the house and the side props therefore, I had decided to set up a forest environment where the house would be set in. Because I have been experimenting with Speedtree and Unreal, this was a good 1 week test environment to experiment on implementation of assets and looking deeper into optimizations.
Speedtree has been huge for me not only in terms of efficiency but also in terms of integration of the trees inside Unreal and also setting up the shaders for it. Defining the volume of the trees and the color scheme is one of the most important aspects for me. Even though Speedtree offers procedurally placement of cards, it does sometimes cause too many dark spots due to light not travelling through or the number of cards being placed intersect. Therefore, I had decided to place many of my leaf cards via hand as it would give me control over the density and also help me with forming good silhouette for the trees.
One great tip that I had learned from watching a GDC Video was if you have a forest environment, you don’t have to add the leaves on all of it. You can fake the look by just placing the bark and from afar it would still look fluffy and realistic along other trees.
Using the modifiers was something very useful like the directional force modifier in Speedtree. It would give nice organic bends to the branches like it would in real life.
So another great information I came across was Mesh forces inside Speedtree. I did not use them in my scene but it is definitely very effective and can give you results on the go. There is a Youtube tutorial describing on how it works. I will try to implement some of this onto my new environment that I am working on now.
Optimization for trees is a must. I setup 3 LOD’s for the foliage. The main asset is around 5k-7k tris while the rest of the LOD fall down to 1-2k Tris. The last LOD is however just a plus sign tree card in the form of billboards which are used for very far distance. Its main aim is just to give the presence of trees and its contribution towards silhouette.
So when Speedtree models are imported, each asset would have its own material, which can be very messy and time-consuming when it comes to compiling and draw calls. So I setup a master shader for bark and another for the leaves. So using instancing I can edit the colors, wind parameters, detail normals, roughness etc. This allows for easier compilation and efficient workflow.
So for the hero asset because there are many small elements, I took a modular approach towards it. The walls are basically 1m x 1m planes being placed using the blueprint in unreal. This allows for easier asset management and is efficient as its only one asset being built in the scene. I had setup a blockout scene for the whole model first in max to make sure its human scale. This was mainly done to figure out the scale and look at the modular pieces that need to be pointed out. This could just be done using photoshop marking them out but I prefer building a basic blockout to get a sense of how the model looks in terms of silhouette, structure etc. So once I have my modular pieces, I got them into ZBrush to add the fine details onto it. I did this for the wood pieces especially, as it was something that pops out the most in the scene.
The textures are created using Photoshop and Substance Bitmap2Material. For the house I had taken a single texture sheet and placed all the main materials in it such as the wood, roof, metal, glass etc. This made texturing very easy as I could use tileable textures and get super fast results. This also helps in easier implementation, as its only one major material texture that is being used for the house, yet keeping the quality.
The Bridge and the rocks were again sculpted and made tileable textures inside Zbrush, and then used as Normals and height map on the bridge. Adding actual geometry of bricks adds more volume and silhouette to it.
The side props have their individual textures being textured using Quixel Suite. They were then packed in as RMA (Roughness, Metalness, AO) and brought into Unreal.
The lights being used are the directional and the skylight. The Directional Light is dynamic and the skylight is stationary. Most of the trees are static meshes and do not need dynamic shadows as it wouldn’t add much to the scene and using baked shadows would do the trick. Having proper lightmaps is very important for clean shadows. Even though Unreal does a pretty fine job of automating the lightmaps for the assets, I personally like to go and do my lightmaps in 3Ds Max as a precautionary measure.
For the Normals to properly show its effect on two sided shader, you can multiply the normal map of the leaf to a two-sided node. This will flip the normals on the other side of the card so that you do not get lighting issues and dark patches on the underside of the leaves.
This Environment was a test subject for getting and setting up better workflows for Unreal. Therefore, it took me a week’s time to setup everything from the model to shaders etc. Using Visual effects and blueprints have been very beneficial and easy to use. It definitely speeds up the process and also helps with optimization.