Google Earth to OBJ Using GLIntercept
- July 8th, 2013
- Posted in Modeling . Unreal Development Kit
- Write comment
In a recent post, I touched on a workflow to export models from Google Earth into UDK. However, what if you wanted to repeat this process for an entire city? Manually exporting every building one at a time would be extremely tedious and a complete waste of time since the models in Google Earth are low-res and would have to be re-created (again) at some point anyways, one at a time, for the final UDK product. No thank you. In such a scenario what we really need is an entire 3D city exported from Google Earth to serve as a TEMPLATE. And then later we can then replace each and every building with a high-res model for our final UDK product. Sound good? Then let's get started.
For starters, I came across an article that details this exact scenario. However, being nearly 4 years old (as of 2013) the article is quite dated, has dead links, and is otherwise missing some very critical pointers. What follows is an updated overview of the same process from that article, with additional notes and steps to follow.
Prerequisites:
I wrote the following some time ago, and no longer can assist with troubleshooting. The fact is, this technique/software was already 5+ years old when I came across it, and as time goes by, it only becomes older and more unsupported. I will not be answering any further comments on this thread, as I cannot help and have myself moved on to 3D Ripper DX. That being said, if you still wish to proceed, take it slow, read everything, and good luck!!!
Prerequisites:
- GoogleEarth: v5.0 [download] [mirror].
- GLIntercept: v0.5 [download] [vendor].
-
OGLE: v0.3 beta [download] [ mirror] [
vendoroffline]. - 3D modeling software to import OBJ files, such as: Maya, 3DStudioMax, Rhino, Blender, etc.
Setup Instructions:
-
Install Google Earth. The installer will install GE into Program Files (x86) by default (on modern Windows 7/8 systems). To mitigate known issues running programs from the x86 directory, after the install I then copied the Google Earth folder to the root of my C drive. Henceforth, I ran Google Earth from the C:\ root folder only.
Copy Folder: C:\Program Files (x86)\Google\Google EarthTo: C:\Google Earth
-
Install GLIntercept. Likewise, the installer will install this into Program Files (x86) by default (on modern Windows 7/8 systems). Again, to mitigate known issues running programs from the x86 directory, after the install I then copied the GLIntercept folder to my Program Files folder.
Copy Folder: C:\Program Files (x86)\GLIntercept0_5To: C:\Program Files\GLIntercept0_5
-
Extract OGLE plugin into the GLIntercept0_5\Plugins folder and rename the OGLE folder from "ogle-0.3b" to "OGLE". Your OGLE plugin files should reside in the following folder:
C:\Program Files\GLIntercept0_5\Plugins\OGLE
- Copy "OpenGL32.dll" from "C:\Program Files\GLIntercept0_5" into "C:\Google Earth".
- Make a copy of the "opengl32.dll" located in your "C:\Windows\SysWOW64" folder and rename it to "opengl32.orig.dll".
- Cut "opengl32.orig.dll" from your "C:\Windows\SysWOW64" folder and Paste it into "C:\Google Earth". You should now have both "OpenGL32.dll" and "opengl32.orig.dll" in your "C:\Google Earth" folder.
- Download this zip and extract the "gliConfig.ini" file into "C:\Google Earth".
- Open Google Earth (from "C:\Google Earth") and go to Tools > Options and set the Graphics Mode to OpenGL. All other settings are up to you. I left mine at default. Apply changes and close Google Earth.
- If you haven't done so already, install your 3D modeling software now. Most all 3D applications come with a trial that you can utilize for testing purposes.
Capture GoogleEarth Geometry:
- Open Google Earth (from "C:\Google Earth"), and navigate to whatever zip code/city you wish to capture. Keep that folder open so you can see any new files created in it from the following steps.
- Setup your camera angle/view so all the buildings you want are in view. However, before it finishes rendering all the buildings, start your capture.
-
Press CTRL+SHIFT+F at the same time to capture. GoogleEarth may freeze up for a few seconds, depending on how many buildings are being rendered, so be patient as it extracts the geometry.
Note: you may need to Middle Mouse Button click inside Google Earth to ensure it is the active window. Most important though is to ensure Google Earth is still rendering buildings before you start the capture, otherwise GLntercept may not work and you will have to close Google Earth and start over, or try changing your Camera Angle to for Google Earth to render more geometry.
- After the capture has started and Google Earth unfreezes, you will now see an "ogle.obj" file in your Google Earth folder, "C:\Google Earth". Some additonal log files and folders will be created as well, but they are not needed at this point. Depending on how many buildings you captured, you should expect the "ogle.obj" file to be 10-100MB or more.
Import OBJ Into 3D Application
I will be using Maya to explain the remaining steps, as it is my preferred 3D modeling application. The steps will be similar for other applications however.
- Open Maya and go to File > Import. Navigate to "C:\Google Earth" and select your ogle.obj file and press OK to import.
- After navigating your camera around a bit, you may be dismayed to only see what looks like the border/menus of Google Earth, and no buildings!
- Rest assured your building models are there. They are just EXTREMELY tiny!
- Zoom into the Origin of your scene and drag select around until you select what appears to be nothing. You will know you have your buildings selected when your Heads Up Display jumps from 0 to several hundred thousand Verts. To enable the Heads Up display, go to: Display > Heads Up Display > Poly Count. You will also see a tiny white blip indicating your selection.
- Select your Scale Tool, and drag the center yellow box (origin) to the right. You will see your buildings pop into existence!
- From here on out, its a simple matter of scaling, rotating, and modifying your model to your specifications, like so:
That should be it. You now have a workflow to export entire cities from Google Earth into your Modeling application of choice.
I neither support nor condone the use of copyrighted models/assets from Google Earth in personal projects without the the express written consent from the original model authors. My own goal is to utilize an exported Google Earth model purely as reference, to be replaced by my own work.
Final Notes
With regards to mapping Google Earth textures to the buildings in our obj file: You should notice the "CaptureTextureCoords " option in the OGLE settings in the gliConfig.ini file – that should get you the texture coordinates – but linking with the textures I believe has to be done manually. (I did not write OGLE so I don't know for sure – there is nothing in theory preventing it for working, I just thought it was un-implemented).
The OGLE Plugin for GLIntercept will work on any 32bit application that uses OpenGL. And while OpenGL is becoming less and less common these days, if you do a bit of digging around, you can still find games and applications that still do. For instance, anything written using the idTech3 engine uses OpenGL. By simply copying the gliConfig.ini, OpenGL32.dll, and opengl32.orig.dll files into my Return to Castle Wolfenstein folder, I was able to capture character models with ease. Pretty cool, right?
WARNING: You will only want to test this on a local game server. If you join a public game server with these files in your game directory, you may be kicked/banned/etc for trying to run a game exploit of some kind. This happened to me in RTCW. You have been warned!
This is absolutely amazing :)!!! I'm jumping up and down in front of my screen. I've converted Nuremberg (GER) for my architecture project. Thank you so much!!!
The hardest point was to find those little houses :D, thought I did it wrong, but then they magically appeared.
You are my personel hero tonight!
Thank you again for this awesome Instruction!!!
Glad I could help! 🙂
Hello Brian, First of all thanks for the tutorial. Second, i suppouse i got a problem while capturing the geometry, once i import my obj file it only has few meshes that looks far from what i wanted (im attaching a link of the image). Do you have any clue of what might be wrong?
Best, Gabriel
sorry for the bothers i didnt zoom in quite enough.
it works perfectly!
thanks a lot Brian
Awesome! Did you happen to see my other post on this?
There is actually a much easier way to do this using 3D Ripper DX, and the best part is texture coordinates are preserved! Let alone a much easier setup…
https://brian-horning.com/google-earth-to-3ds-using-3d-ripper-dx/
Hi, Brian! Although I followed the steps, it seems that the keys Ctrl+Shift+F don't work for me. Google Earth does not freeze up -not for a sec – (although i think that my chosen site is quite big) and there is no obj file for me. Do you have any idea why this is happening? Thanks a lot
Did you see the note listed for that step (#3)? There's a few caveats in getting the capture to start (clicking on Google earth title bar right before capturing, and ensuring that the buildings are still being rendered in GE before starting capture).
Beyond that, I would double check that you followed the setup steps again. It took me many iterations to work those out. But size shouldn't be a factor for the capture. If no obj file is being created, it is either setup related, or GE not being "recognized" by the capture as mentioned above.
Ultimately, my other post on using 3D DirectX Ripper, instead, accomplishes the same thing, but is infinitely easier to use.
https://brian-horning.com/google-earth-to-3ds-using-3d-ripper-dx/
Hi Brian,
Thank you for this extremly valuable and dummy-proof (!) tutorial. You really made my day with that. (Needing Singapore 3D for an architecture project.)
Glad I could help! Good luck with your project!
Hi Brian thank you for being so helpful!
Unfortunately I did not manage to capture the geometry neither with Ogle nor with 3d ripper.
I tried to follow the instructions carefully, also on different computers, but for the first method the shortcut did not work and about 3d ripper it says I have some issues with direct x mode and reccomends to change the definition of the screen or to try in GL mode.
I have a mac book pro intel with windows 7 64 bit. Is it possible that running windows through bootcamp is creating some issues with shortcuts for OGLE and that I need to have an earlier direct X version like 8 or 9 ( I have 11) in order for 3d ripper to work?
thank you very much!
Hi Ricardo,
Sorry to hear about the difficulties. Overall, using the Ogle capture was much more difficult to get working, so I would definitely focus on the 3D Ripper and fixing your DirectX issue. There are DirectX fixer/updater utilities out there that you should try. A bootcamp Win7 on Mac in theory should work… but if you are able to test on a Windows PC, I would certainly try that. Once the DirectX issue is resolved, either way, it should definitely work. Wish I could offer more. Let me know if you get it working!
thank you so much!
You're welcome!!
It doesn't work for me, nothing is happening.
I followed the steps and double check it.
I am trying to capture the Paris Montparnasse area.
Can someone help me?
Thank you
Hi Marc, all I can offer is that the capture hotkeys are not bug free, pay special attention to step 3 and its notes. Sometimes the capture keys just dont work and you have to keep at it, selecting Google Earth with middle mouse button, then quickly trying the capture, or holding the capture keys instead of quickly hitting them, etc, and any other combination you can think of. The capture is buggy, but once you get it once, you will understand better. Beyond that triple check your setup.
If your OS is 32bit (and not 64 bit) you will want to copy the .dll files from the Windows/System32 folder instead of Windows/SysWOW64.
Lastly, I would look into using 3DRipperX instead of OGLE, as it is much easier to setup and use. See this post:
https://brian-horning.com/google-earth-to-3ds-using-3d-ripper-dx/
So I got it to work, but some of the models from google are missing since they were created for placement in later versions. Is it possible for this to work in the current version. I know the installation files are different as everything is located under "Client".
Thanks for the help!!
There was many moving parts in my initial efforts to get this working, one of which was to revert back to the “supported” versions. I have a vague recollection that it did not work, because required GE files are missing when you install in the client folder, as opposed to the old version where everything is in one folder. You might be able to get it to work though as I didn’t spend much time with that. Good luck!
Hi
I am having no luck what so ever of getting this to work.
Would anybody be will to do 2 sites for me?
I would be willing to rerward the individual if they could.
Thank you.
phil
Hey Phil,
Sadly, I wouldn’t be able to help any time soon. I don’t even have this setup running currently. Have you tried 3D Ripper DX? I wrote some other posts on it here. Its much easier to use!
Hey, Brian
Is this possible in mac to download whole city models from the google earth?
Cheers,
Abel
I have not tested it on a Mac. Given that GLintercept relies on .dll files, I would assume it will not work. Your best bet will be to setup a windows virtual machine and try it from there.
This is phenomenal. I've spent months trying many different options, with OpenGL and DirectX and various injectors and had infuriatingly little success. I was about to give up but came across your method and gave it a try … AND IT WORKED! I'm ecstatic. Thank you thank you thank you!!!
Awesome! Glad to hear it!
Hi i've followed your steps but instead of an obj file i keep getting jpegs and png files instead please advise how i can rectify this.
I can’t really offer anything other than trying to follow the instructions, from start to finish, again. Running GLIntercept on modern windows systems presents dozens of points of failure, as it was not intended for anything beyond XP. Good Luck!
Hey Brian,
thanks for this amazing tool, it works just great for me, the only problem is since your link for google earth is for version 5.0 but the current version is 7.0. which i would need.
sorry for asking but the area i would need is completely in 3d in version 5.0 only in 7.0 it is.
Is there a way for Version 7.0??
thanks in advance
That I know of, it is not possible, because the anything above version GE 5x has the various dll files in different directories other than the main executable. Because of this I could never get it to work in later versions. I would recommend trying 3d Ripper X, Which I wrote about elsewhere n this blog, and comments above.
Hello Brian, thanks for the fast reply,
but doesn't the 3d Ripper X also works with Google Earth 5?
thanks
Yes, but 3D Ripper X is a completely different architecture than the GLIntercept. I would recommend try that.
Thanks Brian, works a treat!
Glad to hear it! 🙂
Hi Brian, i followed the tutorial and i created the object OGLE.obj but when i import this file in 3ds max it says "ERROR – invalid vertex index" and it doesn't import anything. Do you know why??
thanks in advance, Gabriele
Try starting with a smaller capture area in Google earth. That error can result from the model being too large.
Actually none of those methods are working on Google Earth 7+. Some new solution? Cheers. Matt.
Did you try 3D Ripper X?
https://brian-horning.com/google-earth-to-3ds-using-3d-ripper-dx/D
Great tutorial, but i trying use both metods (3D Ripper DX and GLIntercept) and nothing work. I using 3dMax2013, but i instaled Max2011 for plugin ….My computer is on 64bits, and dnt know if DirectX is the problem. Please …I need urgent help for one proyect , if you can help me i can pay you.
I wouldnt be able to tell based on the information you gave. What version of windows are you using? What isnt working exactly? Unfortunately, im not able to assist beyond very delayed responses here. Good luck!
I can't get any kind of capture to work with either this method or 3d ripper because I've got Google Earth v 7, and you can't download previous versions! Nightmare! Any suggestions?
At the start of this post I link to an older version of Google Earth. Google should bring you to any old version of any software "download google earth old version x," etc.
Has anyone had any success applying the textures to the models that get imported into the folder?
This is an awesome tool! I love it!
I have not, and ultimately, thats why I moved on to 3D Ripper X. Although, the textures in GE are terrible…
https://brian-horning.com/google-earth-to-3ds-using-3d-ripper-dx/
Hi Brian,
I have some trouble regarding to this. When I am pressing the hot keys, Frame folder is being created, but the ogle.obj file is not there. I am using Win8 x64.
Best Regards,
Azat
This tool was written for Windows XP i think. I am doubtful that Windows 8 will work. I got mine working on Windows 7. Good luck!
Hello thank you so much for this information!
I'm trying to import the ogle.obj in 3dsmax and when I do so this message apears:
ERROR – invalid vertex index
Would you maybe know what the problem is ?
Try capturing a smaller area in Google Earth. That error can result in models that are too big.
Hey! I have a problem with the instructions…. Im am Using Bootcamp Windows 7 Professional on an iMac, and I don't find the folder, "sysWOW64", I was using search aswell, but nothing. Can you help me with that, please?
Thanks is advance!
If your OS is 32bit (and not 64 bit) you will want to copy the .dll files from the Windows/System32 folder instead of Windows/SysWOW64.
Hi! I followed the tutorial, but it didn't work. Does this work with Google Earth V7.1 or V7.0?
Thanks!
Please read some of the previous comments. So far as I know, this only works with older versions of Google Earth. My testing was on v5.x