Send Your Imagination into Orbit with Adobe Dimension and Substance Painter

Adobe Dimension makes it easy to create striking 3D imagery, even if you aren’t a 3D expert. Using workflows familiar from software like Adobe Photoshop, graphic designers can compose, light, and render their own 3D images.

In many cases, the tools built into Dimension are all you need – but sometimes, you may want to take things a step further. Fortunately, Dimension works hand-in-hand with more specialist 3D applications, like Substance Painter, Allegorithmic’s powerful texture-painting software.

In this post, I’ll explore how I used Dimension, Substance Painter, and Photoshop on Future Frontiers, the set of digital artworks I created for the launch of From the Moon to Mars—Apollo 50th Anniversary Challenge, Adobe’s new global art contest.

This isn’t a complete step-by-step walkthrough, but it should give you an idea of how easy it is to use Substance Painter with Dimension to create detailed rendered images.

Preparing the 3D scene in Dimension

The first step in creating a 3D image is to compose the scene inside Dimension. This can be done using stock models, custom-built assets, or a combination of the two.

In this case, most of the assets were created in the 3D modeling package ZBrush. This is how the scene looked in Dimension before I had assigned any materials to it.

The 3D scene inside Dimension. I’ve set up basic lights, but there are no materials yet.

For some of the assets in the scene, I could get good results simply by assigning one of Dimension’s preset materials. This was the case with the ground surface.

Simple surfaces like terrain are good candidates for texturing with Dimension’s preset materials. You can tweak their default settings to get the results you want.

The terrain shown above is a free 3D asset, which is available here in Adobe Stock.

The space shuttles all used the same custom 3D model. This is what it looked like up close.

The space shuttle. You can inspect the 3D model in your web browser at https://adobe.ly/2C5f0Hg.

Assets like these need more complex materials if they are really going to look good. This is where Substance Painter comes into its own.

Create custom textures in Substance Painter

Here’s how the space shuttle looked inside Substance Painter. Substance Painter has its own readymade Smart Materials, which you can see in the shelf at the bottom of the screen. The Layer Stack on the right of the screen works in a similar way to the layers in Photoshop.

Working on the space shuttle inside Substance Painter.

Once a model has been loaded into Substance Painter, the first step is to ‘bake’ the utility textures. When it bakes textures, Substance Painter automatically converts information about the 3D geometry of the model into 2D texture maps. These can be used later to add detail to materials, or to add realism to a rendered image.

These are some of the maps I baked for the space shuttle. The images on the left show the shuttle in 3D space; the images on the right show the corresponding UV layout, after the 3D surface of the model has been unfolded and flattened into a 2D texture.

The Position and World Space Normal maps represent the position of each point on the surface of the model and the direction in which it is facing. The RGB values of the pixels in the texture maps correspond to X, Y, and Z coordinates in 3D space.

The Curvature map shows how concave or convex the corresponding part of the model’s surface is, while the Occlusion map shows how much ambient light can reach it. These map types are very useful for creating material effects like paint wearing away along the edges of an object, or dirt collecting in its crevices, as you will see later in this post.

But before starting to create any textures of your own, it’s important to gather as much reference material as possible. The idea here was to convey a space shuttle of the future, so my inspiration for materials came from existing NASA shuttles like the Endeavour and the Discovery.

Photographic reference for the materials in the 3D shuttle. Photos courtesy of NASA.

As you can see, real space shuttles have a number of different surface materials, like the white coating of the body and tail fin, and the black tiles on the nose cap. The next step was to decide how many of these to recreate in Substance Painter, then color-code the 3D model to show which parts each material would occupy. I did this by drawing masks on its surface. In the image below, each color represents a unique material.

The space shuttle model, color-coded to show where the different materials would go.

Now I could start creating Substances – the name given to the type of procedural 3D materials used inside Substance Painter – for each part of the model. Substances represent a lot of different physical properties of real-world materials, like their surface color, roughness, and ‘metalness’: a measure of how the surface reflects light. They are also usually tileable, which means that they can repeat indefinitely across a 3D surface without any seams being visible.

This is a side-by-side comparison between the Substances I used for the space shuttle and the real-life reference images that inspired them.

The Substances used for the digital space shuttle, with photographs of the corresponding parts of real space shuttles above.

I won’t go into detail about how to create Substances here, but below, you can see some of the materials I ended up with. The images on the left show the materials assigned to 3D spheres; on the right, you can see some of the corresponding 2D texture maps. The bluish-purple images are normal maps, which generate the illusion of the raised and recessed areas on the rendered 3D surface without the need to change the actual geometry of the sphere.

The Substances for the shuttle’s nose cap and surface cladding, and some of their constituent texture maps.

At this point, I could replace the color-coded areas on the space shuttle model with my new Substances, reusing the masks I had drawn earlier.

The space shuttle asset with the base Substances in place.

Now I could start to add to add details like painted signs, emissive parts of the shuttle like lights, and – most important of all – dirt and surface damage. The most common giveaway that an image has been created in 3D is that it looks overly clean, so several layers of dirt, scratches and general grunge were needed to give the space shuttle a natural look.

This is where the utility textures I baked earlier came into their own. By using them with Substance Painter’s Smart Masks system, I could recreate the effect of surface wear and tear on the exposed parts of the model, and of grime collecting in cracks and crevices.

The space shuttle with the final materials in place. Much more realistic!

The finished materials were now ready to be exported back to Dimension. This meant using Substance Painter to generate the corresponding 2D texture maps. Dimension uses a PBR (Physically Based Rendering) paradigm, so I used the corresponding preset in Substance Painter, which generates base color, roughness, metallic and normal maps.

Here’s what some of those texture maps looked like:

Base Color

Roughness

Metallic

Special textures, like the emissive map, aren’t generated by default, but they can be easily added to the preset via the Configuration tab in Substance Painter’s Export document window. This window is also where you can choose the resolution at which to export textures: the closer an object will appear to the camera inside Dimension, the larger its texture maps will need to be.

Applying the textures inside Dimension

Back in Dimension, I could easily assign my new custom textures to the space shuttle by selecting the 3D asset, navigating to its material, then dragging and dropping the texture maps I generated in Substance Painter onto the appropriate texture slots. You can see the workflow in the animation below.

Assigning the custom texture maps to the space shuttle inside Dimension.

The last thing to do in Dimension was to render out the 3D scene at an appropriate resolution. PSD is the best file format to use here, as it makes it easier to add the final touches to the image in Photoshop.

Setting up lights in Dimension

I found that the most efficient way to adjust the lights in Dimension is by ‘isolating’ them.

Firstly, I dealt with the Environment Light. I turned off the sunlight (so there was no foreign influence) and temporarily applied a reflective (metal) material to the entire scene. The reason I did that is because Dimension gives me a real-time reflections preview. Using a highly reflective material allowed me to clearly see how the IBL was going to affect the scene objects. From there, I adjusted the IBL rotation and intensity.

In this particular case I wanted to depict a dramatic environment with little atmosphere, so the Environment Light was a very subtle choice.

Then, I adjusted the sunlight in a similar fashion; I turned off the Environment Light and assigned a basic matte material to the scene. This time, I wasn’t interested in the reflections, but rather in the shadows produced by the direct sunlight. Having a matte material helped me focus solely on the shadow properties like their orientation, length, etc.

After adjusting all of these properties, I was finally ready to combine both the environment and the sunlight in my scene.

Post-processing the render in Photoshop

Almost every render goes through a certain degree of post-processing. It’s much quicker and easier to fine-tune an image in Photoshop than it is to have to keep making adjustments in your 3D software, then re-render the scene each time.

Common post-processing operations include:

It is also possible to create the look of atmospheric fog by using a depth pass: a special render pass generated in Dimension that represents the distance of each object in the scene from the camera. You can see how to use it in Photoshop in the animation below.

Adding atmospheric fog to the scene inside Photoshop using a rendered depth pass.

And that was that. The final image looked like this:

It’s a perfect picture of space shuttles in flight above an alien planet, created in Adobe Dimension and Adobe Photoshop, working seamlessly with Substance Painter.