私はthree.jsの限界について興味があります。次の質問は、主に挑戦として尋ねられます。なぜなら、私は実際に特定の知識/コードを実際に必要としているからではありません。three.jsを使って、地球儀を画面上の地図にどのように投影しますか?
Populousの世界のように、地球を表す球のジオメトリの周りにゲーム/シミュレーションワールドモデルがあるとします。ポリゴンとテクスチャの解像度は、グローブが普通のカメラの視点を満たすときに滑らかに見えるのに十分です。表面にはアニメーション化された巨視的な物体があります。
モデルからグローバルマップ投影までのすべてをリアルタイムで画面に投影することが課題です。プロジェクションの選択はあなたのものですが、シームレスで連続的でなければならず、ユーザがそれを回転させて、スクリーンの中心の惑星表面上の任意の点を置くことが可能でなければならない。 (視覚化のためだけに世界の代替モデルを維持する選択肢ではありません)
カメラの数などに制限はありませんが、パフォーマンスは「リアルタイム」、たとえば2 FPS以上である。
私は実行中のアプリケーションの形でayn proofを期待していませんが(それはすばらしいでしょうが)、どのように実行できるかについてのいくつかの説明があります。
私自身の最初のアイデアは、地図投影のあらゆるピクセル、地球のまわり、いくつかの種類の軌道制御(回転のみ)に添付されたグループオブジェクト内の多くのカメラを配置することです。私はオブジェクトの間引き操作の数が大きなパフォーマンス上の問題になることを期待しています。より洗練された(そしてより速い)ソリューションが存在しなければならないと確信しています。 :-)
球からマップに再投影する必要がある場合は間違っていると思います。あなたが球上にオブジェクトを置いているときには、すでにマップ上の位置(緯度/経度など)を知っているので、そこからフラットマップを作成できます。 – mlkn