Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/327.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在Unity3D中动态渲染真实3d环境的方法_C#_3d_Unity3d_Google Earth - Fatal编程技术网

C# 在Unity3D中动态渲染真实3d环境的方法

C# 在Unity3D中动态渲染真实3d环境的方法,c#,3d,unity3d,google-earth,C#,3d,Unity3d,Google Earth,使用Unity3D和C#,我试图显示真实世界位置的3d版本。在我的Unity3D应用程序中,用户将指定某个位置的GPS坐标,然后我的应用程序将必须生成该位置的3d平面(任何东西都不必是平面)。飞机将显示该位置500米乘500米的3d快照 您建议我如何在Unity3D中实现这一点?您将使用什么方法来实现这一目标? 注意:我知道这是一个非常困难的问题(在Unity3d中动态渲染真实世界的位置),所以我希望执行许多操作来实现这一点。我只是不知道所有的技术都有哪些最适合我的需要 例如: 建议的方法1:

使用Unity3D和C#,我试图显示真实世界位置的3d版本。在我的Unity3D应用程序中,用户将指定某个位置的GPS坐标,然后我的应用程序将必须生成该位置的3d平面(任何东西都不必是平面)。飞机将显示该位置500米乘500米的3d快照

您建议我如何在Unity3D中实现这一点?您将使用什么方法来实现这一目标?

注意:我知道这是一个非常困难的问题(在Unity3d中动态渲染真实世界的位置),所以我希望执行许多操作来实现这一点。我只是不知道所有的技术都有哪些最适合我的需要

例如:

建议的方法1:

  • 提示用户指定GPS坐标
  • 使用Google earth API和HTTP以编程方式获取.khm文件 描述该位置(不确定是否 谷歌地球提供了这种能力
    • 是吗?)
  • 解压.khm,这样我就有了.dae文件
  • 使用???将该文件转换为.3ds文件???第三方转换器(is) 是否存在转换器?)
  • 在运行时将.3ds作为平面导入Unity3D(是否可能)
建议的方法2:

  • 提示用户指定GPS坐标
  • 使用Google earth API和HTTP以编程方式获取.khm文件 描述该位置(不确定是否 谷歌地球提供了这种能力
    • 是吗?)
  • 解压.khm,这样我就有了.dae文件
  • 使用我自己的C#解析器解析.dae文件,我将编写(您认为它是 可以编写一个.dae解析器 可以将.dae解析为 描述高度贴图的矢量3 在那个地方?)
  • 在Unity3D中动态创建一个平面,并使用我的 矢量3点阵列/列表(是吗 可以这样创建平面吗?) 也许我应该创建一个网格 而不是飞机

你能想出我在Unity3D中渲染真实世界3d环境的其他方法吗?

没有可用的服务提供给定gps坐标区域的详细3d地图。谷歌有一个超级简单的高度地图,他们可以绘制,然后将航空照片映射到上面,但即使你可以通过编程访问,如果你是在街道上,那也会很糟糕。如果你对一个可怕的细节水平没问题(比如你将从高层或其他地方观看),也许这是可行的,但不是任何第一人称的街头体验