Crafting environments in ZBrush
Tom Nemeth explains the processes involved in vegetation creation using ZBrush, 3ds Max and SpeedTree
As with any personal project I undertake, I was looking to do a piece that takes me out of my comfort zone and allows me to learn new software and techniques. I chose a jungle environment because it allowed me to learn more about creating vegetation, and to integrate ZBrush more in my environments. The render is based off a concept design for Uncharted by Eytan Zana, a terrific concept artist at Naughty Dog, who I am a big fan of.
The first step was gathering as much reference as possible, and I kept supplementing that as I moved forward.
The next step was blocking everything out. I set up scale using a reference human figure, modeled basic shapes of the structural components and set up a camera to frame the environment. Having a camera straightaway ensured I didn't waste time modeling elements that wouldn't be seen.
Once I was happy with my composition, I started sculpting out all the model blocks using ZBrush, beginning
with this piece.
It doesn't look like much yet, but I'll show how I sculpted this piece out to be the bottom right wall structure in my render. This is the same procedure I used on all my structural elements, and I made sure to sculpt out all sides of any element that would be repeated, so I could Instance it around, and Rotate and Mirror it to make it look unique.
To start I needed to make a brick pattern to project onto my walls. ZBrush comes with a handy InsertMultiMesh brush called ‘Bricks', which I used to place various bricks onto a box shape.
Once placed to my liking, I used the MRGBZGrabber tool to make a depth map, which ZBrush places under the
Then I reloaded my wall tool, subdivided it about 10 times with Smooth turned off for the first 5, and used Projection Master to place and drop the brick alpha onto each side. I added a layer to my tool before projecting so I could adjust the height of my bricks after I picked up the projection.
Now it was time to sculpt. I used the TrimCurve and ClipCurve brushes to cut away big chunks of wall, then I went in with the MalletFast and MalletFast2 brushes and started chipping away at it, much like taking a chisel to a cement block. This process left polygons pushed around every which way, so I made sure to run DynaMesh from time to time to retain an evenly distributed surface.
The final step was to decimate the model down to a usable polycount to render in vray, although I kept it quite high to avoid using displacement maps.
I decided to use SpeedTree for modeling much of my vegetation, as I needed lots of variation in my trees and plants, and I've also been very interested in learning the tool. I really enjoyed my experience with it, and in conjunction with ZBrush, I was able to add extra detail where needed while still keeping a speedy workflow.
I won't go into detail about the program here, but I can recommend the official SpeedTree youtube channel as a great place to start if you wish to learn more.
The grass was made from just a few modeled pieces done in 3ds Max, then scattered on the ground using Multiscatter.
I also added some tall grass in select areas using Multiscatter with Vertex Paint.
For the ivy I used the 3ds max plug-in, Ivy from Guruware, and procedurally grew ivy on my layout mesh in select areas. I replaced the default textures with leaves scanned from ivy in my own backyard. I also ended up replacing the leaf cards with modeled geo.
Once all the modeling was done, it was time to texture.
The texturing process for the ruins involved making several different masks for each asset, and plugging them into a composite shader to control color, dirt, moss, etc. I used a plug-in called ‘Tension Modifier' for 3ds Max to make the edge mask. The modifier works best on dense meshes, as it uses vertex color to paint the edges of the mesh.
I then baked out the vertex color using render to texture.
I plugged this mask into my shader along with a brick mask, a cracks mask, a dirt mask, and a moss mask. I hand-painted these either in Photoshop or ZBrush.
I used the same basic shader for all the ruins with just a couple of base diffuse maps for stone and brick. The masks add all the detail.
Rendering and compositing
I rendered my scene with V-Ray, lit with an HDRI map. I supplemented this with a direct spot light with cards of foliage placed in front to get some speckled lighting on the forest floor.
Here is the rendered environment before any post-processing and color correction.
I brought the image into Photoshop and composited in Volume light, distance fog, air particles, and foreground trees, and then applied color corrections.
The final touch was grading the image using Magic Bullet Looks.