Blender で光世紀の世界を立体的に見る

以下の記事の続編というか、Blender 編。

星表データは、@dtanak氏が以下のサイトで公開・配布されている拡張光世紀星表を利用する。半径100光年なので、いわゆる光世紀世界(半径50光年)よりは広くなる。

ダウンロードしたCSVファイルを加工してxyzの直交座標(銀河デカルト座標)だけ残す。

これを Blender 内に読み込むには、以下のページにあるスクリプトを利用する。

このスクリプトを利用するため、CSVファイルの1列目に列を挿入し、連番を振っておく。Blender は右手系なので、座標変換は不要でそのまま読み込めばよい。

起動した Blender 内のテキストエディタスクリプトを実行。なお、Blender のバージョンは v3.1.0 を利用した。

さて、これで星々が頂点群として読み込まれる。これをレンダリングできるようにするにはいくつか方法があるが、ここではジオメトリノードを利用する。

「ジオメトリノードエディター」を出し、「モディファイアープロパティ」で「ジオメトリノード」モディファイアーを追加。ノードを追加していく。今回組んだ構成は以下。

f:id:Ditty:20220414214651p:plain
ジオメトリノードの構成

「UV球」ノードの半径をいじることで各球体(=星)のサイズを変更できる。割り当てるマテリアルはあらかじめ作成しておく(ここでは「放射」を適用したマテリアルを作成した)。カメラを設定し、レンダリング

f:id:Ditty:20220414215028p:plain

これで太陽を中心とした半径100光年以内にある14876個の近距離恒星を描画できた。スペースオペラなどの作中に出す立体恒星図などの画に使えるだろう。

Blenderアドオン

それとは別に、2020年にBlenderで使える以下の星図アドオンが配布されていたので紹介しておく。v3以上で動くかは不明。