This is a short clip from an underwater environment I have been working on. Everything, from the rocks and coral to the foliage, is procedurally generated. This means that instead of hand-placing each 3D asset to create a lush environment, I build logic to tell the computer how to place them. I create "rules" that dictate how things like seaweed should grow. For example, they should only be placed around vertical structures like coral columns. Then, I add randomness for the size or shape of seaweed and have them shrink in size as they get further from the main seaweed clump. This process can become very complicated very quickly. It requires studying the natural environment and deducing how and why things grow, and then creating rules for your digital environment that mimic this. By doing so, you can create an entire forest or, in this case, an underwater coral reef without hand-placing thousands and thousands of tiny pebbles.
You can head over to my YouTube channel for a step-by-step guide to my process.
https://www.youtube.com/playlist?list=PLWjyT8uXuDk0WSx1KbsGzjsSod5CISjkd