使用 Unity3D 和 C# 我正在尝试显示真实世界位置的 3d 版本。在我的 Unity3D 应用程序中,用户将指定一个位置的 GPS 坐标,然后我的应用程序必须生成该位置的 3d 平面(任何东西都不必是平面)。飞机将显示该位置的 500 米乘 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 环境的任何其他方式吗?