Tech —

A third dimension: Ars reviews Photoshop CS4 Extended

Adobe has released the CS4 suite of applications just 18 months after CS3 hit …

Updated 3D painting and rendering tools

CS3 was the first version of Photoshop to add a 3D rendering and painting toolset, but both abilities were severely limited. If you are a modeler looking to do your texturing in Photoshop CS3, you can't paint directly onto models, so you have to paint the textures separately. To make matters worse, it's hard to know where your texture seams are, since there's no UV wireframe overlay option. So CS3 is definitely the poor man's texture tool. But Photoshop CS4 is an entirely different 3D animal, and the tools are now much more capable for texturing.

I do quite a bit of work with Maya, so I used Photoshop CS4 in a few 3D projects to see how it fared. Since there are no plug-ins for third-party 3D apps to interact with Photoshop, UV-textured models have to be imported from one of these formats: OBJ, 3DS, DAE, U3D or KMZ. Once the model's imported, you can start painting.

My
imported Maya OBJ file with UV overlay and composite layers created later in
Photoshop.

The texture above took about 15 minutes, and I got very good results cloning directly on the 3D object, using the 2D texture window, or cloning from one window to the other. When it comes time to add complexity to a material, the new 3D Palette has everything you need.

Photoshop
CS3 was limited to changing the material's existing texture channels, but CS4
lets you add them in the 3D Palette.

When you select New Texture from the menu, Photoshop prompts you to create a new document that it will use as the bump/transparency/etc. texture. If there is image data in the clipboard, the values will automatically match the size of the clipboard. This made it easy to create grayscale bump and specular maps for my skull by copying and pasting a color channel to use as a starting point.

The skull now updated with the shininess (specularity) and bump maps.

Once my model textures were complete, I saved them as separate files and loaded them into my Maya scene. The process is extremely fluid overall. I only hope that 3D app developers are able to write plug-ins that will directly interface with Photoshop. Given its wide use, I think there's a good chance of that happening.

Basic UV Editing

If you are new to 3D, and don't know what UVs are, think of them as a malleable grid that you overlay on polygons to tell it how a texture should fit. If you've ever seen a clothing pattern, they're like the pins in the material on top of the pattern. UV points can be moved independently of the polygons, but you have to be careful when texturing a model not to get too much distortion. All 3D packages have UV editing tools to deal with this problem and Photoshop CS4 adds some basic edits itself. If you're not happy with the way your UVs are set on your imported model or if some overlap, select Reparameterize, and you are given two options.

The gist of these is that Fewer Seams makes it easier to clone out the joined areas on the texture, and Low Distortion makes sure that your textures will look more consistent in 3D. If you have too much variation in the UVs, you'll get a nasty mix of stretched pixels and areas with varying detail. Since you can paint and clone directly in the 3D view in Photoshop CS4, avoiding 2D seam joining altogether, it's a no-brainer to pick the default: Low Distortion. I had Photoshop reparameterize my sloppy projection-mapped pig head model to see how it fared.

Before. In my defense, this model was supposed
to look like a deflating bag.

After reparameterization

Since the texture was garbled due to the new UV map, I made a noise texture so you can see that the UVs are laid out to keep the textures well proportioned in the model's 3D space. So back to my model. With my new UVs, it was time to repaint my model. This is where the clone tool came in.

If you are worried about detail, be careful to have the polygons you're painting facing toward you. Since Photoshop projects the brush onto the model, any painted faces that are on an angle will look like this.

Photoshop's
way of preventing too much distortion is to have an adjustable angle falloff.
It was set to 0 and 90° (basically off) for the box example above.

While it's not revolutionary, the significance of cloning from 2D to 3D shouldn't be underestimated—Photoshop is bridging a very wide gap by making 3D texturing that easy and putting it in the hands of many. I can see this is the start of something new for mockups. The wealth of free and cheap models on sites like turbosquid.com will let designers visualize things in 3D without having to know how to model. But work aside, painting in 3D is also plain fun.

Compared to the
professional options

If you are looking at using Photoshop in a pro 3D environment, I wouldn't recommend it over something like Bodypaint 3D. The UV Reparameterize does what it is supposed to, but Photoshop wastes a lot of texture. Without the ability to interactively edit UVs, the portions of my model that won't be in the final render are given as much texture space as those that aren't. For game developers who use almost every texture pixel for memory preservation, Photoshop's UV tools are useless. It's also much slower with large models than Bodypaint is. In the end, the biggest advantage to using Photoshop for texture editing (aside from price) is the ability to have the model data and unflattened textures in one big PSD or TIF file. This is a great way to avoid losing referenced textures, and in professional 3D, there are lots of those.