宇宙画像(壁紙)を簡単に作る方法≪POV-Ray≫

宇宙画像を簡単に作るソフト
このサイトを作るにあたって星空などの画像が必要になったので、宇宙画像が簡単に作れるソフトはないかなと思って探してみたところ、希望にぴったりのソフトが見つかりました。
3DCGレンダリングソフトであるPOV-Rayと、Chris Colefax氏が作ったGalaxy Include Fileを使うと、簡単に星空・星雲・銀河・彗星などを組み合わせた綺麗な宇宙画像を作ることができます。
宇宙画像
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の値を変えるだけで、様々な宇宙を簡単に作ることができます。
サンプル01 サンプル02 サンプル03 サンプル04
実際に作ってみる
↓の宇宙画像を作成してみましょう。なお、「//」以降の緑色部分はコメント文なので、出来上がる画像に影響を及ぼしません。
制作例
コード
//
// 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ファイルを使用する。
宇宙壁紙のダウンロード
宇宙壁紙01 宇宙壁紙02 宇宙壁紙03 宇宙壁紙04 宇宙画像05

ページトップへ戻る
ホーム(目次)へ戻る