1

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 ファイルを解析します (その場所の高さマップを記述する Vector3 の配列に .dae を解析できる .dae パーサーを作成できると思いますか?)
  • Unity3D で平面を動的に作成し、Vector3 ポイントの配列/リストを配置します (この方法で平面を作成することは可能ですか?) 平面ではなくメッシュを作成することを意図しているのでしょうか?

Unity3D で現​​実世界の 3D 環境をレンダリングできる他の方法を考えられますか?

4

1 に答える 1

0

GPS 座標が指定されたエリアの詳細な 3D マップを提供するサービスはありません。Google は非常にシンプルな高さマップを作成して航空写真をマッピングしていますが、プログラムでアクセスできたとしても、ストリート レベルでは見栄えが悪くなります。恐ろしいレベルの詳細(これを高いところから見ているようなもの)で大丈夫なら、それは実現可能かもしれませんが、あらゆる種類の一人称ストリートレベルの経験としてはそうではありません.

于 2012-06-22T16:55:18.043 に答える