2012-06-19 24 views
1

使用Unity3D和C#我試圖顯示真實世界位置的3D版本。在我的Unity3D應用程序中,用戶將指定一個位置的GPS座標,然後我的應用程序必須生成一個3d平面(任何東西不一定是平面)。該飛機將顯示該位置的500米乘500米的快照。在Unity3D中動態渲染真實世界3D環境的方法

你如何建議我在Unity3D中實現這一點?你會用什麼方法來實現這一點?

注意:我知道這是一個非常艱難的任務(在Unity3d中動態渲染真實世界的位置),所以我期望執行許多操作來實現此目的。我只是不知道所有的技術在那裏,這將是最適合我的需要

例如:

建議方法1:

  • 提示用戶指定GPS COORDS
  • 使用Google地球API和HTTP以編程方式獲取描述該位置的.khm文件 (不確定Google地球是否提供該功能
    • 不是嗎?)
  • 解壓.khm所以我有.dae文件
  • 該文件轉換爲使用.3DS文件???第三方轉換器(是 那裏存在一個轉換器?)
  • 在運行時導入.3ds到Unity3D作爲一個平面(這是可能的)?

建議方法2:

  • 提示用戶指定GPS COORDS
  • 使用谷歌地球API和HTTP以編程方式獲得.khm文件 描述那個位置(不知道是否 谷歌地球提供這種能力
    • 不是嗎?)
  • 解壓.khm所以我有.dae文件
  • 解析用我自己的C#編譯器,我會寫(你覺得.dae文件的 可以編寫一個.dae解析器 可以解析.dae到一個數組 的Vector3的描述該位置的高度圖 ?)
  • 在Unity3D動態創建一個平面,用的Vector3點(是 可以創建一個平面這樣?) 也許我 陣列/列表填充它我打算創建一個網格 而不是飛機?

你能想到的任何其他方式,我可以渲染Unity3D一個真實世界的3D環境?

回答

0

沒有可用的服務有一個給定gps座標的區域的詳細3d地圖。谷歌有一個超級簡單的高度圖,他們繪製然後映射到他們的航拍圖片上,但即使你可以通過編程訪問它,如果你在街道上,它看起來會很糟糕。如果你對可怕的詳細程度沒有問題(比如你會從高處或某些地方看到這個),也許這是可行的,但不是任何第一人稱的街頭體驗。