14
$\begingroup$

So, I'm trying to model this building from Google Maps, however, I have a hard time getting the proportions right..

Attached are the images I used as references.

Does anyone else model from google maps, and maybe have some tips as to getting a good reference image? Basically what I'm asking is the best way to go about modelling a building as seen from google maps. I know it's likely possible, but when I go to do it, it doesn't go well.

The hardest part for me is that it's not so easy to get a front-on view.

I have searched google but to no avail. I also didn't notice any suggested threads with this info.

enter image description here

Google Maps

$\endgroup$
23
$\begingroup$

Estimating the dimensions based on images alone is hard if you don't have a notion of the lens used, camera height and distance form the camera to the objects on the picture.

Finding dimensions for X and Y is quite easy in Google maps. There a tool to measure distance.

Click on the screen in your browser and select Measure distance.

enter image description here

That give us a solid starting point and a fairly accurate reference of the scale of things in the real world.

enter image description here

Make a screen capture of the image in your browser and import it to blender using the images as plane add-on (or create an empty as image) and place it flat at 0 on the Z axis.

enter image description here

At the bottom right of the image there is a scale for the map, you can use that to match the scale used in blender. Press S and re-size the plane until the scale is as large as 10ft in the 3Dviewport.

enter image description here

Make sure that the blender project is using the same units as those used in the image. In general it is a good idea to try to work in real world sizes.

enter image description here

Create the basic box shape of the building using the map as a reference (you might also want to have an image with satellite imagery that will reveal more details about the building). Keep that basic shape as simple as possible, you can add detail later.

enter image description here

The hard part of this project is going to be estimating the height of the building.

Start by Extruding the base shape in the Z axis to have something to work with. As a blind guess we can estimate that most buildings measure 10 feet per storey, so let's presume that our two storey building is 20 ft.

enter image description here

Add another image of the building to be used as background in the camera view. This time use street view.

(How to assign different background images for different 3d views?).

enter image description here

The next challenge is trying to match the placement for the camera in blender, so that the basic shape we created in blender matches the image of the building from google street view.

Set the camera to be at the same height as that of the google street view camera: 8.2 ft in the Z axis (this height might be different in other countries)

UPDATE:

The URL for google maps does provide some information that makes setting the camera a less painful process.

enter image description here

In addition to the latitude and longitude you can find:

y Is the field of view. It is not in degrees, it has to do with zoom levels in the browser, but by trial and error I've matched google maps "50y" to 90 degrees in blender.

(To set the camera's field of view change the settings on the lens section from millimeters to field of view so that you can use values in degrees)

h: heading, in degrees relative from true north (0). In blender that translates to rotation values on the z axis. Note that for blender the numbers would be negative. NorthEast would be 45 in google maps, and -45 in blender.

t: Pitch angles are measured with positive values looking up and negative looking down. 90t would mean that the camera is looking straight, matching a 90 degree rotation on the X axis for blender's camera

Now move the camera in the x and Y axis and try to place it at the point where the the vertices of the object match the picture. Pay especial attention to the known dimensions, in this case the outside walls, at the point where they meet with the ground. Don't worry so much about the height, because we can't know for sure if our estimate is accurate. As long as the building matches in the X and Y dimensions we should be fine.

enter image description here

It will take a bit of trial and error to match the vanishing points of the building with the image by adjusting the position of the camera back and forth, maybe changing the rotation and refining the the lens size (field of view).

Once you have a decent match for the placement, then you can adjust the top vertices of our 3D building to match the correct height in the image. In this example the building is taller than the estimated 20 ft.

.

enter image description here

From there on, you can use more cameras and match them to the scene to refine the geometry and you could even do texture mapping based on the images.

enter image description here

Additional notes:

To navigate in the viewport while viewing through the the camera you can lock the camera to view

enter image description here

This link might be helpful: How do I align my grid to background footage?, note that by doing that the camera height cannot be locked

If the field of view is clearly wrong or inaccurate you can use a tool like Blam to find out the correct lens for the camera.

If anyone has more information on how tho get the camera data from google street view please feel free to edit this answer.

Seems like the API for google street view you can generate images with known parameters, as far as field of view and rotation (pitch) that will make the following procedure much easier and with accuracy...

$\endgroup$
  • $\begingroup$ thank you! One thing I noticed too, is that I think you get a better view in google earth, and you can zoom in further, so I think I'll work with google earth as opposed to maps now. Though still a great tip! Will try. $\endgroup$ – George Stavinski Dec 23 '17 at 22:00
  • $\begingroup$ just to verify, 10 feet in blender would be the same as a cube with a length of 1? $\endgroup$ – George Stavinski Dec 23 '17 at 22:25
  • $\begingroup$ One problem I notice is that the "mesh" provided on google maps, overhead view, doesn't always seem accurate somehow. This building for example looks straight and flat on the ground, but an aerial view shows a more triangular shape to the building. $\endgroup$ – George Stavinski Dec 23 '17 at 23:08
  • 1
    $\begingroup$ It might actually be possible to determine the exact focal length of the image, if either the entire pano could be downloaded, or Google somewhere says what the focal length is. $\endgroup$ – GiantCowFilms Dec 24 '17 at 23:56
  • $\begingroup$ Try using the BLAM addon to configure the camera to image view. $\endgroup$ – 3pointedit Dec 25 '17 at 9:34
7
$\begingroup$

A different and semi-automated approach would be to save a sequence of images as you move the view on google maps. Then track those images in the movie clip editor and try to solve the scene.

enter image description here

It is possible that you'll get an accurate reconstruction.

Given that the camera can be rotated from image to image in google maps some tracking points will not track automatically and will have to be placed manually on each image.

Maybe someone with more time and patience can improve on this method.Feel free to edit.

See also this related post: How to do photogrammetry within Blender?

$\endgroup$
0
$\begingroup$

It wouldn't be "dimension" specific but would be "proportionate" if you used an image editor like Photoshop and employed it's powerful "crop" tool which can straighten and it's "image transformation" tools for perspective.

$\endgroup$

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.