太陽系から、宇宙の果てまで。
1画面で旅する3Dシミュレータ。
「Stellar Voyage」は、太陽から数メートル単位の距離感覚から、観測可能な宇宙の果てまでを ブラウザだけでシームレスに移動できる3D宇宙旅行シミュレータです。惑星も恒星も、すべて実在の天体データを使っています。
何が見えるか
太陽系の惑星軌道を俯瞰したかと思えば、そのままズームアウトを続けるだけで近傍の恒星、 さらには観測可能な宇宙の果てまでたどり着けます。逆にズームインすれば、惑星の自転・公転速度や 恒星までの距離が「光でどれくらいかかるか」という体感的な単位で表示されます。
仕組み:17桁のスケール差をどう1画面に収めるか
太陽系の直径(約90億km)から観測可能な宇宙の果てまでは、桁違いのスケール差があります。 Stellar Voyage ではカメラの描画範囲を 1e-5 AU から 1e12 AU まで取り、対数深度バッファを使うことで、 極端に近い天体と極端に遠い天体を同時に破綻なく描画しています。 さらに「Floating Origin」という手法で、カメラを常に座標の原点に据え、GPUには注視点からの相対座標だけを渡すことで、 遠方でも描画精度が落ちないようにしています。ズームもホイール1ノッチごとに視距離が約1.16倍になる「乗算ズーム」を採用し、 太陽系サイズでも銀河サイズでも同じ操作感で移動できるようにしました。
使っているデータ
恒星の位置データは HYG カタログ(119,627件)を使用し、肉眼にはまず見えない暗い星を間引いて604KBまで圧縮(元データの約1/55)。 系外惑星は NASA のカタログから307の恒星系・443個の惑星を抽出して収録しています。 描画には Three.js を使い、45,792個の星をドローコールわずか4回で描画するなど、ブラウザだけで動く軽さにもこだわりました。