0

I have a screenshot from my phone which I want to apply on the 3D looking phone model in Photoshop. I am playing with free transform, perspective transform and warp, but it seems really hard to make it good. Is there any way to automate the process? E.g., maybe select 4 edges of 2d image, and then 4 edges of 3d image, and auto-transform?

enter image description here

(extra, maybe unimportant info:) Layer mask is also included in the phone model PSD:

enter image description here

0
2

There's also a Vanishing Point filter:

  • you create a grid in the filter workspace
  • paste your image
  • move it inside the grid
  • the image is transformed into that grid

enter image description here

However the downsides are

  • the result isn't a smart object: impossible to make changes
  • pain to change layer size (controls are hidden by the grid limits as seen on the gif)
  • not precise, works best for things like 'put a sign on a wall'

I had a lot of tasks like this at some point so I've made an extension for Photoshop — Perspective Tools. It's paid and I'm its author so this as a self-promotion, however for warping the layers it works exactly as you described:

  • I put 4 points
  • I can align these points with perspective lines the extension can create
  • I click warp and it creates a warped smart object

enter image description here

More info about creating warps using it could be found in manual.

1

If it happens that you want your image mapped on the 3D model, not on its flat 2D render as a new flat layer you can meet some difficulties in Photoshop.

But there are also benefits: If it's mapped on the 3D model you can change the wiew and light freely. Here's 2 differently colored and rotated copies of the same phone with the same screen image:

enter image description here

Photoshop's 3D is not intended for this, it's very difficult to control how Photoshop spreads your image on a 3D surface. Small repeating surface texture patterns can be handled easily, but a single big image really need trial and error. 3D design programs give much more control.

But why in the hell to try it in Photoshop? Because you have Photoshop and yo have learned to work with it, but you do not have simple enough 3D program which allows image mapping and renders with adjustable lights and knows also surface materials.

How to do it

Look at the 3D dialog in the next image:

enter image description here

At first I had my 3D phone model composed as 2 different submeshes. C_0 (grey) is the body of the phone and C_1 (green) is the screen. If it was a single mesh keeping the image out of the phone body would be much more difficult due the lack of control.

The phone is an elementary extrusion with some roundings, but without any fine details such as buttons or lenses. It was made in a freeware CAD program by extruding rounded rectangles and by rounding finally the bottom side 3D corners. It was saved as an OBJ file.

For comparison I tried also to place the image on the screen in the CAD program, but it's freeware and there was no way to adjust the light. There's very likely some contrast reducing gloss on the screen. Otherwise the result could well be acceptable for something - at least if there were also common buttons and lenses.

Pasting the screenshot to a planar surface was the simplicity itself - only dragged the corners as far as they went:

enter image description here

Freeware CAD doesn't include to the file exports any UV map data that Photoshop could find and use to place the textures. Photoshop generates its own map. One can affect the process only by setting scaling and offset parameters and asking Photoshop to start raffles and give a new UV mapping. That's in 3D > Reparamerize UVs.

In Photoshop: One thing does definitely NOT happen: Place this selection of my image on that face of the 3D object so that edges and corners fit. It's wanted but just it is left out. One can only try different scaling and offset parameters and hope he finds a combination where the interesting face is taken from a contiguous area of the image and with so high resolution that it pays off to show something as dense as screen text.

I opened the simplest texture (=diffuse) for the screen mesh and tried to set its properties so that a substantial part of the blank texture image (PS generated automatically a 1024 x 1024 image) covers acceptably the visible side of the screen.

I found it's easiest to paste the wanted screen content to the blank texture image and guess right UV scaling and offset parameters until it looks approximately right. It's useful to ask a couple of time 3D > Reparamtrize UVs for fewer seams. It seems to change basic scaling more towards the wanted.

In the opened texture view 3D > Create UV overlays shows as separate layer how PS is going to use the texture image area for different splinters. It's not especially useful because the splinters are accumulated, the same part of the image will be used several times around the mesh and that cannot be changed in PS. I pasted the screenshot image on the area where most of the pieces of the screen seemed to be:

enter image description here

With the next UV scaling an offset settings the screenshot seemed to fit into the screen:

enter image description here

Only the size should be adjusted in the texture image to cover a bigger part of the original screenshot.

About the job:

Placing certain already given photo or other image exactly onto a face in a 3D model as a texture is very difficult. That's totally the opposite of the wanted "automate" thing. The situation could be better if the imported 3D model had the UV map as included. Then one simply would place the screenshot over the right frame. I hadn't such advanced 3D model. Photoshop's own UV mapping happens virtually with zero control.

Conclusion: Either stick with 2D or work with proper 3D software.

You have already 2 suggestions how to do it in 2D. Here is the 3rd: Use Illustrator. If your image is already otherwise ready you can take it to Illustrator with no loss of quality. There you draw with the pen or edit with the direct selection tool a rectangle which is the wanted image frame. Envelope distort with the frame a rectangular screenshot.

enter image description here

In the left there's the wanted image frame (sorry there's no phone)

In the middle there's the screenshot

In the left there's the result of the envelope distortion. To do it bring the frame to the top with Object > Arrange. Then select the frame and the screenshot and apply Object > Envelope Distort > Make with Top Object.

As long as the effect isn't expanded one can adjust the frame with the direct selection tool and the effect can be removed by applying Object > Envelope Distortion > Release.

The effect can be fixed by applying Object > Envelope Distort > Expand.

ADD: It makes no harm if you have a rounded masking frame. It can be grouped with the image and it gets distorted in the same way:

enter image description here

You can also have a clipping mask:

enter image description here

The image is clipped with a rounded and expanded rectangle. The result has got envelope distortion.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.