Skip to content

Commit d51d666

Browse files
committed
Add support for Google Earth
1 parent 2e3c3b0 commit d51d666

File tree

6 files changed

+303
-143
lines changed

6 files changed

+303
-143
lines changed

README.md

Lines changed: 20 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
*If this helps you save time or money for your job, please consider supporting the work involved in here ;)* [![Donate](https://www.paypalobjects.com/en_US/i/btn/btn_donate_LG.gif)](https://www.paypal.com/cgi-bin/webscr?cmd=_donations&business=DNEEF8GDX2EV6&currency_code=EUR&source=url)
22

3-
**News** (from Feb 17, 2020) A new version is available that should make the whole process easier and work on more hardware. It now uses the last version of RenderDoc (1.6), the last version of Chrome (80) and the last version of Blender (2.82). This is quite a change and if you notice any regression (like it used to work and now it does not) please report!
43

54
Maps Models Importer
65
====================
@@ -68,7 +67,7 @@ Unfortunately, the *inject into process* functionality of RenderDoc is not suppo
6867

6968
![Importer settings](doc/settings.png)
7069

71-
By default, the addon limits to 200 blocks, but if you feel ready to let your Blender hang for a moment, you can increase it.
70+
The add-on can limit the number of imported blocks to prevent Blender from freezing too long. If not set to -1 or 0 (meaning no limit), there will be missing blocks in the imported scene, but it'll be quicker (good for testing pipelines, mostly).
7271

7372
### Blender does not want to install the add-on
7473

@@ -127,13 +126,32 @@ You can check out the [LilyTexturePacker](https://gumroad.com/l/DFExj) add-on I'
127126

128127
Although I don't know how to automate the capture itself, you can easily automate the importing part, see [this issue](https://github.com/eliemichel/MapsModelsImporter/issues/39) for an example of automation script.
129128

129+
Notable use cases
130+
-----------------
131+
132+
I think the most common use case is to sketch out blockings in early stages of architecture perspectives. Another interesting usage is to get a "ground truth" reference when doing match moving or motion tracking on raw footage.
133+
134+
Artistic uses have been reported as well, for instance Benjamin Bardou has been using it to create [stunning](https://www.instagram.com/p/CEH9PAcCG3B/) [images](https://www.instagram.com/p/CENlPPVCVF0/) of Paris.
135+
136+
Feel free to notify me of your use case on twitter [@exppad](https://twitter.com/exppad)!
137+
130138
Disclaimer
131139
----------
132140

133141
This is a proof of concept showcasing how the 3D render process of Google Maps can be inspected. This is intended for educational purpose only. For a more in-depth analysis, see [Importing Actual 3D Models From Google Maps](https://blog.exppad.com/article/importing-actual-3d-models-from-google-maps).
134142

135143
Do not use this for any commercial nor redistribution purpose. Actually, the use of such tool might be allowed for private read-only use, as this is what happens when browsing Google Maps, but not beyond. I do not take responsibility for any use of this tool.
136144

145+
Changelog
146+
---------
147+
148+
For more details, see individual [releases](https://github.com/eliemichel/MapsModelsImporter/releases).
149+
150+
**Aug 23, 2020** *v0.3.0* Captures from Google Earth are now supported. When capturing from Google Earth, there is no need to move around in the viewport when taking the capture. Support for Google Maps is still ensured. Additional add-ons [LilyTexturePacker](https://gumroad.com/l/DFExj) and [LilyCaptureMerger](https://gumroad.com/l/KSvXuu) are compatible with Google Earth Captures.
151+
152+
**Feb 17, 2020** *v0.2.0* A new version is available that should make the whole process easier and work on more hardware. It now uses the last version of RenderDoc (1.6), the last version of Chrome (80) and the last version of Blender (2.82). This is quite a change and if you notice any regression (like it used to work and now it does not) please report!
153+
154+
**Mar 30, 2019** *v0.1.0* Initial release.
137155

138156
Help Wanted
139157
-----------

blender/MapsModelsImporter/README.md

Lines changed: 70 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,10 @@
1-
*If this helps you save time or money for your job, please condier supporting the work involved in here ;)* [![Donate](https://www.paypalobjects.com/en_US/i/btn/btn_donate_LG.gif)](https://www.paypal.com/cgi-bin/webscr?cmd=_donations&business=DNEEF8GDX2EV6&currency_code=EUR&source=url)
1+
*If this helps you save time or money for your job, please consider supporting the work involved in here ;)* [![Donate](https://www.paypalobjects.com/en_US/i/btn/btn_donate_LG.gif)](https://www.paypal.com/cgi-bin/webscr?cmd=_donations&business=DNEEF8GDX2EV6&currency_code=EUR&source=url)
22

3-
**News** (from Feb 17, 2020) A new version is available that should make the whole process easier and work on more hardware. It now uses the last version of RenderDoc (1.6), the last version of Chrome (80) and the last version of Blender (2.82). This is quite a change and if you notice any regression (like it used to work and now it does not) please report!
43

54
Maps Models Importer
65
====================
76

8-
*Maps Models Importer* is a set of tools for importint 3D models from wide maps in 3D content softwares.
7+
*Maps Models Importer* is a set of tools for importing 3D models from wide maps in 3D content softwares.
98
This is a proof of concept containing only a Blender add-on for importing 3D models from Google Maps.
109

1110
The `blender` directory contains the source code of the Blender add-on importing captures recorded with [RenderDoc](https://renderdoc.org/):
@@ -15,13 +14,11 @@ The `blender` directory contains the source code of the Blender add-on importing
1514
Installation
1615
------------
1716

18-
Download a [release](https://github.com/eliemichel/MapsModelsImporter/releases) or make a zip of `blender/MapsModelsImporter/`. In Blender 2.82, go to `Edit > Preferences`, `Add-on`, `Install`, then browse to the zip file.
17+
Download a [release](https://github.com/eliemichel/MapsModelsImporter/releases) or make a zip of `blender/MapsModelsImporter/`. In Blender 2.83, go to `Edit > Preferences`, `Add-on`, `Install`, then browse to the zip file.
1918

2019
**/!\ Do not use the "Download as zip" button of GitHub, make sure you use a release zip instead.**
2120

22-
Install [RenderDoc](https://renderdoc.org/builds) **version 1.6**.
23-
24-
NB: If you are using an older release (v0.1.x and before), you must use the portable version of RenderDoc 1.2 or RenderDoc 1.1. This is no longer the case since v0.2.0 of this add-on.
21+
Install [RenderDoc](https://renderdoc.org/builds), last version
2522

2623
Usage
2724
-----
@@ -39,7 +36,9 @@ set RENDERDOC_HOOK_EGL=0
3936

4037
3. Do NOT press Ok on the dialog box yet;
4138

42-
4. In RenderDoc, search for the chrome process and inject into it;
39+
4. In RenderDoc, search for chrome's GPU process and inject into it (you may use the search field);
40+
41+
![Inject into the process called something like "chrome GPU"](doc/injection.png)
4342

4443
5. Press OK in the chrome dialog;
4544

@@ -62,43 +61,97 @@ Useful information can be found in the comment of the video, as well as on [the
6261

6362
### Linux
6463

65-
Unfortunately, the *inject into process* functionality of RenderDoc is not supported on linux.
64+
Unfortunately, the *inject into process* functionality of RenderDoc is not supported on linux. You can still import existing captures on linux, though.
6665

6766
### Missing blocks
6867

6968
![Importer settings](doc/settings.png)
7069

71-
By default, the addon limits to 200 blocks, but if you feel ready to let your Blender hang for a moment, you can increase it.
70+
The add-on can limit the number of imported blocks to prevent Blender from freezing too long. If not set to -1 or 0 (meaning no limit), there will be missing blocks in the imported scene, but it'll be quicker (good for testing pipelines, mostly).
7271

73-
### I don't want to uninstall Google Chrome...
72+
### Blender does not want to install the add-on
7473

75-
Since version v0.2.0 of this add-on, it is no longer needed to install an old version of Chrome.
76-
77-
With older versions (depreciated) of this add-on, you have to use a specific version of Chrome. Check this trick out to install it alongside your current version: https://github.com/eliemichel/MapsModelsImporter/issues/15
74+
Do NOT use the green "Clone or download" button of GitHub. I know it's tempting, but I cannot hide it, it's a GitHub feature. To get the proper zip, go to the [release page](https://github.com/eliemichel/MapsModelsImporter/releases/latest).
7875

7976
### There is no option for 3D in Google Maps
8077

81-
Try appending `?force=webgl` at the end of the google maps URL.
78+
Try appending `?force=webgl` at the end of the google maps URL. Also, check that you enabled the Globe mode (an extra button on the right-hand side once you are in satellite mode).
79+
80+
If it is not enough, you can try to change your region to United States because when you are localized in some other area, Google might chose to turn 3D off for some (political?) reason. See [this post](https://blenderartists.org/t/google-maps-models-importer/1153561/176).
8281

8382
### API: OpenGL (Not Presenting)
8483

85-
This was a common issue with versions of this add-on prior to v0.2.0. Update to the latest version of this add-on, then make sure you remove the `--use-angle=gl` option from the chrome shortcut.
84+
This was a common issue with versions of this add-on prior to v0.2.0. Update to the latest version of this add-on, then make sure you remove the `--use-angle=gl` option from the chrome shortcut. You should get `API: D3D11`.
85+
86+
### API: None
87+
88+
- Make sure chrome was completely stopped before starting the custom shortcut
89+
- Make sure you have hardware acceleration enabled in the advanced section of the chrome settings.
8690

8791
### Chrome is showing a warning about an unsupported feature
8892

89-
If this is about the `--disable-gpu-sandbox` flag, it is just a warning, it should not be a problem.
93+
If chrome says something like "Unsupported command line, security will suffer", don't mind. This is due to the `--disable-gpu-sandbox` flag, but it is just a warning, it should not be a problem for what we are doing.
9094

9195
### Chrome window is all plain black
9296

9397
Try to set and unset the fullscreen mode using F11.
9498

99+
### There is no GPU pop-up
100+
101+
Make sure you use the right custom shortcut to start chrome and that you closed any process chrome process before starting.
102+
103+
### PrintScr does not actually take a capture
104+
105+
It happens sometimes, in this case you can use the "Capture after delay" button in RenderDoc to trigger a capture. Don't forget to make sure to move in the 3D viewport at the very time the capture occurs.
106+
107+
### How to increase the level of detail?
108+
109+
If you want better quality captures, you should know that Google Maps loads LoDs (Levels of Details) in relation with the window size of your web browser. There is several way to increase it:
110+
111+
- You can increase your screen resolution. Also note that nvidia allows now to increase the rendering resolution of your screen to 4k even with a simple full HD screen.
112+
- You can also use the rendering size percentage in Google Chrome. Most browsers do offer the option to zoom in or out the web pages (typically using Ctrl+Mouse Wheel) to adapt them to your screen resolution. By setting the zoom at e.g. 25% in Google Chrome, you increase the level of detail loaded by Google Maps.
113+
- Take several captures and merge them together (see next question)
114+
115+
But while doing so you also increase dramatically the number of block. Be aware of the fact that by default the MapsModelsImporter add-on limits to 200 blocks to prevent from freezing for too long. You can change this number on import.
116+
117+
### How to stitch several captures together?
118+
119+
You can use the [LilyCaptureMerger](https://gumroad.com/l/KSvXuu) add-on for this, here is a quick demo: https://www.youtube.com/watch?v=BcGM76dwF_s
120+
121+
### There are so many textures, it's impractical for export!
122+
123+
You can check out the [LilyTexturePacker](https://gumroad.com/l/DFExj) add-on I've made especially for this. Beware to use it only **after** using LilyTextureMerger, because the latter rely on individual block textures to perform matching.
124+
125+
### It's taking too long, how to automate this process?
126+
127+
Although I don't know how to automate the capture itself, you can easily automate the importing part, see [this issue](https://github.com/eliemichel/MapsModelsImporter/issues/39) for an example of automation script.
128+
129+
Notable use cases
130+
-----------------
131+
132+
I think the most common use case is to sketch out blockings in early stages of architecture perspectives. Another interesting usage is to get a "ground truth" reference when doing match moving or motion tracking on raw footage.
133+
134+
Artistic uses have been reported as well, for instance Benjamin Bardou has been using it to create [stunning](https://www.instagram.com/p/CEH9PAcCG3B/) [images](https://www.instagram.com/p/CENlPPVCVF0/) of Paris.
135+
136+
Feel free to notify me of your use case on twitter [@exppad](https://twitter.com/exppad)!
137+
95138
Disclaimer
96139
----------
97140

98141
This is a proof of concept showcasing how the 3D render process of Google Maps can be inspected. This is intended for educational purpose only. For a more in-depth analysis, see [Importing Actual 3D Models From Google Maps](https://blog.exppad.com/article/importing-actual-3d-models-from-google-maps).
99142

100143
Do not use this for any commercial nor redistribution purpose. Actually, the use of such tool might be allowed for private read-only use, as this is what happens when browsing Google Maps, but not beyond. I do not take responsibility for any use of this tool.
101144

145+
Changelog
146+
---------
147+
148+
For more details, see individual [releases](https://github.com/eliemichel/MapsModelsImporter/releases).
149+
150+
**Aug 23, 2020** *v0.3.0* Captures from Google Earth are now supported. When capturing from Google Earth, there is no need to move around in the viewport when taking the capture. Support for Google Maps is still ensured. Additional add-ons [LilyTexturePacker](https://gumroad.com/l/DFExj) and [LilyCaptureMerger](https://gumroad.com/l/KSvXuu) are compatible with Google Earth Captures.
151+
152+
**Feb 17, 2020** *v0.2.0* A new version is available that should make the whole process easier and work on more hardware. It now uses the last version of RenderDoc (1.6), the last version of Chrome (80) and the last version of Blender (2.82). This is quite a change and if you notice any regression (like it used to work and now it does not) please report!
153+
154+
**Mar 30, 2019** *v0.1.0* Initial release.
102155

103156
Help Wanted
104157
-----------

blender/MapsModelsImporter/__init__.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,10 +24,10 @@
2424
bl_info = {
2525
"name": "Maps Models Importer",
2626
"author": "Elie Michel",
27-
"version": (0, 2, 2),
27+
"version": (0, 3, 0),
2828
"blender": (2, 82, 0),
2929
"location": "File > Import > Google Maps Capture",
30-
"description": "Import meshes from a Google Maps capture",
30+
"description": "Import meshes from a Google Maps or Google Earth capture",
3131
"warning": "",
3232
"wiki_url": "",
3333
"category": "Import-Export",

0 commit comments

Comments
 (0)