(57)【要約】【課題】複雑な要因が絡みあって変化する月の位置や見え方を少ない処理付加で効果的に表現すること。【解決手段】オブジェクト空間において仮想カメラから見える画像を生成するためのプログラムであって、ゲーム空間に設定された所与の空間又は天球に設定された所与の軌道を運行する軌道運行物オブジェクトの位置と大きさをゲーム時刻に基づいて変化させるための処理を行う軌道運行物オブジェクト設定部１１６と、軌道運行物オブジェクトが配置されたオブジェクト空間を仮想カメラから見た画像を描画する描画部１２０と、としてコンピュータを機能させることを特徴とするプログラムである。【選択図】図１３
2007164729.tif 000002
【特許請求の範囲】
【請求項１】
オブジェクト空間において仮想カメラから見える画像を生成するためのプログラムであって、
ゲーム空間に設定された所与の空間又は天球に設定された所与の軌道を運行する軌道運行物オブジェクトの位置と大きさをゲーム時刻に基づいて変化させるための処理を行う軌道運行物オブジェクト設定部と、
軌道運行物オブジェクトが配置されたオブジェクト空間を仮想カメラから見た画像を描画する描画部と、
してコンピュータを機能させることを特徴とするプログラム。
【請求項２】
請求項１において、
前記軌道運行物オブジェクト設定部は、
ゲーム時刻の進行に従って天空を移動する軌道運行物の運動モデルに基づいて、軌道運行物オブジェクトの位置を設定することを特徴とするプログラム。
【請求項３】
請求項１乃至２のいずれかにおいて、
前記軌道運行物オブジェクト設定部は、
ゲーム時刻に基づき求めた軌道運行物の位置が、オブジェクト空間の地平面から遠い場合には近い場合に比べて軌道運行物の大きさが小さくなるように軌道運行物オブジェクトの大きさを設定することを特徴とするプログラム。
【請求項４】
請求項１乃至３のいずれかにおいて、
前記軌道運行物オブジェクト設定部は、
ゲーム時刻または軌道運行物の位置に基づき、軌道運行物の明るさ又は透明度を設定し、
前記描画部は、
決定された軌道運行物オブジェクトの明るさ又は透明度に基づき、オブジェクト空間に配置された軌道運行物オブジェクトの画像を描画することを特徴とするプログラム。
【請求項５】
請求項４において、
前記軌道運行物オブジェクト設定部は、
軌道運行物の位置がオブジェクト空間の地平面から遠い場合には近い場合に比べて軌道運行物の明るさが明るくなるように、または透明度が低くなるように軌道運行物オブジェクトの明るさまたは透明度を設定することを特徴とするプログラム。
【請求項６】
請求項２、または請求項２に従属する請求項３乃至５のいずれかにおいて、
前記軌道運行物の運動モデルとして、天空上の移動軌跡の異なる複数の運動モデルを用意しておき、
前記軌道運行物オブジェクト設定部は、
ゲーム上想定されている日付、仮想カメラの位置または緯度の少なくともひとつにもとづいて運動モデルを選択し、選択した運動モデルに従って、前記軌道運行物状態を設定することを特徴とするプログラム。
【請求項７】
請求項１乃至６のいずれかにおいて、
前記軌道運行物オブジェクト設定部は、
所定のタイミングで軌道運行物の見かけの形状を変化させるようにテクスチャ制御情報を設定し、
前記描画部は、
前記テクスチャ制御情報に基づいて軌道運行物テクスチャを設定し、軌道運行物オブジェクトにマッピングする処理を行うことを特徴とするプログラム。
【請求項８】
請求項１乃至６のいずれかにおいて、
前記軌道運行物オブジェクト設定部は、
所定のタイミングで軌道運行物の見かけの形状を変化させるように、軌道運行物オブジェクトの頂点処理又は軌道運行物オブジェクト画像のピクセル処理の制御情報を設定し、
前記描画部は、
設定された制御情報に基づいて、軌道運行物オブジェクトの頂点処理又は軌道運行物オブジェクト画像のピクセル処理を行い見かけの形状が変化した軌道運行物オブジェクトを描画することを特徴とするプログラム。
【請求項９】
請求項１乃至８のいずれかにおいて、
前記軌道運行物オブジェクト設定部は、
仮想カメラと軌道運行物オブジェクトの距離に基づき、軌道運行物オブジェクトの大きさを変化させる処理を行うことを特徴とするプログラム。
【請求項１０】
請求項１乃至９のいずれかにおいて、
前記軌道運行物オブジェクト設定部は、
仮想カメラと軌道運行物オブジェクトの距離に基づき、軌道運行物オブジェクトの明るさを変化させる処理を行うことを特徴とするプログラム。
【請求項１１】
オブジェクト空間において仮想カメラから見える画像を生成するためのプログラムであって、
ゲーム空間に設定された所与の空間又は天球に設定された所与の軌道を運行する軌道運行物オブジェクトの大きさを仮想カメラと軌道運行物オブジェクトの距離に基づき変化させるための処理を行う軌道運行物オブジェクト設定部と、
軌道運行物オブジェクトが配置されたオブジェクト空間を仮想カメラから見た画像を描画する描画部と、
してコンピュータを機能させることを特徴とするプログラム。
【請求項１２】
オブジェクト空間において仮想カメラから見える画像を生成するためのプログラムであって、
ゲーム空間に設定された所与の空間又は天球に設定された所与の軌道を運行する軌道運行物オブジェクトの明るさを仮想カメラと軌道運行物オブジェクトの距離に基づき変化させるための処理を行う軌道運行物オブジェクト設定部と、
軌道運行物オブジェクトが配置されたオブジェクト空間を仮想カメラから見た画像を描画する描画部と、
してコンピュータを機能させることを特徴とするプログラム。
【請求項１３】
コンピュータ読み取り可能な情報記憶媒体であって、請求項１乃至１２のいずれかのプログラムを記憶することを特徴とする情報記憶媒体。
【請求項１４】
オブジェクト空間において仮想カメラから見える画像を生成する画像生成システムであって、
ゲーム空間に設定された所与の空間又は天球に設定された所与の軌道を運行する軌道運行物オブジェクトの位置と大きさをゲーム時刻に基づいて変化させるための処理を行う軌道運行物オブジェクト設定部と、
軌道運行物オブジェクトが配置されたオブジェクト空間を仮想カメラから見た画像を描画する描画部と、
含むことを特徴とする画像生成システム。
【請求項１５】
オブジェクト空間において仮想カメラから見える画像を生成する画像生成システムであって、
ゲーム空間に設定された所与の空間又は天球に設定された所与の軌道を運行する軌道運行物オブジェクトの大きさを仮想カメラと軌道運行物オブジェクトの距離に基づき変化させるための処理を行う軌道運行物オブジェクト設定部と、
軌道運行物オブジェクトが配置されたオブジェクト空間を仮想カメラから見た画像を描画する描画部と、
含むことを特徴とする画像生成システム。
【請求項１６】
オブジェクト空間において仮想カメラから見える画像を生成する画像生成システムであって、
ゲーム空間に設定された所与の空間又は天球に設定された所与の軌道を運行する軌道運行物オブジェクトの明るさを仮想カメラと軌道運行物オブジェクトの距離に基づき変化させるための処理を行う軌道運行物オブジェクト設定部と、
軌道運行物オブジェクトが配置されたオブジェクト空間を仮想カメラから見た画像を描画する描画部と、
含むことを特徴とする画像生成システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像生成システム、プログラム及び情報記憶媒体に関する。
【背景技術】
【０００２】
従来より、キャラクタなどのオブジェクトが配置設定されるオブジェクト空間内（仮想的な３次元空間）において仮想カメラ（所与の視点）から見える画像を生成する画像生成システム（ゲームシステム）が知られており、いわゆる仮想現実を体験できるものとして人気が高い。
【０００３】
さてこのようなゲームシステムでは、プレーヤの仮想現実向上のために、よりリアルな画像を生成することが重要な技術的課題になっている。
【０００４】
ここにおいて、例えばゲーム空間内で月等の自然の景色を時刻に応じて変化させると、画像を通じて時間の流れを感じさせることができる。
【特許文献１】特開２０００−１７６１６６号公報
【特許文献２】特開２００５−３１９１０６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかし月の見え方は地球の自転や公転及び月の公転及び月を見ている位置の緯度や地軸の傾き等の要素に応じて変化するものであり、厳密なシミュレーションを行うと演算負荷が大きくなるという問題点があった。
【０００６】
また月の見え方（例えば大きさ）等は、月の位置や時刻等の条件によって左右されるものであり、これをシミュレーションすることは困難であった。
【０００７】
このように複雑な要因が絡みあって変化する月の位置や見え方をシミュレーションすると演算付加が増大し、限られたハードウエア資源でリアルタイムに画像生成を行うことが必要なゲーム装置等では処理が困難であるという問題点があった。
【０００８】
本発明は、以上のような課題に鑑みてなされたものであり、その目的とするところは、複雑な要因が絡みあって変化する月の位置や見え方を少ない処理付加で効果的に表現することが可能な画像生成システム、プログラム及び情報記憶媒体を提供することにある。
【課題を解決するための手段】
【０００９】
（１）本発明は、
オブジェクト空間において仮想カメラから見える画像を生成するための画像生成システムであって、
ゲーム空間に設定された所与の空間又は天球に設定された所与の軌道を運行する軌道運行物オブジェクトの位置と大きさをゲーム時刻に基づいて変化させるための処理を行う軌道運行物オブジェクト設定部と、
軌道運行物オブジェクトが配置されたオブジェクト空間を仮想カメラから見た画像を描画する描画部と、
とを含む画像生成システムに関係する。
【００１０】
また本発明は、上記各部としてコンピュータを機能させるプログラムに関係する。また本発明は、コンピュータ読み取り可能な情報記憶媒体であって、上記各部としてコンピュータを機能させるプログラムを記憶（記録）した情報記憶媒体に関係する。
【００１１】
ここで軌道運行物とはゲーム空間に設定された所与の空間又は天球に設定された所与の軌道を運行するものであり、例えば月、太陽、星（火星や金星等の惑星を含む）や衛星（人工衛星等を含む）である。
【００１２】
またゲーム時刻とはゲームのなかで進行するゲーム時間によって決まる時刻であり、例えば現実世界の実時間と同じに設定されていてもよいし、実時間より早く進行するゲーム時間に応じた時刻やその逆でもよい。
【００１３】
また軌道運行物の大きさは軌道運行物の位置に応じて決定される構成でもよいし、ゲーム時刻に応じて決定される構成でもよい。
【００１４】
現実世界では月等の軌道運行物が天上にあるときよりも、地平線に近いところにあるときのほうが大ききくみえる。かかる見掛け上の軌道運行物の大きさの変化を正確にシミュレートしようとすると、演算負荷が増大する。
【００１５】
本発明によれば、ゲーム時刻に応じて軌道運行物オブジェクトの位置と大きさが決定されて、それに従って軌道運行物の画像が生成される。
【００１６】
したがって少ない演算負荷でゲーム時刻に応じて大きさの変化する軌道運行物の画像を生成することができる。
【００１７】
（２）また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、
前記軌道運行物オブジェクト設定部は、
ゲーム時刻の進行に従って天空を移動する軌道運行物の運動モデルに基づいて、軌道運行物オブジェクトの位置を設定することを特徴とする。
【００１８】
軌道運行物の運動モデルは、天空上の軌道運行物の移動を特定するための情報であり、例えば移動軌跡を特定するための情報でもよいし、ゲーム時刻をパラメータとして位置情報を求める関数でもよいし、ゲーム時刻と対応する位置情報が格納されたテーブルデータ（この場合データ間は補完するようにしてもよい）でもよい。
【００１９】
前記運動モデルは、所定の軌道や移動軌跡（少なくとも１つの円または楕円軌道）上にゲーム時刻に対応する位置が一義的に決定されるような情報でもよい。
【００２０】
なお軌道運行物の運動モデルは現実世界の月等の軌道運行物の運行をシミュレートするものでもよいし、ゲーム世界独自の軌道運行物の動きを設定してもよい。
【００２１】
軌道運行物の運動モデルに基づいて軌道運行物の位置を設定し、軌道運行物の位置に基づいて軌道運行物の大きさを設定するようにしてもよい。
【００２２】
また軌道運行物の運動モデルの中にゲーム時刻に対応した軌道運行物の大きさを設定するための情報を含ませておいてもよい。
【００２３】
軌道運行物状態決定部は、
ゲーム時刻の進行に従って天空を移動する軌道運行物（月）の運動モデルを設定し、設定した軌道運行物（月）の運動モデルに基づいて、所与のゲーム時刻に対応した軌道運行物（月）の位置と、軌道運行物（月）の大きさを設定し、軌道運行物（月）の画像を生成する際に必要な軌道運行物（月）オブジェクトの位置情報と軌道運行物（月）オブジェクトの大きさ制御情報を含む軌道運行物画像生成用情報を演算し、
前記描画部は、
前記軌道運行物画像生成用情報に基づきオブジェクト空間に軌道運行物（月）オブジェクトを配置して、オブジェクト空間を仮想カメラから見た画像を描画するようにしてもよい。
【００２４】
運動モデルはプログラムに命令コードの一部として組み込まれるの形で記憶されていてもよいし（例えば軌道運行物の軌道の演算式がプログラムコードに組み込まれているような場合）、プログラムが使用する関数として記憶されていてもよいし、プログラムから読み出し可能なデータとして記憶されていてもよい。
【００２５】
（３）また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、
前記軌道運行物オブジェクト設定部は、
ゲーム時刻に基づき求めた軌道運行物の位置が、オブジェクト空間の地平面から遠い場合には近い場合に比べて軌道運行物の大きさが小さくなるように軌道運行物オブジェクトの大きさを設定することを特徴とする。
【００２６】
このようにすると地平線に近いときに大きく、天上付近に行くほど小さくなる月の表現を行うことができる。
【００２７】
（４）また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、
前記軌道運行物オブジェクト設定部は、
ゲーム時刻または軌道運行物の位置に基づき、軌道運行物の明るさ又は透明度を設定し、
前記描画部は、
決定された軌道運行物オブジェクトの明るさ又は透明度に基づき、オブジェクト空間に配置された軌道運行物オブジェクトの画像を描画することを特徴とする。
【００２８】
なお月の明るさの制御は、月のα値を変化させ、月を加算半透明で描画させることにより実現してもよい。
【００２９】
例えば基準値または設定値をα、あるゲーム時刻におけるα値をα’として、ゲーム時刻または軌道運行物（月）の位置に応じてα’＝ｋαとなるｋの値を求めるようにしてもよい。
【００３０】
α値はオブジェクト単位に設定されていてもよいし、ポリゴンの頂点単位に設定されていてもよいし、画素単位に設定されていてもよい。
【００３１】
（５）また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、
前記軌道運行物オブジェクト設定部は、
軌道運行物の位置がオブジェクト空間の地平面から遠い場合には近い場合に比べて軌道運行物の明るさが明るくなるように、または透明度が低くなるように軌道運行物オブジェクトの明るさまたは透明度を設定することを特徴とする。
【００３２】
このようにすると地平線に近いときにうすく、天上付近に行くほど明るく輝く月の表現を行うことができる。
【００３３】
（６）また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、
前記軌道運行物の運動モデルとして、天空上の移動軌跡の異なる複数の運動モデルを用意しておき、
前記軌道運行物オブジェクト設定部は、
ゲーム上想定されている日付、仮想カメラの位置または緯度の少なくともひとつにもとづいて運動モデルを選択し、選択した運動モデルに従って、前記軌道運行物状態を設定することを特徴とする。
【００３４】
実際の月等の運動をみると、同じ場所（緯度、経度が同じ）であっても例えば季節によって移動軌跡が異なってくる。
【００３５】
本発明によれば移動軌跡の異なる複数の運動モデルを用意して、仮想カメラの位置や日付や季節の設定に応じて運行モデルを選択するので、仮想カメラの位置や日付や季節の設定に応じて天空における移動軌跡が変化する軌道運行物（月等）の画像を生成することができる。
【００３６】
（７）また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、
前記軌道運行物オブジェクト設定部は、
所定のタイミングで軌道運行物の見かけの形状を変化させるようにテクスチャ制御情報を設定し、
前記描画部は、
前記テクスチャ制御情報に基づいて軌道運行物テクスチャを設定し、軌道運行物オブジェクトにマッピングする処理を行うことを特徴とする。
【００３７】
軌道運行物オブジェクトを描画する際に、所与のテクスチャをマッピングする処理を行うようにしてもよい。この場合には、軌道運行物の見かけの形状を変化させるように軌道運行物オブジェクトに対してマッピングするテクスチャの色分布（テクセルパターン）を軌道運行物の見かけの形状を変化させるように動的に変化させるようにしてもよい。
【００３８】
この場合において、色分布が異なるテクスチャを動的に生成してもよいし、複数の色分布が異なるテクスチャを予め用意しておき、使用するテクスチャを動的に切り替えるようにしてもよい。またオブジェクト単位でテクスチャの色分布を変化させてもよいし、オブジェクト単位でテクスチャの色分布を変化させるようにしてもよい。
【００３９】
（８）また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、
前記軌道運行物オブジェクト設定部は、
所定のタイミングで軌道運行物の見かけの形状を変化させるように、軌道運行物オブジェクトの頂点処理又は軌道運行物オブジェクト画像のピクセル処理の制御情報の設定し、
前記描画部は、
設定された制御情報に基づいて、軌道運行物オブジェクトの頂点処理又は軌道運行物オブジェクト画像のピクセル処理を行い見かけの形状が変化した軌道運行物オブジェクトを描画することを特徴とする。
【００４０】
描画部行う頂点処理やピクセル処理は、シェーディング言語によって記述されたシェーダプログラムによって、ポリゴン（プリミティブ）の描画処理をプログラム可能にするハードウェア、いわゆるプログラマブルシェーダ（頂点シェーダやピクセルシェーダ）により実現されてもよい。
【００４１】
本発明によれば、頂点シェーダやピクセルシェーダに対して軌道運行物の見かけの形状を変化させるように制御情報の設定を行うことで、所定のタイミングで軌道運行物の見かけの形状を変化させることができる。
【００４２】
（９）また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、
前記軌道運行物オブジェクト設定部は、
仮想カメラと軌道運行物オブジェクトの距離に基づき、軌道運行物オブジェクトの大きさを変化させる処理を行うことを特徴とする。
【００４３】
（１０）また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、
前記軌道運行物オブジェクト設定部は、
仮想カメラと軌道運行物オブジェクトの距離に基づき、軌道運行物オブジェクトの明るさを変化させる処理を行うことを特徴とする。
【００４４】
（１１）また本発明は、
オブジェクト空間において仮想カメラから見える画像を生成するための画像生成システムであって、
ゲーム空間に設定された所与の空間又は天球に設定された所与の軌道を運行する軌道運行物オブジェクトの大きさを仮想カメラと軌道運行物オブジェクトの距離に基づき変化させるための処理を行う軌道運行物オブジェクト設定部と、
軌道運行物オブジェクトが配置されたオブジェクト空間を仮想カメラから見た画像を描画する描画部と、
とを含む画像生成システムに関係する。
【００４５】
また本発明は、上記各部としてコンピュータを機能させるプログラムに関係する。また本発明は、コンピュータ読み取り可能な情報記憶媒体であって、上記各部としてコンピュータを機能させるプログラムを記憶（記録）した情報記憶媒体に関係する。
【００４６】
（１２）また本発明は、
オブジェクト空間において仮想カメラから見える画像を生成するための画像生成システムであって、
ゲーム空間に設定された所与の空間又は天球に設定された所与の軌道を運行する軌道運行物オブジェクトの明るさを仮想カメラと軌道運行物オブジェクトの距離に基づき変化させるための処理を行う軌道運行物オブジェクト設定部と、
軌道運行物オブジェクトが配置されたオブジェクト空間を仮想カメラから見た画像を描画する描画部と、
とを含む画像生成システムに関係する。
【００４７】
また本発明は、上記各部としてコンピュータを機能させるプログラムに関係する。また本発明は、コンピュータ読み取り可能な情報記憶媒体であって、上記各部としてコンピュータを機能させるプログラムを記憶（記録）した情報記憶媒体に関係する。
【発明を実施するための最良の形態】
【００４８】
以下、本実施形態について説明する。
【００４９】
なお、以下に説明する本実施形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また本実施形態で説明される構成の全てが、本発明の必須構成要件であるとは限らない。
【００５０】
１．構成
図１に本実施形態の画像生成システム（ゲームシステム）の機能ブロック図の例を示す。なお、本実施形態の画像生成システムは、図１の構成要素（各部）の一部を省略した構成としてもよい。
【００５１】
操作部１６０は、プレーヤが操作データを入力するためのものであり、その機能は、レバー、ボタン、ステアリング、マイク、タッチパネル型ディスプレイ、或いは筺体などにより実現できる。
【００５２】
記憶部１７０は、描画バッファ１７２やＺバッファ１７４やテクスチャ記憶部１７６を含み、処理部１００や通信部１９６などのワーク領域となるもので、その機能はＲＡＭなどにより実現できる。
【００５３】
テクスチャ記憶部１７６は、軌道運行物の見かけの形状の変化に対応した見かけの形状の異なる複数の軌道運行物テクスチャを記憶する。
【００５４】
情報記憶媒体１８０（コンピュータにより読み取り可能な媒体）は、プログラムやデータなどを格納するものであり、その機能は、光ディスク（ＣＤ、ＤＶＤ）、光磁気ディスク（ＭＯ）、磁気ディスク、ハードディスク、磁気テープ、或いはメモリ（ＲＯＭ）などにより実現できる。処理部１００は、情報記憶媒体１８０に格納されるプログラム（データ）に基づいて本実施形態の種々の処理を行う。即ち情報記憶媒体１８０には、本実施形態の各部としてコンピュータを機能させるためのプログラム（各部の処理をコンピュータに実行させるためのプログラム）が記憶（記録、格納）される。
【００５５】
表示部１９０は、本実施形態により生成された画像を出力するものであり、その機能は、ＣＲＴ、ＬＣＤ、タッチパネル型ディスプレイ、或いはＨＭＤ（ヘッドマウントディスプレイ）などにより実現できる。音出力部１９２は、本実施形態により生成された音を出力するものであり、その機能は、スピーカ、或いはヘッドフォンなどにより実現できる。
【００５６】
携帯型情報記憶装置１９４は、プレーヤの個人データやゲームのセーブデータなどが記憶されるものであり、この携帯型情報記憶装置１９４としては、メモリカードや携帯型ゲーム装置などがある。
【００５７】
通信部１９６は、外部（例えばホスト装置や他の画像生成システム）との間で通信を行うための各種の制御を行うものであり、その機能は、各種プロセッサ又は通信用ＡＳＩＣなどのハードウェアや、プログラムなどにより実現できる。
【００５８】
なお本実施形態の各部としてコンピュータを機能させるためのプログラム（データ）は、ホスト装置（サーバー）が有する情報記憶媒体からネットワーク及び通信部１９６を介して情報記憶媒体１８０（記憶部１７０）に配信するようにしてもよい。このようなホスト装置（サーバー）の情報記憶媒体の使用も本発明の範囲内に含めることができる。
【００５９】
処理部１００（プロセッサ）は、操作部１６０からの操作データやプログラムなどに基づいて、ゲーム処理、画像生成処理、或いは音生成処理などの処理を行う。ここでゲーム処理としては、ゲーム開始条件が満たされた場合にゲームを開始する処理、ゲームを進行させる処理、キャラクタやマップなどのオブジェクトを配置する処理、オブジェクトを表示する処理、ゲーム結果を演算する処理、或いはゲーム終了条件が満たされた場合にゲームを終了する処理などがある。また処理部１００は記憶部１７０をワーク領域として各種処理を行う。処理部１００の機能は、各種プロセッサ（ＣＰＵ、ＤＳＰ等）やＡＳＩＣ（ゲートアレイ等）などのハードウェアや、プログラムにより実現できる。
【００６０】
処理部１００は、オブジェクト空間設定部１１０、移動・動作処理部１１２、仮想カメラ制御部１１４、軌道運行物オブジェクト設定部１１６、描画部１２０、音生成部１３０を含む。なおこれらの一部を省略してもよい。
【００６１】
オブジェクト空間設定部１１０は、キャラクタ、樹木、車、柱、壁、建物、マップ（地形）などの表示物を表す各種オブジェクト（ポリゴン、自由曲面又はサブディビジョンサーフェスなどのプリミティブ面で構成されるオブジェクト）をオブジェクト空間に配置設定する処理を行う。即ちワールド座標系でのオブジェクトの位置や回転角度（向き、方向と同義）を設定し、その位置（Ｘ、Ｙ、Ｚ）にその回転角度（Ｘ、Ｙ、Ｚ軸回りでの回転角度）でオブジェクトを配置する。
【００６２】
移動・動作処理部１１２は、オブジェクト（車、飛行機、又はキャラクタ等）の移動・動作演算（移動・動作シミュレーション）を行う。即ち、操作部１６０によりプレーヤが入力した操作データ、プログラム（移動・動作アルゴリズム）、或いは各種データ（モーションデータ）などに基づいて、オブジェクト（移動オブジェクト）をオブジェクト空間内で移動させたり、オブジェクトを動作（モーション、アニメーション）させる処理を行う。具体的には、オブジェクトの移動情報（位置、回転角度、速度、或いは加速度）や動作情報（各パーツオブジェクトの位置、或いは回転角度）を、１フレーム（１／６０秒）毎に順次求めるシミュレーション処理を行う。ここでフレームは、オブジェクトの移動・動作処理（シミュレーション処理）や画像生成処理を行う時間の単位である。
【００６３】
仮想カメラ制御部１１４は、オブジェクト空間内の所与（任意）の視点での画像を生成するための仮想カメラを制御する処理を行う。即ち、仮想カメラの位置（Ｘ、Ｙ、Ｚ）又は回転角度（Ｘ、Ｙ、Ｚ軸回りでの回転角度）を制御する処理（視点位置や視線方向を制御する処理）を行う。
【００６４】
例えば仮想カメラによりオブジェクトを後方から撮影する場合には、オブジェクトの位置又は回転の変化に仮想カメラが追従するように、仮想カメラの位置又は回転角度（仮想カメラの向き）を制御する。この場合には、移動・動作処理部１１２で得られたオブジェクトの位置、回転角度又は速度などの情報に基づいて、仮想カメラを制御できる。或いは、仮想カメラを、予め決められた移動経路で移動させながら予め決められた回転角度で回転させるようにしてもよい。この場合には、仮想カメラの位置（移動経路）や回転角度を特定するための仮想カメラデータに基づいて仮想カメラを制御する。
【００６５】
軌道運行物オブジェクト設定部１１６は、ゲーム時刻に基づいて軌道運行物オブジェクトの位置と軌道運行物オブジェクトの大きさを含む軌道運行物の状態を設定する。
【００６６】
軌道運行物オブジェクト設定部１１６は、ゲーム時刻の進行に従って天空を移動する軌道運行物の運動モデルに基づいて、オブジェクトの位置を設定するようにしてもよい。
【００６７】
軌道運行物オブジェクト設定部１１６は、ゲーム時刻に基づき求めた軌道運行物の位置が、オブジェクト空間の地平面から遠い場合には近い場合に比べて軌道運行物の大きさが小さくなるように軌道運行物オブジェクトの大きさを設定するようにしてもよい。
【００６８】
軌道運行物オブジェクト設定部１１６は、ゲーム時刻または軌道運行物の位置に基づき、軌道運行物の明るさ又は透明度を設定し、描画部１２０は、決定された軌道運行物オブジェクトの明るさ又は透明度に基づき、オブジェクト空間に配置された軌道運行物オブジェクトの画像を生成するようにしてもよい。
【００６９】
前記軌道運行物オブジェクト設定部１１６は、軌道運行物の位置がオブジェクト空間の地平面から遠い場合には近い場合に比べて軌道運行物の明るさが明るくなるように、または透明度が低くなるように軌道運行物オブジェクトの明るさまたは透明度を設定するようにしてもよい。
【００７０】
前記軌道運行物の運動モデルとして、天空上の移動軌跡の異なる複数の運動モデルを用意しておき、前記軌道運行物オブジェクト設定部１１６は、ゲーム上想定されている日付、仮想カメラの位置または緯度の少なくともひとつにもとづいて運動モデルを選択し、選択した運動モデルに従って、前記軌道運行物状態を設定するようにしてもよい。
【００７１】
軌道運行物オブジェクト設定部１１６は、所定のタイミングで軌道運行物の見かけの形状を変化させるようにテクスチャ制御情報を設定するようにしてもよい。
【００７２】
前記軌道運行物オブジェクト設定部１１６は、所定のタイミングで軌道運行物の見かけの形状を変化させるように、軌道運行物オブジェクトの頂点処理又は軌道運行物オブジェクト画像のピクセル処理の制御情報の設定するようにしてもよい。
【００７３】
前記軌道運行物オブジェクト設定部１１６は、仮想カメラと軌道運行物オブジェクトの距離に基づき、軌道運行物オブジェクトの大きさを変化させる処理を行うするようにしてもよい。
【００７４】
前記軌道運行物オブジェクト設定部１１６は、仮想カメラと軌道運行物オブジェクトの距離に基づき、軌道運行物オブジェクトの明るさを変化させる処理を行うするようにしてもよい。
【００７５】
描画部１２０は、処理部１００で行われる種々の処理（ゲーム処理）の結果に基づいて描画処理を行い、これにより画像を生成し、表示部１９０に出力する。
【００７６】
描画部１２０は、処理部１００で行われる種々の処理（ゲーム処理）の結果に基づいて描画処理を行い、これにより画像を生成し、表示部１９０に出力する。
【００７７】
描画部１２０は、軌道運行物オブジェクトが配置されたオブジェクト空間を仮想カメラから見た画像を描画部として機能する。
【００７８】
描画部１２０は、処理部１００で行われる種々の処理（ゲーム処理）の結果に基づいて描画処理を行い、これにより画像を生成し、表示部１９０に出力する。いわゆる３次元ゲーム画像を生成する場合には、まずオブジェクト（モデル）の各頂点の頂点データ（頂点の位置座標、テクスチャ座標、色データ、法線ベクトル或いはα値等）を含むオブジェクトデータ（モデルデータ）が入力され、入力されたオブジェクトデータに含まれる頂点データに基づいて、頂点処理が行われる。なお頂点処理を行うに際して、必要に応じてポリゴンを再分割するための頂点生成処理（テッセレーション、曲面分割、ポリゴン分割）を行うようにしてもよい。頂点処理では、頂点の移動処理や、座標変換（ワールド座標変換、カメラ座標変換）、クリッピング処理、透視変換、あるいは光源処理等のジオメトリ処理が行われ、その処理結果に基づいて、オブジェクトを構成する頂点群について与えられた頂点データを変更（更新、調整）する。そして、頂点処理後の頂点データに基づいてラスタライズ（走査変換）が行われ、ポリゴン（プリミティブ）の面とピクセルとが対応づけられる。そしてラスタライズに続いて、画像を構成するピクセル（表示画面を構成するフラグメント）を描画するピクセル処理（フラグメント処理）が行われる。ピクセル処理では、テクスチャの読出し（テクスチャマッピング）、色データの設定／変更、半透明合成、アンチエイリアス等の各種処理を行って、画像を構成するピクセルの最終的な描画色を決定し、透視変換されたオブジェクトの描画色を描画バッファ１７４（ピクセル単位で画像情報を記憶できるバッファ。ＶＲＡＭ、レンダリングターゲット）に出力（描画）する。すなわち、ピクセル処理では、画像情報（色、法線、輝度、α値等）をピクセル単位で設定あるいは変更するパーピクセル処理を行う。これにより、オブジェクト空間内に設定された仮想カメラ（所与の視点）から見える画像が生成される。なお、仮想カメラ（視点）が複数存在する場合には、それぞれの仮想カメラから見える画像を分割画像として１画面に表示できるように画像を生成することができる。
【００７９】
なお描画部１２０が行う頂点処理やピクセル処理は、シェーディング言語によって記述されたシェーダプログラムによって、ポリゴン（プリミティブ）の描画処理をプログラム可能にするハードウェア、いわゆるプログラマブルシェーダ（頂点シェーダやピクセルシェーダ）により実現されてもよい。プログラマブルシェーダでは、頂点単位の処理やピクセル単位の処理がプログラム可能になることで描画処理内容の自由度が高く、ハードウェアによる固定的な描画処理に比べて表現力を大幅に向上させることができる。
【００８０】
そして描画部１２０は、オブジェクトを描画する際に、ジオメトリ処理、テクスチャマッピング、隠面消去処理、αブレンディング等を行う。
【００８１】
ジオメトリ処理では、オブジェクトに対して、座標変換、クリッピング処理、透視投影変換、或いは光源計算等の処理が行われる。そして、ジオメトリ処理後（透視投影変換後）のオブジェクトデータ（オブジェクトの頂点の位置座標、テクスチャ座標、色データ（輝度データ）、法線ベクトル、或いはα値等）は、主記憶部１７２に保存される。
【００８２】
テクスチャマッピングは、記憶部１７０のテクスチャ記憶部１７８に記憶されるテクスチャ（テクセル値）をオブジェクトにマッピングするための処理である。具体的には、オブジェクトの頂点に設定（付与）されるテクスチャ座標等を用いて記憶部１７０のテクスチャ記憶部１７８からテクスチャ（色（ＲＧＢ）、α値などの表面プロパティ）を読み出す。そして、２次元の画像であるテクスチャをオブジェクトにマッピングする。この場合に、ピクセルとテクセルとを対応づける処理や、テクセルの補間としてバイリニア補間などを行う。
【００８３】
特に本実施形態では、月オブジェクトを描画する際に、所与のテクスチャをマッピングする処理を行うようにしてもよい。この場合には、月オブジェクトに対してマッピングされるテクスチャの色分布（テクセルパターン）を動的に変化させることができる。この場合において、色分布が異なるテクスチャを動的に生成してもよいし、複数の色分布が異なるテクスチャを予め用意しておき、使用するテクスチャを動的に切り替えるようにしてもよい。またオブジェクト単位でテクスチャの色分布を変化させてもよいし、オブジェクト単位でテクスチャの色分布を変化させるようにしてもよい。
【００８４】
隠面消去処理としては、描画ピクセルのＺ値（奥行き情報）が格納されるＺバッファ（奥行きバッファ）を用いたＺバッファ法（奥行き比較法、Ｚテスト）による隠面消去処理を行うことができる。すなわちオブジェクトのプリミティブに対応する描画ピクセルを描画する際に、Ｚバッファに格納されるＺ値を参照する。そして参照されたＺバッファのＺ値と、プリミティブの描画ピクセルでのＺ値とを比較し、描画ピクセルでのＺ値が、仮想カメラから見て手前側となるＺ値（例えば小さなＺ値）である場合には、その描画ピクセルの描画処理を行うとともにＺバッファのＺ値を新たなＺ値に更新する。
【００８５】
αブレンディング（α合成）は、α値（Ａ値）に基づく半透明合成処理（通常αブレンディング、加算αブレンディング又は減算αブレンディング等）のことである。例えば、通常αブレンディングでは、α値を合成の強さとして線形補間を行うことにより２つの色を合成した色を求める処理を行う。
【００８６】
ＲＱ＝（１−α）×Ｒ１＋α×Ｒ２    （１）
ＧＱ＝（１−α）×Ｇ１＋α×Ｇ２    （２）
ＢＱ＝（１−α）×Ｂ１＋α×Ｂ２    （３）
また合成処理が加算αブレンディングである場合を例にとれば、色合成部１２６は下式に従ったα合成処理を行う。
【００８７】
ＲＱ＝Ｒ１＋α×Ｒ２                （４）
ＧＱ＝Ｇ１＋α×Ｇ２                （５）
ＢＱ＝Ｂ１＋α×Ｂ２                （６）
また合成処理がα乗算である場合を例にとれば、色合成部１２６は下式に従ったα合成処理を行う。
【００８８】
ＲＱ＝α×Ｒ１                      （７）
ＧＱ＝α×Ｇ１                      （８）
ＢＱ＝α×Ｂ１                      （９）
また合成処理がα乗加算である場合を例にとれば、色合成部１２６は下式に従ったα合成処理を行う。
【００８９】
ＲＱ＝α×Ｒ１＋Ｒ２                      （７）
ＧＱ＝α×Ｇ１＋Ｇ２                      （８）
ＢＱ＝α×Ｂ１＋Ｂ２                      （９）
ここで、Ｒ１、Ｇ１、Ｂ１は、描画バッファ１７２に既に描画されている画像（背景画像）の色（輝度）のＲ、Ｇ、Ｂ成分であり、Ｒ２、Ｇ２、Ｂ２は、描画バッファ１７２に描画するオブジェクト（プリミティブ）の色のＲ、Ｇ、Ｂ成分である。また、ＲＱ、ＧＱ、ＢＱは、αブレンディングにより得られる画像の色のＲ、Ｇ、Ｂ成分である。なお、α値は、各ピクセル（テクセル、ドット）に関連づけて記憶できる情報であり、例えば色情報以外のプラスアルファの情報である。α値は、マスク情報、半透明度（透明度、不透明度と等価）、バンプ情報などとして使用できる。
【００９０】
なお、α値は、各ピクセル（テクセル、ドット）に関連づけて記憶できる情報であり、例えばＲＧＢの各色成分の輝度を表す色情報以外のプラスアルファの情報である。α値は、マスク情報、半透明度（透明度、不透明度と等価）、バンプ情報などとして使用できる。
【００９１】
音生成部１３０は、処理部１００で行われる種々の処理の結果に基づいて音処理を行い、ＢＧＭ、効果音、又は音声などのゲーム音を生成し、音出力部１９２に出力する。
【００９２】
なお、本実施形態の画像生成システムは、１人のプレーヤのみがプレイできるシングルプレーヤモード専用のシステムにしてもよいし、複数のプレーヤがプレイできるマルチプレーヤモードも備えるシステムにしてもよい。また複数のプレーヤがプレイする場合に、これらの複数のプレーヤに提供するゲーム画像やゲーム音を、１つの端末を用いて生成してもよいし、ネットワーク（伝送ライン、通信回線）などで接続された複数の端末（ゲーム機、携帯電話）を用いて分散処理により生成してもよい。
【００９３】
２．月の位置、大きさ、明るさの制御
地球上からみれば月は天空上を１日にほぼ１回転しているようにみえるが、これは地球の自転によるもである。しかし図２に示すように地球は太陽の回りを公転しており、月もまた地球の周りを公転している。そして地球の地軸は地球の公転面に対して傾いているため、天球上における実際の月の運動（月の移動軌跡）は観測位置（緯度）や日時によって変化する。
【００９４】
図３は、本実施の形態の特徴について説明するための図である。
【００９５】
２１０−１〜２１０−５は、本ゲームにおいて生成される月の画像の時間的な遷移をあらわしている。２２０は地平線である。
【００９６】
本実施の形態のオブジェクト空間では月オブジェクトが配置されるが、その位置をゲーム時刻の進行に従って変化させ、時間の経過と共に天空上を東から西に移動する月の画像を生成する。例えば２１０−１に示すように１８：００頃（ゲーム時刻）に東の空の地平線付近に出現し、天空上を東から西に移動して６：００頃（ゲーム時刻）であるに西の地平付近に沈んでいく。
【００９７】
また本実施の形態では、ゲーム時刻の進行に従って、見かけ上の月の大きさも変化させる。見かけ上の月の大きさは、図２に示すように、地平線に近いときのほうが地平線から遠いとときに比べて大きくなるように変化させる。
【００９８】
すなわち東又は西の地平付近で見かけ上の大きさは最も大きくなり（２１０−１、２１０−５参照）、地平線から最も離れた南中時に見かけ上の月の大きさは最も小さくなる（２１０−３参照）。
【００９９】
図４は、本実施の形態の月の位置と見かけ上の大きさの決定手法の一例について説明するための図である。
【０１００】
２５０はゲーム時刻の進行に従って天空を移動する軌道運行物（月）の運動モデルである。軌道運行物（月）の運動モデル２５０は、例えば所定の位置Ｏを中心とした半径をｒとする円軌道として設定することができる。そして、予め軌道上の点とゲーム時刻の対応づけを行っておく。例えば軌道上の点Ｐ０を０：００時と設定して、２４ゲーム時刻で軌道を１周（３６０度回転）して２４：００には再びＰ０に戻ってくると設定しておいてもよい。すなわち１ゲーム時刻で１５度回転する。
【０１０１】
ここで月は３：００時には軌道上のＰ１に来て、２１：００時には軌道上のＰ２にくるとして、ＯとＰ０をむすぶベクトルＰ０ベクトル、ＯとＰ１をむすぶベクトルＰ１ベクトル、ＯとＰ２をむすぶベクトルＰ２ベクトルとする。例えばゲーム時刻として３：００が与えられると、３ゲーム時刻分回転することになりＰ０ベクトルとＰ１ベクトルのなす角θ１が４５度となる。従って軌道２５０と基準点（例えば開始点）Ｐ０及び基準点に対応した基準時刻（例えば開始時刻０：００）が設定されていると、現在のゲーム時刻に対応した回転角θ１が決定され、θ１に対応した軌道２５０上の位置Ｐ１が求まる。
【０１０２】
このようにしてゲーム時刻に対応した月の位置を求めることができる。そして月の位置に対応したオブジェクト空間上の位置を求める。軌道の半径がオブジェクト空間の天球と同じに設定している場合には求めた位置の座標がそのまま月オブジェクトの配置座標として使用することができる。
【０１０３】
また軌道の半径がオブジェクト空間の天球と一致しない場合には、例えばＰ１ベクトルやＰ２又はその延長線とオブジェクト空間の天球が交わる位置を月オブジェクトの位置座標とすることができる。
【０１０４】
また軌道２５０上の基準点（例えば開始点）Ｐ０及び基準点に対応した基準時刻（例えば開始時刻０：００）が設定されていると、現在のゲーム時刻に対応した軌道上の位置が一義的に決定される。すなわち、０：００時には月はＰ０の位置になり、３：００時には月はＰ１の位置にあり、２１：００には月はＰ２の位置に来ることが一義的に決定される。
【０１０５】
本実施の形態では月の位置と月の大きさに所定の関係を持たせている。例えば南中するＰ０において月の大きさが最も小さくなり、地平線にＰ３、Ｐ４で月の大きさが最も大きくなるように、見かけ上の月の大きさを制御する
図５は月画像生成の一例について説明するための図である。
【０１０６】
月の画像を生成する場合には例えば３２０に示すような月オブジェクト３２０と月テクスチャ（月の形状や模様の２次元画像）３２０を用意しておき、月オブジェクト３２０に月テクスチャをマッピングすることにより月画像を生成するようにしてもよい。ここにおいて月オブジェクトは複数のポリゴンを用いて球を模した多面体として構成してもよいし、四角形のオブジェクト（板ポリゴンやビルボード）として構成してもよい。四角形のオブジェクトは、１枚の四角形のポリゴンで形成してもよいし、複数の３角形のポリゴンを組み合わせて形成してもよい。
【０１０７】
図６は本実施の形態の見かけ上の月の大きさの制御について説明するための図である。
【０１０８】
本実施の形態では、軌道運行物（月）の運動モデルに基づいて、所与のゲーム時刻に対応した軌道運行物（月）の位置と、軌道運行物（月）の見かけの大きさを設定する。ここでゲーム時刻と軌道運行物（月）の見かけ上の大きさの関係は、ゲームの内容やどのような画像を生成するとより効果的であるか等に基づいて適宜設定することができる。
【０１０９】
その一つとして、軌道運行物（月）の運行軌道上の位置がオブジェクト空間の地平線に遠い場合には近い場合に比べて軌道運行物（月）の見掛け上の明るさが明るくなるようにオブジェクトの明るさ制御情報を設定してもよい。
【０１１０】
例えば天球上の月の運行軌道とゲーム時刻が図３に示すように一義的に対応づけられているとすると、ゲーム時刻に応じて月の大きさを設定することで、月の位置に応じた月の見かけ上の大きさの変化を実現することができる。
【０１１１】
例えば軌道運行物（月）の運行軌道上の位置がオブジェクト空間の地平線に遠い場合には近い場合に比べて軌道運行物（月）の見掛け上の明るさが明るくなるようにオブジェクトの明るさ制御情報を設定するとした場合、図３の２１０−１、２１０−２、２１０−３について２１０−１＞２１０−２＞２１０−３のように月の大きさを設定する。
【０１１２】
そして設定した大きさの画像が生成できるように、画像生成の際の星（月）オブジェクトの大きさ制御情報を演算する。本実施の形態では、ゲーム時刻に応じて月オブジェクトのスケールを情報（軌道運行物画像生成用情報の一例である）を変化させることにより月の大きさの異なる画像を生成する。
【０１１３】
図６の３１０−１、３１０−２、３１０−３、３１０−４、３１０−５は、図３の月の運行に対応したゲーム時刻１８：００、２１：００、２４：００、３：００、６：００の月オブジェクトを示したものである。
【０１１４】
Ｋ１は、１８：００の月画像を生成するための月オブジェクトのスケール値であり、Ｋ２は、２１：００の月画像を生成するための月オブジェクトのスケール値であり、Ｋ３は、２４：００の月画像を生成するための月オブジェクトのスケール値であり、Ｋ４は、３：００の月画像を生成するための月オブジェクトのスケール値であり、Ｋ５は、６：００の月画像を生成するための月オブジェクトのスケール値である。
【０１１５】
スケール値とは基準となる月オブジェクトに対する大きさの比率であり、例えば基準値がＬとして、生成される大きさがＬ’とするとＬ’＝ＫＬとなる。
【０１１６】
本実施の形態では１８：００や６：００頃（月が地平線の近くにあるとき）に月の見かけ上の大きさが最も大きくなり、２４：００頃（月が最も南に来るとき）に月の見かけ上の大きさが最も小さくなる。従ってスケール値はＫ１＞Ｋ２＞Ｋ３、Ｋ５＞Ｋ４＞Ｋ３となる。
【０１１７】
図７は、本実施の形態の月の明るさの制御について説明するための図である。
【０１１８】
星（月）の運動モデルに基づいて、所与のゲーム時刻に対応した軌道運行物（月）の位置と、軌道運行物（月）の見かけの大きさを設定するようにしてもよい。ここでゲーム時刻と軌道運行物（月）の明るさの関係は、ゲームの内容やどのような画像を生成するとより効果的であるか等に基づいて適宜設定することができる。
【０１１９】
その一つとして、軌道運行物（月）の運行軌道上の位置がオブジェクト空間の地平線に遠い場合には近い場合に比べて軌道運行物（月）の明るさが明るくなるようにオブジェクトの明るさ制御情報を設定してもよい。
【０１２０】
例えば軌道運行物（月）の運行軌道上の位置がオブジェクト空間の地平線に遠い場合には近い場合に比べて軌道運行物（月）の明るさが明るくなるようにオブジェクトの明るさ制御情報を設定するようにしてもよい。
【０１２１】
このような場合、図７の４１０−１、４１０−２、４１０−３、４１０−４、４１０−５について４１０−１＜４１０−２＜４１０−３、４１０−５＜４１０−４＜４１０−３となるように月の明るさを設定する。
【０１２２】
そして設定した大きさの画像が生成できるように、画像生成の際の星（月）オブジェクトの明るさ制御情報を演算する。本実施の形態では、ゲーム時刻に応じて月オブジェクトのα値（軌道運行物画像生成用情報の一例である）を変化させることにより月の明るさの異なる画像を生成する。
【０１２３】
なお月の明るさを変更するための制御は、月を描画する際のα値を変化させることで実現することができる。例えば加算半透明で月を描画する場合には、α値が１に近くなるほど明るくすることができる。
【０１２４】
α１を１８：００の月画像を生成するためのα値、α２を２１：００の月画像を生成するためのα値、α３を２４：００の月画像を生成するためのα値、α４を３：００の月画像を生成するためのα値、α５を６：００の月画像を生成するためのα値とすると、月が図７のような移動軌跡をとる場合には、α１＜α２＜α３、α５＜α４＜α３となるようにα値を設定して加算半透明で描画することにより、地平線に近いところにいる月を薄く、天上に上がるほどはっきりとした月（高く上るほど煌々と輝く月）の表現を行うことができる。
【０１２５】
本実施の形態で生成される明るさ制御情報は例えば月オブジェクトに与えられるα値そのものでもよいし、月オブジェクトに本来与えれられているα値（オブジェクト単位で与えられている場合でもよいし、頂点単位で与えられている場合でもよいし、画素単位に与えられている場合でもよい。）に対する変更情報（例えばαにかける係数）等でもよい。
【０１２６】
ここで天球上の月の運行軌道とゲーム時刻が図７に示すように一義的に対応づけられているとすると、ゲーム時刻に応じて月の明るさ（月オブジェクトを加算半透明で描画する際のα値）を設定することで、月の位置に応じた明るさの変化を実現することができる。
【０１２７】
図８は月の季節によって異なる移動軌跡を示した図である
実際の月の運動をみると、同じ場所（緯度、経度が同じ）であっても例えば季節によって５１０−１、５１０−２、５１０−３移動軌跡が異なってくる。
【０１２８】
図９は季節によって変化する月の運行モデルを模式的にあらわしたものである。６００は天球、６５０は仮想的な地面（画像生成を行う際には仮想カメラから所定の範囲内に地形オブジェクトを配置するようにしてもよい。）
、Ｏは仮想カメラの位置であるとする。
【０１２９】
６１０−１は図８の移動軌跡５１０−１の運行モデルであり、６１０−２は図８の移動軌跡５１０−２の運行モデルであり、６１０−３は図８の移動軌跡５１０−３の運行モデルである。
【０１３０】
運行モデルはゲーム時刻を変数としてゲーム時刻に応じて、少なくとも１つの円または楕円軌道上の位置が一義的に決定されるような関数等で設定してもよい。
【０１３１】
このように運行軌道の異なる複数の運行モデル６１０−１、６１０−２、６１０−３を用意して、ゲーム日時にや季節の設定に応じて運行モデルを選択して、選択した運行モデルに従って軌道運行物画像生成用情報を演算するようにしてもよい。
【０１３２】
例えばゲーム上の（年月日）や月や季節に対応付けて運行軌道の異なる複数の運行モデルを用意しておいてもよい。
【０１３３】
図１０（Ａ）（Ｂ）は、月の移動軌跡とゲーム時刻の関係を示す図である。
【０１３４】
また軌道がほぼ同じであっても図１０（Ａ）（Ｂ）に示すように、移動上の各位置を通過する時刻が異なってくる場合もある。このような場合図１０（Ａ）（Ｂ）で同じ軌道関数を使い、基準時刻（例えば２４：００）の位置を変更させて、月の位置を設定するようにしてもよい。
【０１３５】
また図１０（Ａ）（Ｂ）で、それぞれゲーム時刻から位置を求める関数を設定してもよい。
【０１３６】
図１１（Ａ）（Ｂ）は、ゲーム時刻と月オブジェクトの明るさの関係の他の例について説明するための図である。
【０１３７】
図１１（Ａ）では２１：００時ごろ東の空に現れた月が３：００ごろ南中して９：００頃に西の空に沈むように移動する。このような場合、９：００頃に月は西の空に存在するが、既に日がのぼって周りの空は明るいので薄くしかみえない。従って７１０−５の月を描画する際のα値を低くして加算半透明で（月の透明度を高くして）薄い月を表現するようにしてもよい。
【０１３８】
図１１（Ｂ）では１２：００時ごろ東の空に現れた月が１８：００ごろ南中して２４：００頃に西の空に沈むように移動する。このような場合、１２：００頃から１５：００ごろに月は東〜南の空に存在するが、日中で周りの空は明るいのでしかみえない。従って７２０−１、７２０−２の月を描画する際のα値を０または０に近い値にして加算半透明で（月の透明度を高くして）月を見えないようにしてもよい。
【０１３９】
このようにゲーム時刻が日中であることを示している場合は、月を透明にして見えないようにしてもよい。
【０１４０】
図１２は、本実施の月テクスチャについて説明するための図である。太陽と地球と月の位置関係によって、つきは満ち欠けして見える。本実施の形態では、月の満ち欠けを表現するために、８１０−０から８１０−７に示すような満月、半月、上限の月、下限の月、新月等を表現するための月テクスチャを用意する。そして、オブジェクト空間における太陽と地球と月の位置関係によって月テクスチャを選択して月オブジェクトにマッピングするようにしてもよい。
【０１４１】
また予めゲーム日時と月テクスチャを関連付けておいて、与えられたゲーム日時に関連付けられた月テクスチャを選択すちようにしてもよい。
【０１４２】
またゲーム内の日付の進行に応じて月テクスチャを月の満ち欠けの順に順番に用いるようにしてもよい。
【０１４３】
３．本実施形態の処理
図１３は、本実施の形態の軌道運行物（月）の画像生成処理の流れを示すフローチャート図である。
【０１４４】
ゲーム日時及び仮想カメラの位置又は緯度の情報に基づき、軌道運行物（月）運動モデルを選択する（ステップＳ１０）。たとえば、ゲーム日時や仮想カメラの緯度に応じて異なる移動軌跡を描く軌道運行物（月）の運動モデルを複数用意しておいて、そのなかから選択するようにしてもよい。
【０１４５】
また例えば同緯度の地点から季節に応じて変化する軌道運行物（月）の運動モデルを複数用意しておいて、そのなかから選択するようにしてもよい。
【０１４６】
また例えば同季節で緯度に応じて変化する軌道運行物（月）の運動モデルを複数用意しておいて、そのなかから選択するようにしてもよい。
【０１４７】
また例えばゲーム空間に対して時刻に応じて変化する軌道運行物（月）の運動モデルを１つ用意しておいてそれを用いるようにしてもよいが、この場合は運動モデルは決まっているので、選択する処理は必要ない。
【０１４８】
次に選択した運動モデルに基づいて、与えられたゲーム時刻に対応した軌道運行物（月）の位置と、軌道運行物（月）の大きさと、軌道運行物（月）の明るさを設定して、軌道運行物（月）の位置情報と、軌道運行物（月）の大きさ制御情報（スケール値）と、軌道運行物（月）の明るさ制御情報（透明度情報のα値）を演算する（ステップＳ２０）。
【０１４９】
ここで月の大きさは、地平面との位置関係におうじて定めても良い。例えば図１で説明したように地平線に近い場合ほど大きく見えるようにしても良い。なお地平面と月の位置関係が一義的に設定されている場合には、ゲーム時刻から直接月の大きさを設定するようにしてもよい。また地平線と月の位置関係がゲーム時刻によって変化する場合には、ゲーム時刻に応じて地平線と月の位置関係を求め、その位置関係に応じて月の大きさを設定するようにしてもよい。
【０１５０】
また月の位置情報とは、例えばオブジェクト空間に月を配置するときに用いる位置座標等であり、例えばワールド座標系における月の代表点の（Ｘ、Ｙ、Ｚ９値でもよい。また月の大きさ情報とは月を拡大縮小する際のスケール値でもよい。また軌道運行物（月）の明るさ制御情報（透明度情報のα値）とは、月を加算半透明で描画する際のα値でもよい。
【０１５１】
次に軌道運行物（月）の大きさ制御情報（スケール値）に基づき軌道運行物（月）オブジェクトのサイズを変更する（拡大または縮小する）（ステップＳ３０）
次に軌道運行物（月）オブジェクトの位置情報に基づき拡大または縮小した軌道運行物（月）オブジェクトをオブジェクト空間に配置する（ステップＳ４０）。
【０１５２】
次に透視変換を行う（ステップＳ５０）。
【０１５３】
次に月テクスチャを選択して透視変換後の月オブジェクトにマッピングする
（ステップＳ６０）。例えば月テクスチャをゲーム日時に関連づけて記憶させておき、ゲーム日時に応じて月テクスチャを選択するようにしてもよい。また月テクスチャに順番付けを行え置き、順番に月テクスチャを選択するようにしてもよい。
【０１５４】
そして軌道運行物（月）の明るさ制御情報（透明度情報のα値に基づき月オブジェクトを加算半透明で描画する（ステップＳ７０）。
【０１５５】
４．ハードウェア構成
図１４に本実施形態を実現できるハードウェア構成の例を示す。メインプロセッサ９００は、ＣＤ９８２（情報記憶媒体）に格納されたプログラム、通信インターフェース９９０を介してダウンロードされたプログラム、或いはＲＯＭ９５０に格納されたプログラムなどに基づき動作し、ゲーム処理、画像処理、音処理などを実行する。コプロセッサ９０２は、メインプロセッサ９００の処理を補助するものであり、マトリクス演算（ベクトル演算）を高速に実行する。例えばオブジェクトを移動させたり動作（モーション）させる物理シミュレーションに、マトリクス演算処理が必要な場合には、メインプロセッサ９００上で動作するプログラムが、その処理をコプロセッサ９０２に指示（依頼）する。
【０１５６】
ジオメトリプロセッサ９０４は、メインプロセッサ９００上で動作するプログラムからの指示に基づいて、座標変換、透視変換、光源計算、曲面生成などのジオメトリ処理を行うものであり、マトリクス演算を高速に実行する。データ伸張プロセッサ９０６は、圧縮された画像データや音データのデコード処理を行ったり、メインプロセッサ９００のデコード処理をアクセレートする。これにより、オープニング画面やゲーム画面において、ＭＰＥＧ方式等で圧縮された動画像を表示できる。
【０１５７】
描画プロセッサ９１０は、ポリゴンや曲面などのプリミティブ面で構成されるオブジェクトの描画（レンダリング）処理を実行する。オブジェクトの描画の際には、メインプロセッサ９００は、ＤＭＡコントローラ９７０を利用して、描画データを描画プロセッサ９１０に渡すと共に、必要であればテクスチャ記憶部９２４にテクスチャを転送する。すると描画プロセッサ９１０は、描画データやテクスチャに基づいて、Ｚバッファなどを利用した隠面消去を行いながら、オブジェクトをフレームバッファ９２２に描画する。また描画プロセッサ９１０は、αブレンディング（半透明処理）、デプスキューイング、ミップマッピング、フォグ処理、バイリニア・フィルタリング、トライリニア・フィルタリング、アンチエリアシング、シェーディング処理なども行う。１フレーム分の画像がフレームバッファ９２２に書き込まれるとその画像はディスプレイ９１２に表示される。
【０１５８】
サウンドプロセッサ９３０は、多チャンネルのＡＤＰＣＭ音源などを内蔵し、ＢＧＭ、効果音、音声などのゲーム音を生成し、スピーカ９３２を介して出力する。ゲームコントローラ９４２やメモリカード９４４からのデータはシリアルインターフェース９４０を介して入力される。
【０１５９】
ＲＯＭ９５０にはシステムプログラムなどが格納される。業務用ゲームシステムの場合にはＲＯＭ９５０が情報記憶媒体として機能し、ＲＯＭ９５０に各種プログラムが格納される。なおＲＯＭ９５０の代わりにハードディスクを利用してもよい。ＲＡＭ９６０は各種プロセッサの作業領域となる。ＤＭＡコントローラ９７０は、プロセッサ、メモリ間でのＤＭＡ転送を制御する。ＣＤドライブ９８０は、プログラム、画像データ、或いは音データなどが格納されるＣＤ９８２にアクセスする。通信インターフェース９９０はネットワーク（通信回線、高速シリアルバス）を介して外部との間でデータ転送を行う。
【０１６０】
なお本実施形態の各部（各手段）の処理は、その全てをハードウェアのみにより実現してもよいし、情報記憶媒体に格納されるプログラムや通信インターフェースを介して配信されるプログラムにより実現してもよい。或いは、ハードウェアとプログラムの両方により実現してもよい。
【０１６１】
そして本実施形態の各部の処理をハードウェアとプログラムの両方により実現する場合には、情報記憶媒体には、ハードウェア（コンピュータ）を本実施形態の各部として機能させるためのプログラムが格納される。より具体的には、上記プログラムが、ハードウェアである各プロセッサ９０２、９０４、９０６、９１０、９３０に処理を指示すると共に、必要であればデータを渡す。そして、各プロセッサ９０２、９０４、９０６、９１０、９３０は、その指示と渡されたデータとに基づいて本発明の各部の処理を実現する。
【０１６２】
なお本発明は、上記実施形態で説明したものに限らず、種々の変形実施が可能である。
【０１６３】
例えば、明細書又は図面中の記載において広義や同義な用語（テクセル値、テクセル値パターン、プリミティブ面等）として引用された用語（α値・輝度、グラディエーションパターン、ポリゴン等）は、明細書又は図面中の他の記載においても広義や同義な用語に置き換えることができる。
【０１６４】
また、本発明のうち従属請求項に係る発明においては、従属先の請求項の構成要件の一部を省略する構成とすることもできる。また、本発明の１の独立請求項に係る発明の要部を、他の独立請求項に従属させることもできる。
【０１６５】
またテクスチャのマッピング処理も、本実施形態で説明したものに限定されず、これらと均等な変換処理も本発明の範囲に含まれる。また本発明は種々のゲームに適用できる。また本発明は、業務用ゲームシステム、家庭用ゲームシステム、多数のプレーヤが参加する大型アトラクションシステム、シミュレータ、マルチメディア端末、ゲーム画像を生成するシステムボード、携帯端末等の種々の画像生成システムに適用できる。
【図面の簡単な説明】
【０１６６】
【図１】本実施形態の画像生成システムの機能ブロック図。
【図２】地球、太陽、月の位置関係を示す図。
【図３】本実施の形態の特徴について説明するための図である。
【図４】月の位置と見かけ上の大きさの決定手法について説明するための図。
【図５】月画像生成の一例について説明するための図である。
【図６】見かけ上の月の大きさの制御について説明するための図。
【図７】月の明るさの制御について説明するための図。
【図８】月の季節によって異なる移動軌跡を示した図
【図９】季節によって変化する月の運行モデルを模式的にあらわした図。
【図１０】図１０（Ａ）（Ｂ）は、月の移動軌跡とゲーム時刻の関係を示す図。
【図１１】図１１（Ａ）（Ｂ）は、ゲーム時刻と月オブジェクトの明るさの関係の他の例について説明するための図。
【図１２】本実施の月テクスチャについて説明するための図。
【図１３】本実施の形態の軌道運行物（月）の画像生成処理の流れを示すフローチャート図。
【図１４】ハードウェア構成例である。
【符号の説明】
【０１６７】
１００  処理部、１１０  オブジェクト空間設定部、１１２  移動・動作処理部、１１４  仮想カメラ制御部、１１６  軌道運行物オブジェクト設定部、１２０  描画部、１２２  隠面消去部、１２４  テクスチャマッピング部、１２６  α合成部、１３０  音生成部、１６０  操作部、１７０  記憶部、１７２  描画バッファ、１７４  Ｚバッファ、１７６  テクスチャ記憶部、１８０  情報記憶媒体、１９０  表示部、１９２  音出力部、１９４  携帯型情報記憶装置、１９６  通信部
【図１】
2007164729.tif 000003
【図２】
2007164729.tif 000004
【図３】
2007164729.tif 000005
【図４】
2007164729.tif 000006
【図５】
2007164729.tif 000007
【図６】
2007164729.tif 000008
【図７】
2007164729.tif 000009
【図８】
2007164729.tif 000010
【図９】
2007164729.tif 000011
【図１０】
2007164729.tif 000012
【図１１】
2007164729.tif 000013
【図１２】
2007164729.tif 000014
【図１３】
2007164729.tif 000015
【図１４】
2007164729.tif 000016