簡體   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