Learn How to Sculpt and Texture Rocks with Moss for an Environment
Kevin J. Coulman shared the workflow behind the Moss Stone Study, explaining how he sculpted the rocks, focusing on the form, to then add more details like fissures, and talking about how he placed the moss in the stones.
Introduction
Hello, my name is Kevin J. Coulman, and I'm a 3D Artist from New York. I originally studied illustration at Ringling College of Art and Design, and I am currently working as a 3D Environment Artist. In this breakdown, I will explain the process to sculpt grounded and realistic rocks and how to create some organic moss from scratch. I hope you find my approach useful for your own workflow!
Moss Stone Project Goals
The mossy rock scene is part of a nature kit for an Unreal Engine environment that I will be releasing. My goal was to create believable and interesting assets that I could reuse for a full scene. I first began by collecting references for my rocks. I made sure to research the types of moss and sediments I would find native to the environment. I used PureRef to compile and organize my pictures. Once I had enough to move forward, I began the sculpting process.
Sculpting
My rocks started with a rough, freehand base that I created in Maya. I had meshes intersect and didn't worry about topology since the meshes were going to be brought into ZBrush to be dynameshed. I practiced a ton of sculpting before moving ahead. With this process, it is super easy to overwork your rocks. You can quickly lose your hard edges and get a potato instead of a rock, which is not the goal.
On the other hand, you could have the other issue of not breaking up your forms enough and getting something too sterile. It's important to get a balance and nail down your general shapes and forms before noodling the details and adding noise. I recommend practicing if this is new to you. There is a bit of a learning curve, and if you're making a bunch of rocks, I can assure you that your first ones won't look as good as your last few.
When you're feeling confident in your shapes, carve out those edges on the rocks. Put chips where the rock would take some wear and tear. Again, it's super easy to overdo this process, and you could destroy what was working, so save and compare your progress. Now that we covered how I approached the rocks, it's time to get into the moss! Same as the rocks, I begin by blocking out the primitive forms of my moss "leaves," laying them out flat to be baked on a card later.
I made sure to have a nice variation so that I could have some moss that is fluffy, tall, or shorter. This makes it more realistic. For this step, I relied on the snake hook tool to push my forms and made sure nothing was too stiff. After I get all of my moss sculptures completed, I export the Normal Map from the meshes and grab unshaded depth. Then I compile them in Photoshop. From there, I can get my Opacity map, AO, and Normals to use for the cards and move on to the next step!
Texturing
For the rocks' topology, I decimated the rocks to get a lower polycount. I would then go over to Unreal Engine and see how the forms would read. Moving forward with this process can vary depending on the vision for your scene. My goal for this project is realism, so I came to the conclusion that the rocks could use more geometry to keep that extra form detail. If I were going for something more stylized, I perhaps would have decimated more to take advantage of the simplified forms.
Once I got something I was pleased with, I used the UV master to draw where I wanted to cut my UVs. I then head over to Maya to fix and edit the low-poly mesh. While decimating is super convenient, you can get some irregularities on your UVs. This can be resolved by cleaning up your topology. This step is really important since you want all of your textures to read nicely and to be strategic with where your seams appear.
After I make sure my rocks have decent UVs, I head over to Marmoset to bake my high-poly rocks. Make sure there is enough texel density for a tileable texture. After that, I head over to Substance 3D Designer to create my base texture. This will be layered over my bake. Next, I bring my maps into Unreal to make my first rock texture. For this process, I open my node editor for the mossy rock and blend my normals with a MakeFloat3.
This gives me the finalized normals. However, now I still need edgewear, moss stains, and dirt. I accomplished this by making masks in Substance 3D Painter. Each material gets its own RGB mask to layer on. I started with the edgewear mask, which I chose to paint manually. Using generators really helps you get grit fast, but I recommend masking them out further to get something more accurate.
Next, I used a mask and dirt generator for the moss stains. Then I repeated the same process for the dirt. I then add an additional mask on my dirt layer to further carve out where I want the variation. Now for the moss cards, I head over to Maya, where I take my opacity map and preview it on a flat mesh that I subdivided to make my cards. I make sure that the cards have some twists and aren't flat to make them more natural.
Once I get 3 good moss clusters, I bring them into Unreal Engine. After that, I opened Substance 3D Painter to create the moss material. For the moss material, I paint a mask where I want more green subsurface scattering to show. Then I add a subtle dirt layer and mask over that. I brought my materials into Unreal Engine, tested them on my cards, and adjusted them accordingly.
Moss Placement and Other Details
Once we tackled our materials, it was time to think about how they needed to be implemented. I enabled nanite to get the density I was looking for in my moss. This gave me more artistic license to art direct and not be limited by how my level could run. I then used the foliage tools to place my moss. Because my cards were smaller, they were not placed as densely as I wanted when painting, so I ended up utilizing the bucket tool on my rocks to put down a lot of cards fast.
Then I erased where I wanted to clean up my rock. This part of the project is where having the variety in the separate moss materials and cards really paid off. I could get these really nice transitions from long to short moss as a result. To get even more of a natural look, I used the speed tree color variation node in my material editor to achieve a better look.
Once we are happy with how our moss looks, I then add another flat moss material that I made in Substance 3D Designer to be vertex-painted on my rocks. This darker-stained moss will be placed surrounding my moss cards. This really sells the breakup and feels more authentic.
Final Touches and Rendering
I chose Unreal Engine 5 to render because I knew I could really take advantage of the capabilities of Lumen and Nanite. I then start to think of how to compose an interesting scene and keep in mind how I want to present my work. I decided to throw in some ferns I made, and also used some of the pine needles I had for more details and some additional scattering.
I also decided to give the scene some dappled lighting with the pine branches I made, also being recycled here. This part is a lot like painting. Explore by putting elements down and seeing if they read.
Conclusion
This scene was an informative personal project I took on to push myself, and it helped me level up my skills. I really believe your own projects benefit from putting in the extra detail work. I suggest practicing your own rock and moss sculptures yourself. Thank you, 80 Level, for this awesome opportunity, and I hope there were useful tips taken away from my process that can help you achieve your goals!