Skip to content

Google Maps 3D Data into Blender

Videos demonstrating how to import Google Maps 3D data into Blender by capturing data from the frame buffer using a Windows program called RenderDoc and Blender add-on called MapsModelsImporter. This first video in the series outlines the process for extracting Google Maps data while the second video outlines the process for optimising the meshes and remapping the textures which has much broader application for workflows incorporating photogrammetry.

Google Maps 3D: Data into Blender

Google Maps 3D: Data into Blender from Nicko16 on YouTube.

Description

18th November 2021, UPDATE, I can confirm this is working with: Blender v2.93.6 RenderDoc v1.16 MapsModelImporter v0.4.0

In order to enable 'Inject into Process' in newer versions of RenderDoc you need to go into: Tools - Settings - General - 'Enable process injection' and restart the app.

In this video I show you how to extract 3D data from Google Maps using RenderDoc and the amazing MapsModelsImporter by Élie Michel.

...

This is the text that you need to add to the Chrome shortcut 'target' field to run it in debug mode (delete the existing contents beforehand):

C:\Windows\System32\cmd.exe /c "SET RENDERDOC_HOOK_EGL=0 && START "" ^"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe^" --disable-gpu-sandbox --gpu-startup-dialog"

If your Chrome is installed in a different location to the one above you may need to go in and change parts of this text.

Google Maps 3D: Photogrammetry Mesh Clean-up

Google Maps 3D: Photogrammetry Mesh Clean-up from Nicko16 on YouTube.

Description

In this video I show you how to clean up a mesh imported from Google maps 3D. This tutorial covers mesh clean-up, removing materials, two methods for uv unwrapping, and how to bake colours from the old mesh to the new one.

...

And here is the code for removing all the materials from the active object (make sure you have only one object selected when you run it):

python import bpy C = bpy.context for i in range(0,len(C.object.material_slots)): > C.object.active_material_index = 1 > bpy.ops.object.material_slot_remove() bpy.ops.object.mode_set(mode = 'EDIT') bpy.ops.mesh.select_all(action = 'SELECT') bpy.ops.object.material_slot_assign() bpy.ops.object.mode_set(mode = 'OBJECT') For a script, which automates this process, check out my Gitlab project: https://gitlab.com/VupliDerts/maps-3d-mesh-cleanup