0
$\begingroup$

I've been blocking out the shapes of a rather visually complex interior. I used fSpy to match the camera to the perspective.

enter image description here

I've got some of the shapes blocked out, but finding the correct scale, orientation, and location of each part has proven to be extremely time consuming. Thus far, I have been just messing with the elements and moving then around and doing tiny little adjustments until it finally clicks in place.

For you folks that have more experience with this, is there a better way?

Are there any strategies to make this process more streamlined and easier?

Thanks in advance

$\endgroup$
2
  • $\begingroup$ What are you trying to do? $\endgroup$ Commented Jan 4, 2019 at 19:57
  • $\begingroup$ I am trying to get a basic model of the scene using primitives, and have the same perspective and general look as the image $\endgroup$
    – Linguini
    Commented Jan 4, 2019 at 20:19

3 Answers 3

1
$\begingroup$

I’d highly recommend my tutorial on fSpy, which explains the whole workflow:

https://www.youtube.com/watch?v=daiMOYR8GS8

But to give you some hints:

1/ determine if your image has a 1-point, 2-point or 3-point perspective

2/ align the red/green/blue lines (depending on how many vanishing points you have) with the image

3/ validate your perspective by matching the X,Y,Z vectors against various areas of the image; if they don’t match: a) in case of a 1-point perspective - change Principal Point mode to Manual and move the principal point onto the only vanishing point your image has b) in case of a 3-point perspective - change Principal Point mode to From 3rd vanishing point and align the third pair of lines with the image (remember that all three pairs of lines have to be mutually orthogonal in 3d space) c) in case of a 2-point perspective - change Principal Point mode to Manual and place it somewhere on the line connecting two other vanishing points (usually this is the horizon) - it’s easy to determine the vertical coordinate, but much harder to figure out its horizontal value

4/ if you have 1-point perspective, you’ll have to set the focal length manualy; don’t do it in fSpy, because it lacks precision tools; go to Blender instead and a) switch to fSpy camera perspective view b) add a basic shape (such as a circle, rectangle etc.) c) try to match it against a circle/rectangle in the image (preferably as far from the principal point as possible - usually, image edges work best) d) if it doesn’t align well - change the focal length/FOV value of your fSpy (you have to „guess” it, there’s no automated way) e) your guess from point (d) is probably wrong, so repeat steps c, d, e until it looks good

5/ set the origin to an object whose dimensions are known

6/ change the reference distance to the appropriate axis, align the ruler and set the dimensions (remember fSpy has this bug - you have to press enter otherwise, the value you typed disappears)

7/ import your fSpy file to Blender using the fSpy addon

8/ start modeling with objects at the origin (by setting one of their coordinates to 0) - it’s convenient to place the origin at the floor level and begin with the floor by setting its Z position to 0) - otherwise, your match will have wrong dimensions (despite proper reference distance set in fSpy)

But again - it’s best to watch my tutorial as it covers all these points and much more.

best, bartek

$\endgroup$
0
$\begingroup$

Actually you can also create reference image and parent (link) it to the camera. So the image always perpendicular to the camera view. And then press "N" - View - Camera to View, so you rotate the camera like in perspective mode, and adjust the view manually.

$\endgroup$
-3
$\begingroup$

What you are doing should be pretty easy, you should be using the fspy blender plugin BLAM. Blenderguru did a video using a similar plugin to model a hallway: https://www.youtube.com/watch?v=nb6rSMAooDs&t=160s

Hopefully you just need to tweak your workflow a bit.

$\endgroup$

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .