繁体   English   中英

在Unity3D中动态渲染现实世界3d环境的方法

[英]Ways to dynamically render a real world 3d environment in Unity3D

我正在尝试使用Unity3D和C#显示真实世界位置的3D版本。 在我的Unity3D应用程序内,用户将指定位置的GPS坐标,然后我的应用程序将必须生成该位置的3d平面(不必是平面)。 飞机将显示该位置的500米x 500米3d快照。

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

注意:我知道这是非常困难的工作(要在Unity3d中动态渲染现实世界的位置),因此我希望执行许多操作来实现这一目标。 我只是不了解所有现有技术,而哪种技术最适合我的需求

例如:

建议的方法1:

  • 提示用户指定GPS坐标
  • 使用Google Earth API和HTTP以编程方式获取描述该位置的.khm文件(不确定google Earth是否提供了该功能
    • 可以?)
  • 解压缩.khm文件,让我得到.dae文件
  • 使用???将文件转换为.3ds文件。 第三方转换器(是否存在转换器?)
  • 在运行时将.3ds作为平面导入到Unity3D中(这可能)吗?

建议的方法2:

  • 提示用户指定GPS坐标
  • 使用Google Earth API和HTTP以编程方式获取描述该位置的.khm文件(不确定google Earth是否提供了该功能
    • 可以?)
  • 解压缩.khm文件,让我得到.dae文件
  • 我将使用我自己的C#解析器来解析.dae文件(您认为可以编写一个.dae解析器来将.dae解析为描述该位置高度图的Vector3数组吗?)
  • 在Unity3D中动态创建一个平面,并用我的Vector3点数组/列表填充它(是否可以通过这种方式创建一个平面?)也许是要创建一个网格而不是一个平面?

您还能想到我可以在Unity3D中渲染真实世界3d环境的任何其他方式吗?

没有可用的服务提供给定gps坐标的区域的详细3d地图。 Google绘制了一个非常简单的高度图,然后将其绘制到空中照片上,但是即使您可以通过编程方式访问它,如果您在街道上,它也会看起来很糟糕。 如果您对恐怖的细节水平还可以(例如,从高处或其他方面来查看),也许这是可行的,但不是任何一种第一人称的街道体验。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM