Abhishek Sharma talked about the nuances behind the UE4-made project called Dock, discussed the asset-creation process, and showed how the shaders for the projects were made.
Hi, my name is Abhishek Sharma. I’m currently working as a Lead Environment Artist at Ubisoft Mumbai. I did my game development course at Frameboxx Jaipur. I have 9 years of experience working in AAA game development and have contributed to projects like Dark Souls 2, Bloodborne, Hyper Scape, Kingdom Hearts III & 2.8, Tekken 7.
The Dock project started as an exercise for creating my custom Auto Landscape Shader. My major focus was to create an automatic system that helps in creating rich lush natural open-world environments, so I started with creating the Procedural Landscape shader with auto foliage system and for creating landscape I have used World Machine. Then, to give this Landscape a unique feel, I have created the Dock area to make it more realistic.
After finishing my shader and landscape work, I started finding references for the dock area. Following are a few references that helped me to understand the size and composition of the scene.
Initially, I did the blockout and finalized its size and placement in the world. The dock is the point of attraction in this project and is big in size, so I needed to give it good texel density. I took modular wooden planks for Quixel Megascans and started constructing the dock using those planks in UE4 just like in real life.
Then I created some props to fill up the dock area like a fishing net, chair, lamp, ropes, crates and took some small props from Megascan like barrel, chain, drum, etc.
The fishing net was created using Marvelous Designer and the ropes were added through the Spline tool in 3ds Max. As for the material, I created a tilling net texture and used SSS to get the right feel.
As for the other props, I followed the basic highpoly–lowpoly–bake–texture pipeline and created them using 3ds Max and Substance Painter.
For the boat, I created two model versions and 4 material versions of boats.
After that, I created some props for boats like anchors, lifeguards, fishing nets, paddles, and some assets from Megascans like chains and small oil containers.
Just to avoid repetition, I have created many versions of boats by adding props through blueprints in UE4.
Additionally, I added the Physics property to the boats to make them float.
Adding Micro Details
I tried to make this environment realistic, so I gave a major focus on adding micro details. For that, I added many small elements like wooden debris, garbage, ropes, chains, decals, dry grass, and moss alpha cards.
Decals and dry glass were downloaded from Megascans and the debris was created in Houdini.
For this project, I had created two shaders that help in adding contact dirt and moss.
RGB Mask Shader
I have created this shader to add some unique details to the dock. I combined the dock planks and took them to 3ds Max to create a unique UV in UV set 2. Then through Substance Painter, I created an RGB Mask.
This shader can blend 4 textures at a time.
To reduce the texture memory, I used a greyscale mask for adding dirt and highlights. Through this, I was able to achieve unique details in modular pieces.
Ground/Directional Dirt Shader
I created this shader to give a feel of contact between assets. So, for that, I have created a Gradient Map in UE4 by subtracting Object position from absolute world position then dividing it with the local bound size of the object. Then I took the Z-values from the output and used them as a mask for the dirt area.
Then I use this material function to blend my dirt texture.
For the lake, I used the UE4 default water system and adjusted its material as per requirement.
Also, I added some VFX fog particles for far water areas.
I tried to set a pleasant lighting mood. So, I chose golden hour time which also helps in getting golden reflection on the water.
I have adjusted the color and intensity (3 lux) then added some light shafts and bloom.
Cascaded Shadow Map
To get the good shadow on the background forest I have increased the dynamic shadow distance of movable light, I found this option in Cascaded Shadow Map in Directional Light.
Sky Light and Exponential Height Fog:
Clouds and Sky
For the sky, I used HDRI which helped me in getting realistic background clouds. The clouds that are moving over the mountains are volumetric.
In post-production, I tweaked a few parameters like white balance, shadows, and tones to make the scene more saturated and lusher.
I have spent around 3 months on this project. My major focus was to create an automatic system that helps in creating rich lush natural open-world environments and try new tools of UE 4.26. I really enjoyed the journey and faced a lot of challenges in understanding volumetric clouds and water.
Feedback is very important to improve overall quality, your mind works best for you, but if you want to show your work to the world, you must apply different points of view and learn from it. Special thanks to my friends for their continuous input for improving overall composition.
You may find these articles interesting