スマートフォンで3D地球儀を操作する際、指の動きと地球の回転が少しでもズレると強い違和感が生じます。QuakeViewer3Dにおける極上のモバイル操作感の作り方を解説します。
1. クォータニオンによる特異点のない3D球面回転
オイラー角を用いた回転計算ではジンバルロック(回転軸の重なり)が発生します。QuakeViewer3Dでは、指のタッチ移動ベクトルから直交する回転軸と回転角を算出し、四元数(Quaternion)を用いて滑らかな全方位回転を実現しました。
2. 物理シミュレーションに基づく慣性スクロール
指を離した瞬間のフリック速度を計算し、指数関数的減衰係数(Damping Factor)を適用した慣性回転を実装。まるで本物の地球儀を手でスピンさせているかのような心地よい操作感を提供しています。
3. 画面を塞がないフローティングHUDとPWA対応
スマートフォン画面の狭い領域でも3D地球儀の視界を邪魔しないよう、半透明グラスモーフィズムHUDと下部ドックアクションバーを配備。PWA(Progressive Web Apps)としてホーム画面に追加して即起動できる防災ツールとして仕上げました。