1、谷歌内核浏览器
2、RenderDoc
RenderDoc
3、blender
Download - blender.org
4、blender的MapsModelsImporter插件
Releases · eliemichel/MapsModelsImporter
1)下载blender软件。
https://ftp.nluug.nl/pub/graphics/blender/release/Blender2.83/blender-2.83.0-windows64.msi
2)安装。
1)下载map model importer插件。
Releases · eliemichel/MapsModelsImporter
2)安装插件。
打开Blender软件。
Edit→Preferences
选择之前下载好的MapsModelImporter压缩包
导入成功后会在可使用的插件中看到MapsModelImporter
RenderDoc 是一款基于帧捕捉的开源图形调试器,我们就用这个软件用来提取谷歌地球的模型
1)RenderDoc下载
RenderDoc
2)安装RenderDoc
3)修改Chrome快捷方式设置
右击浏览器图标-属性-快捷方式-目标,将目标栏内容修改为
C:\Windows\System32\cmd.exe /c "SET RENDERDOC_HOOK_EGL=0 && START "" ^"C:\Program Files\Google\Chrome\Application\chrome.exe^" --disable-gpu-sandbox --gpu-startup-dialog"
当然,也可以另外生成一个Chrome快捷方式,来进行以上修改,从而在不想截帧的时候不影响Chrome的正常使用
1)双击修改过属性的Chrome快捷方式(注意需要关闭其他chrome程序)
2)弹出消息框,记住此时Chrome的pid编号
3)打开renderdoc,File→Inject into Process
在输入框中输入刚才打开的Chrome的pid,点击refresh,在上方列表中双击chrome项或者选中后点击图中4处的Inject
ps:pid只是为了方便找到chrome项,每次打开chrome,其pid都会重新生成,也可以直接在全部列表中直接查找chrome
4)此时回到之前打开的Chrome浏览器,如果看到左上方会有截帧快捷方式提醒和fps等内容显示,则说明RenderDoc已经成功启动了
5)在Chrome浏览器中打开Google Map或者Google Earth,将视角选择到想要提取模型的区域,切换到3D视角
6)使用renderdoc捕捉google地图数据
按下截帧键之后,注意要在GoogleEarth中轻微来回移动一下视角
双击刚才所截的内容。可以进入Texture Viewer(Window→Texture Viewer)中,通过Event Browser控制将刚才所截内容逐帧显示
File→Save Capture As,将当前展示的内容保存为.rdc文件
1)打开blender软件,输入刚刚保存的rtc文件
p.s. 若此时出现以下情况:
则需要逐一去检查排除错误,需要特殊注意的是,最新版本可能不兼容,比如这里我第一次安装的是1.11的RenderDoc,满足≥1.10,但是无限报错,在排除了所有原因之后,终于在MapsModelsImporter的页面中找到了不兼容RenderDoc 1.11的相关信息,换成1.10后问题解决
2)导入后模型是不显示纹理的。右上角四个图标分别是线框/mesh/带材质/带阴影,可根据需要切换
3)最后导出目标格式的模型即可
p.s. Google Map或者Google Earth需科学上网