【问题标题】:Ways to dynamically render a real world 3d environment in Unity3D在 Unity3D 中动态渲染真实世界 3d 环境的方法
【发布时间】:2012-06-19 04:04:04
【问题描述】:

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

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

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

例如:

建议的方法 1:

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

建议的方法 2:

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

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

【问题讨论】:

    标签: c# 3d unity3d google-earth


    【解决方案1】:

    没有可用的服务具有给定 gps 坐标的区域的详细 3D 地图。谷歌有一个超级简单的高度图,他们绘制然后将他们的航拍图映射到上面,但即使你可以通过程序访问它,如果你在街道上看起来会很糟糕。如果你对可怕的细节水平没问题(比如你要从高处看这个或其他东西)也许这是可行的,但不是任何一种第一人称的街头体验。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-07-03
      • 2011-05-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多