Fspy issues

Hey there guys,

I’m trying to setup my camera so I can start modelling this image…

So I setup my Fspy shot like so…

But when I start modelling the basic shapes they look positioned right in the camera viewport but are way off in reality. Am I missing something?

Thanks in advance.

I have tried fSpy several times, and I can never get good results. I hope someone gives you some tips either here or on Blender stackexchange!

The image may have been distorted. There does not appear to be any significant vertical convergence, which is a bit hard to believe for a building that tall. Also the edges are pretty short - even with the magnifier (hold shift while moving the axis points) it’s hard to get accurate axis lines.

Perhaps if you use cubes to model it but take care not to distort the cubes, as you have done here, by only moving faces along x, y or z axis, and get as close as you can to the image that might be the best you can do.

I used the image you posted to set up my own Blender file with fspy, and added a large undistorted cube about the size of the building. Here’s the result.

So the original photo has definitely been distorted to remove the vertical convergence. Or else they used a tilt/shift lens but these days Photoshop is much more likely.

You’re almost there, I’ll show you my steps:

First of all, as others have said, the image is distorted to make the building seem more straight.
See also: https://en.wikipedia.org/wiki/Perspective_control

But that’s ok, because you correct for this in FSpy.

I roughly recreated your setup and this is my result:

As you can see, the cube in the middle doesn’t look like a cube at all, because of the massive X shift of the camera. I reset it to zero and rotated my camera accordingly.

There’s a vertical line running through the blocks in the front, I’ll add it as a reference line in 3D:

The boxes I add have to touch that line, so I use edge snapping and snap them to it.

Duplicating the boxes, making sure they always touch the edge…

Rinse and repeat:

Now you can add additional details like the balconies, or even project the texture onto it:

The real problem in your situation is that all of the following boxes are valid:

This way, you can end up with shapes that look correct from the camera, but are wrong in world space, like an optical illusion called Forced Perspective: https://en.wikipedia.org/wiki/Forced_perspective


In the end I went with this solution from Marko Matosevic on the Sydney Blender FB page…

“Because you need to start with one face and extrude from there. If you are adding a secondary cube, you don’t know where that cube is in relation to the other cube.”

Major brain fart from me, thanks Marko!