Complete fSpy tutorial (all options explained)

Hi everybody,

I’d like to share my new tutorial on fSpy.

It shows the whole workflow and covers all fSpy options.

I believe this is the most complete fSpy tutorial so far.

Besides the vanishing points it explains:

  • what is the principal point and how to determine its position for 1-point, 2-point and 3-point perspective (three different strategies are presented)
  • how to match the proper focal length from the picture
  • how to properly leverage reference distance and the origin to get correct dimensions in Blender

I also talk about some of the common mistakes (and their consequences), such as:

  • trying to set more vanishing points than the image has,
  • trying to „fix” the perspective through modifying vanishing points when the root cause of the problem is a wrong placement of the principal point,
  • ignoring depth in Blender
  • other mistakes leading to incorrect dimensions and wrong location of modeled objects

BTW, this is Part 1 of a larger series called „Build a VR app from a single photo” about Blender, Substance Painter/Designer, Unity (including HDRP lighting, achieving photorealism, application development, performance optimization, interaction design in VR)

I hope it can help those of you who struggle with non-trivial photos.

best,
bartek

17 Likes

Thank you for this.
It is a well-presented tutorial on the options and problems in using Fspy…
I highly recommend this to everyone that uses Fspy!

1 Like

+1 for mentioning Shift:wink:
+1 for not playing any music while explaining

And for everyone who think this is a bit longish with ~40min… shut up and watch it :exclamation:
You will learn more than in any other fSpy tutorial together playing two times of this…

(Also thank you for :

  • how to drag the priniclped point for 2-point-perspective
  • how to fix it
  • focal lenght trick
  • and some other extra modeling tricks in blender

)
+1 for mentioning the dimensions site

Sadly i can only like this one times…

6 Likes

Great tutorial! Thank you for sharing. I’m achieving far better accuracy now.

1 Like

Why is it that I’m only allowed to enter the metadata if I’m using 1 point perspective? If I enter it here, does it still have an effect on two and three point perspectives? The metadata from my images tells me the sensor size and the lens focal length, and the distance the camera is from the subject. I also know the approximate dimensions of the subject from the website where I got the images, https://airandspace.si.edu/collection-objects/packard-model-1a-1551-line-6-engine/nasm_A19710887000
I am trying to build this engine. The pictures are very high res, but aren’t exactly the best for f-Spy, but I can see perspective lines. I was able to get fairly usable results, but not exactly. f-Spy reports a different focal length and distance from camera to subject. I thought I might be able to use all the different views of this engine together in the same Blend file, but none of the f-Spy solutions match each other. I’m wondering what I’m doing wrong.
Here is one f-Spy file
https://1drv.ms/u/s!Als1Uu9jn9B7gWr9qeUcbkyvIoih?e=t1dShP

Thanks for helpful tutorial!

@Spaceboy64 You can’t use 1-point perspective for your image unfortunately. Of course the readonly focal length in 3-point perspective should read 80 if you set all three pairs of lines accurately, but this is just the theory :wink: In practice - I’m not even sure if this image has 3 mutually orthogonal planes. The surfaces on the engine aren’t flat and its parts which seem to be parallel at first sight aren’t perfectly aligned. I tried aligning the lines and I get inconsistent results meaning they have slightly different angles. I’m afraid it won’t be possible to solve this image with fSpy

Yes, I realize this picture is not in one point perspective. My point is that I’m only allowed to enter my metadata if I select one point perspective, and I was wondering why that is. Wouldn’t this information be relevant in any case? I would think the more information, the more accurate it would be.

Screenshot 2022-12-07 154429

While my results weren’t exactly accurate, it was still helpful in the modeling process.

1 Like

Hi there,

I’m wondering if I can get some help…

I have an image that I’ve tried to set up properly in FSPY, but it seems to be giving me an Incorrect Camera Position.

I also get problems when uploading the file to Maya 2024 with the Origin and Scaling not Matching Up Correctly, but that may not be something you are able to help me with and I may need to contact someone else for that…

Victorian Alleyway

Please and Thanks,

  • Glenn

I think the reason for this might be the lense distortion…

…if you really have to have an absolute fit you might be lucky with some de-disortion… before using fspy ??

Or live with the best you can get it… ??

2 Likes

I did a quick check and it works if you adjust the modeling to fit the building…
Un-distortion will work, but it does tend to ruin the Victorian feel to the alley…


In this case you can use 2 vanishing points. Blender is Z-up. For a Maya export, use alembic file with scale set to 100. Blender default scale is meter and Maya centimeter.

victorian_alleyway_v01.blend (1.1 MB)
victorian_alleyway_cam.fspy (135.8 KB)

fSpy/Maya tutorial:

I’m not sure if what I’m inputting into fSpy is wrong, if fSpy is giving me bad numbers or if maybe the Importer I’m using is to blame instead, but when I try to Block Everything Out in my Scene, nothing seems to be lining up Right…

The image itself may be to blame given that it appears to have a slight Fish-Eye Distortion on its Edges, but it doesn’t seem to be enough to be causing major problems? If it is though, I can look into Correcting the Lens Distortion…

I also want to make sure that the Scene looks “Normal” from a Multitude of Camera Angles such as Birds-Eye and that every Objects Position, Rotation and Scale are Correct.

The idea of using 2-Point Perspective seems like a “Common Mistake” and so I feel like I should avoid that route - unless provided a good reason (ideally from the Author of the OP).

Other than that, I’m open to ideas. Please share what you can - especially numbers and instructions for the Camera and such so I can try it out for myself…

Thanks to everyone whose contributed to this discussion.

You do know the 3Dguide set to box give you a pretty good impression how it all lines up… do you??

Yes, I’m aware of that, but despite almost everything lining up properly in fSpy, when I get it into Maya, the scene doesn’t line up the same way anymore…

Hmm… if the “usual” blender to maya tutorials doesn’t help… then maybe this…

Unfortunately that Importer doesn’t really upload the fSpy file properly into Maya…

It puts the Camera Facing Up towards the “Sky” and also has the Camera Positioned far too High above the Grid.

Despite that, I tried blocking things out and It does do a pretty good job at that. The Left and Right Buildings do line up fairly well…

Try this one:

But working in studio I’m currently exporting an alembic file from Blender.

I’m noticing a couple of problems with that one - mainly that it requires too many adjustments after the Camera Group is Imported…

  1. It sets up everything very small and requires Rescaling
  2. Cameras Near Clip Plane needs to be changed from 0.1 to 0.01
  3. Despite accounting for that, the bottom of the Left Building still doesn’t line-up correctly, but the Right one is better - although still slightly off…

I also added the code offered in This Video, but it didn’t help…

I tried This Importer too, but it shares a lot of the same problems as the other…