Environment - Forest
This is a forests scene that I worked on during my freetime. I shared the project early on with Polycounts forum and with Linnea Harrison (DICE), recieving valuable feedback along the project. This pushed me to post frequent updates, change and correct things according to feedback. Many thanks to Linnea and polycount for all the feedback! This scene would not be what it is without you!
Here are the project goals I decided on in the beginning of the project:
- 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
This is a list of tasks that I made early on. Almost everything on this list made it into the game.
Some objects wasn't necessary for the scene and therefore not made.
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:
Build the World Height-Map in World Machine.
Trees & textures
Birch, Maple & Oak Trees in Speedtree
Ground foliage & meshes
Other unique plants
Bark shader with Bark, Mossy Bark, Variation Bark
Landscape shader blending textures with Height-map
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
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.
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.
Landscape Height-Blend Shader
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.
Zbrush Tileable Rock
Tileable rock texture sculpted & rendered in Zbrush.
Unreal Engine Landscape
The landscape and how it changed during the project.
Two pictures of the grass mesh and shader. The shader is using a subsurface texture to let light through the grass strands.
First and last screenshots of the landscape.
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.
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.
© 2019 Oskar Selin | Official Portfolio