ソフトウェア開発部のつのだです。
ツール・ド・フランス観戦の影響で自転車に乗りたくてたまらなくなり、シルバーウィークに人生初のしまなみ海道に行ってきました。何もかもが最高でした。
瀬戸内の星空を見たかったのですが、夕方から曇ってしまい見れずじまいだったのが心残りです。
さて、先日オープンベータテストを開始したモバイルアプリ「星空ナビ」の開発秘話のご紹介がありました。
星空ナビ製品ページはこちら→ https://www.astroarts.co.jp/products/navi/
今回は私が担当した星図機能についてご紹介したいと思います。
新しいWeb星図
アストロアーツはプラットフォームごとにいくつもの星空アプリをリリースしてきました。「星空ナビ」の星図はステラナビゲータやiステラ/スマートステラの星図とは異なる星図になっていることにお気付きの方もいるかもしれません。
あの星なあに?画面
実はこの星図部分はWebブラウザになっていて、Webブラウザ上で描画を行う新しい星図を使用しています。
WebGLというWeb標準のグラフィックAPIを使用しているので、(モダンな)Webブラウザさえあれば環境を選ばないクロスプラットフォームな星図エンジンになっています。現時点でChrome、Firefox、 Edge、Safariで動作確認をしており、iOS、Androidだけでなく、WindowsでもMacでもLinuxでも動きます。
ということは、よくご要望としていただくMac版のステラナビゲータが…と思われた方がいらっしゃるかもしれません。
残念ながら現時点ではステラナビゲータで扱われる非常に多彩な機能を実装できていないため、今すぐにというわけにはいかないのが現状です(30年近い歴史で積み重ねられた機能の数はとてもとても膨大です…)。
現時点ではアストロガイドで使われている星図設定の一部を再現することしかできませんが、少しずつ対応設定を拡充していきたいと思っています。
空を身近なものに
「星空ナビ」の星図の特色はニュースが表示されることです。
アストロアーツのサイトで配信している天文ニュースや天文現象が、今の空をシミュレーションした星図に表示されています。世の中には星図アプリは数多ありますが、ニュースなどのコンテンツが載った星図アプリというのはあまり見かけません。
ニュースカードを選ぶことが出来る
私は元々地図関係のエンジニアをしていたこともあり、地図上に興味のある地点(Point of interest)をマッピングする感覚で星図に色々な情報を載せたいと思っていました。星図に最新の情報が載ることで、様々な出来事が身近な空と結びつき、どこか遠い出来事だったニュースがより親しみのあるものに感じられるのではないでしょうか。
Web地図は現在、生活に欠かせないツールの一つであり、人と場所を繋ぐ存在と言えます。この星図も空を身近にすることで、皆様と空とを繋ぐ手助けになればと願っています。
こだわりの空シミュレーション
この星図の開発で最も時間がかかったのが青空のシミュレーションになります。
太陽の方向と大気の厚み、光の散乱の度合いのパラメータから空の色を算出しており、シェーダー内部でベクトル・行列計算を行っています。シミュレーション計算のデバッグは非常に大変で、高校時代、数学Cの行列計算から逃げたツケがこんなところでやってくるとは思いもしませんでした。
最終的に夕日のシミュレーションが出来た時は、それを見ながら自分へのご褒美のハーゲンダッツを食しました。曇りや雨など空の見えない日の夕方に、星空ナビの夕焼けシミュレーションを通して、雲の向こうの空に思いを馳せていただければと思います。
まだまだご紹介したい機能はありますが、今回はここまでにしたいと思います。
この星図は「星空ナビ」と共に開発が進んでいきます。皆様のお手元で「星空ナビ」と共に星図の進化を見守っていただければ幸いです。