Bring a plane into the scene and subdivide it to your desired extent. For this tutorial, I’ll be subdividing my plane by 100.
The next step is to add a displace modifier to the mixture. However, before doing so, ensure that you have applied all properties (Location, Rotation, and Scale) to the mesh (Ctrl A + All) to prevent it from floating when the displace modifier is applied.
Note: If the displacement map that we’ll implement in a few minutes won’t be reflected onto the plane properly, apply location and scale only and leave rotation as it is.
As you can see above, create a new texture within the displacement modifier, and name it whatever you prefer. Next, navigate to the texture properties tab and select ‘distorted noise’ as the texture type. This will generate a realistic bump, simulating noise in the digital world.
And that’s it. From this moment on, all we need to do is adjust the “contrast” and “amount” values to achieve the desired result. If you like more details, you can further subdivide your mesh.
Once you capture something resembling what you were aiming for, you can bring in your albedo/roughness/normal map sand texture, and that’s it.
Your advertisement can be placed here for $200 permanently. Suggested resolutions: 1800x663 or 1400x1400. Contact us.
Note: You can also use the displacement texture packed with your sand texture if you wish, if you don’t want to go through this method. This method just gives you more control over the displacement shape.
As my plane got bumpier than I desired, I added an additional subdivision surface modifier after the displacement modifier to give it a smoother appearance.
(Optional Read): The reason why the “contrast” value creates such drastic changes is because the displacement texture we created is color-coded in the black/gray/white scale. Adjusting the transition from black to white to decide whether this transition is sharp or smooth, directly impacts the noise/reflected image on the plane.
Final sand result as reference (Viewport Cycles View, does not present the final render)
Render result
Note: If you are tired of watching video tutorials and would like to see more text-based tutorials like this one from me, you can support me on Patreon so I can dedicate more time to creating them.