0
$\begingroup$

I'm trying to recreate a render of a 3D model, and one of my first steps, I figured, was positioning the camera in the correct spot. I'm not really sure the best way to approach this.

I've heard of fSpy and camera tracking, both of which won't work in my case. I guess my ideal solution would be somehow matching points from the image to points on the model, and getting camera information from there, but I'm not sure that's a thing.

What I've tried:

  • I set the camera to the correct dimensions, and am using the image as a background for said camera.

  • I've constrained the camera to focus on the same point on the 3D model as the center point on the image, which has reduced the unknown variables to 4: camera x, y, z, and the focal length/fov. Which has gotten me about this far:

    wireframe mesh of slide almost overlaying image of slide

I suppose all that's left is for me to randomly stumble upon the correct numbers by twiddling with these variables, but I find that highly unlikely, so any advice on different ways to do this, or what the next best steps are would greatly appreciated.

Here's my .blend file along with the reference image:
https://sendgb.com/ErXHK8AGOWF

$\endgroup$
3
  • 1
    $\begingroup$ Why wouldn't Fspy work in your case? $\endgroup$
    – L0Lock
    May 27, 2023 at 4:54
  • $\begingroup$ The original image does not contain any grid lines, the ones in the posted image are from blender. The only straight lines in my image are a really small rectangle, which when I try to use for alignment, leads to wildly varying camera outputs from small changes. Perhaps there is a different way to use fSpy for my image, but I've only seen it work for images with clear x, y, and z lines. $\endgroup$ May 27, 2023 at 16:36
  • $\begingroup$ Including your original image in your post would be nice. Adding extra data is always welcome, but ideally the post should show any valuable information. $\endgroup$
    – L0Lock
    May 28, 2023 at 2:37

1 Answer 1

0
$\begingroup$

Figuring out perspective isn't so much about having clear lines in a picture, but finding points from the same plane which you can trace into parallel lines perpendicular to their neighbors. It's definitely easier to do when you have straight visual lines in your picture, but it doesn't mean they are actually straight, and at the end of the day you really only need two points to make a line.
As long as you can find a plane somewhere, you should be able to get the perspective out of it. The bigger you can get, the closest of a result you will have.

Since your original image seems to be a 3D mesh to begin with, and considering it seems to be three times the same symmetrical model, with a quite visible quad-based topology, you can assume some parts at least are pretty parallel to each other, so you should be able to use these kinds of lines in softwares like Fspy:

demo lines

I circled some possible reference points in yellow.

The mesh may feel wobbly against a straight line you trace next to it, but you can assume that if you trace a straight line from one vertex to another, and a new line from the exact opposite vertices, you should have lines that are parallel in the object's original space.

Do the same perpendicularly, and if you do a more precise job than what I did hastily, you should roughly get a somewhat accurate ground plane.

$\endgroup$

You must log in to answer this question.

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