(57)【特許請求の範囲】
【請求項１】
コンピュータを、
仮想の三次元のゲーム空間内に可視の面状オブジェクトを生成する面状オブジェクト生成手段、
前記面状オブジェクトの一方の面側に接して配置され、前記面状オブジェクトの一部領域に外観上の効果を付与する効果オブジェクトを生成する効果オブジェクト生成手段、
前記面状オブジェクトの前記一方の面側に設定された仮想のカメラ位置から前記面状オブジェクトおよび効果オブジェクトを撮影した画像を作成する画像作成手段、
として機能させるプログラムであって、
前記画像作成手段は、前記カメラ位置を移動させる手段を含み、
前記効果オブジェクト生成手段は、前記カメラ位置と前記面状オブジェクトとの距離に応じて前記効果オブジェクトの前記面状オブジェクトの前記一方の面における位置を決定することを特徴とするプログラム。
【請求項２】
前記効果オブジェクト生成手段は、
前記面状オブジェクトの他方の面側の空間内に、前記カメラ位置および前記カメラの視線方向に基づいて、効果オブジェクト制御点を設定し、
前記カメラ位置とこの効果オブジェクト制御点とを結ぶ直線と、前記面状オブジェクトとの交点に前記効果オブジェクトを配置し、
前記カメラ位置が移動したとき、前記効果オブジェクト制御点を、前記カメラ位置および前記カメラの視線方向の変化に応じて移動させる
手段を含む請求項１に記載のプログラム。
【請求項３】
前記効果オブジェクト生成手段は、前記カメラ位置Ａ、前記カメラの視線の目標点である注視点Ｐを含み前記面状オブジェクトに対して垂直な平面を想定し、この平面上で前記カメラ位置Ａを通る直線ｈ上における前記一方の面側にある所定位置の点Ｂ、点Ｂを通過して前記他方の面側に伸びる直線ｖ上の所定位置の点Ｃを設定し、この点Ｃを前記効果オブジェクト制御点とする請求項２に記載のプログラム。
【請求項４】
前記効果オブジェクト生成手段は、前記注視点Ｐを通る前記面状オブジェクトの垂線を前記直線ｖとし、この直線ｖと前記直線ｈとの交点を点Ｂとする請求項３に記載のプログラム。
【請求項５】
前記効果オブジェクト生成手段は、前記カメラ位置Ａを通る前記面状オブジェクトに平行な直線を前記直線ｈとし、前記面状オブジェクトによる前記直線ｖの一部区間である線分ＢＣの内分比率を、前記カメラ位置Ａと点Ｃとを結ぶ線分に適用して内分点を求めることにより、前記カメラ位置と効果オブジェクト制御点とを結ぶ直線と前記面状オブジェクトとの交点を求める請求項３または請求項４に記載のプログラム。
【請求項６】
前記効果オブジェクト生成手段は、前記効果オブジェクトを、前記カメラ位置および前記効果オブジェクト制御点を結ぶ直線と前記面状オブジェクトとの交点に配置することに代えて、前記カメラ位置および前記効果オブジェクト制御点を結ぶ直線と前記面状オブジェクトとの交点から前記一方の面側に微小距離だけ離して配置する請求項２乃至請求項５のいずれかに記載のプログラム。
【請求項７】
前記面状オブジェクト生成手段は、半透明の面状オブジェクトとして水面を表すオブジェクトを生成する手段であり、
前記効果オブジェクト生成手段は、効果オブジェクトとして、光が水面に差し込む様子を擬似的に表す半透明のオブジェクトを生成する手段である
請求項１乃至請求項６のいずれかに記載のプログラム。
【請求項８】
前記効果オブジェクト生成手段は、前記カメラ位置と前記面状オブジェクトとの距離に応じて、前記効果オブジェクトの生成の有無および／または前記効果オブジェクトの外観サイズを制御する請求項１〜７のいずれかに記載のプログラム。
【請求項９】
請求項１乃至請求項８のいずれかに記載のゲームプログラムを記憶したコンピュータ読み取り可能な記憶媒体。
【請求項１０】
請求項１乃至請求項８のいずれかに記載のゲームプログラムを記憶した記憶部と、前記ゲームプログラムを読み込んで実行する制御部と、を備えたコンピュータ装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、遊技者が操作するキャラクタが敵キャラクタを倒していくアクションゲーム等のゲームを実行するプログラム、記憶媒体およびコンピュータ装置に関する。
【背景技術】
【０００２】
海や湖等を構成する面状の半透明オブジェクト（水面オブジェクト）が存在する三次元空間で、水中の様子を描画する場合、リアリティのあるゲーム表現を行うべく、太陽等の光が水面に差し込む様子を擬似的に表した水面効果の図形（効果オブジェクト）も同時に描画される。従来、この図形の三次元空間での配置位置は、簡易な処理によって決定されていた。例えば、水面オブジェクト上でカメラ位置（又はプレイヤキャラクタの位置）の真上にある点からカメラ視線に平行な方向に所定距離だけ前方にある水面オブジェクト上の位置を効果オブジェクトの配置位置として決定しており、カメラ位置（又はプレイヤキャラクタの位置）がどの深さにある場合も、所定距離は固定値であった。この図形は、板ポリゴン等で形成されている（特許文献１）。
【０００３】
【特許文献１】特許４０１５６４４号
【発明の開示】
【発明が解決しようとする課題】
【０００４】
通常、カメラ位置が浅い場合には、水面に近いため差し込む太陽の光の量は多く、効果オブジェクトの位置は近くなるはずである。一方、カメラ位置が深い場合には、水面から遠いため差し込む太陽の光の量は少なく、効果オブジェクトの位置は遠くなるはずである。しかしながら、上述のような簡易な処理では、効果オブジェクトがカメラ等から常に同じ位置にあり変化がないことから、遊技者に違和感を与え、リアリティに欠けていた。水面に差し込む太陽等の光は自然現象であって、規則性のないものであるのに対し、上述の処理では描画が画一的になり過ぎて遊技者に与える視覚的な効果が失われていた。
【０００５】
一方、効果オブジェクトはゲームの進行に直接関わらないため、効果オブジェクトの配置処理を複雑な処理にするべきではなく、簡単な処理で光の視覚的な効果を出すべきである。
【０００６】
この発明は、ゲーム空間にリアリティを与える効果オブジェクト（水面に差し込む太陽の光等）の最適な配置位置を簡単な処理によって決定し、視覚的な効果を向上させることのできるプログラムおよびこのプログラムを記憶した記憶媒体、このプログラムを実行するコンピュータ装置を提供することを目的とする。
【課題を解決するための手段】
【０００７】
請求項１の発明は、コンピュータを、仮想の三次元のゲーム空間内に可視の面状オブジェクトを生成する面状オブジェクト生成手段、前記面状オブジェクトの一方の面側に接して配置され、前記面状オブジェクトの一部領域に外観上の効果を付与する効果オブジェクトを生成する効果オブジェクト生成手段、前記面状オブジェクトの前記一方の面側に設定された仮想のカメラ位置から前記面状オブジェクトおよび効果オブジェクトを撮影した画像を作成する画像作成手段、として機能させるプログラムであって、前記画像作成手段は、前記カメラ位置を移動させる手段を含み、前記効果オブジェクト生成手段は、前記カメラ位置と前記面状オブジェクトとの距離に応じて前記効果オブジェクトの前記面状オブジェクトの前記一方の面における位置を決定することを特徴とする。
【０００８】
請求項２の発明は、請求項１の発明において、前記効果オブジェクト生成手段は、前記面状オブジェクトの他方の面側の空間内に、前記カメラ位置および前記カメラの視線方向に基づいて、効果オブジェクト制御点を設定し、前記カメラ位置とこの効果オブジェクト制御点とを結ぶ直線と、前記面状オブジェクトとの交点に前記効果オブジェクトを配置し、前記カメラ位置が移動したとき、前記効果オブジェクト制御点を、前記カメラ位置および前記カメラの視線方向の変化に応じて移動させることを特徴とする。
【０００９】
請求項３の発明は、請求項２の発明において、前記効果オブジェクト生成手段は、前記カメラ位置Ａ、前記カメラの視線の目標点である注視点Ｐを含み前記面状オブジェクトに対して垂直な平面を想定し、この平面上で前記カメラ位置Ａを通る直線ｈ上における前記一方の面側にある所定位置の点Ｂ、点Ｂを通過して前記他方の面側に伸びる直線ｖ上の所定位置の点Ｃを設定し、この点Ｃを前記効果オブジェクト制御点とすることを特徴とする。
【００１０】
請求項４の発明は、請求項３の発明において、前記効果オブジェクト生成手段は、前記注視点Ｐを通る前記面状オブジェクトの垂線を前記直線ｖとし、この直線ｖと前記直線ｈとの交点を点Ｂとすることを特徴とする。
【００１１】
請求項５の発明は、請求項３、４の発明において、前記効果オブジェクト生成手段は、前記カメラ位置Ａを通る前記面状オブジェクトに平行な直線を前記直線ｈとし、前記面状オブジェクトによる前記直線ｖの一部区間である線分ＢＣの内分比率を、前記カメラ位置Ａと点Ｃとを結ぶ線分に適用して内分点を求めることにより、前記カメラ位置と効果オブジェクト制御点とを結ぶ直線と前記面状オブジェクトとの交点を求めることを特徴とする。
【００１２】
請求項６の発明は、請求項２〜５の発明において、前記効果オブジェクト生成手段は、前記効果オブジェクトを、前記カメラ位置および前記効果オブジェクト制御点を結ぶ直線と前記面状オブジェクトとの交点に配置することに代えて、前記カメラ位置および前記効果オブジェクト制御点を結ぶ直線と前記面状オブジェクトとの交点から前記一方の面側に微小距離だけ離して配置することを特徴とする。
【００１３】
請求項７の発明は、請求項１〜６の発明において、前記面状オブジェクト生成手段は、面状オブジェクトとして水面を表す半透明のオブジェクトを生成する手段であり、前記効果オブジェクト生成手段は、効果オブジェクトとして、光が水面に差し込む様子を擬似的に表す半透明のオブジェクトを生成する手段であることを特徴とする。
【００１４】
請求項８の発明は、請求項１〜７の発明において、前記効果オブジェクト生成手段は、前記カメラ位置と前記面状オブジェクトとの距離に応じて、前記効果オブジェクトの生成の有無および／または前記効果オブジェクトの外観サイズを制御することを特徴とする。
【００１５】
請求項９の発明は、請求項１乃至請求項８のいずれかに記載のプログラムを記憶したコンピュータ読み取り可能な記憶媒体である。
【００１６】
請求項１０の発明は、請求項１乃至請求項８のいずれかに記載のゲームプログラムを記憶した記憶部と、前記ゲームプログラムを読み込んで実行する制御部と、を備えたコンピュータ装置である。
【発明の効果】
【００１７】
この発明によれば、ゲーム空間にリアリティを与える効果オブジェクトの最適な配置位置をカメラ位置と面状オブジェクトとの距離によって決定し、遊技者に与える視覚的な効果を向上させることができる。例えば、水中のゲーム空間の様子を描画する場合、カメラ位置と水面を形成する半透明オブジェクトとの距離によって水面に差し込む太陽の光等を表す効果オブジェクトの配置位置を決定する。これにより、カメラの移動に従って差し込む太陽の光等を表す効果オブジェクトの位置も変化し、リアルな水中画像を実現することができる。
【発明を実施するための最良の形態】
【００１８】
≪ゲームシステムの説明≫
図面を参照して、本発明が適用されるゲームシステム１について説明する。
図１は、ゲームシステム１を説明するための外観図である。以下、据置型ゲーム装置を一例にして、本発明のゲームシステム１について説明する。
【００１９】
図１において、ゲームシステム１は、スピーカ２ａおよびディスプレイ２ｂを備えた家庭用テレビジョン受像機等のモニタ装置２に、接続コードを介して接続される据置型ゲーム装置（以下、単にゲーム装置と記載する）３および当該ゲーム装置３に操作情報を与えるコントローラ７によって構成される。ゲーム装置３には、交換可能な記憶媒体の一例である光ディスク４がセットされるとともに、ゲームのセーブデータ等を不揮発的に記憶する着脱自在のメモリカード５が必要に応じて装着される。ゲーム装置３には、ゲームの主電源である電源ＯＮ／ＯＦＦスイッチ、光ディスク４の着脱を行うイジェクトスイッチが設けられている。
【００２０】
コントローラ７は、遊技者によって操作され、その装置内容を示す操作信号をゲーム装置３に対して送信する装置である。ゲーム装置３は、コントローラ７から送信されてくる操作信号に応じてゲームを開始・終了させ、ゲームを進行させる等の制御を行う。コントローラ７とゲーム装置３との通信は、無線で行われる。通信方式としては、たとえばＢｌｕｅｔｏｏｔｈ（ブルートゥース）（登録商標）の方式が用いられる。この通信のための通信ユニットとしては、コントローラ７は通信部７５（図４参照）を備え、ゲーム装置３は受信ユニット３６ａ（図２参照）を備えている。なお、１台のゲーム装置３に対して１台〜４台のコントローラ７を無線接続することが可能である。すなわち、ゲーム装置３は、４台までの異なるコントローラ７から送られてくる操作信号をそれぞれ識別して受信する機能を備えている。
【００２１】
なお、モニタ装置２の左右上面には、コントローラ７に対してモニタ装置２の位置を知らせるための発光部８Ｌ，Ｒが取り付けられている。発光部８Ｌ，Ｒは、それぞれ赤外線ＬＥＤを内蔵しており、ゲーム装置３の動作中は赤外線で発光する。
【００２２】
次に、図２のブロック図を参照して、ゲーム装置３の機能的構成について説明する。図２において、ゲーム装置３は、各種プログラムを実行する例えばリスク（ＲＩＳＣ）ＣＰＵ（セントラルプロセッシングユニット）３０を備える。ＣＰＵ３０は、図示しないブートＲＯＭに記憶された起動プログラムを実行し、メインメモリ３３等のメモリの初期化等を行った後、光ディスク４に記憶されているゲームプログラムを実行し、そのゲームプログラムに応じたゲーム処理等を行うものである。ＣＰＵ３０には、メモリコントローラ３１を介して、ＧＰＵ（ＧｒａｐｈｉｃｓＰｒｏｃｅｓｓｉｎｇＵｎｉｔ）３２、メインメモリ３３、ＤＳＰ（ＤｉｇｉｔａｌＳｉｇｎａｌＰｒｏｃｅｓｓｏｒ）３４、およびＡＲＡＭ（ＡｕｄｉｏＲＡＭ）３５が接続される。また、メモリコントローラ３１には、所定のバスを介して、コントローラＩ／Ｆ（インターフェース）３６、ビデオＩ／Ｆ３７、外部メモリＩ／Ｆ３８、オーディオＩ／Ｆ３９、およびディスクＩ／Ｆ４１が接続され、それぞれ受信ユニット３６ａ、モニタ装置２、外部メモリカード５、スピーカ２ａ、およびディスクドライブ４０が接続されている。
【００２３】
ＧＰＵ３２は、ＣＰＵ３０の命令に基づいて画像処理を行うものであり、例えば、３Ｄグラフィックスの表示に必要な計算処理を行う半導体チップで構成される。ＧＰＵ３２は、図示しない画像処理専用のメモリやメインメモリ３３の一部の記憶領域を用いて三次元の仮想空間（ゲーム空間）の各コマの画像（公知の透視投影法による二次元画像）を生成し、この画像にカーソル等の画像を合成する等して生成したゲーム画像をメモリコントローラ３１およびビデオＩ／Ｆ３７を介してモニタ装置２（ディスプレイ２ｂ）に出力する。
メインメモリ３３は、ＣＰＵ３０で使用される記憶領域であって、光ディスク４から読み出されたゲームプログラムや各種データ等を適宜記憶する。
【００２４】
ＤＳＰ３４は、ゲームプログラム実行時にＣＰＵ３０において生成されるサウンドデータ等を処理するものであり、そのサウンドデータ等を記憶するためのＡＲＡＭ３５が接続される。ＡＲＡＭ３５は、ＤＳＰ３４が所定の処理（例えば、先読みしておいたゲームプログラムやサウンドデータの記憶）を行う際に用いられる。ＤＳＰ３４は、ＡＲＡＭ３５に記憶されたサウンドデータを読み出し、メモリコントローラ３１およびオーディオＩ／Ｆ３９を介してモニタ装置２に備えるスピーカ２ａに出力させる。
【００２５】
メモリコントローラ３１は、データ転送を統括的に制御するものであり、上述した各種Ｉ／Ｆが接続される。受信ユニット３６ａは、コントローラＩ／Ｆ３６を介してメモリコントローラ３１に接続される。上述したように受信ユニット３６ａは、コントローラ７からの送信データを受信し、コントローラＩ／Ｆ３６およびメモリコントローラ３１を介して当該送信データをＣＰＵ３０へ出力する。ビデオＩ／Ｆ３７には、モニタ装置２が接続される。外部メモリＩ／Ｆ３８には、外部メモリカード５が接続され、その外部メモリカード５に設けられたバックアップメモリ等とアクセス可能となる。
【００２６】
オーディオＩ／Ｆ３９にはモニタ装置２に内蔵されるスピーカ２ａが接続され、ＤＳＰ３４がＡＲＡＭ３５から読み出したサウンドデータやディスクドライブ４０から直接出力されるサウンドデータをスピーカ２ａから出力可能に接続される。ディスクＩ／Ｆ４１には、ディスクドライブ４０が接続される。ディスクドライブ４０は、所定の読み出し位置に配置された光ディスク４に記憶されたデータを読み出し、ゲーム装置３のバスやオーディオＩ／Ｆ３９に出力する。
次に、図３を参照して、コントローラ７について説明する。
【００２７】
コントローラ７は、例えばプラスチック成型によって形成されたハウジング７１を有している。ハウジング７１は、その前後方向を長手方向とした略直方体形状を有しており、全体として大人や子供の片手で把持可能な大きさである。
【００２８】
ハウジング７１上面の中央前面側に、十字キー７２ｃが設けられる。この十字キー７２ｃは、十字型の４方向プッシュスイッチであり、矢印で示す４つの方向（前後左右）に対応する操作部分が十字の突出片にそれぞれ９０°間隔で配置される。遊技者によって十字キー７２ｃのいずれかの方向の操作部が押下されると、その方向を示す操作信号が、コントローラ７からゲーム装置３に送信される。遊技者が十字キー７２ｃを操作することにより、例えば、ゲーム空間に登場するキャラクタの移動方向を指示したり、カーソルの移動方向を指示したりすることができる。
【００２９】
ハウジング７１上面の十字キー７２ｃより後側には、多数のボタンスイッチが設けられており、各ボタンがオンされると、対応する操作信号がコントローラ７からゲーム装置３へ送信される。これらのボタンスイッチのうち、最も前方（十字キー７２ｃ寄り）に設けられているものが、Ａボタン７２ａである。
【００３０】
一方、ハウジング７１下面には、凹部が形成されている。ハウジング７１下面の凹部は、遊技者がハウジング７１を把持したとき、この遊技者の人差し指や中指が位置するような位置に形成される。そして、上記凹部の後面側傾斜面には、ボタンスイッチ７２ｂが設けられる。このボタンスイッチ７２ｂは、Ｂボタンとして機能する操作部である。
これらＡボタン７２ａ、Ｂボタン７２ｂは、ゲームプログラムにおいて、遊技者がゲームに対する主要な操作を行うボタンスイッチとして設定される。
【００３１】
なお、ハウジング７１上面の十字キー７２ａより前面側に設けられているボタンスイッチ７２ｈは、遠隔からゲーム装置３本体の電源をオン／オフする電源スイッチである。
【００３２】
また、ハウジング７１前面には、コントローラ７前方の画像を撮影するための撮像素子７４３（図４参照）が設けられている。撮像素子７４３は、撮像情報演算部７４（図４参照）の一部を構成している。撮像素子７４３は、コントローラ７がモニタ装置２に向けて支持されているとき、モニタ装置２の上面に設けられた発光部８Ｌ，Ｒを撮影する。撮像情報演算部７４は、撮像素子７４３における発光部８Ｌ，Ｒの撮影位置によってコントローラ７の向きを検出する。
【００３３】
次に、図４のブロック図を参照して、コントローラ７の内部構成について説明する。
図４において、コントローラ７は、上述した操作部７２および撮像情報演算部７４の他に、その内部に通信部７５、加速度センサ７０１およびバイブレータ７０４を備えている。
【００３４】
撮像情報演算部７４は、赤外線フィルタ７４１、レンズ７４２、撮像素子７４３、および画像処理回路７４４を含んでいる。赤外線フィルタ７４１は、コアユニット７０の前方から入射する光から赤外線のみを通過させる。レンズ７４２は、赤外線フィルタ７４１を透過した赤外線を集光して撮像素子７４３へ出射する。撮像素子７４３は、例えばＣＭＯＳセンサのような固体撮像素子であり、レンズ７４２が集光した赤外線を撮像する。したがって、撮像素子７４３は、赤外線フィルタ７４１を通過した赤外線だけを撮像して画像データを生成する。撮像素子７４３で生成された画像データは、画像処理回路７４４で処理される。具体的には、画像処理回路７４４は、撮像素子７４３から得られた画像データを処理して高輝度部分、すなわち発光部８Ｌ，Ｒからの光を検出し、それらの位置座標を示す座標データを通信部７５へ出力する。
【００３５】
加速度センサ７０１は、コントローラ７の上下方向、左右方向および前後方向の３軸でそれぞれ加速度を検知する加速度センサである。なお、加速度センサ７０１は、必要な操作信号の種類によっては、上下方向、左右方向の２軸でそれぞれ加速度を検出する加速度センサが用いられてもかまわない。加速度センサ７０１が検知した加速度を示すデータは、通信部７５へ出力される。なお、加速度センサ７０１は、典型的には静電容量式の加速度センサが用いられるが、他の方式の加速度センサやジャイロセンサを用いてもかまわない。
【００３６】
通信部７５は、マイクロコンピュータ（ＭｉｃｒｏＣｏｍｐｕｔｅｒ：マイコン）７５１、メモリ７５２、無線モジュール７５３、およびアンテナ７５４を含んでいる。マイコン７５１は、処理の際にメモリ７５２を記憶領域として用いながら、送信データを無線送信する無線モジュール７５３を制御する。
【００３７】
操作部７２からの操作信号（キーデータ）、加速度センサ７０１からの加速度信号（加速度データ）、および撮像情報演算部７４からの座標データは、マイコン７５１に出力される。マイコン７５１は、入力した各データ（キーデータ、加速度データ、座標データ）を受信ユニット３６ａへ送信する送信データとして一時的にメモリ７５２に格納する。
【００３８】
ここで、通信部７５から受信ユニット３６ａへの無線送信は、所定の周期毎に行われるが、ゲームの処理は１／６０を単位として行われることが一般的であるので、それよりも短い周期で送信を行うことが必要となる。具体的には、ゲームの処理単位は１６．７ｍｓ（１／６０秒）であり、ブルートゥースで構成される通信部７５の送信間隔は５ｍｓである。マイコン７５１は、受信ユニット３６ａへの送信タイミングが到来すると、メモリ７５２に格納されている送信データを一連の操作情報として出力し、無線モジュール７５３へ出力する。そして、無線モジュール７５３は、例えばＢｌｕｅｔｏｏｔｈ（ブルートゥース；登録商標）の技術を用いて、所定周波数の搬送波を用いて操作情報をその電波信号としてアンテナ７５４から放射する。
【００３９】
バイブレータ７０４は、例えば振動モータ又はソレノイド等が考えられる。バイブレータ７０４が作動することによってコアユニット７０に振動が発生するので、それを把持している遊技者の手にその振動が伝達され、いわゆる振動対応ゲームが実現できる。
【００４０】
≪ゲームプログラムの説明≫
次にこのゲーム装置で実行されるゲームプログラムについて説明する。このゲームプログラムは、いわゆるハンティングアクションゲームであり、図５は、ハンティングアクションゲームの一場面を表示するゲーム画面を示す図である。ハンティングアクションゲームは、遊技者が操作する主キャラクタが様々な武器を使用し、ゲーム空間内に存在するモンスター等の敵キャラクタを倒すことによってミッションをクリアしていくゲームである。主キャラクタは、遊技者のコントローラ７の操作により、ゲーム空間内で活動する。
【００４１】
図５は、遊技者が操作する主キャラクタがゲーム空間内に形成された海、湖等の水中で活動している様子を表示するゲーム画像の例を示す図である。このゲームプログラムを読み込んだゲーム装置１では、遊技者が操作する主キャラクタの後方にカメラを配置し、カメラで映した主キャラクタ、敵キャラクタおよびゲーム空間の映像を描画している。カメラ位置は主キャラクタの後方の位置が基準位置となるが、ユーザがコントローラ７を操作して主キャラクタを中心とした円周上の任意の位置にカメラ位置を変更すること（カメラ操作）も可能である。
【００４２】
遊技者が操作する主キャラクタは、地上だけでなく水中でもアイテムを探したり、敵キャラクタと戦ったりする。主キャラクタがゲーム空間内に形成された海、湖等に入ると、ゲーム空間の映像を映す仮想的なカメラも水中に配置される。図５に示すような水中を撮影した映像は全体に青みがかっていて、上方に水面があり、水面は波立っている。その一部に日差しが差し込んでいる。図５（Ａ）、（Ｂ）、（Ｃ）の順に主キャラクタが徐々に水面に向かって上昇している様子を表現している。図５（Ａ）では主キャラクタは海底の岩の付近の暗い部分に存在するが、図５（Ｂ）では主キャラクタは海底の岩から離れ、太陽の光が差し込む水面に少し近づき、図５（Ｃ）では主キャラクタはさらに水面に向かって上昇し、水中の浅くて明るい部分に存在する。
【００４３】
ゲーム空間における海や湖は、水面を形成する半透明の面状のオブジェクト（水面オブジェクト）および海底等のオブジェクトで区切られるゲーム空間を意味し、現実世界とは異なり内部に水等を表すオブジェクトが存在するわけではない。そのため、図５に示すようなリアリティのある水中のゲーム空間の映像を作成するために、ゲームプログラムが読み込まれたゲーム装置１は、空中のゲーム空間の映像を作成する場合とは異なる以下のような処理を行う。キャラクタを含む画面全体に透明の青色のフィルタをかける。この青色のフィルタによって、キャラクタも青みがかっているように見え、深い部分ほど青みが濃く見える。さらに、画面全体にフォグ（霧）もかける。これにより、画面に軽くぼかしが入って視界が制限され、リアルな水中の映像を実現できる。また、水面オブジェクトには波のテクスチャを貼り付ける。そして、リアリティのある水中の様子を描画するために、太陽等の光が水面に差し込む様子を擬似的に表した水面効果の図形（効果オブジェクトＨ）を、水面オブジェクトの一部の領域と重なる箇所に配置する。
【００４４】
また、本実施形態のゲームプログラムを読み込んだゲーム装置１では、図５（Ａ）〜（Ｃ）のようにカメラの移動に従って、差し込む日差しの位置も変化し、リアルな水中画像が実現されている。上記の効果は、カメラ位置やカメラの視線の変化に合わせて効果オブジェクトＨの位置を動かすことにより得られる。
【００４５】
このようなゲームを実行するゲームプログラムを上述したゲーム装置に読み込ませることにより、図６に示すようなゲームシステムを機能的に実現することができる。このゲームシステムは、操作検出部５０、ゲーム進行制御部５１、描画処理部５５からなっている。ゲーム進行制御部５１は、主キャラクタ制御部５２、敵キャラクタ制御部５３、ゲーム空間制御部５４を含んでいる。
【００４６】
操作検出部５０は、ＣＰＵ３０、ＧＰＵ３２等のデータ処理部およびコントローラ７を含み、遊技者の各種操作を検出して、ゲーム進行制御部５１に伝達する。ゲーム進行制御部５１は、ＣＰＵ３０、ＧＰＵ３２等のデータ処理部を含み、水、陸、空等の仮想のゲーム空間やキャラクタを生成するとともに、遊技者の操作や時間の経過等に応じて、上述のゲーム空間を変化させたりキャラクタを活動させたりする等の処理を行ってゲームを進行させる。
【００４７】
ゲーム進行制御部５１は、主キャラクタの活動を制御する主キャラクタ制御部５２、主キャラクタと戦う敵キャラクタの活動を制御する敵キャラクタ制御部５３、ゲーム空間の生成および天候などの環境を制御するゲーム空間制御部５４を有している。
【００４８】
主キャラクタ制御部５２は、操作検出部５０から入力される操作情報に基づいて主キャラクタを生成するとともに、その活動を制御する。敵キャラクタ制御部５３は、ゲーム空間内に生息するモンスター等の敵キャラクタを生成するとともに、主キャラクタの活動に対応した活動（戦闘）を行わせる。ゲーム空間制御部５４は、地上や水中等のゲーム空間を生成するとともに、そのゲーム空間の天候などの環境を制御する。例えば、主キャラクタが海や湖等のゲーム空間で活動するステージの場合、ゲーム空間制御部５４は、面状の半透明オブジェクト（水面オブジェクト）を配置し、太陽等の光が水面に差し込む様子を擬似的に表した半透明オブジェクト（効果オブジェクトＨ）も同時に配置して、水中のゲーム空間を生成、制御する。描画処理部５６は、ゲーム進行制御部５１が生成したゲーム空間、キャラクタを二次元のスクリーンに投影したゲーム画像を生成してモニタに出力する。
【００４９】
図７（Ａ）は、効果オブジェクトＨを側面から見た状態を示す図である。効果オブジェクトＨは、三次元の半透明オブジェクトであり、板ポリゴンＨａと、板ポリゴンＨａから延びる複数の帯状のポリゴンＨｂとから構成されている。
【００５０】
図７（Ｂ）は、効果オブジェクトＨを平面から見た状態を示す図である。平面ポリゴンである板ポリゴンＨａ上に楕円形のテクスチャＴがマッピングされている。テクスチャＴは、空中から水中に差し込む光の水面での屈折を表現する画像データである。また、板ポリゴンＨａのテクスチャＴがマッピングされていない領域は、透明色が設定されている。ポリゴンＨｂは、短冊形状の平面ポリゴンであり、テクスチャがマッピングされて水中に真っ直ぐ差し込む光の帯を表す。このポリゴンＨｂは、テクスチャＴの内部に設定された範囲Ｓ内で任意の位置にランダムに発生する。発生したポリゴンＨｂは、一定時間（例えば３２フレーム）経過後に消滅する。ポリゴンＨｂの発生消滅は、ゲーム空間制御部５４によって制御される。また、ポリゴンＨｂは、描画処理において一般的なビルボード処理によるレンダリングが行われる。ビルボード処理とは、２Ｄの画像をテクスチャとしてポリゴンに貼り、３Ｄシーン上に合成する処理である。また、一般的なビルボード処理では、テクスチャを貼った板ポリゴンをカメラ位置からの視線方向に正対させる処理を行っている。本実施形態では、ポリゴンＨｂのＹ軸（ポリゴンＨｂの長手方向）についてのみ回転させて上記正対させる処理を行っている。これにより、厚みのない効果オブジェクトＨを含む画像を生成する際にカメラ位置によって効果オブジェクトＨが見えなくなるといった不都合が生じなくなる。
【００５１】
≪効果オブジェクトの配置処理≫
次に、効果オブジェクトＨの配置処理について説明する。図８は、効果オブジェクトＨの配置位置を説明する図である。この図、図１０、図１１において上方向に向かう直線をＹ軸、右方向に向かう直線をＸ軸、画面奥方向に向かう直線をＺ軸とする。面状の半透明オブジェクト（水面オブジェクトＷ）が配置された仮想三次元ゲーム空間で、カメラ位置（第１頂点Ａ）と、水面オブジェクトＷを挟まずにカメラ位置に対向する点（第２頂点Ｂ）と、第２頂点に水面オブジェクトＷを挟んで対向する点（第３頂点Ｃ）と、の位置関係に基づいて、水面オブジェクトＷに太陽等の光が差し込む様子を擬似的に表す効果オブジェクトＨの配置位置を決定する。
【００５２】
図８（Ａ）は、カメラの視線が水平方向（Ｘ、Ｚ軸方向）の場合の効果オブジェクトＨの配置位置を示す図である。図８（Ｂ）は、カメラ位置が図８（Ａ）よりも下方にある場合の効果オブジェクトＨの配置位置を示す図である。図８（Ｃ）は、カメラ位置が図８（Ａ）と同じであるが、カメラの視線が斜め上方にある場合の効果オブジェクトＨの配置位置を示す図である。
【００５３】
第１頂点Ａの位置を、カメラ位置に決定する。第２頂点Ｂの位置を、第１頂点Ａと結ばれる線分が水面オブジェクトＷの面方向に平行となる位置で、カメラの注視点のＸ，Ｚ座標およびカメラ位置のＹ座標と同じ値の位置に決定する。カメラの注視点とは、カメラが撮影する視線の目標地点をいう。第３頂点Ｃの位置を、第２頂点ＢからＹ軸方向に延ばした直線上で、第２頂点Ｂから距離Ｄの位置に決定する。なお、距離Ｄは、予め設定されている固定値であってもよく、カメラ位置の深度等に応じて変化させてもよい。これらの３つの頂点Ａ、Ｂ、Ｃで、線分ＡＢが水面オブジェクトＷの面に平行な∠ＡＢＣ＝９０°の直角三角形が形成される。
【００５４】
効果オブジェクトＨの配置位置は、水面オブジェクトＷとの交点を内分点とした線分ＢＣの内分比（ｍ：ｎ、ｏ：ｐ、ｓ：ｔ）が計算された後、この内分比と同じ比率で線分ＡＣを内分する位置に決定される。すなわち、効果オブジェクトＨの配置位置は、線分ＡＣと水面オブジェクトＷとの交点となる。このように、水面オブジェクトＷによる垂線ＢＣの内分比率を線分ＡＣに適用して水面オブジェクトＷと線分ＡＣとの交点を求めることとしたのは、頂点Ｂ，Ｃおよび水面オブジェクトＷのＹ軸座標を用いることにより垂線ＢＣの内分比率を簡単に算出できることから、水面オブジェクトＷと線分ＡＣとの交点を直接求めるよりも、算出された内分比率を用いて求める方が容易だからである。
【００５５】
これにより、カメラ位置が水面から浅い場合には、効果オブジェクトの位置は近くになり、カメラ位置が水面から深い場合には、効果オブジェクトの位置は遠くになる。さらに、図８（Ａ），（Ｃ）のように、カメラ位置は変わらずに視線だけが異なる場合でも、効果オブジェクトの位置は変化する。このように、カメラ位置の深度や視線の変化に合わせて効果オブジェクトの配置位置を変化させることができる。したがって、リアルな水中の映像を表現することができ、プレイヤに与える視覚的効果を向上させることができる。
【００５６】
図９は、ゲーム空間制御部５４が実行する効果オブジェクトＨの配置処理のフローチャートである。カメラ操作や主キャラクタの存在位置に基づいてカメラ位置の決定がされ、このカメラ位置に応じて効果オブジェクトＨの配置処理が実行される。まず、水面オブジェクトＷの位置情報とカメラの位置情報との取得を行う（Ｓ１０）。そして、カメラが水中に存在するか否か判断する（Ｓ１１）。カメラが水中に存在するか否かは、カメラの位置情報から、カメラが水面オブジェクトＷの下方に存在するか否かで判断する。カメラが水中に存在しない場合（Ｓ１１でＮＯ）、効果オブジェクトＨを配置する必要がないので、以降の配置処理は行わない。
【００５７】
カメラが水中に存在する場合（Ｓ１１でＹＥＳ）、カメラの注視点の座標、距離Ｄのデータ等の各種情報の取得を行う（Ｓ１２）。そして、取得したカメラの注視点のＸ、Ｚ座標およびカメラ位置のＹ座標と同じ値の位置である頂点Ｂの位置を決定する（Ｓ１３）。さらに、Ｓ１３で決定した頂点ＢからＹ軸方向に延ばした直線上で、頂点ＢからＳ１２で取得した距離Ｄにある位置を計算し、頂点Ｃの位置を決定する（Ｓ１４）。
【００５８】
これにより、頂点Ａ（カメラ位置）、Ｂ、Ｃに基づいて、線分ＡＢが水面オブジェクトＷの面に平行な∠ＡＢＣ＝９０°の直角三角形が形成される。そして、水面オブジェクトＷとの交点を内分点とした線分ＢＣの内分比を求め、この内分比と同じ比率で線分ＡＣを内分する位置を計算し、線分ＡＣと水面オブジェクトＷとの交点を効果オブジェクトＨの配置位置に決定する（Ｓ１５）。以上の効果オブジェクトＨの配置処理は毎フレーム行われる。これにより、水面に太陽等の光が差し込む様子を擬似的に表現した効果オブジェクトＨを毎フレーム最適な位置に配置することができ、水中のゲーム空間の視覚的な効果を向上させることができる。
【００５９】
なお、本実施形態では、頂点Ｂにカメラの注視点を用いていたが、頂点Ｂは線分ＡＢが水面オブジェクトＷの面と平行となるような任意に設定した点であってもよい。例えば、Ｘ、Ｚ軸方向の視線上において、カメラ位置から一定距離だけ離れた位置を頂点Ｂとしてもよい。
【００６０】
また、本実施形態では、頂点Ｃが頂点ＢからＹ軸方向に延びた直線上に位置するように決定されるが、特にＹ軸方向に延びる直線である必要はなく、頂点Ｂ、Ｃが水面オブジェクトＷを挟んで対向するような方向に延びる直線であればよい。すなわち、本実施形態では∠ＡＢＣの角度が９０°に固定されていたが、∠ＡＢＣの角度は９０°でなくてもよい。例えば、図１０に示すように、∠ＡＢＣが鋭角になる頂点Ａ、Ｂ、Ｃに基づいて効果オブジェクトＨの配置位置を決定してもよい。さらに、図１０において、頂点Ａ、Ｂ、ＣはＺ座標を共有した同一のＸ、Ｙ平面上にあるが、頂点Ｃは頂点Ａ，Ｂと同一のＸ、Ｙ平面上になくてもよく、頂点ＣのＺ座標が頂点Ａ、ＢのＺ座標と異なってもよい。
【００６１】
また、線分ＡＢが水面オブジェクトＷの面に平行でなくてもよい。例えば、注視点を頂点Ｂとし、注視点からＹ軸方向に所定距離だけ延ばした位置を頂点Ｃとして、線分ＡＣと水面オブジェクトＷとの交点を求めてもよい。なお、線分ＡＢが水面オブジェクトＷの面に平行でない場合、水面オブジェクトＷとの交点を内分点とした線分ＢＣの内分比と、線分ＡＣの内分比がずれるので、直接水面オブジェクトＷと線分ＡＣとの交点を求めればよい。
【００６２】
頂点Ｃの位置を決定するのに必要な距離Ｄは、任意に設定可能である。例えば、図８（Ａ）でＤの値をｍ＝ｎとなる値に設定してもよい。ただし、水中の深さ（カメラが移動できる深さ）を考慮して、常に頂点Ｃが水面オブジェクトＷより上方に位置するような値を設定することが望ましい。距離Ｄの値は一定ではなく変化する構成にしてもよい。例えば、Ｄの値を任意の固定値に設定し、この固定値では水面に届かない場合のみ水面オブジェクトＷより上方になるように修正する設定でもよい。
【００６３】
また、距離Ｄの値を複数記憶しておき、状況に応じて適切な値を使用するようにしてもよい。例えば、カメラのある水中の深度に応じて複数の値の中から最適な値を選択して距離Ｄとして設定すればよい。
【００６４】
さらに、本実施形態では、水平方向（Ｘ,Ｚ軸方向）に平行な水面オブジェクトＷであったが、水平方向に限らず、傾斜方向であってもよい。また、海や湖等を構成する水面オブジェクトＷに限らず、図１１に示すような半透明の地面やガラス板等の面状の半透明オブジェクトや、不透明な板オブジェクトにも本発明を適用可能である。
【００６５】
例えば、野原（不透明な地面の板オブジェクト）にススキの群生を表す群生ススキオブジェクト（効果オブジェクト）を配置する場合、地面の板オブジェクトの領域の全てに群生ススキオブジェクトを正しく配置しようとすると処理に負荷がかかるが、本発明を適用して群生ススキオブジェクトの配置位置を決定し、半径５ｍの大きさの群生ススキオブジェクトの円の中心を配置位置に重ねて配置すれば、地面の板オブジェクトの領域においてカメラを通じて描画される範囲は少なくともススキが生い茂っているようにできる。しかも、処理負荷をかけない簡単な処理で上記の効果を得ることができる。他に、効果オブジェクトとしてトンボや魚の群れなどを用いる構成にしてもよい。したがって、効果オブジェクトについても、本実施形態の半透明のオブジェクトに限らず、上述のような不透明なオブジェクトであってもよい。
【００６６】
なお、配置処理で決定された効果オブジェクトＨの配置位置を補正する処理をさらに行う構成にしてもよい。その他は本実施形態の図９と同様の処理である。補正処理は、例えば決定された効果オブジェクトＨの配置位置のＹ軸座標の値に補正値を加え、効果オブジェクトＨを水面オブジェクトＷよりも補正値分（例５ｃｍ）だけ下方（水中側）に変更する処理である。また、水面オブジェクトＷのＹ軸座標から補正値分だけ減算した位置を内分点として垂線Ｂ，Ｃの内分比率を算出し、この内分比率から配置位置を決定する処理であってもよい。
【００６７】
水面オブジェクトＷと効果オブジェクトＨとが重なっていると、Ｚソート法等で描画するような場合、カメラ位置によっては描画順が意図する順と異なってしまう（前後逆となる）可能性があるが、上記補正処理を実行して両オブジェクトＷ，Ｈの位置をずらすことで、描画順の誤りの発生を低減することができる。
【００６８】
また、図１２に示すように、効果オブジェクトＨの配置処理において、水面オブジェクトＷからの深度に応じて、(１)効果オブジェクトＨを配置するか否か、(２)効果オブジェクトＨを配置する場合には、効果オブジェクトＨの形状の変更をするか否かの判断を行う処理（Ｓ２４〜Ｓ２８）を追加する構成にしてもよい。カメラ位置の水面からの深度によって水面に差し込む太陽等の光の見え方は異なるが、それを区別して表現することができる。その他の処理（Ｓ２１〜Ｓ２３、Ｓ２９〜Ｓ３１）は本実施形態の図９（Ｓ１０〜Ｓ１５）と同様である。水面オブジェクトＷからの深度は、水面オブジェクトＷと頂点Ｂ（＝頂点Ａ）との距離である。
【００６９】
Ｓ２１〜Ｓ２３の処理をし、カメラの注視点の座標、カメラ位置の座標、距離Ｄのデータ等の各種情報の取得を行った後、取得したカメラ位置のＹ座標に基づいて、水面オブジェクトＷと頂点Ｂとの距離を計算し、水面オブジェクトＷからの深度を取得する（Ｓ２４）。そして、Ｓ２４で取得した水面オブジェクトＷからの深度が第１所定値以上か否か判断する（Ｓ２５）。水面オブジェクトＷからの深度が第１所定値未満の場合（Ｓ２５でＮＯ）、効果オブジェクトＨを配置せず、以降の配置処理は行わない。深度が第１所定値未満の場合、すなわちカメラが浅い水中に存在する場合は、水面に近すぎるので、水面に差し込む太陽等の光を表現すると不自然だからである。
【００７０】
水面オブジェクトＷからの深度が第１所定値以上の場合（Ｓ２５でＹＥＳ）、カメラが一定以上の深い水中に存在するため効果オブジェクトＨを配置するが、効果オブジェクトＨの形状を決定するため、水面オブジェクトＷからの深度が第２所定値以上か否か判断する（Ｓ２６）。水面オブジェクトＷからの深度が第１所定値以上第２所定値未満の場合（Ｓ２６でＮＯ）、効果オブジェクトＨを構成する帯状のポリゴンＨｂを標準のスケールで描画する（Ｓ２７）。
【００７１】
水面オブジェクトＷからの深度が第２所定値以上の場合（Ｓ２６でＹＥＳ）、効果オブジェクトＨを構成する帯状のポリゴンＨｂを標準よりも縮小したスケールで描画する（Ｓ２８）。深度が第２所定値以上の場合、すなわちカメラが相当深い水中に存在する場合は、水面に差し込む太陽等の光の量が少ないので、帯状のポリゴンＨｂを小さくする方がよりリアルな表現になるからである。具体的には、帯状のポリゴンＨｂに関するスケール情報の設定変更を行うことで実現する。その後Ｓ２９〜Ｓ３１の処理を行い、効果オブジェクトＨの配置位置を決定する。
【００７２】
なお、効果オブジェクトが例示した群生ススキオブジェクトである場合、カメラ位置が地面の板オブジェクトから遠い上空にあるときは、カメラ位置が地面の板オブジェクトに近い低空にあるときよりも群生ススキオブジェクトのスケール（外観サイズ）を拡大すればよい。カメラ位置が上空にあるときは地面の板オブジェクトが描画される領域が広がるが、群生ススキオブジェクトの外観サイズの拡大によりススキがない地面だけの領域が描画されてしまうことを防止できる。
【００７３】
この実施形態では、ゲーム装置として家庭用のテレビゲーム機を例示しているが、この発明は、家庭用のテレビゲーム機に限らず、携帯型ゲーム機、アーケードゲーム機等の他の種類のゲーム機、又はゲーム機以外の三次元映像を表示する装置、例えばゲームプログラムがローディングされたパーソナルコンピュータ等に適用することが可能である。
【図面の簡単な説明】
【００７４】
【図１】この発明が適用されるゲームシステムを説明するための外観図
【図２】図１に示したゲーム装置の機能ブロック図
【図３】図１に示したコントローラの外観構成を示す斜視図
【図４】前記コントローラの構成を示すブロック図
【図５】この発明の実施形態であるアクションゲームプログラムのゲーム画面を示す図
【図６】同ゲームプログラムと前記ゲーム装置で構成されるゲームシステムの構成を示す図
【図７】効果オブジェクトＨの構成を示す図
【図８】効果オブジェクトＨの配置位置を説明する図
【図９】前記ゲームシステムの動作を示すフローチャート
【図１０】効果オブジェクトＨの配置位置を説明する図
【図１１】効果オブジェクトＨの配置位置を説明する図
【図１２】前記ゲームシステムの動作を示すフローチャート
【図１】
0005087453.tif 000002
【図２】
0005087453.tif 000003
【図３】
0005087453.tif 000004
【図４】
0005087453.tif 000005
【図６】
0005087453.tif 000006
【図７】
0005087453.tif 000007
【図８】
0005087453.tif 000008
【図９】
0005087453.tif 000009
【図１０】
0005087453.tif 000010
【図１１】
0005087453.tif 000011
【図１２】
0005087453.tif 000012
【図５】
0005087453.tif 000013