Google MapsにPapervision3Dでオーバーレイ表示

Google Maps API for FlashにMap3Dクラスが新設されて、マップを傾斜・回転できるようになりましたが、Papervision3Dを使用すると簡単に3Dオブジェクトをオーバーレイ表示することができます。サンプルを作ってみました(ソースコードつき)。

pv3doverlay1

通常のマウスドラッグだけでなく、Shift+ドラッグやCtrl+ドラッグで回転操作ができるので試してみてください。Google Earthとだいたい同じ操作になっているようです。

短いコードですが、コアになるのはGoogleMapsCamera3Dクラスで、PV3DのCamera3Dクラスを拡張して、マップに同期する投影行列を与えています。Googleマップのワールド座標系は、東方向がX軸プラスで0?256、南方向がY軸プラスで0?256、上方向がZ軸プラスの左手座標系になっていますが、この座標系上に直接PV3Dのオブジェクトを描画することができます。

せっかくなので、もっと面白いものを表示してみましょう。

pv3doverlay2

東京駅前にワイバーン。3Dモデルは26℃さん制作のをお借りしました。かっこいいですねー。

なにかいる

pv3doverlay3

pv3doverlay4

ズサさんのねぎミクモデルをrectさんのところからお借りしました。ありがとうございます。こんな感じで、小さなものから大きなものまで大丈夫です。ちなみに拙作でも同じ方法で車体を描画しています。

あとは平面投影シャドウあたりが欲しいですね。PV3Dでどうするのがいいのか調査中。

関連エントリ

Leave a Reply

トップページ
プロフィール

はてなブックマーク
wonderfl