Final Screenshots (see post on page 3)
(Many of the image-link in this post are broken, have a look at my website for a complete breakdown of the scene)
http://oskarselin.com/forest.html
(original post)
Project Overview
Hello fellow polycount users! In this thread I will share my progress on a forest scene I’m currently working on. If you have feedback please keep it constructive so I can learn something from it!
I will try to answer questions as best I can and will provide breakdowns if you guys are interested. As stated further down this is a personal project so expect some delays between new content-posts.
I will also post the same info on my website:
http://oskarselin.com/forest.html
Project Goals
- This is a personal project without a time limit. Instead of rushing things I will take my time and do everything properly. No shortcuts. (ex sculpting a custom texture in Zbrush instead of using photo-generated textures)
- Research and experiment to find the best method to complete a task.
- Building an epic scale landscape optimised and working in a game-engine.
- Exposing the project early on to other people to receive feedback throughout the entire process.
Planning and Priority
Prio list (high to low)
- Find references for meshes and textures (ex oakleaf, forest leaf-floor)
- Make Pure-ref reference documents for each object listed in Forest Summary
- Build the world in World Machine
- Import the world as a landscape to Unreal Engine 4.7
- Make all the tileable ground textures (ex grass, dirt, leaf-floor)
- Paint the textures on the landscape
- Post on polycount, website and email contacts for feedback
- Make a custom skybox
- Create the rest of the assets
- Block out the world with the meshes
- Place Cameras
- Make a Matinee
- Set the mood with post effects & lighting
Objects, textures & Shaders:Landscape
Build the World Height-Map in World Machine.
Trees & textures
Birch, Maple & Oak Trees in Speedtree
Leaves
Bark
Ground textures
Forest-dirt-floor
Grass-floor
Leaf-floor
Ground foliage & meshes
Grass
Bushes/Shrubbery
Ivy
Flowers
Other unique plants
Mushrooms
Stump
Toppled Tree
Big Rocks
Small Rocks
Vertex-paint shaders
Bark shader with Bark, Mossy Bark, Variation Bark
Landscape shader blending textures with Height-map
Other things
VFX with falling leaves
Parts of forest under water
Different post-process effects and color schemes to create various moods
Vary the color of objects with a texture using world position
Replies
In unreal engine 4.7:
Here is a landscape shader using heightmap output to generate blending between textures. In the example picture i use grass, leaves, small cliff and big cliff textures. The landscape is tessellated depending on camera distance using heightmaps to define the geometry. The small square landscape was created to test the shader on.
Tessellation:
I wanted to get a natural randomness to how the leaves were placed in my texture. First I tried with a scatter modifier in 3ds Max but that did not do the trick. Leaves cut through eachother and it was still visible that I had painted them out. So instead I modeled three leaves; birch, oak and maple. I applied a bend and twist modifier to make 20 unique leaves and also made 7 different color variations for each tree-type. I used MassFX to give each leaf a collission-box, gravity and mass. After baking the leaves and letting them settle on a plane I placed some strands of grass and a weed called ground-elder making sure nothing cut through another mesh. Diffuse rendered in 3ds Max, Height and Normal Zgrabbed from Zbrush.
Tileable rock texture sculpted & rendered in Zbrush, textured in Photoshop.
Zbrush sculpt with two different materials
Grass Texture
To make the grass i modeled a few strands of grass in 3ds Max then applied a Bend and a Twist modifier with randomized settings to generate more unique strands. Each strand got one of four unique grass textures applied. Then i placed them in bigger groups and placed those around a plane. To make the texture tileable i grouped all grass that overlapped the edge and copied them to the opposite side. I rendered the diffuse in 3ds Max and the Normal and Height in Zbrush.
Again, stunning work on everything you did here. I am still amazed by how good your rock looks...
Thanks fadox, it was alot of fun to play around with MassFX in 3ds! Yes you are right, I will see If I can improve the leaves-blend.
(Picture from Ulrich Thümmlers website)
World position coloring would be a very nice alternative yes. There's a very handy function that comes with the UE version of Speedtree. It's normally used to add color variation to foliage, but I might actually try to hook it up to some materials. Also one might try to lerp the same textures without coord offsets but add some variety to the textures themselves.
That grass you posted looks really good btw, is that using bump offsets/parallax?
Thank you Jason! I have used lots of reference pictures for each texture I made. I could put together a big moodboard with some refs i have used and some for the overall feel of the forest. I am aiming for realism but I know some of the textures are looking a bit cartoony. If you figure out what's off please tell me!
@Mauro
I think it worked really good with your texture though!
I think it's the windshader making the grass sway making it shaped like that. Here is the thread if you are interested:
https://forums.unrealengine.com/showthread.php?3268-Nature-Environment-in-UE4&p=65111&viewfull=1#post65111
Moss Texture
I did the moss in 3ds Max using a Hair and Fur modifier. 100 000 strands with some size and length variation were generated. Rendered textures in Zbrush and did the editing in Photoshop. Picture from 3ds Max viewport.
Dirt Texture
I started by sculpting the mud in Zbrush. Then i used a scatter modifier in 3ds Max to randomply place five different rocks and pebbles, leaves, brances and bark about. I then reimported everything into Zbrush for render and finalized the textures in Photoshop.
As requested here are two of my reference mood boards. I have some more optimization to do for the landscape shader and then I will start on the grass. I'm grateful for any feedback!
I put out a camera for this shot and started painting out some mountains. I added a world position color texture to the grass also:
I have just started working on the grass. Here is a first look on the grass shader with the new subsurface lighting. (no light built in these screenshots)
https://docs.unrealengine.com/latest/INT/Resources/ContentExamples/MaterialNodes/1_12/index.html
You can also control the distance for when the tessellation should start and end:
[ame="https://www.youtube.com/watch?v=D6zyUI33FqA"]https://www.youtube.com/watch?v=D6zyUI33FqA[/ame]
I will do a thorough breakdown on the landscape shader later on so stay tuned!
Things I did since last update:
- Rebaked the grass textures, made a new grass mesh and made a new subsurface texture.
- I increased the normal strength for the tileable rock and added small surface noise to all rock normal.
- Made a rock and textured it. I will redo the texture later on. The rock is placed around the scene.
- I worked more on the composition of the shot with dark foreground, normal middle ground and light background. The rocks are also directing the viewer to look towards the middle of the scene where I plan to add a focal point-object/something.
- I added a custom skybox with new cloud formations.
Im planning on doing this next:
1. More rocks + new rock texture
2. Smaller foliage, bushes, flowers
3. Trees
4. Cloud VFX to cover some of the mountain peaks
Cheers, and good luck!
Thank you! I am landscape layer painting it. If set by slope you´d get a hard edge/no nice mask blending, into other materials. I have painted it by hand but it is also possible to import a black and white image from World Machine or Photoshop.
@EpicBeardMan
Thanks! Please don´t hold back feedback even it´s small stuff! I have no issues with remaking/redoing assets.
I am actually really impressed with your landscape shader, the rocks on it look really nice. Same for the rock mesh's too.
I have not had much freetime to work on this project lately. Here are a few meshes I have made since last update. Feedback is very much appreciated!
@Urgaffel: Thanks. Yes you are right! That is an easy fix since I made the tree in Speedtree.
I'd make the atmosphere a bit more blue and I'm missing some yellow or brown in the scene. Weird feedback I know but that's what my eyes are asking for
Very inspiring
Thanks Bruno! I think I understand what you mean. Could you perhaps do a quick paint over?
Thank you Jonas! If you spot anything that I can improve further, please tell me.
@Gadgets: Thank you! I'm not sure it's the best process. It takes more time but I get full control over the materials and how the textures blend together at the seams.
@Batou: Thanks a lot!
@s1dk: I'm glad you asked! I should probably add that info into each picture. Each tree has four LODs where the last one is a billboard. Here are the tri-count for the highest LOD which you see in the pictures above:
Big maple tree: 27k tris
Young maple tree: 5300 tris
Birch tree: 4356
The big maple tree is not actually used in the scene. The shape isn't that interesting and the tri-count is way to high compared to the other trees.
maybe you should create a 4 sided cloverleaf for someone to find i heard it brings fortune lol
@Mathew O: Thanks a lot!
I finally found a couple of hours to continue on the scene. Big thanks to everyone who's commented and helped me improve this scene!
Some minor changes i did today:
- New sun-direction
- Added Distance field shadows
- Tweaked the fog
- Darkened the bark as suggested by "JustGarry"
Do you think the scene still looks flat? I'm having a hard time defining the fore, middle and background, making them distinguishable. I greatly appreciate feedback from a fresh set of eyes. I have been staring at this scene for too long.
Latest screenshot: