Google Maps Models Importer

Hello, I just released a first beta version of an add-on for importing 3D models from Google Maps to Blender:

This goes with an article explaining the whole process: https://blog.exppad.com/article/importing-actual-3d-models-from-google-maps

Basically, the steps are:

  1. Capture a Google Maps from using RenderDoc
  2. Use the addon to import the capture using the aforementioned addon. This may take a couple of minutes for the heaviest captures (up to several hundreds of Mo).

A video shows all the steps: https://youtu.be/X6Q7dbtXVZQ

Feel free to share images if you use it!


[edit]

It seems that RenderDoc cannot be injected into Chrome on some devices. Here is an empirical list, please share your GPU info when reporting whether it works or not. There are of course more cards reported not working because I guess when it works people don’t report, or less. ^^

If it does not work using Chrome, give a try to Vivaldi or Edge. It uses the same engine, but some users reported it to work where Chrome did not. You can also try with Chromium. Some people reported teh last versions of Chrome not to work, so try downloading an older version, for instance Chromium 61.0.


[edit from Dec 5th, 2020]

Sorry I haven’t replied here for a while. A few points:

  • Blender 2.91 is supported since yesterday’s release only (there has been a change in the API compared to previous versions of Blender)

  • Be really careful about the couple add-on version + RenderDoc version. In particular, do not use v1.11, use v1.10 only with 0.3.3 or newer.

  • Try sample captures from this new repo to check on your installation https://github.com/eliemichel/MapsModelsImporter-samples

  • If injection into Chrome is not working, try Microsoft Edge, using the same custom shortcut (Edge uses the same engine).

  • There are experimental attempts at loading other kind of maps as long as they contain 3D data like Seoul maps https://github.com/eliemichel/MapsModelsImporter/pull/92 Not merged so far because it requires to inject code into the browser, which is a bit of a convoluted workflow and I’m already having hard time keeping track of all issues on the “normal” workflow.

36 Likes

Hi, this looks interesting.
Have a quick question, on your download page, under “USAGE”, you write…
" Start chrome using specific flags: chrome.exe --disable-gpu-sandbox --gpu-startup-dialog --use-angle=gl . Do NOT press Ok on the dialog box yet; "
Can I use Firefox? I don’t use Chrome.
Do these Flags work in any browser or just Chrome?
If Chrome only, I’ll have to install chrome.
Thanks.

1 Like

I ll make a try on chromium .it should work also. Thx a lot for this. It should help a lot.

Thank you for this!
I am completely lost in Linux. I can not even find “Inject into process” option in File menu.

Wow, you are a beast. The knowledge this stuff requires…
Very cool read too !

Why do you ask?

Explanations about legal issues are in addon GitHub entry.

@XYZero I tried with firefox, but the same options are of course not available and I could not find any replacement, in particular to make the process pause before it starts using the graphic API. As suggested by @skuax you can use chromium, on the other hand.

@YAFU I had not noticed, but unfortunately RenderDoc’s inject into process tool is not supported on linux. :confused: You can make the captures in a Windows machine and then import them using the addon on a linux one I think. If you test I’d be curious to have some feedback.

@Toudou Glad to hear you could reproduce it! :slight_smile: If you get some nice pictures using it, feel free to share.

1 Like

Would it be possible to make a video tutorial explaining the whole process?

I think it’s a very useful addon but I can’t capture with google view, I think I don’t do well some part of the process.

thanks

2 Likes

i think this would be useful for a lot of people

1 Like

Thanks Mink for the reply and checking if FF will work or not. Had a feeling that the flags where chrome specific. Figured you would know way better than me.
Not a problem, I’ll install chrome and give this a try.
Thanks again for your hard work on this.

I have tested it on windows with chromium. It changes the PID really quickly before injecting. I had to train a lot before managing the gesture sequence to be on it. But anyway it crashes the process each time … perhaps there is something with my sli configuration? Anyway I ll install chrome to check later.this bug is not on your side of course :wink:
Cheers

I can get a capture out of render doc ok, but I get this error when I try to import it into blender:

@sanask @BD3D I followed your suggestion and made a video walkthrough: https://youtu.be/X6Q7dbtXVZQ

@skuax Tell me if it works on chrome. Otherwise it may be that your GPU is not powerfull enough or something like this and does not support well having RenderDoc injected in Chrome. Maybe try with a minimized chrome window.

@SterlingRoth This seems like a true bug of my addon. Would you mind sharing the rdc file that caused it?

2 Likes

Thanks !!!

I hope all this topic will not be censured by google

Very nice addon! As it’s a .rdc importer, it’s actually able to import any 3D ripped by RenderDoc isn’n it? (which looks like a nice 3DRipper successor :slight_smile: ).

It seems doing the move-the-3d-view-to-refresh-gpu-buffer-before-capture tip is a little uncertain, majority of my RenderDoc shots doesn’t have any 3D. Spamming the mouse looks like increase chances to get data.

Nice work!

Do you mean that you need a Linux tester? How big are the captured files?. If the files are not huge, you can send me a capture by private message, and I will test the addon in Linux.

How to solve the API: None issue, i m getting one here :frowning:

@YAFU There is a sample capture provided in the blog post: https://blog.exppad.com/public/webgl-renderdoc/gmaps/capture.rdc

@Vinc3r It may be modified to import other types of captures, but a part of the code is really add-hoc heuristic designed for one kind of capture. To adapt it to you needs, I invite you to read the blog post because you will need to manually inspect the capture files first to determine what exactly to automatize.

If the “move the 3d view” stuff is not working, you can also ask RenderDoc to take a burst of capture after a certain delay. You an trigger it, then go and move around while it captures.

@Vinc3r Also, I do not want this to be a tool for stealing other people’s work. I don’t care about Google, but I am more concerned about 3D content creators in industries such as gaming and animation/vfx.

@erickBlender Did you inject RenderDoc into the right process? It must contain ‘Gpu’ in the title, and if there are two of them it is more likely to be the first one (lower PID).