| 【発明の名称】 |
プログラム、情報記憶媒体、及び画像生成システム |
| 【発明者】 |
【氏名】薄井 和也
|
| 【要約】 |
【課題】コントローラの指示位置を基準としつつも、面白みや意外性のある操作結果を得ること。
【構成】操作子の操作入力に応じて判定される標的と仮想移動体との位置関係は、コントローラの指示位置そのものではなく、表示部に対するコントローラの指示位置情報と、仮想移動体の軌道情報とに基づいて判定される。 |
【特許請求の範囲】
【請求項1】 コントローラの操作に応じた画像を生成するためのプログラムであって、 前記コントローラの動きに応じて変化する情報を検出する検出部の検出結果に基づいて、表示部に対する前記コントローラの指示位置情報を取得する情報取得部と、 前記表示部に標的を表示させる標的表示制御処理を行う表示制御部と、 前記コントローラに設けられた操作子の操作入力を受け付ける入力受付部と、 前記操作入力に応じて、前記指示位置情報と仮想移動体の軌道情報とに基づいて前記標的と前記仮想移動体との位置関係を判定する判定部としてコンピュータを機能させることを特徴とするプログラム。 【請求項2】 請求項1において、 前記情報取得部が、 前記表示部に対する前記コントローラの距離情報を取得し、 前記判定部が、 前記操作入力に応じて、前記指示位置情報と前記距離情報と仮想移動体の軌道情報とに基づいて前記標的と前記仮想移動体との位置関係を判定することを特徴とするプログラム。 【請求項3】 請求項1、2のいずれかにおいて、 前記表示制御部が、 前記指示位置情報に基づいて前記表示部に基準マークを表示させる基準マーク表示制御処理を更に行うことを特徴とするプログラム。 【請求項4】 請求項1〜3のいずれかにおいて、 複数の軌道情報を記憶した記憶部としてコンピュータを更に機能させ、 前記判定部が、 前記記憶部に記憶された複数の軌道情報のいずれかに基づいて前記位置関係を判定することを特徴とするプログラム。 【請求項5】 請求項4において、 前記表示制御部が、 前記表示部に複数の軌道情報のいずれかに対応する識別表示を表示させる識別表示制御処理を更に行い、 前記判定部が、 前記表示させた識別表示に対応する軌道情報に基づいて前記位置関係を判定することを特徴とするプログラム。 【請求項6】 請求項1〜5のいずれかにおいて、 前記表示制御部が、 前記表示部に前記軌道情報に対応する前記仮想移動体の軌道を示す軌道表示を表示させる軌道表示制御処理を更に行うことを特徴とするプログラム。 【請求項7】 請求項1〜6のいずれかにおいて、 前記標的に設定された状態パラメータを前記判定結果に対応させて更新する標的状態更新部としてコンピュータを更に機能させ、 前記判定部が、 前記標的と前記仮想移動体とが前記標的に設定された複数の判定領域のいずれにおいて交差したか判定し、 前記標的状態更新部が、 前記標的と前記仮想移動体とが交差した判定領域に対応させて前記標的の状態パラメータを更新することを特徴とするプログラム。 【請求項8】 請求項1〜7のいずれかにおいて、 前記表示制御部が、 前記表示部に対する前記コントローラの距離が第1の距離よりも近づいた場合に、前記表示部に所与の警告表示を表示させる警告表示制御処理を更に行うことを特徴とするプログラム。 【請求項9】 請求項1〜8のいずれかにおいて、 前記入力受付部が、 前記表示部に対する前記コントローラの距離が第2の距離よりも近づいた場合に、前記操作入力を受付けないことを特徴とするプログラム。 【請求項10】 請求項1〜9のいずれかにおいて、 前記表示制御部が、 前記指示位置情報と前記距離情報とに基づいて、前記仮想移動体の移動始点となる始点オブジェクトを前記表示部に表示させる始点オブジェクト表示制御処理を更に行い、 前記判定部が、 前記表示部に対する前記コントローラの距離が第3の距離よりも近づいた場合に、前記標的と前記始点オブジェクトとの交差判定を行うことを特徴とするプログラム。 【請求項11】 請求項1〜10のいずれかにおいて、 前記交差判定の結果に基づいて前記コントローラの操作を評価する評価部としてコンピュータを更に機能させることを特徴とするプログラム。 【請求項12】 コンピュータ読み取り可能な情報記憶媒体であって、請求項1〜11のいずれかのプログラムを記憶したことを特徴とする情報記憶媒体。 【請求項13】 コントローラの操作に応じた画像を生成するための画像生成システムであって、 前記コントローラの動きに応じて変化する情報を検出する検出部の検出結果に基づいて、表示部に対する前記コントローラの指示位置情報を取得する情報取得部と、 前記表示部に標的を表示させる標的表示制御処理を行う表示制御部と、 前記コントローラに設けられた操作子の操作入力を受け付ける入力受付部と、 前記操作入力に応じて、前記指示位置情報と仮想移動体の軌道情報とに基づいて前記標的と前記仮想移動体との位置関係を判定する判定部と、 を含むことを特徴とする画像生成システム。
|
【発明の詳細な説明】【技術分野】 【0001】 本発明は、プログラム、情報記憶媒体、及び画像生成システムに関する。 【背景技術】 【0002】 従来より、銃型コントローラを用いたシューティングゲームシステムなどのように、銃型コントローラを操作して標的を狙い撃つゲームを行う画像生成システムが知られている。このような画像生成システムでは、銃型コントローラが指示している表示画面上の位置が仮想弾の着弾点となるように制御している。かかる制御を行う技術として、例えば特開平2001−113046号公報に開示される従来技術がある。 【特許文献1】特開平2001−113046号公報 【発明の開示】 【発明が解決しようとする課題】 【0003】 しかしながら従来の画像生成システムでは、銃型コントローラが指示している表示画面上の位置に仮想弾が着弾するためリアリティは高いが、面白みや意外性に欠けていた。 【0004】 本発明は、以上のような課題に鑑みてなされたものであり、その目的とするところは、コントローラの指示位置を基準としつつも、面白みや意外性のある操作結果を得ることができるプログラム、情報記憶媒体及び画像生成システムを提供することにある。 【課題を解決するための手段】 【0005】 (1)本発明は、 コントローラの操作に応じた画像を生成するための画像生成システムであって、 前記コントローラの動きに応じて変化する情報を検出する検出部の検出結果に基づいて、表示部に対する前記コントローラの指示位置情報を取得する情報取得部と、 前記表示部に標的を表示させる標的表示制御処理を行う表示制御部と、 前記コントローラに設けられた操作子の操作入力を受け付ける入力受付部と、 前記操作入力に応じて、前記指示位置情報と仮想移動体の軌道情報とに基づいて前記標的と前記仮想移動体との位置関係を判定する判定部と、 を含むことを特徴とする画像生成システムに関係する。また本発明は、上記各部としてコンピュータを機能させるプログラムに関係する。また本発明は、コンピュータ読み取り可能な情報記憶媒体であって、上記各部としてコンピュータを機能させるプログラムを記憶(記録)した情報記憶媒体に関係する。 【0006】 本発明において、「仮想移動体」とは、標的との位置関係を判定するための基準となるものであって、画像として表示されてもよいし、表示されなくてもよい。そして「仮想移動体」とは、標的との位置関係を判定するための、仮想3次元ボリュームや、面、線、点などの位置情報とすることができる。 【0007】 本発明では、操作子の操作入力に応じて判定される標的と仮想移動体との位置関係は、表示された指示位置そのものではなく、表示部に対するコントローラの指示位置情報と、表示部に対するコントローラの距離情報と、仮想移動体の軌道情報とに基づいて判定される。従って本発明では、必ずしもコントローラの指示位置が仮想移動体の到達点等になるとは限らず、コントローラの指示位置情報と仮想移動体の軌道情報に応じて到達点等が変化する。こうして本発明によれば、コントローラの指示位置と到達点等にずれが発生する軌道を表現することができるとともに、面白みや意外性のある操作結果を得ることができる画像生成システムを実現することができる。 【0008】 (2)また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、 前記情報取得部が、 前記表示部に対する前記コントローラの距離情報を取得し、 前記判定部が、 前記操作入力に応じて、前記指示位置情報と前記距離情報と仮想移動体の軌道情報とに基づいて前記標的と前記仮想移動体との位置関係を判定するようにしてもよい。 【0009】 本発明では、必ずしもコントローラの指示位置が到達点等になるとは限らず、コントローラの指示位置情報と仮想移動体の軌道情報に加え、コントローラの距離情報に応じて到達点等が変化する。従って本発明によれば、表示部に対するコントローラの距離情報に応じて到達点等が変化する軌道を表現することができるとともに、面白みや意外性のある操作結果を得ることができる画像生成システムを実現することができる。 【0010】 (3)また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、 前記表示制御部が、 前記指示位置情報に基づいて前記表示部に基準マークを表示させる基準マーク表示制御処理を更に行うようにしてもよい。 【0011】 本発明によれば、基準マークと到達点等にずれが発生する軌道を表現することができ、面白みや意外性のある操作結果を得ることができる画像生成システムを実現することができるとともに、基準マークを表示させることにより、仮想移動体の軌道や到達点等の予測を補助することができる。 【0012】 (4)また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、 複数の軌道情報を記憶した記憶部を更に含み、 前記判定部が、 前記記憶部に記憶された複数の軌道情報のいずれかに基づいて前記位置関係を判定するようにしてもよい。 【0013】 本発明によれば、表示部に対するコントローラの距離情報の変化に加え、軌道情報を変化させることによっても到達点等が変化する。従って本発明によれば、より面白みや意外性のある操作結果を得ることができる画像生成システムを実現することができる。 【0014】 (5)また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、 前記表示制御部が、 前記表示部に複数の軌道情報のいずれかに対応する識別表示を表示させる識別表示制御処理を更に行い、 前記判定部が、 前記表示させた識別表示に対応する軌道情報に基づいて前記位置関係を判定するようにしてもよい。 【0015】 本発明によれば、位置関係の判定に用いる軌道情報がいずれの軌道情報であるかを、識別表示により操作者に認識させることができる。従って本発明によれば、操作者に対して例えば表示された識別表示から仮想移動体の軌道や到達点等を予測させ、表示部に対するコントローラの指示位置と距離とを調節させるようにすることができる。 【0016】 (6)また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、 前記表示制御部が、 前記表示部に前記軌道情報に対応する前記仮想移動体の軌道を示す軌道表示を表示させる軌道表示制御処理を更に行うようにしてもよい。 【0017】 本発明によれば、軌道情報に対応する軌道表示を表示させることにより、仮想移動体の軌道や到達点等の予測を補助することができるとともに、視覚的効果を高めることができる。 【0018】 (7)また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、 前記標的に設定された状態パラメータを前記判定結果に対応させて更新する標的状態更新部を更に含み、 前記判定部が、 前記標的と前記仮想移動体とが前記標的に設定された複数の判定領域のいずれにおいて交差したか判定し、 前記標的状態更新部が、 前記標的と前記仮想移動体とが交差した判定領域に対応させて前記標的の状態パラメータを更新するようにしてもよい。 【0019】 本発明によれば、例えば仮想移動体が標的に当たったか否かだけでなく、仮想移動体が交差した判定領域に応じて標的の状態が異なるようにパラメータを更新する。従って本発明によれば、必ずしも基準マークの位置が到達点等になるとは限らないこととあわせて、より面白みや意外性のある操作結果を得ることができる画像生成システムを実現することができる。 【0020】 (8)また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、 前記表示制御部が、 前記表示部に対する前記コントローラの距離が第1の距離よりも近づいた場合に、前記表示部に所与の警告表示を表示させる警告表示制御処理を更に行うようにしてもよい。 【0021】 本発明によれば、表示部に対するコントローラの距離情報基づいて標的と仮想移動体との位置関係を判定するが、例えばコントローラの距離が近すぎる場合には、正確な距離情報を取得できなくなる、或いは操作に面白みがなくなってしまうなどのハードウェア的、ソフトウェア的な不具合が発生する場合がある。従って本発明によれば、警告表示を表示させることによりかかる不具合を防止することができる。 【0022】 (9)また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、 前記入力受付部が、 前記表示部に対する前記コントローラの距離が第2の距離よりも近づいた場合に、前記操作入力を受付けないようにしてもよい。 【0023】 本発明によれば、例えばコントローラの距離が近すぎる場合には、正確な距離情報を取得できなくなる、或いは操作に面白みがなくなってしまうなどのハードウェア的、ソフトウェア的な不具合を、操作入力を受け付けないことにより防止することができる。 【0024】 (10)また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、 前記表示制御部が、 前記指示位置情報と前記距離情報とに基づいて、前記仮想移動体の移動始点となる始点オブジェクトを前記表示部に表示させる始点オブジェクト表示制御処理を更に行い、 前記判定部が、 前記表示部に対する前記コントローラの距離が第3の距離よりも近づいた場合に、前記標的と前記始点オブジェクトとの交差判定を行うようにしてもよい。 【0025】 本発明によれば、仮想移動体と標的との交差だけでなく、仮想移動体の移動始点となる始点オブジェクトと標的との交差も判定される。例えば、仮想弾を発射する銃オブジェクトと標的との交差判定が行われる。従って本発明によれば、例えば仮想移動体によって離れた位置の標的を狙うだけでなく、始点オブジェクトによって近くの標的を狙うというゲーム性を付加することができる。しかも本発明によれば、表示部に対するコントローラの距離が第3の距離よりも近づいた場合に標的と始点オブジェクトとの交差判定を行うので、例えば操作者がコントローラを把持した手を伸ばすことにより標的を倒すなどのゲーム性を実現することができる。 【0026】 (11)また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、 前記交差判定の結果に基づいて前記コントローラの操作を評価する評価部を更に含むようにしてもよい。 【0027】 本発明によれば、例えば交差判定に応じた表示や得点演算、アイテムの獲得などにより、コントローラの操作に対する目的意識や、緊張感を与えることができる。 【発明を実施するための最良の形態】 【0028】 以下、本実施形態について説明する。なお、以下に説明する本実施形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また本実施形態で説明される構成の全てが、本発明の必須構成要件であるとは限らない。 【0029】 1.システム概略 図1は、本実施形態の画像生成システムを適用したゲームシステム10の概略外観図である。本実施形態のゲームシステム10は、表示画面11にゲーム画像を表示させる表示部12と、ゲーム処理等を行うゲーム機14と、プレーヤPが把持して所定範囲内での位置、向きを任意に変更可能なコントローラ16とを含む。本実施形態のコントローラ16は、コントローラ16の動きに応じて変化する情報を検出する検出部を内蔵しており、コントローラ16自体の位置や向き等の動きに関する情報を取得できるようになっている。なお図1の例では、ゲーム機14とコントローラ16とがケーブルにより接続されているが、ゲーム機14とコントローラ16との間で無線通信により情報を送受信するようにしてもよい。 【0030】 本実施形態ではコントローラ16は、その先端にCMOSセンサ等の撮像素子(受光素子)が設けられており、コントローラ16の先端を向けた方向の画像を取得することができる。また本実施形態の表示部12の表示画面11の上方には、2個の赤外線LED等からなる赤外光原18、20が設けられている。そして予め設定された基準位置情報と、撮像素子が取得した2つの赤外光原18、20の位置情報とから、表示画面11上におけるコントローラ16の指示位置の情報が演算できるようになっている。 【0031】 従って図1に示すように、プレーヤPがコントローラ16を把持しながら手を動かしてコントローラ16自体の位置、向きを変化させると、かかる位置、向きの変化に応じて、表示部12に表示される操作対象COの位置、向きを変化させることができる。即ちコントローラ16自体の動きにより、操作対象COを操作することができる。 【0032】 図2は、表示画面11におけるコントローラ16の指示位置の情報を演算する手法を説明するための図である。図2に示す矩形の領域は、CMOSセンサが取得した画像データが格納される画像データ領域PAである。本実施形態ではこの画像データ領域PAには、1/60秒ごとにコントローラ16の位置、向きに応じた画像データが格納される。そして画像データ領域PAに格納された画像データのうち、赤外光原18、20を撮像した領域である赤外光原領域IrA1、IrA2を用いて、表示画面11におけるコントローラ16の指示位置の情報を演算する。本実施形態では、画像データ領域PAの原点Oをコントローラ16が指示する点とし、原点Oと、画像データ領域PAにおける赤外光原領域IrA1、IrA2の位置座標と、画像データ領域PAにおける表示画面11に対応する領域である表示画面領域DpAとの相対的な位置関係から、表示画面11上におけるコントローラ16の指示位置の情報を演算する。 【0033】 図2の例では、赤外光原領域IrA1、IrA2が、画像データ領域PAの中央よりもやや上方において、画像データ領域PAの基準線L(X軸)に対して時計回りにθ°回転された状態で形成されている。従って図2の例では、原点Oは表示画面領域DpAの右下部の所定位置に対応させることができ、表示画面11上におけるコントローラ16の指示位置の座標を求めることができる。そして、赤外光原領域IrA1、IrA2を結ぶ直線lの基準線Lに対する回転角度θから、表示画面11に対するコントローラ16の指示方向軸回りの回転角度を求めることができる。また、コントローラ16が表示画面11と所定距離にあるときの赤外光原領域IrA1とIrA2との基準距離Dを予め設定しておくことにより、基準距離Dと、図2の例における赤外光原領域IrA1とIrA2との距離dとの比に基づき、図2の例における表示画面11に対するコントローラ16の距離を求めることができる。 【0034】 また本実施形態ではコントローラ16は、その内部に加速度センサ等を内蔵している。この加速度センサは、コントローラ16自体の動きに応じてコントローラ16の位置、向きが一定時間にどの位変化したか、コントローラ16自体の動きをコントローラ16にかかる加速度ベクトルとして検出することができる。本実施形態では、ゲーム空間としての仮想3次元空間(ワールド座標系)における3軸(X軸、Y軸、Z軸)それぞれの加速度ベクトルとして検出することができる。 【0035】 従って本実施形態では、コントローラ16自体の動きの大きさ、方向、速度を検出することができる。また本実施形態では、予め設定されたコントローラ16の現実空間における基準位置(例えばコントローラ16の指示方向が表示画面11の中心と、直交する状態でのコントローラ16位置、向き)と、検出した3軸の加速度ベクトルとを比較することにより、表示画面11(基準位置)に対するコントローラ16の位置、向き、及び表示画面11上におけるコントローラ16の指示位置、及び表示画面11に対するコントローラ16の回転角度等を求めることができる。 【0036】 こうして本実施形態では、コントローラ16に内蔵されたCMOSセンサ、加速度センサ等により、コントローラ16の動きに応じて変化する情報を検出し、コントローラ16自体の現実空間における位置、指示位置、向きの変化や、コントローラ16自体の動きの大きさ、方向、速度等、コントローラ16自体の動きに関する情報を取得することができる。 【0037】 2.ゲーム概略 図3は、コルク製の弾を空気銃で飛ばして標的を倒すなどする射的ゲームを、本実施形態のゲームシステム10に適用した例を説明するための図である。図3の例では、表示画面11に、プレーヤがコントローラ16を動かすことにより移動する操作対象としての銃オブジェクトGOと基準マークSMとが表示される。そして、銃オブジェクトGOが移動可能な銃移動領域GAの奥側にある標的領域TAには、仮想3次元空間における奥行き値が異なる複数の標的オブジェクトTOが配置されている。 【0038】 そしてプレーヤは、コントローラ16を動かすことにより銃オブジェクトGOと基準マークSMとを移動させて、複数の標的オブジェクトTOのいずれかについて狙いを定め、コントローラ16に設けられたボタン17を押下する。すると銃オブジェクトGOの先端に装着されていたコルク弾オブジェクトBOが標的領域TAに向けて発射される。そしてコルク弾オブジェクトBOが標的オブジェクトTOに当たった場合には、標的オブジェクトTOが倒れ、これを獲得することができる。すると獲得した標的オブジェクトTOの数が、表示画面11の左上部に得点表示PGとして表示される。 【0039】 そして本実施形態では、現実の射的ゲームでは弾がコルク等のように質量が軽く空気抵抗が大きい素材でできているため、空気抵抗等に応じて弾道(軌道)が変化して狙ったところに着弾しないのと同様に、コントローラ16の指示位置に応じた基準マークSMの位置が必ずしも着弾点とならないように制御する。図3の例では、表示画面11の中央付近から発射されたコルク弾オブジェクトBOが、基準マークSMの方向にまっすぐ飛ばず、次第に右方向にそれるように飛んでいる。 【0040】 ここで本実施形態では図3に示すように、表示画面11の左下部には、複数種類の色に色分けされた複数のコルク弾オブジェクトBOが表示されている。これら色分けされた複数のコルク弾オブジェクトBOは、色に応じてどのような弾道を描いて飛ぶものであるか予め定められている。そしてコルク弾オブジェクトBOを発射する前の銃オブジェクトGOの先端には、ボタン17の操作に応じて発射されるコルク弾オブジェクトBOが、いずれの色のコルク弾オブジェクトBOであるか識別可能な状態で装着される。従ってプレーヤは、銃オブジェクトGOの先端に装着されたコルク弾オブジェクトBOの色を見て、当該コルク弾オブジェクトBOがどのような弾道を描いて飛んでいくか予測することができるようになっている。 【0041】 こうして本実施形態の射的ゲームシステム10では、表示画面11に対するコントローラ16の距離と、コルク弾オブジェクトBOの色とから、基準マークSMの位置とコルク弾オブジェクトBOの着弾点とのずれを予測し、コントローラ16を適切に操作してコルク弾オブジェクトBOを標的オブジェクトTOに当てるというゲームを楽しむ。 【0042】 3.構成 次に、図4を用いて本実施形態における画像生成システム(ゲームシステム)の構成について説明する。図4は、本実施形態における画像生成システムの機能ブロック図の一例である。なお、本実施形態の画像生成システムは、図4の構成要素(各部)の一部を省略した構成としてもよい。 【0043】 操作部160は、プレーヤが操作データを入力するためのものであり、特に本実施形態では、プレーヤが操作部160を把持して操作部160自体の位置、向きを任意に変更可能なものである。そして操作部160は、操作部160自体の動きに応じて変化する情報を検出する検出部162を内蔵する。従って本実施形態の操作部160では、操作部160自体の動きを操作データとして入力することができる。 【0044】 検出部162は、例えばCMOSセンサやCCDカメラなど、撮像素子(受光素子)により撮像側の基準位置と撮像対象の受光位置との相対関係を取得して、操作部160自体の動きを検出する第1の検出部と、加速度センサや姿勢方位センサやジャイロなど、加速度、角速度、速度により基準位置、基準向き(基準軸)からの位置、向きの変位を検出する第2の検出部とを含む。例えば加速度センサとしては、圧電型や動電式、歪みケージ式等のハードウェアにより実現できる。これにより検出部162は、操作部160自体の動きを連続的な値として検出することができる。 【0045】 また操作部160は、プレーヤがON/OFF入力を行うための操作子としてのボタンがもうけられている。なおボタンの他に、レバー(アナログパッド)、十字キー、ステアリング、マイク、タッチパネル型ディスプレイなどを備えるようにして、種々の操作データを入力できるようにしてもよい。 【0046】 記憶部170は、処理部100や通信部196などのワーク領域となるもので、その機能はRAM(VRAM)などにより実現できる。そして、本実施形態の記憶部170は、ワーク領域として使用される主記憶部171と、最終的な表示画像等が記憶されるフレームバッファ172と、オブジェクトのモデルデータが記憶されるオブジェクトデータ記憶部173と、各オブジェクトデータ用のテクスチャが記憶されるテクスチャ記憶部174と、オブジェクトの画像の生成処理時にZ値が記憶されるZバッファ176と、を含む。なお、これらの一部を省略する構成としてもよい。 【0047】 特に本実施形態では記憶部170は、複数の弾道情報(軌道情報)を記憶し、コルク弾オブジェクトBOの種類に応じた弾道情報を規定する弾道情報テーブル178を含む。ここで弾道情報とは、仮想3次元空間におけるコルク弾オブジェクトBOの移動経路を定めるための情報であって、例えば仮想3次元空間における曲線を示す方程式や直線を示す方程式などとすることができる。そして本実施形態ではコルク弾オブジェクトBOの色に応じて異なる弾道情報が対応付けられている。 【0048】 情報記憶媒体180(コンピュータにより読み取り可能な媒体)は、プログラムやデータなどを格納するものであり、その機能は、光ディスク(CD、DVD)、光磁気ディスク(MO)、磁気ディスク、ハードディスク、磁気テープ、或いはメモリ(ROM)などにより実現できる。 【0049】 この情報記憶媒体180には、処理部100において本実施形態の種々の処理を行うためのプログラム(データ)が記憶されている。即ち、この情報記録媒体180には、本実施形態の各部としてコンピュータを機能させるためのプログラム(各部の処理をコンピュータに実行させるためのプログラム)が記憶されている。 【0050】 表示部190は、本実施形態により生成された画像を出力するものであり、その機能は、CRT、LCD、タッチパネル型ディスプレイなどにより実現できる。特に本実施形態では、表示部190の表示画面の中や、その周辺に、操作部160と表示部190の表示画面の相対位置を演算するための光源が設けられている。本実施形態ではこの光源は、不可視光を射出する赤外線LEDを用いている。 【0051】 音出力部192は、本実施形態により生成された音を出力するものであり、その機能は、スピーカ、或いはヘッドフォンなどにより実現できる。 【0052】 携帯型情報記憶装置194には、プレーヤの個人データやゲームのセーブデータなどが記憶されるものであり、この携帯型情報記憶装置194としては、メモリカードや携帯型ゲーム装置などがある。 【0053】 通信部196は、外部(例えばホスト装置や他の画像生成システム)との間で通信を行うための各種制御を行うものであり、その機能は、各種プロセッサ又は通信用ASICなどのハードウェアや、プログラムなどにより実現できる。 【0054】 なお、本実施形態の各部としてコンピュータを機能させるためのプログラム(データ)は、ホスト装置(サーバー)が有する情報記憶媒体からネットワーク及び通信部196を介して情報記憶媒体180(記憶部170)に配信してもよい。このようなホスト装置(サーバー)の情報記憶媒体の使用も本発明の範囲内に含めることができる。 【0055】 処理部100(プロセッサ)は、操作部160からの操作データやプログラムなどに基づいて、ゲーム処理、画像生成処理、或いは音生成処理などの処理を行う。ここで、ゲーム処理としては、ゲーム開始条件が満たされた場合にゲームを開始する処理、ゲームを進行させる処理、キャラクタやマップなどのオブジェクトを配置する処理、オブジェクトを表示する処理、ゲーム結果を演算する処理、或いはゲーム終了条件が満たされた場合にゲームを終了する処理などがある。この処理部100は記憶部170をワーク領域として各種処理を行う。処理部100の機能は各種プロセッサ(CPU、DSP等)、ASIC(ゲートアレイ等)などのハードウェアや、プログラムにより実現できる。 【0056】 特に、本実施形態の処理部100は、情報取得部108と、入力受付部109と、オブジェクト空間設定部110と、移動・動作処理部112と、表示制御部113と、判定部122と、標的状態設定部124と、評価部126と、音生成部130と、を含む。なお、これらの一部を省略する構成としてもよい。 【0057】 情報取得部108は、操作部160の動きに応じて変化する情報を検出する検出部162の検出結果に基づいて、操作部160の動き情報を取得する。本実施形態では、操作部160に内蔵された検出部162の検出結果を1/60秒ごとに取得し、操作部160自体の動きに関する情報を演算しこれを取得する。 【0058】 具体的には情報取得部108は、操作部160の先端に設けられたCMOSセンサ(第1の検出部)が検出した画像情報に基づいて、表示部190の表示画面上における操作部160の指示位置の座標、及び、表示部190の表示画面に対する操作部160の回転角度、及び、表示部190の表示画面に対する操作部160の距離を求め、これを取得することができる。 【0059】 また情報取得部108は、操作部160に内蔵された加速度センサ(第2の検出部)が検出した3軸(X軸、Y軸、Z軸)方向の加速度ベクトルに基づいて、操作部160自体の動きの大きさ、方向、速度を取得することができる。また表示部190の表示画面(基準位置、基準向き)に対する操作部160の位置、向き、及び、表示部190の表示画面上における操作部160の指示位置、及び、表示部190の表示画面(基準角度)に対する操作部160の回転角度等を求め、これを取得することができる。 【0060】 入力受付部109は、操作部160に設けられた操作子の操作入力を受け付ける。具体的には入力受付部109は、操作部160からの操作入力信号を1/60秒ごとに監視して、検出する。本実施形態では入力受付部109は、表示部190に対する操作部160の距離が第2の距離よりも近づいた場合に、操作入力を受付けないようにしている。 【0061】 オブジェクト空間設定部110は、銃オブジェクトGOやコルク弾オブジェクトBOなどの移動体オブジェクトや、標的オブジェクトTO、キャラクタオブジェクト、建物、樹木、柱、壁、マップ(地形)などの表示物を表す各種オブジェクト(ポリゴン、自由曲面又はサブディビジョンサーフェスなどのプリミティブ面で構成されるオブジェクト)をオブジェクト空間に配置設定する処理を行う。即ち、オブジェクト空間設定部110は、ワールド座標系でのオブジェクト(モデルオブジェクト)の位置や回転角度(向き、方向と同義)を決定し、その位置(X、Y、Z)にその回転角度(X、Y、Z軸回りでの回転角度)でオブジェクトを配置する。 【0062】 なお、標的オブジェクトTOも移動体オブジェクトとして移動させるように配置してもよく、また、基準マークSMを移動体オブジェクトとして3次元的に表示させるようにしてもよい。 【0063】 移動・動作処理部112は、銃オブジェクトGOやコルク弾オブジェクトBOなどの移動体オブジェクトの移動・動作演算(移動・動作シミュレーション)を行う。即ち、この移動・動作処理部112は、操作部160によりプレーヤが入力した操作データ、設定されたパラメータや属性又はプログラム(移動・動作アルゴリズム)や各種データ(モーションデータ)などに基づいて、移動体オブジェクトをオブジェクト空間内で移動させ、又は、移動体オブジェクトの動作(モーション、アニメーション)を制御するための処理を行う。 【0064】 具体的には、本実施形態の移動・動作処理部112は、オブジェクトの移動情報(位置、回転角度、速度、或いは加速度)や動作情報(各パーツオブジェクトの位置、或いは回転角度)を、1フレーム(例えば1/60秒)毎に順次求めるシミュレーション処理を行う。ここでフレームとは、オブジェクトの移動・動作処理(シミュレーション処理)や画像生成処理を行う時間の単位である。そして、本実施形態では、フレームレートは毎フレーム固定としてもよいし、処理負荷に応じて可変としてもよい。 【0065】 特に、本実施形態の移動・動作処理部112は、操作部160の動き情報に基づいて、オブジェクト空間(仮想空間)における銃オブジェクトGOの位置、向きを制御する。具体的には移動・動作処理部112は、操作部160自体の連続的な動きに関する情報に基づいて、操作対象オブジェクトが操作部160自体の動きに連動した動きをするように、銃オブジェクトGOの位置、向きを制御する。 【0066】 表示制御部113は、表示部190に標的オブジェクトTOを表示させる標的表示制御処理と、操作部160の動き情報に基づいて、表示部190に基準マークSMを表示させる基準マーク表示制御処理と、移動・動作処理部112が求めた銃オブジェクトGOの位置、向きに基づいて、表示部190に銃オブジェクトGOを表示させる発射オブジェクト表示制御処理と、表示部190に複数の弾道情報のいずれかに対応する識別表示を表示させる識別表示制御処理と、表示部190に弾道情報に対応するコルク弾オブジェクトBOの弾道を示す弾道表示を表示させる弾道表示制御処理と、を行う。また表示部190に対する操作部160の距離が第1の距離よりも近づいた場合に、表示部190に所与の警告表示を表示させる警告表示制御処理を行う。ここで基準マーク表示制御処理、識別表示制御処理、弾道表示制御処理、警告表示制御処理については、3次元画像演算、2次元画像演算のいずれによっても実現することができる。そしてより詳細には表示制御部113は、仮想カメラ制御部114と描画部120とを含む。 【0067】 仮想カメラ制御部114は、オブジェクト空間内の所与(任意)の視点から見える画像を生成するための仮想カメラ(視点)の制御処理を行う。具体的には、仮想カメラの位置(X、Y、Z)又は回転角度(X、Y、Z軸回りでの回転角度)を制御する処理(視点位置や視線方向を制御する処理)を行う。なお本実施形態では、仮想カメラは固定とされている。 【0068】 例えば仮想カメラにより移動体オブジェクトを追従して撮影する場合には、オブジェクトの位置又は回転の変化に仮想カメラが追従するように、仮想カメラの位置又は回転角度(仮想カメラの向き)を制御する。この場合には、移動・動作処理部112で得られたオブジェクトの位置、回転角度又は速度などの情報に基づいて、仮想カメラを制御できる。或いは、仮想カメラを、予め決められた回転角度で回転させたり、予め決められた移動経路で移動させる制御を行ってもよい。この場合には、仮想カメラの位置(移動経路)又は回転角度を特定するための仮想カメラデータに基づいて仮想カメラを制御する。なお、仮想カメラ(視点)が複数存在する場合には、それぞれの仮想カメラについて上記の制御処理が行われる。 【0069】 描画部120は、処理部100で行われる種々の処理(ゲーム処理)の結果に基づいて描画処理を行い、これにより画像を生成し、表示部190に出力する。いわゆる3次元ゲーム画像を生成する場合には、本実施形態の描画部120は、まずオブジェクト(モデル)の各頂点の頂点データ(頂点の位置座標、テクスチャ座標、色データ、法線ベクトル或いはα値等)を含むオブジェクトデータ(モデルデータ)が入力され、入力されたオブジェクトデータに含まれる頂点データに基づいて、頂点処理が行われる。なお、頂点処理を行うに際して、必要に応じてポリゴンを再分割するための頂点生成処理(テッセレーション、曲面分割、ポリゴン分割)を行うようにしてもよい。 【0070】 また、頂点処理では、頂点の移動処理や、座標変換(ワールド座標変換、カメラ座標変換)、クリッピング処理、透視変換、あるいは光源処理等のジオメトリ処理が行われ、その処理結果に基づいて、オブジェクトを構成する頂点群について与えられた頂点データを変更(更新、調整)する。そして、頂点処理後の頂点データに基づいてラスタライズ(走査変換)が行われ、ポリゴン(プリミティブ)の面とピクセルとが対応づけられる。そしてラスタライズに続いて、画像を構成するピクセル(表示画面を構成するフラグメント)を描画するピクセル処理(フラグメント処理)が行われる。 【0071】 ピクセル処理では、テクスチャの読出し(テクスチャマッピング)、色データの設定/変更、半透明合成、アンチエイリアス等の各種処理を行って、画像を構成するピクセルの最終的な描画色を決定し、透視変換されたオブジェクトの描画色をフレームバッファ174(ピクセル単位で画像情報を記憶できるバッファ。VRAM、レンダリングターゲット)に出力(描画)する。すなわち、ピクセル処理では、画像情報(色、法線、輝度、α値等)をピクセル単位で設定あるいは変更するパーピクセル処理を行う。 【0072】 これにより、オブジェクト空間内に設定された仮想カメラ(所与の視点)から見える画像が生成される。なお、仮想カメラ(視点)が複数存在する場合には、それぞれの仮想カメラから見える画像を分割画像として1画面に表示できるように画像を生成することができる。 【0073】 なお、描画部120が行う頂点処理やピクセル処理は、シェーディング言語によって記述されたシェーダプログラムによって、ポリゴン(プリミティブ)の描画処理をプログラム可能にするハードウェア、いわゆるプログラマブルシェーダ(頂点シェーダやピクセルシェーダ)により実現されてもよい。プログラマブルシェーダでは、頂点単位の処理やピクセル単位の処理がプログラム可能になることで描画処理内容の自由度が高く、ハードウェアによる固定的な描画処理に比べて表現力を大幅に向上させることができる。 【0074】 そして、描画部120は、オブジェクトを描画する際に、ジオメトリ処理、テクスチャマッピング、隠面消去処理、αブレンディング等を行う。 【0075】 ジオメトリ処理では、オブジェクトに対して、座標変換、クリッピング処理、透視投影変換、或いは光源計算等の処理を行う。そして、ジオメトリ処理後(透視投影変換後)のオブジェクトデータ(オブジェクトの頂点の位置座標、テクスチャ座標、色データ(輝度データ)、法線ベクトル、或いはα値等)を記憶部170に記憶する。 【0076】 テクスチャマッピングでは、記憶部170のテクスチャ記憶部174に記憶されるテクスチャ(テクセル値)をオブジェクトにマッピングする処理を行う。具体的には、オブジェクトの頂点に設定(付与)されるテクスチャ座標等を用いて記憶部170のテクスチャ記憶部174からテクスチャ(色(RGB)、α値などの表面プロパティ)を読み出し、2次元の画像であるテクスチャをオブジェクトにマッピングする。この場合に、ピクセルとテクセルとを対応づける処理や、テクセルの補間としてバイリニア補間などを行う。 【0077】 隠面消去処理では、描画ピクセルのZ値(奥行き情報)が格納されるZバッファ(奥行きバッファ)を用いたZバッファ法(奥行き比較法、Zテスト)による隠面消去処理を行う。すなわち、オブジェクトのプリミティブに対応する描画ピクセルを描画する際に、Zバッファに格納されるZ値を参照するとともに、当該参照されたZバッファのZ値と、プリミティブの描画ピクセルでのZ値とを比較し、描画ピクセルでのZ値が、仮想カメラから見て手前側となるZ値(例えば小さなZ値)である場合には、その描画ピクセルの描画処理を行うとともにZバッファのZ値を新たなZ値に更新する。 【0078】 αブレンディング(α合成)では、描画部120は、α値(A値)に基づく半透明合成処理(通常αブレンディング、加算αブレンディング又は減算αブレンディング等)を行う。なお、α値は、各ピクセル(テクセル、ドット)に関連づけて記憶できる情報であり、例えば色情報以外のプラスアルファの情報である。α値は、マスク情報、半透明度(透明度、不透明度と等価)、バンプ情報などとして使用できる。 【0079】 判定部122は、操作部160に設けられた操作子の操作入力に応じて、表示部190の表示画面上における操作部160の指示位置情報と、表示部190の表示画面に対する操作部160の距離情報と、コルク弾オブジェクトBOの弾道情報とに基づいて、標的オブジェクトTOとコルク弾オブジェクトBOとの位置関係を判定する。 【0080】 具体的には判定部122は、操作子の操作入力を受け付けた時点での指示位置情報と距離情報とに基づいて、銃オブジェクトGOの位置、向きを特定する。即ちコルク弾オブジェクトBOの発射位置と発射方向とを特定する。すると、発射されるコルク弾オブジェクトBOに対応する弾道情報(曲線を示す方程式)を、銃オブジェクトGOの位置、向きに応じて変換し、銃オブジェクトGOの位置、向きに応じた弾道情報(曲線を示す方程式)を求める。そして、変換後の弾道情報(曲線を示す方程式)に基づいてコルク弾オブジェクトBOを移動させ、コルク弾オブジェクトBOと標的オブジェクトTOとが交差したか否かを判定する。 【0081】 ここで判定部122は、変換後の曲線を示す方程式と、標的オブジェクトTOに対応する領域との交差判定を行なうようにしてもよいし、コルク弾オブジェクトBOに対応する領域と、標的オブジェクトTOに対応する領域との交差判定を行なうようにしてもよい。具体的にはヒットポリゴンによるヒットチェック等により交差判定を行うことができる。 【0082】 また判定部122は、表示部190の表示画面に対する操作部160の距離が第3の距離よりも近づいた場合に、標的オブジェクトTOと銃オブジェクトGOとの交差判定を行う。例えば、操作部160の動き情報により銃オブジェクトGOが、図3に示す銃移動領域GAから奥側にある標的領域TAに侵入した場合には、標的オブジェクトTOと銃オブジェクトGOとのヒットチェックを行う。 【0083】 また判定部122は、標的オブジェクトTOとコルク弾オブジェクトBOとが、標的オブジェクトTOに設定された複数の判定領域のいずれにおいて交差したか判定するようにしてもよい。 【0084】 標的状態更新部124は、標的オブジェクトTOとコルク弾オブジェクトBOとが交差した判定領域に対応させて、標的オブジェクトTOに設定された状態パラメータを更新する。具体的には標的状態更新部124は、判定部122の判定結果に基づき、標的オブジェクトTOが倒れていないものとする立ち状態と、倒れたものとする倒れ状態と、立ち状態と倒れ状態の中間である不安定状態と、のいずれかの状態に標的オブジェクトTOの状態パラメータを設定する。 【0085】 評価部126は、交差判定の結果に基づいて、操作部160の操作に関する評価を行う。具体的には本実施形態では、標的オブジェクトTOを倒した場合に、倒した標的オブジェクトTOの数を得点表示PGとして表示したり、「うまい!」などの表示を行うなどして、操作者の操作を評価する処理を行う。 【0086】 音生成部130は、処理部100で行われる種々の処理の結果に基づいて音処理を行い、BGM、効果音、又は音声などのゲーム音を生成し、音出力部192に出力する。 【0087】 なお、本実施形態の画像生成システムは、1人のプレーヤのみがプレイできるシングルプレーヤモード専用のシステムにしてもよいし、複数のプレーヤがプレイできるマルチプレーヤモードも備えるシステムにしてもよい。 【0088】 また、複数のプレーヤがプレイする場合に、これらの複数のプレーヤに提供するゲーム画像やゲーム音を、1つの端末を用いて生成してもよいし、ネットワーク(伝送ライン、通信回線)などで接続された複数の端末(ゲーム機、携帯電話)を用いて分散処理により生成してもよい。 【0089】 4.処理の詳細 図5は、本実施形態のコルク弾オブジェクトBOの発射処理の一例の詳細を示すフローチャート図である。本実施形態では、まず複数種類のコルク弾オブジェクトBOから1のコルク弾オブジェクトBOを、ランダムに或いはプレーヤの選択操作により、銃オブジェクトGOの先端に装着する表示を行う(ステップS10)。本実施形態では、茶色、青色、赤色、金色のコルク弾オブジェクトBOが用意されており、各色のコルク弾オブジェクトBOと、その弾道情報の曲線を示す方程式とは、図6に示すような弾道情報テーブル178として記憶されている。そして、プレーヤがコントローラ16を動かすことにより動き情報が入力されると(ステップS12のY)、動き情報に基づいて、基準マークSMの位置と、銃オブジェクトGOの位置、向きを制御する(ステップS14)。 【0090】 図7(A)、(B)は、コントローラ16の動きに応じた基準マークSMと銃オブジェクトGOの動きを説明するための図である。図7(A)に示すように本実施形態では、プレーヤがコントローラ16を表示部12の表示画面11に対して左右方向に移動させると、表示画面11上におけるコントローラ16の指示位置に基準マークSMが移動するとともに、コントローラ16の移動量に応じて銃オブジェクトGOが、その向きを基準マークSMに向けながらオブジェクト空間OS内でX軸左右方向に移動する。図示しないが同様に、プレーヤがコントローラ16を表示部12の表示画面11に対して上下方向に移動させると、表示画面11上におけるコントローラ16の指示位置に基準マークSMが移動するとともに、コントローラ16の移動量に応じて銃オブジェクトGOが、その向きを基準マークSMに向けながらオブジェクト空間OS内でY軸上下方向に移動する。即ち、表示画面11上におけるコントローラ16の指示位置情報に基づいて、基準マークSMと銃オブジェクトGOを移動させる。 【0091】 また図7(B)に示すように、プレーヤがコントローラ16を表示部12の表示画面11に近づけると、コントローラ16の移動量に応じて銃オブジェクトGOが、オブジェクト空間OS内でZ軸奥方向に移動する。一方、コントローラ16を表示部12の表示画面11から遠ざけると、コントローラ16の移動量に応じて銃オブジェクトGOが、オブジェクト空間OS内でZ軸手前方向に移動する。即ち、表示画面11に対するコントローラ16の距離情報に基づいて、銃オブジェクトGOを移動させる。このとき表示画面11上におけるコントローラ16の指示位置が変わらない場合には、銃オブジェクトGOが移動しても基準マークSMは移動しない。 【0092】 また本実施形態では、図7(A)のようにコントローラ16を表示画面11に対して平行移動させなくとも、図8(A)に示すようにコントローラ16の指示方向(コントローラ16の向き)を上下左右させることにより、コントローラ16の向きの変化量に応じて銃オブジェクトGOが、その向きを基準マークSMに向けながらX軸方向、Y軸方向それぞれに移動するようにしてもよい。 【0093】 なお図8(B)に示すように、コントローラ16の指示方向(コントローラ16の向き)を上下左右させることにより、表示画面11上におけるコントローラ16の指示位置に応じて基準マークSMが上下左右に移動するとともに、銃オブジェクトGOの向きを基準マークSMを向くように変化させるようにしてもよい。例えばコントローラ16の指示方向(コントローラ16の向き)を左右させることにより、銃オブジェクトGOのY軸回りの回転角度を変化させるようにし、コントローラ16の指示方向(コントローラ16の向き)を上下させることにより、銃オブジェクトGOのX軸回りの回転角度を変化させるようにしてもよい。なお、コントローラ16を指示方向に沿う軸回りに回転させることにより、コントローラ16の回転角度の変化量に応じて銃オブジェクトGOのZ軸回りの回転角度を変化させるようにしてもよい。 【0094】 このように本実施形態では、表示画面11上におけるコントローラ16の指示位置情報に基づいて、基準マークSMの位置を2次元的に制御する。そして前記指示位置情報と、表示画面11に対するコントローラ16の距離情報との組合せに基づいて、銃オブジェクトGOの位置、向きを3次元的に制御する。なお、コントローラ16の指示位置情報、距離情報等を取得するセンサは、CMOSセンサ(第1の検出部)としてもよいし、加速度センサ(第2の検出部)としてもよい。またそれらの任意の組合せとしてもよい。 【0095】 こうして基準マークSMの位置、及び銃オブジェクトGOの位置、向きを制御して(図5のステップS14)、コントローラ16の操作ボタン17へのトリガ入力が行われると(ステップS16)、銃オブジェクトGOに装着されたコルク弾オブジェクトBOの種類に応じた弾道を示す方程式(弾道情報)を、トリガ入力が行われた時点の銃オブジェクトGOの位置、向きに応じて変換する(ステップS18)。 【0096】 図9は、オブジェクト空間に設定された銃オブジェクトGOと、弾道を示す方程式と、標的オブジェクトTOとの関係を真横から見た概念図である。本実施形態では図9(A)に示すように、トリガ入力が行われた時点における、コルク弾オブジェクトBOの発射点である銃オブジェクトGOの先端の所定の点FPを方程式Eの原点に設定する。そして、基準軸であるZ軸に対する銃オブジェクトGOの向きの変位に応じて方程式を変換する。例えば図9(A)に示すように銃オブジェクトGOが基準軸方向(Z軸方向)を向いている場合と、図9(B)に示すように銃オブジェクトGOが基準軸方向(Z軸方向)よりも上方向を向いている場合とでは、弾道を示す方程式Eの向きも銃オブジェクトGOの向きに応じて変化させる。 【0097】 すると、図5のフローチャートのステップS20において、変換後の方程式が示す3次元曲線に沿ってコルク弾オブジェクトBOを移動させ(ステップS20)、コルク弾オブジェクトBOが標的オブジェクトTOにヒットしたか否か判定する(ステップS22)。そして、コルク弾オブジェクトBOが標的オブジェクトTOにヒットした場合には(ステップS22のY)、標的オブジェクトTOの状態をすぐに倒れ状態に設定し、倒れモーション表示を行う(ステップS24)。そして、倒した標的オブジェクトTOの数を得点表示PGとして表示したり、「うまい!」などの表示を行うなどして、操作者の操作を評価する(ステップS26)。 【0098】 ここで本実施形態では、例えば図9(A)の例では、弾道を示す方程式Eは、途中まで銃オブジェクトGOの向き(コントローラ16の指示位置)に向かっているが、標的オブジェクトTOに到達する前に下方向にそれてしまう。従って図9(A)のように、基準マークSMを標的オブジェクトTOに重ねても、標的オブジェクトTOにコルク弾オブジェクトBOは当たらない。そこで本実施形態では、例えば図9(B)のように、基準マークSMを標的オブジェクトTOよりも上方に位置させ、銃オブジェクトの向きを上向きにさせることにより、標的オブジェクトTOにコルク弾オブジェクトBOを当てることができる。 【0099】 なお、図9(C)のように、基準マークSMを標的オブジェクトTOよりも上方に位置させると、銃オブジェクトの向きは変わらず位置がY軸上方に移動する場合であっても、方程式Eについても向きは変わらず位置がY軸上方に移動するので、標的オブジェクトTOにコルク弾オブジェクトBOを当てることができる。しかし、図9(D)のように、図9(C)の場合と同じ位置に基準マークSMが表示されている場合であっても、表示画面11に対するコントローラ16の距離が離れることにより、銃オブジェクトGOの位置がZ軸手前方向に移動すると、方程式Eについても向きは変わらず位置がZ軸手前方向に移動するので、標的オブジェクトTOにコルク弾オブジェクトBOを当てることができなくなる。 【0100】 このように本実施形態では、銃オブジェクトGOに装着されたコルク弾オブジェクトBOの色に応じた弾道情報(方程式)が、表示画面11上におけるコントローラ16の指示位置情報及び表示画面11に対するコントローラ16の距離情報に応じて変換される。従って本実施形態では、プレーヤに対して、装着されたコルク弾オブジェクトBOの色からコルク弾オブジェクトBOの弾道を予測させ、表示画面11に対するコントローラ16の指示位置と距離とを調節させるようにすることができる。こうして本実施形態によれば、表示画面11に対するコントローラ16の距離情報に応じて着弾点が変化する弾道を表現することができるとともに、面白みや意外性のある操作結果を得ることができるゲームシステムを実現することができる。 【0101】 なおコルク弾オブジェクトBOの移動に伴って、コルク弾オブジェクトBOの弾道に沿った弾道表示を表示させるようにしてもよい。またコルク弾オブジェクトBOが装着された時点で、即ちコルク弾オブジェクトBOが発射される前に、装着されたコルク弾オブジェクトBOの弾道に沿った弾道表示を表示させるようにしてもよい。これによりコルク弾オブジェクトBOの弾道や着弾点等の予測を補助することができるとともに、視覚的効果を高めることができる。 【0102】 また本実施形態では、標的オブジェクトTOとコルク弾オブジェクトBOとが、標的オブジェクトTOに設定された複数の判定領域のいずれにおいて交差したか判定する。ここで、図10(A)に示すように、コルク弾オブジェクトBOが標的オブジェクトTOの中央付近の第1の領域A1に当たった場合には、標的オブジェクトTOの状態をすぐに倒れ状態に設定し、倒れモーション表示を行う。一方、図10(B)に示すように、第1の領域A1よりも外側の第2の領域A2において当たった場合には、標的オブジェクトTOの状態を所与の期間不安定状態に設定して揺れモーション表示を行った後、倒れ状態に設定し、倒れモーション表示を行う。すると、倒した標的オブジェクトTOの数を得点表示PGとして表示したり、「うまい!」などの表示を行うなどして、操作者の操作を評価する。 【0103】 一方、図10(C)に示すように、第2の領域A2よりも外側の第3の領域A3において当たった場合には、標的オブジェクトTOの状態を所与の期間不安定状態に設定して揺れモーション表示を行った後、立ち状態に設定し静止表示させる。ここで状態パラメータが不安定状態である標的オブジェクトTOに、2発目のコルク弾オブジェクトBOが当たった場合には、いずれの領域に当たった場合であっても、状態パラメータを倒れ状態に設定し、倒れモーション表示を行う。そして操作者の操作を評価する。 【0104】 5.近距離処理 上述の通り本実施形態では、表示画面11に対するコントローラ16の距離情報に基づいて、銃オブジェクトGOの位置を求めるが、例えば表示画面11に対するコントローラ16の距離が近すぎる場合には、正確な距離情報を取得できなくなる、或いは操作に面白みがなくなってしまうなどのハードウェア的、ソフトウェア的な不具合が発生する場合がある。そこで本実施形態では、表示画面11に対するコントローラ16の距離が第1の距離よりも近づいた場合には、表示画面11に所与の警告表示を表示させる警告表示制御処理を行う。例えば、図3の表示画面11の右部にいる店主キャラクタが「おいおい、近すぎるよ。」と言う吹出し表示を表示するようにしてもよい。そして、表示画面11に対するコントローラ16の距離が更に近い第2の距離よりも近づいた場合には、操作入力を受付けないようにしている。 【0105】 一方で、図3に示す店主キャラクタMCにコルク弾オブジェクトBOが当たり、店主キャラクタMCが目を回すイベントが発生している間であれば、表示部190の表示画面に対する操作部160の距離が所定の第3の距離よりも近づいた場合には、銃オブジェクトGOを銃移動領域GAから標的領域TAにまで移動させ、銃オブジェクトGOと標的オブジェクトTOとの交差判定を行い、銃オブジェクトGOにより標的オブジェクトTOを倒すことができるようにしてもよい。即ち、コントローラ16を表示画面11に対して通常時よりも近づけることを許可し、あたかも標的領域TAに身を乗り出して銃オブジェクトGOにより標的オブジェクトTOをなぎ倒すような操作を行わせるようにしてもよい。 【0106】 ここで第3の距離は、例えば正確な距離情報を取得することはできないが、指示位置情報は取得できるような距離に設定することができる。なお第1の距離、第2の距離、第3の距離を同じ距離に設定してもよく、それぞれ任意の距離に設定することができる。 【0107】 6.ハードウェア構成 図11に本実施形態を実現できるハードウェア構成の例を示す。メインプロセッサ900は、CD982(情報記憶媒体)に格納されたプログラム、通信インターフェース990を介してダウンロードされたプログラム、或いはROM950に格納されたプログラムなどに基づき動作し、ゲーム処理、画像処理、音処理などを実行する。コプロセッサ902は、メインプロセッサ900の処理を補助するものであり、マトリクス演算(ベクトル演算)を高速に実行する。例えばオブジェクトを移動させたり動作(モーション)させる物理シミュレーションに、マトリクス演算処理が必要な場合には、メインプロセッサ900上で動作するプログラムが、その処理をコプロセッサ902に指示(依頼)する。 【0108】 ジオメトリプロセッサ904は、メインプロセッサ900上で動作するプログラムからの指示に基づいて、座標変換、透視変換、光源計算、曲面生成などのジオメトリ処理を行うものであり、マトリクス演算を高速に実行する。データ伸張プロセッサ906は、圧縮された画像データや音データのデコード処理を行ったり、メインプロセッサ900のデコード処理をアクセレートする。これにより、オープニング画面やゲーム画面において、MPEG方式等で圧縮された動画像を表示できる。 【0109】 描画プロセッサ910は、ポリゴンや曲面などのプリミティブ面で構成されるオブジェクトの描画(レンダリング)処理を実行する。オブジェクトの描画の際には、メインプロセッサ900は、DMAコントローラ970を利用して、描画データを描画プロセッサ910に渡すと共に、必要であればテクスチャ記憶部924にテクスチャを転送する。すると描画プロセッサ910は、描画データやテクスチャに基づいて、Zバッファなどを利用した隠面消去を行いながら、オブジェクトをフレームバッファ922に描画する。また描画プロセッサ910は、αブレンディング(半透明処理)、デプスキューイング、ミップマッピング、フォグ処理、バイリニア・フィルタリング、トライリニア・フィルタリング、アンチエリアシング、シェーディング処理なども行う。1フレーム分の画像がフレームバッファ922に書き込まれるとその画像はディスプレイ912に表示される。 【0110】 サウンドプロセッサ930は、多チャンネルのADPCM音源などを内蔵し、BGM、効果音、音声などのゲーム音を生成し、スピーカ932を介して出力する。ゲームコントローラ942やメモリカード944からのデータはシリアルインターフェース940を介して入力される。 【0111】 ROM950にはシステムプログラムなどが格納される。業務用ゲームシステムの場合にはROM950が情報記憶媒体として機能し、ROM950に各種プログラムが格納される。なおROM950の代わりにハードディスクを利用してもよい。RAM960は各種プロセッサの作業領域となる。DMAコントローラ970は、プロセッサ、メモリ間でのDMA転送を制御する。DVDドライブ980は、プログラム、画像データ、或いは音データなどが格納されるDVD982にアクセスする。通信インターフェース990はネットワーク(通信回線、高速シリアルバス)を介して外部との間でデータ転送を行う。 【0112】 なお本実施形態の各部(各手段)の処理は、その全てをハードウェアのみにより実現してもよいし、情報記憶媒体に格納されるプログラムや通信インターフェースを介して配信されるプログラムにより実現してもよい。或いは、ハードウェアとプログラムの両方により実現してもよい。 【0113】 そして本実施形態の各部の処理をハードウェアとプログラムの両方により実現する場合には、情報記憶媒体には、ハードウェア(コンピュータ)を本実施形態の各部として機能させるためのプログラムが格納される。より具体的には、上記プログラムが、ハードウェアである各プロセッサ902、904、906、910、930に処理を指示すると共に、必要であればデータを渡す。そして、各プロセッサ902、904、906、910、930は、その指示と渡されたデータとに基づいて本発明の各部の処理を実現する。 【0114】 なお本発明は、上記実施形態で説明したものに限らず、種々の変形実施が可能である。例えば、明細書又は図面中の記載において広義や同義な用語として引用された用語は、明細書又は図面中の他の記載においても広義や同義な用語に置き換えることができる。 【0115】 また本発明は種々の画像生成システムに適用できる。上述の実施形態では、本発明を射的ゲームシステムに適用した場合を例に挙げて説明したが、本発明は、指示位置情報と距離情報と仮想移動体の軌道情報とに基づいて標的と仮想移動体との位置関係を判定する種々の画像生成システムにも適用することができる。 【0116】 また本発明は、業務用ゲームシステム、家庭用ゲームシステム、多数のプレーヤが参加する大型アトラクションシステム、シミュレータ、マルチメディア端末、ゲーム画像を生成するシステムボード、携帯電話等の種々の画像生成システムに適用できる。 【図面の簡単な説明】 【0117】 【図1】本実施形態のシステムの概略外観の一例を示す図。 【図2】本実施形態の指示位置の情報を演算する手法の一例を説明するための図。 【図3】本実施形態で生成される画像の一例を示す図。 【図4】本実施形態の機能ブロックの一例を示す図。 【図5】本実施形態の処理の流れの一例を示すフローチャート図。 【図6】本実施形態のテーブルデータの一例を説明するための図。 【図7】図7(A)(B)は、本実施形態の操作部と操作対象の動きを説明するための図。 【図8】図8(A)(B)は、本実施形態の操作部と操作対象の動きを説明するための図。 【図9】図9(A)(B)(C)(D)は、本実施形態の判定処理を説明するための図。 【図10】本実施形態で生成される画像の一例を示す図。 【図11】本実施形態を実現できるハードウェアの構成の一例を示す図。 【符号の説明】 【0118】 P プレーヤ、CO 操作対象、PA 画像データ領域、 IrA1・IrA2 赤外光原領域、DpA 表示画面領域、 GO 銃オブジェクト、TO 標的オブジェクト、BO コルク弾オブジェクト、 SM 基準マーク、E 弾道情報、 100 処理部、108 情報取得部、109 入力受付部、 110 オブジェクト空間設定部、112 移動・動作処理部、113 表示制御部、 114 仮想カメラ制御部、120 描画部、122 判定部、124 標的状態更新部、126 評価部、160 操作部、162 検出部、170 記憶部、190 表示部
|
| 【出願人】 |
【識別番号】000134855 【氏名又は名称】株式会社バンダイナムコゲームス
|
| 【出願日】 |
平成18年9月13日(2006.9.13) |
| 【代理人】 |
【識別番号】100090387 【弁理士】 【氏名又は名称】布施 行夫
【識別番号】100090398 【弁理士】 【氏名又は名称】大渕 美千栄
|
| 【公開番号】 |
特開2008−67853(P2008−67853A) |
| 【公開日】 |
平成20年3月27日(2008.3.27) |
| 【出願番号】 |
特願2006−248458(P2006−248458) |
|