遠近感の作り方
星に奥行き(z座標)を持たせ、近づくほど画面の外側へ大きく速く動くように描いています。これだけで「自分が前進している」感覚が生まれます。古くからあるデモですが、何度見ても気持ちいい演出です。
奥行きを作る「透視投影」
各星に3次元座標 (x, y, z) を持たせ、画面上の位置を x ÷ z、y ÷ z で決めています。z(奥行き)が小さい=近い星ほど画面の外側に大きく速く動く——それだけで「自分が前へ進んでいる」感覚が生まれます。スピードを上げると、1フレームでの移動量が増えて、星が線(モーションブラー)として描かれます。
| 有名な例 | 内容 |
|---|---|
| スター・ウォーズ(1977) | ハイパースペースへの突入演出の元祖 |
| Windows 3.1のスクリーンセーバー | 「宇宙飛行」として世界中のPCで再生された |
| デモシーン | 1990年代のプログラマーが技を競った定番課題 |
本当の宇宙旅行では星は流れない
実際には最も近い恒星でも4光年以上離れているため、光速に近い速度で飛んでも星の位置はほとんど変わりません。ただし光速に近づくと、相対論的効果で前方の星が中央に集まって見える(光行差)ため、SF映画とは別の意味で不思議な光景になるはずです。
よくある質問
- 酔いませんか?
- スピードを下げるとゆったり眺められます。
- データは送信されますか?
- いいえ。すべてブラウザ内で動きます。
- 星の数を増やせる?
- 本シミュレーターは数百〜千個程度で描画しています。増やすほど密度感が出ますが、モバイル端末では重くなります。
- 眺めていると眠くなる?
- 一定のリズムで流れる映像は視覚的な刺激が単調で、リラックス効果があると言われます。スピードを最小にして眺めるのがおすすめです。