[英]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.