【发布时间】: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