宇宙画像を無料で簡単に作るソフト
このサイトのタイトル画像を作るにあたって宇宙画像が必要になったので、無料で簡単に作れるソフトはないかなと思って探してみたところ、希望にぴったりのソフトが見つかりました。
3DCGレンダリングソフトであるPOV-Rayと、Chris Colefax氏が作ったGalaxy Include Fileを使うと、簡単に星空・星雲・銀河・彗星などを組み合わせた綺麗な宇宙画像を作ることができます。
POV-RayとGalaxy Include Fileの使い方
準備
- POV-Rayをダウンロードしてインストール。
- Galaxy Include File(galaxy.zip)をダウンロード。
- galaxy.zipの中にGALAXY.INC、GALAXY.BG、GALAXY.OBJ、GALAXY.SFが入っているので、それら4個のファイルをPOV-Rayのインストール先にあるincludeフォルダ(通常であれば「C:\Program Files\POV-Ray for Windows\Include」)にコピーする。
とりあえず使ってみる
POV-Rayを起動するとテキストエディタのような画面になります。3DCGレンダリングソフトなのにプログラミングですか?…と一瞬焦るかもしれませんが、とりあえず[New]でテキストを新規作成して、次のように書いてみましょう。
#declare galaxy_seed = 1; #include "GALAXY.INC"
そして[Save]した後に[Run]してみると…たったこれだけの記述で美しい宇宙画像が出来上がります!
大雑把な説明
2行目では#includeを用いて使用するファイルを指定しています。今回は先程コピーした4個のファイルのうち、GALAXY.INCを指定しました。
各ファイルの働きは以下のとおりです。
- GALAXY.BG
背景となる「星雲」を作ります。 - GALAXY.SF
背景となる「星空」を作ります。 - GALAXY.OBJ
オブジェクト(物体)としての「星」、「星雲」、「銀河」、「彗星」、「流星」を作ります。 - GALAXY.INC
前述の3つのファイルを組み合わせて、ランダムな宇宙画像を作ります。
では1行目は何かというと、#declareを用いてGALAXY.INCのオプション変数を設定しています。今回はランダムな宇宙を作り出すための”種”としてgalaxy_seedという変数に1をセットしました。
オプション変数の設定はファイルの指定より前におこなう必要があります。順番に気をつけてください。
GALAXY.INCのオプション変数であるgalaxy_seedの値を変える(例:2,3,4…)だけで、下にあるような様々な宇宙画像を簡単に作ることができます。
作成された宇宙画像(例)
背景や物体(銀河・彗星・流星等)を細かく指定して宇宙画像を作る
下の宇宙画像を作成してみましょう。(「//」以降はコメント文なので、出来上がる画像に影響を及ぼしません。)
コード
// // GALAXY BACKGROUND(背景の星雲) // #declare galaxy_bgnebula = 1; // 星雲のパターンを指定する。 #declare galaxy_bgstars = false; // 細かい星を表示しない。 #declare galaxy_nebula_sphere = false; // 星雲を組み合わせない。 #declare galaxy_color1 = <1, 1, 1>; // 星雲の色1として白を使う。 #declare galaxy_color2 = <0, 0, 1>; // 星雲の色2として青を使う。 #declare galaxy_color3 = <1, 1, 1>; // 星雲の色3として白を使う。 #declare galaxy_intensity = 0.5; // 星雲の輝度を設定する。 #declare galaxy_pattern_origin = <0.5, 0, 1>; // 星雲のパターンの位置をずらす。 #declare galaxy_turb_origin = <0, 1, 0.5>; // 星雲の乱れ具合の位置をずらす。 #include "GALAXY.BG" // GALAXY.BGファイルを使用する。 // // GALAXY STARFIELD(背景の星空) // #declare star_count = 100000; // 星の数を100000にする。 #declare star_scale = 0.15; // 星の大きさを設定する。 #declare star_colour_turb = 1; // 星の色のばらつきを設定する。 #declare star_brightness_turb = 1; // 星の明るさのばらつきを設定する。 #include "GALAXY.SF" // GALACY.SFファイルを使用する。 // // GALAXY OBJECTS 1(中心部の彗星) // #declare galaxy_object_name = "Comet2"; // 単独オブジェクトに彗星2を指定する。 #declare galaxy_cluster_objects = 0; // 集団オブジェクトを表示しない。 #declare galaxy_color1 = <1, 1, 1>; // 彗星の色1として白を使う。 #declare galaxy_color2 = <0.7, 0.7, 1>; // 彗星の色2として紫系を使う。 #declare galaxy_color3 = <0.8, 1, 1>; // 彗星の色3として水色系を使う。 #declare galaxy_object_position = <0, 0, 0>; // 彗星の位置を設定する。 #declare galaxy_object_scale = 1; // 彗星の大きさを設定する。 #declare galaxy_object_rotate = 30; // 彗星を30度回転させる。 #include "GALAXY.OBJ" // GALACY.OBJファイルを使用する。 // // GALAXY OBJECTS 2(大きめの星) // #declare galaxy_object_name = ""; // 単独オブジェクトを表示しない。 #declare galaxy_cluster_name = "Star4"; // 集団オブジェクトに星4を指定する。 #declare galaxy_cluster_objects = 100; // 星の数を100にする。 #declare galaxy_cluster_scale = 0.05; // 星の大きさを設定する。 #declare galaxy_cluster_spread = 100; // 星の散らばりを設定する。 #declare galaxy_color_turb = 0.4; // 星の色のばらつきを設定する。 #include "GALAXY.OBJ" // GALAXY.OBJファイルを使用する。