(57)【要約】【課題】敵機から発射されたミサイルの位置や方向を容易にかつ瞬時に認識することが可能なプログラム、情報記憶媒体、及び端末を提供すること。【解決手段】オブジェクト空間の第１のオブジェクトと弾との距離及び第１のオブジェクトに対する弾の方向と、スクリーンの所与の基準点と基づいて、指示オブジェクトをスクリーン上に配置する処理を行い、スクリーンの中心位置を基準点とし、基準点に基づいて指示オブジェクトをスクリーン上に配置する処理を行う。【選択図】図１４
2011212123.tif 000002
【特許請求の範囲】
【請求項１】
画像生成処理を行うプログラムであって、
オブジェクト空間において入力部の入力情報に基づいて第１のオブジェクトを移動させる移動処理と、前記オブジェクト空間において第２のオブジェクトから第１のオブジェクトに対して発射された弾を移動させる移動処理とを行う移動処理部と、
オブジェクト空間の第１のオブジェクトと弾との距離及び第１のオブジェクトに対する弾の方向と、スクリーンの所与の基準点と基づいて、指示オブジェクトをスクリーン上に配置する処理を行う指示オブジェクト制御部と、
前記指示オブジェクトを含む画像を生成する処理を行う描画部として、コンピュータを機能させ、
前記指示オブジェクト制御部が、
スクリーンの中心位置を基準点とし、当該基準点に基づいて指示オブジェクトをスクリーン上に配置する処理を行うことを特徴とするプログラム。
【請求項２】
画像生成処理を行うプログラムであって、
オブジェクト空間において入力部の入力情報に基づいて第１のオブジェクトを移動させる移動処理と、前記オブジェクト空間において第２のオブジェクトから第１のオブジェクトに対して発射された弾を移動させる移動処理とを行う移動処理部と、
オブジェクト空間の第１のオブジェクトと弾との距離及び第１のオブジェクトに対する弾の方向と、スクリーンの所与の基準点と基づいて、指示オブジェクトをスクリーン上に配置する処理を行う指示オブジェクト制御部と、
前記指示オブジェクトを含む画像を生成する処理を行う描画部として、コンピュータを機能させ、
前記指示オブジェクト制御部が、
第１のオブジェクトの表示位置に基づいて基準点を設定し、当該基準点に基づいて指示オブジェクトをスクリーン上に配置する処理を行うことを特徴とするプログラム。
【請求項３】
請求項１又は２において、
前記指示オブジェクト制御部が、
オブジェクト空間の第１のオブジェクトと弾との距離に基づいて、スクリーン上の前記基準点と前記指示オブジェクトとの距離を変化させることを特徴とするプログラム。
【請求項４】
請求項１〜３のいずれかにおいて、
前記指示オブジェクト制御部が、
オブジェクト空間の第１のオブジェクトに対する弾の方向に基づいて、スクリーン上の前記基準点に対する前記指示オブジェクトの方向を変化させることを特徴とするプログラム。
【請求項５】
画像生成処理を行うプログラムであって、
オブジェクト空間において入力部の入力情報に基づいて第１のオブジェクトを移動させる移動処理と、前記オブジェクト空間において第２のオブジェクトから第１のオブジェクトに対して発射された弾を移動させる移動処理とを行う移動処理部と、
オブジェクト空間の第１のオブジェクトと弾との距離、第１のオブジェクトに対する弾の方向、及び所与の基準点に基づいて、指示オブジェクトをオブジェクト空間に配置する処理を行う指示オブジェクト制御部と、
前記指示オブジェクトを含む画像を生成する処理を行う描画部として、コンピュータを機能させ、
前記指示オブジェクト制御部が、
オブジェクト空間の仮想カメラの視点位置に基づいて基準点を設定し、当該基準点に基づいて前記指示オブジェクトを配置する処理を行うことを特徴とするプログラム。
【請求項６】
画像生成処理を行うプログラムであって、
オブジェクト空間において入力部の入力情報に基づいて第１のオブジェクトを移動させる移動処理と、前記オブジェクト空間において第２のオブジェクトから第１のオブジェクトに対して発射された弾を移動させる移動処理とを行う移動処理部と、
オブジェクト空間の第１のオブジェクトと弾との距離、第１のオブジェクトに対する弾の方向、及び所与の基準点に基づいて、指示オブジェクトをオブジェクト空間に配置する処理を行う指示オブジェクト制御部と、
前記指示オブジェクトを含む画像を生成する処理を行う描画部として、コンピュータを機能させ、
前記指示オブジェクト制御部が、
オブジェクト空間の第１のオブジェクトの位置に基づいて基準点を設定し、当該基準点に基づいて前記指示オブジェクトを配置する処理を行うことを特徴とするプログラム。
【請求項７】
請求項５又は６において、
前記指示オブジェクト制御部が、
オブジェクト空間の第１のオブジェクトと弾との距離に基づいて、オブジェクト空間の前記基準点と前記指示オブジェクトとの距離を変化させることを特徴とするプログラム。
【請求項８】
請求項５〜７のいずれかにおいて、
前記指示オブジェクト制御部が、
オブジェクト空間の第１のオブジェクトに対する弾の方向に基づいて、オブジェクト空間の前記基準点に対する前記指示オブジェクトの方向を変化させることを特徴とするプログラム。
【請求項９】
請求項５〜８のいずれかにおいて、
前記指示オブジェクト制御部が、
オブジェクト空間の所定ボリューム内において、前記指示オブジェクトを配置することを特徴とするプログラム。
【請求項１０】
請求項５〜９のいずれかにおいて、
前記指示オブジェクト制御部が、
前記仮想カメラから見て前記指示オブジェクトを遮蔽する遮蔽物オブジェクトが存在する場合には、仮想カメラに対して当該遮蔽物オブジェクトよりも前に、前記指示オブジェクトを配置することを特徴とするプログラム。
【請求項１１】
請求項５〜１０のいずれかにおいて、
前記描画部が、
立体視のための左目用仮想カメラから見える前記指示オブジェクトを含む左目用画像と、立体視のための右目用仮想カメラから見える前記指示オブジェクトを含む右目用画像とを生成し、当該左目用画像と当該右目用画像とを合成して立体視用画像を生成する処理を行うことを特徴とするプログラム。
【請求項１２】
請求項１〜１１のいずれかにおいて、
前記指示オブジェクト制御部が、
前記オブジェクト空間の第１のオブジェクトと弾との距離に基づいて、前記指示オブジェクトの大きさ、形状、模様の少なくとも１つを変化させることを特徴とするプログラム。
【請求項１３】
請求項１〜１２のいずれかにおいて、
前記弾が前記第１のオブジェクトにヒットしたか否かを判定するヒット判定部と、
前記弾が前記第１のオブジェクトにヒットしたと判定された場合に、ダメージ演出処理を行うダメージ演出処理部として、コンピュータを更に機能させることを特徴とするプログラム。
【請求項１４】
コンピュータ読み取り可能な情報記憶媒体であって、請求項１〜１３のいずれかのプログラムを記憶したことを特徴とする情報記憶媒体。
【請求項１５】
画像生成処理を行う端末であって、
オブジェクト空間において入力部の入力情報に基づいて第１のオブジェクトを移動させる移動処理と、前記オブジェクト空間において第２のオブジェクトから第１のオブジェクトに対して発射された弾を移動させる移動処理とを行う移動処理部と、
オブジェクト空間の第１のオブジェクトと弾との距離及び第１のオブジェクトに対する弾の方向と、スクリーンの所与の基準点と基づいて、指示オブジェクトをスクリーン上に配置する処理を行う指示オブジェクト制御部と、
前記指示オブジェクトを含む画像を生成する処理を行う描画部とを含み、
前記指示オブジェクト制御部が、
スクリーンの中心位置を基準点とし、当該基準点に基づいて指示オブジェクトをスクリーン上に配置する処理を行うことを特徴とする端末。
【請求項１６】
画像生成処理を行う端末であって、
オブジェクト空間において入力部の入力情報に基づいて第１のオブジェクトを移動させる移動処理と、前記オブジェクト空間において第２のオブジェクトから第１のオブジェクトに対して発射された弾を移動させる移動処理とを行う移動処理部と、
オブジェクト空間の第１のオブジェクトと弾との距離及び第１のオブジェクトに対する弾の方向と、スクリーンの所与の基準点と基づいて、指示オブジェクトをスクリーン上に配置する処理を行う指示オブジェクト制御部と、
前記指示オブジェクトを含む画像を生成する処理を行う描画部とを含み、
前記指示オブジェクト制御部が、
第１のオブジェクトの表示位置に基づいて基準点を設定し、当該基準点に基づいて指示オブジェクトをスクリーン上に配置する処理を行うことを特徴とする端末。
【請求項１７】
画像生成処理を行う端末であって、
オブジェクト空間において入力部の入力情報に基づいて第１のオブジェクトを移動させる移動処理と、前記オブジェクト空間において第２のオブジェクトから第１のオブジェクトに対して発射された弾を移動させる移動処理とを行う移動処理部と、
オブジェクト空間の第１のオブジェクトと弾との距離、第１のオブジェクトに対する弾の方向、及び所与の基準点に基づいて、指示オブジェクトをオブジェクト空間に配置する処理を行う指示オブジェクト制御部と、
前記指示オブジェクトを含む画像を生成する処理を行う描画部とを含み、
前記指示オブジェクト制御部が、
オブジェクト空間の仮想カメラの視点位置に基づいて基準点を設定し、当該基準点に基づいて前記指示オブジェクトを配置する処理を行うことを特徴とする端末。
【請求項１８】
画像生成処理を行う端末であって、
オブジェクト空間において入力部の入力情報に基づいて第１のオブジェクトを移動させる移動処理と、前記オブジェクト空間において第２のオブジェクトから第１のオブジェクトに対して発射された弾を移動させる移動処理とを行う移動処理部と、
オブジェクト空間の第１のオブジェクトと弾との距離、第１のオブジェクトに対する弾の方向、及び所与の基準点に基づいて、指示オブジェクトをオブジェクト空間に配置する処理を行う指示オブジェクト制御部と、
前記指示オブジェクトを含む画像を生成する処理を行う描画部とを含み、
前記指示オブジェクト制御部が、
オブジェクト空間の第１のオブジェクトの位置に基づいて基準点を設定し、当該基準点に基づいて前記指示オブジェクトを配置する処理を行うことを特徴とする端末。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラム、情報記憶媒体、及び端末に関する。
【背景技術】
【０００２】
従来から、オブジェクト空間（仮想的３次元空間）内において仮想カメラ（所与の視点）から見える画像を生成する端末が知られており、いわゆる仮想現実を体験できるものとして人気が高い。例えば、ミサイル、機関砲などをターゲットオブジェクトにヒットさせて攻撃を行うシューティングゲームのための端末が存在する（特許文献１）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００５−３１９１０８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかし、従来技術では、自機（プレーヤの操作対象の機体）に向けて敵機から発射されたミサイルの位置や向きを認識することが困難であった。特に、操作技量の劣る初心者プレーヤは、ミサイルの位置及び方向を認識できないために、ミサイル攻撃を回避できないことがあった。
【０００５】
本発明は、以上のような課題に鑑みてなされたものであり、その目的とするところは、
敵機から発射されたミサイルの位置や方向を容易にかつ瞬時に認識することが可能なプログラム、情報記憶媒体、及び端末を提供することにある。
【課題を解決するための手段】
【０００６】
（１）本発明は、画像生成処理を行うプログラムであって、オブジェクト空間において入力部の入力情報に基づいて第１のオブジェクトを移動させる移動処理と、前記オブジェクト空間において第２のオブジェクトから第１のオブジェクトに対して発射された弾を移動させる移動処理とを行う移動処理部と、オブジェクト空間の第１のオブジェクトと弾との距離及び第１のオブジェクトに対する弾の方向と、スクリーンの所与の基準点と基づいて、指示オブジェクトをスクリーン上に配置する処理を行う指示オブジェクト制御部と、前記指示オブジェクトを含む画像を生成する処理を行う描画部として、コンピュータを機能させ、前記指示オブジェクト制御部が、スクリーンの中心位置を基準点とし、当該基準点に基づいて指示オブジェクトをスクリーン上に配置する処理を行うプログラムに関する。また、本発明は、上記プログラムを記憶した情報記憶媒体、上記各部として構成する端末に関係する。
【０００７】
本発明によれば、スクリーンの中心位置を基準点とし、オブジェクト空間の第１のオブジェクトと弾との距離及び第１のオブジェクトに対する弾の方向と当該基準点とに基づいて、指示オブジェクトをスクリーン上に配置する。したがって、本発明によれば、プレーヤは、第２のオブジェクトから発射された弾の位置や方向を容易にかつ瞬時に認識することができる。
【０００８】
例えば、プレーヤは、敵機（第２のオブジェクトの一例）から自機（第１のオブジェクトの一例）に発射されたミサイル（弾の一例）の位置や方向を容易に認識することができる。一般的に、プレーヤはスクリーンの中央部分を見てゲームを行うことが多い。本発明によれば、スクリーンの中心位置を基準点として指示オブジェクトを配置するので、視線を大きく動かすことなく、敵機から発射されたミサイルの位置や方向を視認することができる。
【０００９】
（２）本発明は、画像生成処理を行うプログラムであって、オブジェクト空間において入力部の入力情報に基づいて第１のオブジェクトを移動させる移動処理と、前記オブジェクト空間において第２のオブジェクトから第１のオブジェクトに対して発射された弾を移動させる移動処理とを行う移動処理部と、オブジェクト空間の第１のオブジェクトと弾との距離及び第１のオブジェクトに対する弾の方向と、スクリーンの所与の基準点と基づいて、指示オブジェクトをスクリーン上に配置する処理を行う指示オブジェクト制御部と、前記指示オブジェクトを含む画像を生成する処理を行う描画部として、コンピュータを機能させ、前記指示オブジェクト制御部が、第１のオブジェクトの表示位置に基づいて基準点を設定し、当該基準点に基づいて指示オブジェクトをスクリーン上に配置する処理を行うプログラムに関する。また、本発明は、上記プログラムを記憶した情報記憶媒体、上記各部として構成する端末に関係する。
【００１０】
本発明によれば、第１のオブジェクトの表示位置に基づいて基準点を設定し、オブジェクト空間の第１のオブジェクトと弾との距離及び第１のオブジェクトに対する弾の方向と当該基準点とに基づいて、指示オブジェクトをスクリーン上に配置する。したがって、本発明によれば、プレーヤは、第２のオブジェクトから発射された弾の位置や方向を容易にかつ瞬時に認識することができる。
【００１１】
例えば、プレーヤは、敵機（第２のオブジェクトの一例）から自機（第１のオブジェクトの一例）に発射されたミサイル（弾の一例）の位置や方向を容易に認識することができる。また、本発明によれば、自機の表示位置に基づいて設定された基準点に基づいて指示オブジェクトを配置するので、プレーヤは、自機の表示位置に関連性のある適切な表示位置に敵機から発射されたミサイルの位置や方向を視認することができる。
【００１２】
（３）また、本発明のプログラム、情報記憶媒体及び端末は、前記指示オブジェクト制御部が、オブジェクト空間の第１のオブジェクトと弾との距離に基づいて、スクリーン上の前記基準点と前記指示オブジェクトとの距離を変化させるようにしてもよい。
【００１３】
本発明によれば、オブジェクト空間の第１のオブジェクトと弾との距離に基づいて、スクリーン上の基準点と指示オブジェクトとの距離を変化させるので、プレーヤは容易にかつ瞬時に、自機（第１のオブジェクト）に対するミサイル（弾）の接近距離の変化を知ることができる。
【００１４】
（４）また、本発明のプログラム、情報記憶媒体及び端末は、前記指示オブジェクト制御部が、オブジェクト空間の第１のオブジェクトに対する弾の方向に基づいて、スクリーン上の前記基準点に対する前記指示オブジェクトの方向を変化させるようにしてもよい。
【００１５】
本発明によれば、オブジェクト空間の第１のオブジェクトに対する弾の方向に基づいて、スクリーン上の基準点に対する指示オブジェクトの方向を変化させるので、プレーヤは容易にかつ瞬時に、自機（第１のオブジェクト）に対するミサイル（弾）の接近方向の変化を知ることができる。
【００１６】
（５）本発明は、画像生成処理を行うプログラムであって、オブジェクト空間において入力部の入力情報に基づいて第１のオブジェクトを移動させる移動処理と、前記オブジェクト空間において第２のオブジェクトから第１のオブジェクトに対して発射された弾を移動させる移動処理とを行う移動処理部と、オブジェクト空間の第１のオブジェクトと弾との距離、第１のオブジェクトに対する弾の方向、及び所与の基準点に基づいて、指示オブジェクトをオブジェクト空間に配置する処理を行う指示オブジェクト制御部と、前記指示オブジェクトを含む画像を生成する処理を行う描画部として、コンピュータを機能させ、前記指示オブジェクト制御部が、オブジェクト空間の仮想カメラの視点位置に基づいて基準点を設定し、当該基準点に基づいて前記指示オブジェクトを配置する処理を行うプログラムに関する。また、本発明は、上記プログラムを記憶した情報記憶媒体、上記各部として構成する端末に関係する。
【００１７】
本発明によれば、オブジェクト空間において、仮想カメラの視点位置に基づいて基準点を設定し、当該基準点に基づいて指示オブジェクトを配置する処理を行う。したがって、本発明によれば、プレーヤは、第２のオブジェクトから発射された弾の位置や方向を容易にかつ瞬時に認識することができる。また、本発明によれば、オブジェクト空間に指示オブジェクトが配置されるので、プレーヤは、弾の位置や方向を立体的に確認することができる。
【００１８】
例えば、プレーヤは、敵機（第２のオブジェクトの一例）から自機（第１のオブジェクトの一例）に発射されたミサイル（弾の一例）の位置や方向を容易に認識することができる。一般的に、プレーヤはスクリーンの中央部分を見てゲームを行うことが多い。本発明によれば、仮想カメラの視点位置に基づいて設定された基準点に基づいて指示オブジェクトを配置するので、指示オブジェクトがスクリーンの中央部分に表示されることになり、プレーヤは視線を大きく動かすことなく、敵機から発射されたミサイルの位置や方向を視認することができる。
【００１９】
（６）本発明は、画像生成処理を行うプログラムであって、オブジェクト空間において入力部の入力情報に基づいて第１のオブジェクトを移動させる移動処理と、前記オブジェクト空間において第２のオブジェクトから第１のオブジェクトに対して発射された弾を移動させる移動処理とを行う移動処理部と、オブジェクト空間の第１のオブジェクトと弾との距離、第１のオブジェクトに対する弾の方向、及び所与の基準点に基づいて、指示オブジェクトをオブジェクト空間に配置する処理を行う指示オブジェクト制御部と、前記指示オブジェクトを含む画像を生成する処理を行う描画部として、コンピュータを機能させ、前記指示オブジェクト制御部が、オブジェクト空間の第１のオブジェクトの位置に基づいて基準点を設定し、当該基準点に基づいて前記指示オブジェクトを配置する処理を行うプログラムに関する。また、本発明は、上記プログラムを記憶した情報記憶媒体、上記各部として構成する端末に関係する。
【００２０】
本発明によれば、オブジェクト空間において、第１のオブジェクトの位置に基づいて基準点を設定し、当該基準点に基づいて指示オブジェクトを配置する処理を行う。したがって、本発明によれば、プレーヤは、第２のオブジェクトから発射された弾の位置や方向を容易にかつ瞬時に認識することができる。また、本発明によれば、オブジェクト空間に指示オブジェクトが配置されるので、プレーヤは、弾の位置や方向を立体的に確認することができる。
【００２１】
例えば、プレーヤは、敵機（第２のオブジェクトの一例）から自機（第１のオブジェクトの一例）に発射されたミサイル（弾の一例）の位置や方向を容易に認識することができる。本発明によれば、第１のオブジェクトの位置に基づいて設定された基準点に基づいて指示オブジェクトを配置するので、プレーヤは、自機の配置位置に関連性のある表示領域でミサイルの位置や方向を視認することができる。
【００２２】
（７）また、本発明のプログラム、情報記憶媒体及び端末は、前記指示オブジェクト制御部が、オブジェクト空間の第１のオブジェクトと弾との距離に基づいて、オブジェクト空間の前記基準点と前記指示オブジェクトとの距離を変化させるようにしてもよい。
【００２３】
本発明は、オブジェクト空間の第１のオブジェクトと弾との距離に基づいて、オブジェクト空間の基準点と指示オブジェクトとの距離を変化させるので、プレーヤは容易にかつ瞬時に、自機（第１のオブジェクト）に対するミサイル（弾）の接近距離の変化を知ることができる。
【００２４】
（８）また、本発明のプログラム、情報記憶媒体及び端末は、前記指示オブジェクト制御部が、オブジェクト空間の第１のオブジェクトに対する弾の方向に基づいて、オブジェクト空間の前記基準点に対する前記指示オブジェクトの方向を変化させるようにしてもよい。
【００２５】
本発明によれば、オブジェクト空間の第１のオブジェクトに対する弾の方向に基づいて、オブジェクト空間の基準点に対する指示オブジェクトの方向を変化させるので、プレーヤは容易にかつ瞬時に、自機（第１のオブジェクト）に対するミサイル（弾）の接近方向の変化を知ることができる。
【００２６】
（９）また、本発明のプログラム、情報記憶媒体及び端末は、前記指示オブジェクト制御部が、オブジェクト空間の所定ボリューム内において、前記指示オブジェクトを配置するようにしてもよい。
【００２７】
本発明によれば、オブジェクト空間の所定ボリューム内において、指示オブジェクトを配置するので、指示オブジェクトを適切に配置することができ、プレーヤは容易に弾の位置や方向を視認することができる。
【００２８】
（１０）また、本発明のプログラム、情報記憶媒体及び端末は、前記指示オブジェクト制御部が、前記仮想カメラから見て前記指示オブジェクトを遮蔽する遮蔽物オブジェクトが存在する場合には、仮想カメラに対して当該遮蔽物オブジェクトよりも前に、前記指示オブジェクトを配置するようにしてもよい。
【００２９】
本発明によれば、仮想カメラから見て指示オブジェクトを遮蔽する遮蔽物オブジェクトが存在する場合には、仮想カメラに対して当該遮蔽物オブジェクトよりも前に、指示オブジェクトを配置するので、プレーヤは確実に指示オブジェクトを視認することができる。
【００３０】
（１１）また、本発明のプログラム、情報記憶媒体及び端末は、前記描画部が、立体視のための左目用仮想カメラから見える前記指示オブジェクトを含む左目用画像と、立体視のための右目用仮想カメラから見える前記指示オブジェクトを含む右目用画像とを生成し、当該左目用画像と当該右目用画像とを合成して立体視用画像を生成する処理を行うようにしてもよい。本発明によれば、プレーヤは立体視によってより現実に近い奥行きのある感覚を得ることができる。指示オブジェクトについても立体的に表現されるので、オブジェクト空間の第１のオブジェクトと弾との距離、第１のオブジェクトに対する弾の方向について、より現実味をもって体感することができる。
【００３１】
（１２）また、本発明のプログラム、情報記憶媒体及び端末は、前記指示オブジェクト制御部が、前記オブジェクト空間の第１のオブジェクトと弾との距離に基づいて、前記指示オブジェクトの大きさ、形状、模様の少なくとも１つを変化させるようにしてもよい。本発明によれば、プレーヤは、オブジェクト空間の第１のオブジェクトと弾との距離を更に容易に知ることができる。
【００３２】
（１３）また、本発明のプログラム、情報記憶媒体及び端末は、前記弾が前記第１のオブジェクトにヒットしたか否かを判定するヒット判定部と、前記弾が前記第１のオブジェクトにヒットしたと判定された場合に、ダメージ演出処理を行うダメージ演出処理部として、コンピュータを更に機能させるようにしてもよい。
【００３３】
本発明によれば、第１のオブジェクトが弾にヒットされた場合に、ダメージ演出処理を行うので、例えば、自機（第１のオブジェクト）がミサイル（弾）にヒットされたことによるダメージを強くプレーヤに印象づけることができる。
【図面の簡単な説明】
【００３４】
【図１】図１は、本実施形態の端末の構成の一例である。
【図２】図２（Ａ）〜（Ｃ）は、仮想カメラ制御の説明図。
【図３】図３は、画像の一例。
【図４】図４は、画像の一例。
【図５】図５は、指示オブジェクトの配置処理を説明するための図。
【図６】図６（Ａ）〜（Ｃ）は、指示オブジェクトの配置処理を説明するための図。
【図７】図７は、指示オブジェクトの配置処理を説明するための図。
【図８】図８は、指示オブジェクトの配置処理を説明するための図。
【図９】図９（Ａ）（Ｂ）は、指示オブジェクトの制御に関する説明図。
【図１０】図１０は、ダメージ演出処理の説明図。
【図１１】図１１は、ダメージ演出処理の画像の一例。
【図１２】図１２は、本実施形態のフローチャート。
【図１３】図１３は、ミサイルの移動演算の説明図。
【図１４】図１４は、ミサイルの移動演算の説明図。
【図１５】図１５（Ａ）（Ｂ）は、指示オブジェクトの配置処理を説明するための図。
【図１６】図１６（Ａ）（Ｂ）は、指示オブジェクトの配置処理を説明するための図。
【図１７】図１７（Ａ）〜（Ｄ）は、指示オブジェクトの配置処理を説明するための図。
【図１８】図１８（Ａ）〜（Ｄ）は、指示オブジェクトの配置処理を説明するための図。
【図１９】図１９（Ａ）（Ｂ）は、立体視画像に関する説明図。
【図２０】図２０は、立体視画像に関する説明図。
【発明を実施するための形態】
【００３５】
以下、本実施形態について説明する。なお、以下に説明する本実施形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また本実施形態で説明される構成の全てが、本発明の必須構成要件であるとは限らない。
【００３６】
１．構成
図１に本実施形態の端末（画像生成装置、ゲーム装置、携帯電話、携帯端末、携帯型ゲーム装置）の機能ブロック図の例を示す。なお本実施形態の端末は図１の構成要素（各部）の一部を省略した構成としてもよい。
【００３７】
入力部１６０は、プレーヤ（操作者）からの入力情報を入力するための入力機器（コントローラ）であり、プレーヤの入力情報を処理部に出力する。本実施形態の入力部１６０は、プレーヤの入力情報（入力信号）を検出する検出部１６２を備える。入力部１６０は、例えば、レバー、ボタン、ステアリング、マイク、タッチパネル型ディスプレイなどがある。また、入力部１６０は、振動信号に基づいて振動させる処理を行う振動部を備えていてもよい。
【００３８】
また、入力部１６０は、３軸の加速度を検出する加速度センサや、角速度を検出するジャイロセンサ、撮像部を備えた入力機器でもよい。例えば、入力部１６０は、プレーヤが把持して動かすものであってもよいし、プレーヤが身につけて動かすものであってもよい。また、入力部１６０は、プレーヤが把持する刀型コントローラや銃型コントローラ、あるいはプレーヤが身につける（プレーヤが手に装着する）グローブ型コントローラなど実際の道具を模して作られた入力機器でもよい。また入力部１６０は、入力機器と一体化されている端末（携帯電話、携帯端末、携帯型ゲーム装置）なども含まれる。
【００３９】
記憶部１７０は、処理部１００や通信部１９６などのワーク領域となるもので、その機能はＲＡＭ（ＶＲＡＭ）などにより実現できる。
【００４０】
情報記憶媒体１８０（コンピュータにより読み取り可能な媒体）は、プログラムやデータなどを格納するものであり、その機能は、光ディスク（ＣＤ、ＤＶＤ）、光磁気ディスク（ＭＯ）、磁気ディスク、ハードディスク、磁気テープ、或いはメモリ（ＲＯＭ）などにより実現できる。処理部１００は、情報記憶媒体１８０に格納されるプログラム（データ）に基づいて本実施形態の種々の処理を行う。情報記憶媒体１８０には、本実施形態の各部としてコンピュータを機能させるためのプログラム（各部の処理をコンピュータに実行させるためのプログラム）を記憶することができる。
【００４１】
表示部１９０は、本実施形態により生成された画像を出力するものであり、その機能は、ＣＲＴ、ＬＣＤ、タッチパネル型ディスプレイ、或いはＨＭＤ（ヘッドマウントディスプレイ）などにより実現できる。
【００４２】
音出力部１９２は、本実施形態により生成された音を出力するものであり、その機能は、スピーカ、或いはヘッドフォンなどにより実現できる。
【００４３】
通信部１９６は外部（例えば他の端末、サーバ）との間で通信を行うための各種制御を行うものであり、その機能は、各種プロセッサ又は通信用ＡＳＩＣなどのハードウェアや、プログラムなどにより実現できる。
【００４４】
なお、サーバが有する情報記憶媒体や記憶部に記憶されている本実施形態の各部としてコンピュータを機能させるためのプログラムやデータを、ネットワークを介して受信し、受信したプログラムやデータを情報記憶媒体１８０や記憶部１７０に記憶してもよい。このようにプログラムやデータを受信して端末を機能させる場合も本発明の範囲内に含む。
【００４５】
処理部１００（プロセッサ）は、入力部１６０からの入力データやプログラムなどに基づいて、ゲーム処理、画像生成処理、或いは音生成処理などの処理を行う。
【００４６】
この処理部１００は記憶部１７０内の主記憶部１７１をワーク領域として各種処理を行う。処理部１００の機能は各種プロセッサ（ＣＰＵ、ＤＳＰ等）、ＡＳＩＣ（ゲートアレイ等）などのハードウェアや、プログラムにより実現できる。
【００４７】
処理部１００は、受け付け部１１０、オブジェクト配置部１１１、移動・動作処理部１１２、指示オブジェクト制御部１１３、ヒット判定部１１４、ゲーム演算部１１５、ダメージ演出処理部１１６、仮想カメラ制御部１１７、通信制御部１１８、描画部１２０、音処理部１３０を含む。なお、これらの一部を省略する構成としてもよい。
【００４８】
受け付け部１１０は、プレーヤの入力情報を受け付ける処理を行う。例えば、自機（第１のオブジェクト、プレーヤの操作対象のオブジェクト）を移動させるための移動入力情報を受け付ける処理や、自機から弾（ミサイル、機関砲）を発射させる発射入力情報を受け付ける処理を行う。
【００４９】
オブジェクト配置部１１１は、オブジェクトをオブジェクト空間（仮想的３次元空間）に配置する処理を行う。例えば、オブジェクト配置部１１１は、自機、敵機（第２のオブジェクト、コンピュータプログラムに基づいて移動・動作、攻撃を行う移動体、ノンプレーヤキャラクターＮＰＣ、他のプレーヤの操作対象のオブジェクト）の他に、建物、球場、車、樹木、柱、壁、マップ（地形）などの表示物を、オブジェクト空間に配置する処理を行う。ここでオブジェクト空間とは、仮想的なゲーム空間であり、例えば、ワールド座標系、仮想カメラ座標系のように、３次元座標（Ｘ，Ｙ，Ｚ）においてオブジェクトが配置される空間である。
【００５０】
例えば、オブジェクト配置部１１１は、ワールド座標系にオブジェクト（ポリゴン、自由曲面又はサブディビジョンサーフェスなどのプリミティブで構成されるオブジェクト）を配置する。また、例えば、ワールド座標系でのオブジェクトの位置や回転角度（向き、方向と同義）を決定し、その位置（Ｘ、Ｙ、Ｚ）にその回転角度（Ｘ、Ｙ、Ｚ軸回りでの回転角度）でオブジェクトを配置する。
【００５１】
移動・動作処理部１１２は、オブジェクト空間にあるオブジェクトの移動・動作演算を行う。すなわち入力部１６０から受け付けた入力情報や、プログラム（移動・動作アルゴリズム）や、各種データ（モーションデータ）などに基づいて、オブジェクトをオブジェクト空間内で移動させたり、オブジェクトを動作（モーション、アニメーション）させたりする処理を行う。具体的には、オブジェクトの移動情報（移動速度、移動速度、移動加速度、位置、向きなど）や動作情報（オブジェクトを構成する各パーツの位置、或いは回転角度）を、１フレーム（１／６０秒）毎に順次求める処理を行う。なおフレームは、オブジェクトの移動・動作処理や画像生成処理を行う時間の単位である。
【００５２】
例えば、本実施形態の移動処理部１１２ａは、入力部１６０の入力情報（移動用の入力情報）に基づいて、第１のオブジェクト（例えば、自機）を移動させる処理や、移動処理プログラムに基づいて、敵機を移動させる処理を行う。
【００５３】
また、移動処理部１１２ａは、オブジェクトから発射された弾（例えば、ミサイル、機関砲）がターゲットオブジェクトに追尾するように、弾の移動処理を行う。つまり、移動処理部１１２ａは、第２のオブジェクトから第１のオブジェクトに対して発射された弾を移動させる移動処理を行う。
【００５４】
なお、移動・動作処理部１１２は、他の端末とネットワークを介してデータを送受信している場合には、他の端末から受信した移動情報等のデータに基づいて、本端末のオブジェクト空間に配置される他の移動体（他の端末を操作するプレーヤの操作対象の移動体）を移動・動作させるようにしてもよい。
【００５５】
指示オブジェクト制御部１１３は、スクリーン（２次元画像、画面、スクリーン座標系）上に、指示オブジェクトを配置する処理を行う。例えば、指示オブジェクト制御部１１３は、オブジェクト空間の第１のオブジェクトと弾との距離及び第１のオブジェクトに対する弾の方向と、スクリーンの所与の基準点と基づいて、指示オブジェクトをスクリーン上に配置する処理を行う。
【００５６】
ここで、本実施形態の指示オブジェクト制御部１１３は、基準点をスクリーンの中心位置とすることができる。また基準点を第１のオブジェクトの表示位置に基づいて設定してもよい。また、指示オブジェクト制御部１１３は、オブジェクト空間の第１のオブジェクトと弾との距離に基づいて、スクリーン上の基準点と指示オブジェクトとの距離を変化させるようにしてもよい。また、指示オブジェクト制御部１１３は、オブジェクト空間の第１のオブジェクトに対する弾の方向に基づいて、スクリーン上の基準点に対する指示オブジェクトの方向を変化させるようにしてもよい。
【００５７】
また、指示オブジェクト制御部１１３は、オブジェクト空間（３次元空間、ワールド座標系、仮想カメラ座標系、モデル座標系）に、指示オブジェクトを配置する処理を行う。
【００５８】
例えば、指示オブジェクト制御部１１３は、オブジェクト空間の第１のオブジェクトと弾との距離、第１のオブジェクトに対する弾の方向、及び所与の基準点に基づいて、指示オブジェクトをオブジェクト空間に配置する処理を行う。
【００５９】
ここで、本実施形態の指示オブジェクト制御部１１３は、所与の基準点を、オブジェクト空間の仮想カメラの視点位置に基づいて設定してもよいし、所与の基準点をオブジェクト空間の第１のオブジェクトの位置に基づいて設定してもよい。
【００６０】
また、指示オブジェクト制御部１１３は、オブジェクト空間の第１のオブジェクトと弾との距離に基づいて、オブジェクト空間の基準点と指示オブジェクトとの距離を変化させるようにしてもよい。また、指示オブジェクト制御部１１３は、オブジェクト空間の第１のオブジェクトに対する弾の方向に基づいて、オブジェクト空間の基準点に対する指示オブジェクトの方向を変化させるようにしてもよい。また、指示オブジェクト制御部１１３は、オブジェクト空間の所定ボリューム内において、指示オブジェクトを配置するようにしてもよい。
【００６１】
また、指示オブジェクト制御部１１３は、仮想カメラから見て指示オブジェクトを遮蔽する遮蔽物オブジェクトが存在する場合には、仮想カメラに対して当該遮蔽物オブジェクトよりも前に、指示オブジェクトを配置するようにしてもよい。
【００６２】
また、指示オブジェクト制御部１１３は、オブジェクト空間の第１のオブジェクトと弾との距離に基づいて、指示オブジェクトの大きさ、形状、模様の少なくとも１つを変化させるようにしてもよい。
【００６３】
ヒット判定部１１４は、第２のオブジェクト（例えば、敵機）から発射された弾（例えば、ミサイル）が第１のオブジェクト（例えば、自機）にヒットしたか否かを判定する。また、ヒット判定部１１４は、第１のオブジェクトから発射された弾が第２のオブジェクトにヒットしたか否かを判定する。
【００６４】
ゲーム演算部１１５は、種々のゲーム処理を行う。例えば、ゲーム開始条件が満たされた場合にゲームを開始する処理、ゲームを進行させる処理、ゲーム終了条件が満たされた場合にゲームを終了する処理、最終ステージをクリアした場合にはエンディングを進行させる処理などがある。
【００６５】
本実施形態のゲーム演算部１１５は、各オブジェクト（自機、敵機を含む）のパラメータを更新する処理を行う。本実施形態のゲーム演算部１１５では、弾が自機にヒットする度に、ダメージを蓄積したダメージ蓄積値Ｉを更新している。例えば、自機のダメージ蓄積値Ｉが最大値（Ｉ＝１００）になると、自機が撃墜したものとみなされ、ゲームを終了する処理を行う。一方、ゲーム中の全ての敵機のダメージ蓄積値Ｉが最大値になると、ゲームクリアと判定する処理を行う。
【００６６】
ダメージ演出処理部１１６は、弾が第１のオブジェクトにヒットしたと判定された場合に、ダメージ演出処理を行う。例えば、ダメージ演出処理部１１６は、弾が第１のオブジェクトにヒットしたと判定された場合に、指示オブジェクトを点滅して表示させる処理を行ったり、右側と左側に赤い色を施した画像を、既に画像バッファに描画されている画像に重ねて描画する処理を行う。
【００６７】
仮想カメラ制御部１１７は、オブジェクト空間内の所与（任意）の視点から見える画像を生成するための仮想カメラ（視点）の制御処理を行う。具体的には、３次元の画像を生成する場合には、ワールド座標系における仮想カメラの位置（Ｘ、Ｙ、Ｚ）、回転角度（例えば、Ｘ、Ｙ、Ｚ軸の各軸の正方向からみて時計回りに回る場合における回転角度）を制御する処理を行う。要するに、仮想カメラ制御部１１７は、仮想カメラの視点位置、視線方向、画角、移動方向、移動速度の少なくとも１つを制御する処理を行う。
【００６８】
特に、本実施形態の仮想カメラ制御部１１８は、移動体の移動に追従する仮想カメラを制御する。例えば、図２（Ａ）（Ｂ）に示す一人称視点、図２（Ｃ）に示す三人称視点（後方視点）によって、仮想カメラを制御する。
【００６９】
例えば、仮想カメラ制御部１１７は、移動・動作処理部１１２で得られたオブジェクトの位置、向き又は速度などの移動情報に基づいて、仮想カメラを制御する。つまり、仮想カメラ制御部１１７は、ワールド座標において、移動・動作処理部１１２で処理される移動体の移動情報と仮想カメラの移動情報とが所定の関係を保つように制御する。より具体的には、ワールド座標において、移動・動作処理部１１２で処理される移動体の位置（移動体の中心点Ｐ）と仮想カメラの位置（ＣＰ）とが所定の位置関係を保つように制御する。例えば、移動体の位置（移動体の中心点Ｐ）と仮想カメラの位置（ＣＰ）とが、所定の距離を保つように制御する。また、移動体の移動方向及び移動速度と、仮想カメラの移動方向及び移動速度とが所定の関係を保つように制御する。例えば、移動体の移動方向と仮想カメラの移動方向が同一の方向になるように制御したり、移動体の移動速度と仮想カメラの移動速度とが同一の速度になるように制御する。また、仮想カメラ制御部１１７は、移動体の向きと、仮想カメラの向き（視線方向）とが所定の関係を保つように仮想カメラの向き（視線方向）を制御する。例えば、移動体の向きと仮想カメラの向きとが同一の方向を向くように制御する。
【００７０】
なお、仮想カメラ制御部１１７は、仮想カメラを予め決められた向きに設定したり、予め決められた移動経路で移動させる制御を行うようにしてもよい。かかる場合には、仮想カメラの位置（移動経路）又は向きを制御するための仮想カメラデータ（記憶部１７０、情報記憶媒体１８０等に記憶されている仮想カメラデータ）に基づいて、仮想カメラを制御する。
【００７１】
また、仮想カメラ制御部１１７は、オブジェクト空間において所与の位置から見下ろすような俯瞰用仮想カメラを配置させて当該俯瞰用仮想カメラを制御するようにしてもよい。
【００７２】
また、仮想カメラ制御部１１７は、リプレイ用で画像を生成するためのリプレイ用仮想カメラをオブジェクト空間に配置させて、当該リプレイ用仮想カメラを制御するように使用してもよい。リプレイ用仮想カメラは、移動体の移動に必ずしも追従させる必要はないが、移動体の移動情報に応じて、リプレイ用仮想カメラを制御するようにしてもよい。
【００７３】
通信制御部１１８は、端末（例えば第１の端末）が他の端末（例えば第２の端末）とネットワークを介して相互にデータを送受信する処理を行う。
【００７４】
なお、本実施形態の端末では、通信制御で必要となるネットワーク情報をゲームサーバから取得し、管理する処理等を行う。例えば、端末は、各端末に個別に付与される端末の識別情報（オンラインゲームに参加できる端末を識別するために個別に付与されたデータ、ＩＤ）と、端末の識別情報に対応付けられたパケットの送信先を指定する宛先情報（ＩＰアドレスなど）とを取得し、管理する処理を行う。
【００７５】
通信制御部１１８は、他の端末（第２の端末）に送信するパケットを生成する処理、パケット送信先の端末のＩＰアドレスやポート番号を指定する処理、受信したパケットに含まれるデータを記憶部１７０に保存する処理、受信したパケットを解析する処理、その他のパケットの送受信に関する制御処理等を行う。
【００７６】
また本実施形態の通信制御部１１８は、複数の端末間においての接続（第１の端末と第２の端末との接続）が確立されてから接続が切断されるまで、データを所定周期（例えば、１秒周期で）互いに送受信する処理を行う。ここで、端末間で送受信されるデータは、入力部の入力情報としてもよいし、各端末の操作対象のオブジェクト（機体、移動体）の位置情報、移動情報としてもよい。
【００７７】
また、本実施形態の通信制御部１１８は、他の端末（第２の端末）から送信されたパケットを受信すると、受信したパケットを解析し、パケットに含まれる他の端末の操作対象のオブジェクトの位置情報などのデータを記憶部に記憶する処理を行う。
【００７８】
なお、複数の端末で構成されるネットワークシステムの場合は、複数の端末間でデータの送受信を行いながらオンラインゲームを実行するピア・ツー・ピア（いわゆるＰ２Ｐ）方式としてもよいし、特定のサービスを提供するためのサーバと端末間においてデータを送受信できるものであってもよい。また、サーバを介して各端末がデータ（情報）の送受信を行いながらオンラインゲームを実行するクライアント・サーバ方式によるものであってもよい。また、本実施形態のネットワークシステムでは、有線通信のみならず無線通信でデータを送受信してもよい。
【００７９】
描画部１２０は、処理部１００で行われる種々の処理の結果に基づいて描画処理を行い、これにより画像を生成し、表示部１９０に出力する。言い換えると、描画部１２０は、オブジェクト空間において、仮想カメラから見える画像を生成する。
【００８０】
例えば、描画部１２０は、オブジェクト（モデル）の各頂点の頂点データ（頂点の位置座標、テクスチャ座標、色データ、法線ベクトル或いはα値等）を含むオブジェクトデータ（モデルデータ）が入力され、入力されたオブジェクトデータに含まれる頂点データに基づいて、頂点処理（頂点シェーダによるシェーディング）が行われる。なお頂点処理を行うに際して、必要に応じてポリゴンを再分割するための頂点生成処理（テッセレーション、曲面分割、ポリゴン分割）を行うようにしてもよい。
【００８１】
頂点処理では、頂点処理プログラム（頂点シェーダプログラム、第１のシェーダプログラム）に従って、頂点の移動処理や、座標変換、例えばワールド座標変換、視野変換（カメラ座標変換）、クリッピング処理、透視変換（投影変換）、ビューポート変換等のジオメトリ処理が行われ、その処理結果に基づいて、オブジェクトを構成する頂点群について与えられた頂点データを変更（更新、調整）する。
【００８２】
そして、頂点処理後の頂点データに基づいてラスタライズ（走査変換）が行われ、ポリゴン（プリミティブ）の面とピクセルとが対応づけられる。そしてラスタライズに続いて、画像を構成するピクセル（表示画面を構成するフラグメント）を描画するピクセル処理（ピクセルシェーダによるシェーディング、フラグメント処理）が行われる。ピクセル処理では、ピクセル処理プログラム（ピクセルシェーダプログラム、第２のシェーダプログラム）に従って、テクスチャの読出し（テクスチャマッピング）、色データの設定／変更、半透明合成、アンチエイリアス等の各種処理を行って、画像を構成するピクセルの最終的な描画色を決定し、透視変換されたオブジェクトの描画色を画像バッファ１７２（ピクセル単位で画像情報を記憶できるバッファ。ＶＲＡＭ、レンダリングターゲット、フレームバッファ）に出力（描画）する。すなわち、ピクセル処理では、画像情報（色、法線、輝度、α値等）をピクセル単位で設定あるいは変更するパーピクセル処理を行う。これにより、オブジェクト空間内において仮想カメラ（所与の視点）から見える画像が生成される。
【００８３】
なお頂点処理やピクセル処理は、シェーディング言語によって記述されたシェーダプログラムによって、ポリゴン（プリミティブ）の描画処理をプログラム可能にするハードウェア、いわゆるプログラマブルシェーダ（頂点シェーダやピクセルシェーダ）により実現される。プログラマブルシェーダでは、頂点単位の処理やピクセル単位の処理がプログラム可能になることで描画処理内容の自由度が高く、従来のハードウェアによる固定的な描画処理に比べて表現力を大幅に向上させることができる。
【００８４】
そして描画部１２０は、オブジェクトを描画する際に、ジオメトリ処理、テクスチャマッピング、隠面消去処理、αブレンディング等を行う。
【００８５】
ジオメトリ処理では、オブジェクトに対して、座標変換、クリッピング処理、透視投影変換、或いは光源計算等の処理が行われる。そして、ジオメトリ処理後（透視投影変換後）のオブジェクトデータ（オブジェクトの頂点の位置座標、テクスチャ座標、色データ（輝度データ）、法線ベクトル、或いはα値等）は、記憶部１７０に保存される。
【００８６】
テクスチャマッピングは、記憶部１７０に記憶されるテクスチャ（テクセル値）をオブジェクトにマッピングするための処理である。具体的には、オブジェクトの頂点に設定（付与）されるテクスチャ座標等を用いて記憶部１７０からテクスチャ（色（ＲＧＢ）、α値などの表面プロパティ）を読み出す。そして、２次元の画像であるテクスチャをオブジェクトにマッピングする。この場合に、ピクセルとテクセルとを対応づける処理や、テクセルの補間としてバイリニア補間などを行う。
【００８７】
隠面消去処理としては、描画ピクセルのＺ値（奥行き情報）が格納されるＺバッファ（奥行きバッファ）を用いたＺバッファ法（奥行き比較法、Ｚテスト）による隠面消去処理を行うことができる。すなわちオブジェクトのプリミティブに対応する描画ピクセルを描画する際に、Ｚバッファに格納されるＺ値を参照する。そして参照されたＺバッファのＺ値と、プリミティブの描画ピクセルでのＺ値とを比較し、描画ピクセルでのＺ値が、仮想カメラから見て手前側となるＺ値（例えば小さなＺ値）である場合には、その描画ピクセルの描画処理を行うとともにＺバッファのＺ値を新たなＺ値に更新する。
【００８８】
αブレンディング（α合成）は、α値（Ａ値）に基づく半透明合成処理（通常αブレンディング、加算αブレンディング又は減算αブレンディング等）のことである。
【００８９】
例えば、αブレンディングでは、これから画像バッファ１７２に描画する描画色（上書きする色）Ｃ１と、既に画像バッファ１７２（レンダリングターゲット）に描画されている描画色（下地の色）Ｃ２とを、α値に基づいて線形合成処理を行う。つまり、最終的な描画色をＣとすると、Ｃ＝Ｃ１＊α＋Ｃ２＊（１−α）によって求めることができる。
【００９０】
なお、α値は、各ピクセル（テクセル、ドット）に関連づけて記憶できる情報であり、例えば色情報以外のプラスアルファの情報である。α値は、マスク情報、半透明度（透明度、不透明度と等価）、バンプ情報などとして使用できる。
【００９１】
なお、描画部１２０は、他の端末（第２の端末）とネットワークを介してデータを送受信するマルチプレーヤオンラインゲームを行う場合であっても、端末（第１の端末）の操作対象のオブジェクトの移動に追従する仮想カメラ（端末（第１の端末）で制御される仮想カメラ）から見える画像を生成する処理を行う。つまり、各端末が独立した描画処理を行う。
【００９２】
音処理部１３０は、処理部１００で行われる種々の処理の結果に基づいて音処理を行い、ＢＧＭ、効果音、又は音声などのゲーム音を生成し、音出力部１９２に出力する。
【００９３】
なお、本実施形態の端末は、１人のプレーヤのみがプレイできるシングルプレーヤモード、或いは、複数のプレーヤがプレイできるマルチプレーヤモードでゲームプレイできるように制御してもよい。例えば、マルチプレーヤモードで制御する場合には、ネットワークを介して他の端末とデータを送受信してゲーム処理を行うようにしてもよいし、１つの端末が、複数の入力部からの入力情報に基づいて処理を行うようにしてもよい。
【００９４】
２．概要
本実施形態では、シューティングゲームのための画像生成処理に関するものである。例えば、本実施形態では、プレーヤの操作対象の自機と、コンピュータオブジェクト或いは他のプレーヤのオブジェクトである敵機と、互いにミサイルや機関砲などで攻撃し合うフライトシューティングゲームに関するものである。
【００９５】
本実施形態では、自機と敵機が互いに相手をターゲットオブジェクト（標的）とし、互いにミサイルや機関砲を発射してターゲットオブジェクトを撃墜させるゲーム処理を行う。したがって、自機を操作するプレーヤは、自機から発射されるミサイルや機関砲を敵機にヒットさせるように攻撃操作を行い、敵機から発射されるミサイル等の攻撃から回避するように自機を移動させる操作を行う。つまり、プレーヤは、敵機の位置だけでなく、自機に対して敵機から発射された機関砲やミサイルの位置や方向を把握することが必要になる。
【００９６】
例えば、本実施形態では、図３に示すように、画面左下の一部の領域に地上を上からみたときの自機のマークＰＭと敵機のマークＥＭとの位置関係を簡略的に示したレーダーマップを表示している。これにより、プレーヤは自機に対する敵機の相対的な位置を把握できるようにすることはできる。しかし、本実施形態では、敵機から発射された機関砲やミサイルの位置や方向をレーダーマップに表示していないので、敵機から発射された機関砲やミサイルの位置や方向をプレーヤは認識することができず、敵機からの攻撃を回避することが難しくなる。
【００９７】
また、本実施形態では、レーダーマップ上に、敵機から発射された機関砲やミサイルの位置を表示してもよいが、かかる場合、プレーヤの視線移動を強いることになるので適切ではない。つまり、レーダーマップ上にミサイル等の位置を表示した場合に、プレーヤは、視線を画面中央部からレーダーマップに移動させてミサイル等の位置を確認することになる。この視線移動のタイムラグが、敵機からの攻撃を受けたり、自機が地面に撃墜するなど致命的なミスを発生させる要因となるおそれがある。特に、初心者は操作に不慣れであるので、レーダーマップへの視線移動を強いることは望ましくない。
【００９８】
そこで、本実施形態では、図４に示すように、スクリーンの中心位置（画面中心位置）を基準に、指示オブジェクトＭＫ（マーカー）を配置して画像を生成している。つまり、指示オブジェクトＭＫの配置状況で、プレーヤは、ミサイルの接近距離や接近方向を容易にかつ瞬時に認識することができる。
【００９９】
本実施形態では、現実世界のＨＵＤを模して、自機、敵機の移動情報を指示したＨＵＤ画像を生成し、オブジェクト空間の仮想カメラから見える画像とＨＵＤ画像とを合成した画像を生成して表示部に表示させる処理を行っている。つまり、本実施形態では、スクリーン上（画面上）にＨＵＤに関するオブジェクトを配置してＨＵＤ画像を生成する処理を行っている。特に本実施形態では、図４に示すように、指示オブジェクトＭＫのほかに、攻撃目標となる敵機の位置を示す攻撃目標マーク等を、ＨＵＤに関するオブジェクトとして描画している。
【０１００】
なお、ＨＵＤとは、Ｈｅａｄ−Ｕｐ  Ｄｉｓｐｌａｙの略であり、情報を直接映し出すディスプレイのことであり、フロントガラスなどの無色透明なスクリーンに、情報を投影するものである。
【０１０１】
３．指示オブジェクトの制御
３−１．指示オブジェクトの配置
次に、本実施形態において、敵機から自機に向けて発射された弾（機関砲、ミサイル）の位置及び方向を示すために、指示オブジェクトをスクリーン上に配置する処理について説明する。本実施形態では、弾１つあたり１つの指示オブジェクトを配置している。
【０１０２】
例えば、図５に示すように、本実施形態では、スクリーンの中心点Ｏをオブジェクト空間のＸＺ平面上の自機の位置Ｐ（Ｘｐ，Ｚｐ）に対応させると共に、スクリーンのｙ軸方向をオブジェクト空間のＸＺ平面上の自機の向き（機軸）に対応させている。そして、オブジェクト空間のＸＺ平面上において、自機の位置に対する弾の相対的な位置関係に基づいて、指示オブジェクトＭＫ１、ＭＫ２、ＭＫ３をスクリーン上に配置する処理を行っている。
【０１０３】
つまり、図５の例によれば、指示オブジェクトＭＫ１はスクリーンの中心位置Ｏの下方向の遠い位置にあるので、プレーヤは、弾が自機の後方にあり自機よりやや離れたところに位置していることを認識できる。また、指示オブジェクトＭＫ２はスクリーンの中心位置Ｏの右下方向のＭＫ１よりも近い位置にあるので、プレーヤは、弾が自機の後方右側にあり、指示オブジェクトＭＫ１で示す弾よりも自機に近い位置に存在していることを認識できる。また、指示オブジェクトＭＫ３は左上方向のスクリーン中心位置Ｏに最も近いところにあるので、プレーヤは弾が自機の前方左側にあり、指示オブジェクトＭＫ１、ＭＫ２で示す弾よりも自機に近い位置に存在していることを認識できる。
【０１０４】
このように、本実施形態では、オブジェクト空間（ワールド座標系）の自機の位置Ｐ（Ｘｐ，Ｚｐ）を中心とするＸＺ平面の３６０度の範囲の弾の位置、及び方向を、スクリーン上の指示オブジェクトＭＫの配置位置によって表現している。
【０１０５】
本実施形態の指示オブジェクトの配置手法についてより具体的に説明する。例えば、図６（Ａ）に示すように、オブジェクト空間において、ミサイルＭ１と自機ＰＯＢとの距離Ｌが１０〜１５キロメートル（１０＜Ｌ≦１５）である場合には、スクリーンの中心点Ｏを中心とする半径ｒ１の円周上に、指示オブジェクトＭＫ１を配置する。
【０１０６】
また、図６（Ｂ）に示すように、オブジェクト空間において、ミサイルＭ２と自機ＰＯＢとの距離Ｌが５〜１０キロメートル（５＜Ｌ≦１０）である場合には、スクリーン（画面）の中心点Ｏを中心とする半径ｒ２（ｒ２＜ｒ１）の円周上に、指示オブジェクトＭＫ２を配置する。
【０１０７】
そして、図６（Ｃ）に示すように、オブジェクト空間において、ミサイルＭ３と自機ＰＯＢとの距離Ｌが０〜５キロメートル（０＜Ｌ≦５）である場合には、スクリーンの中心点Ｏを中心とする半径ｒ３（ｒ３＜ｒ２＜ｒ１）の円周上に、指示オブジェクトＭＫ３を配置する。
【０１０８】
つまり、本実施形態では、自機ＰＯＢの位置Ｐ（Ｘｐ，Ｚｐ）とミサイルＭの位置Ｑ（Ｘｑ，Ｚｑ）との距離Ｌを求め、距離Ｌに基づいて、図６（Ａ）（Ｂ）（Ｃ）において、半径ｒ１の円、半径ｒ２の円、半径ｒ３の円のいずれの円周上に配置するかを決める。言い換えると、オブジェクト空間の自機ＰＯＢとミサイルとの距離に基づいて、スクリーン上の中心点Ｏと指示オブジェクトＭＫとの距離を変化させる。つまり、オブジェクト空間において、ミサイルＭが自機ＰＯＢに近づくにつれて、ミサイルＭに対応する指示オブジェクトＭＫを、画面中心点Ｏに接近させるように制御する。このようにすれば、ミサイルの接近距離を瞬時に把握することができる。
【０１０９】
また、本実施形態では、図７に示すように、オブジェクト空間の自機ＰＯＢに対するミサイルＭの方向に基づいて、スクリーン上の中心点Ｏに対する指示オブジェクトの方向を変化させるようにしてもよい。
【０１１０】
例えば、スクリーンの中心点Ｏを原点とするｘ軸、ｙ軸において、オブジェクト空間のＸＺ平面における自機ＰＯＢの位置Ｐ（Ｘｐ，Ｚｐ）をスクリーンの中心点Ｏ（ｘｏ，ｙｏ）に対応付けると共に、オブジェクト空間のＸＺ平面における自機ＰＯＢの向き（機首方向、機軸）をスクリーンｙ軸方向に対応付ける。
【０１１１】
そして、オブジェクト空間の自機ＰＯＢの位置Ｐ（Ｘｐ，Ｚｐ）に対するミサイルＭの位置Ｑ（Ｘｑ，Ｚｑ）の方向ＰＭＶを、指示オブジェクトＭＫの位置ＫＰ（ｘ＿ｋｐ，ｙ＿ｋｐ）からスクリーンの中心点Ｏに向かう方向に対応づける。つまり、ミサイルＭの位置Ｗから自機ＰＯＢの位置Ｐに向かう方向ＰＭＶを求め、求めた方向ＰＭＶに基づいて、スクリーン上の指示オブジェクトの位置ＫＰ（ｘ＿ｋｐ，ｙ＿ｋｐ）を決定し、位置ＫＰ（ｘ＿ｋｐ，ｙ＿ｋｐ）に指示オブジェクトを配置する処理を行う。言い換えると、オブジェクト空間の位置Ｐを原点とする機軸から位置Ｑへの角度θを、スクリーン上のｙ軸からの位置ＫＰ（ｘ＿ｋｐ，ｙ＿ｋｐ）への角度に対応させて、角度θの方向上に指示オブジェクトＭＫを配置する。
【０１１２】
つまり、本実施形態では、オブジェクト空間の自機ＰＯＢの位置Ｐ（Ｘｐ，Ｚｐ）とミサイルＭの位置Ｑ（Ｘｑ，Ｚｑ）までの距離Ｌと、位置Ｐ（Ｘｐ，Ｚｐ）に対する位置Ｑ（Ｘｑ，Ｚｑ）の方向ＰＭＶとに基づいて、指示オブジェクトＭＫをスクリーン上に配置する位置ＫＰ（ｘ＿ｋｐ，ｙ＿ｋｐ）を決定し、位置ＫＰ（ｘ＿ｋｐ，ｙ＿ｋｐ）に円弧形状のオブジェクトＭＫを配置する処理を行う。
【０１１３】
以上の処理によって本実施形態では、プレーヤが自機ＰＯＢに対するミサイルＭなどの弾の距離や方向を簡易に認識できる。
【０１１４】
なお、本実施形態では、図５に示すように、半径ｒ１がスクリーンの縦横の長さの半分以下の長さとなるようにｒ１を設定している。つまり、ｒ１≦Ｈ／２となるように半径ｒ１を設定し、ｒ２、ｒ３がｒ３＜ｒ２＜ｒ１の関係になるようにｒ２、ｒ３の半径を設定している。要するに、本実施形態では、半径ｒ１の円が、スクリーン内に収まるように設定する。
【０１１５】
また、本実施形態では、半径ｒ１、ｒ２、ｒ３の円を同心円とし、各円の中心点ＣＯをスクリーンの中心点Ｏとして設定している。言い換えると、スクリーンの中心点Ｏは、オブジェクト空間において、仮想カメラＣの視線方向ＣＶ（カメラ座標系のＺ方向）の点をスクリーン座標系に変換した点である。つまり、通常、プレーヤは、スクリーンの中心にプレーヤ自身の視点を合わせてゲームプレイを行うことが多いので、本実施形態ではスクリーンの中心点Ｏを基準に、ミサイルＭの配置位置を決定する処理を行っている。このようにすれば、プレーヤは自身の視点を大きく移動することなく、ミサイルＭの位置を瞬時に認識することができ、初心者など技量が劣るプレーヤにとっても簡易にミサイルＭを回避するように操作することができる。
【０１１６】
なお、本実施形態では、半径ｒ１、ｒ２、ｒ３の各円の中心点ＣＯを、スクリーンの中心点Ｏとは異なる位置に設定してもよい。例えば、図８に示すように、半径ｒ１、ｒ２、ｒ３の各円の中心点ＣＯを、スクリーンのｙ軸上の位置に設定してもよい。
【０１１７】
なお、本実施形態では、自機の表示位置に基づいて基準点（特定位置）を設定し、設定された基準点を中心に指示オブジェクトＭＫを配置するようにしてもよい。例えば、後方視点で自機を含む画像を生成している場合には、オブジェクト空間の自機ＰＯＢの位置Ｐ（Ｘｐ，Ｙｐ，Ｚｐ）を、スクリーン座標系に変換した表示位置座標ｐ（ｘｐ，ｙｐ）を、半径ｒ１、ｒ２、ｒ３の各円の中心点ＣＯとして設定してもよい。
【０１１８】
また、自機の表示領域とは異なる位置に指示オブジェクトを配置した方が望ましい場合があるので、スクリーン座標系に変換した自機ＰＯＢの表示位置座標ｐ（ｘｐ，ｙｐ）に追従する移動追従点ｅ（ｘｅ、ｙｅ）を求め、移動追従点ｅ（ｘｅ，ｙｅ）を、半径ｒ１、ｒ２、ｒ３の各円の中心点ＣＯとして設定してもよい。例えば、移動追従点ｅは、自機ＰＯＢの表示位置座標ｐ（ｘｐ，ｙｐ）から所定距離、所定方向離れた位置座標とすることができる。
【０１１９】
３−２．自機と弾との距離に基づいて指示オブジェクトを制御する手法
本実施形態では、自機と弾との距離に基づいて、半径ｒ１、ｒ２、ｒ３の円上に指示オブジェクトを配置するので、円に沿った円弧形状の指示オブジェクトを配置するように制御している。例えば、半径ｒ１の円に指示オブジェクトを配置する場合には、半径ｒ１の円の円弧形状（例えば内角度３０度の円弧形状）の指示オブジェクトＭＫ１を配置する。そして、半径ｒ２の円に指示オブジェクトを配置する場合には、半径ｒ２の円の円弧形状の指示オブジェクトＭＫ２を配置する。そして、半径ｒ３の円に指示オブジェクトを配置する場合には、半径ｒ３の円の円弧形状の指示オブジェクトＭＫ２を配置する。
【０１２０】
また、本実施形態では、自機と弾との距離に基づいて指示オブジェクトＭＫの大きさを変化させる制御を行ってもよい。例えば、ミサイルＭが自機ＰＯＢに接近するにつれて、指示オブジェクトＭＫの大きさを縮小するようにスケーリング制御している。具体的には、図９（Ａ）に示すように、半径ｒ１の円上に指示オブジェクトＭＫ１を配置する場合には、指示オブジェクトＭＫ１を１倍の大きさにし、半径ｒ２の円上に指示オブジェクトＭＫ２を配置する場合には、指示オブジェクトＭＫを０．７５倍の大きさにし、半径ｒ３の円上に指示オブジェクトＭＫ３を配置する場合には、指示オブジェクトＭＫ３を０．５倍の大きさにするようにしてもよい。このようにすれば、画面中心に指示オブジェクトＭＫが多く配置された場合であっても、オブジェクトＭＫを視認しやすくすることができる。
【０１２１】
また、本実施形態では、本物のＨＵＤのように表示させるようにするために、指示オブジェクトＭＫを半透明表示しないで表示している。したがって、指示オブジェクトＭＫの背景がわかるようにするために、指示オブジェクトＭＫを枠で表示し、或いは、網目模様のテクスチャを指示オブジェクトＭＫにマッピングしている。
【０１２２】
例えば、図９（Ｂ）に示すように、半径ｒ１の円に沿って指示オブジェクトＭＫ１を配置する場合には、指示オブジェクトＭＫ１に枠だけ表示し、半径ｒ２の円に沿って指示オブジェクトＭＫ２を配置する場合には、指示オブジェクトＭＫに粗い編目模様のテクスチャＴＡをマッピングし、半径ｒ３の円に沿って指示オブジェクトＭＫ３を配置する場合には、指示オブジェクトＭＫ３に、テクスチャＴＡよりも編目の詰まった網目模様のテクスチャＴＢをマッピングする。このようにすれば、ミサイルが接近するにつれて危険が増していることを表現することができる。
【０１２３】
４．ダメージ演出処理
本実施形態では、敵から発射された弾（ミサイル、機関砲）が、自機ＰＯＢにヒットしたか否かを判定し、弾が自機ＰＯＢにヒットしたと判定された場合には、ダメージ演出処理を行っている。本実施形態では、１つの弾によるヒットあたりに、１回のダメージ演出処理を行っている。
【０１２４】
例えば、図１０に示すように、弾が自機ＰＯＢにヒットしたと判定された場合に、半径ｒ３上に配置された指示オブジェクトＭＫを点滅させる処理を行う。また、図１１に示すように、弾が自機ＰＯＢにヒットしたと判定された場合に、スクリーンの右側、左側に赤い色を施した画像を既にフレームバッファに描画されている元画像に重ねて描画するオーバーレイ表示を行うようにしてもよい。このようにすれば、プレーヤは敵機からのミサイル攻撃等を受けたことを瞬時に認識することができる。
【０１２５】
本実施形態では、弾が自機ＰＯＢにヒットする度に、ダメージを蓄積したダメージ蓄積値Ｉを更新している。最終的にダメージ蓄積値Ｉが最大値（Ｉ＝１００）になると、自機が撃墜したものとみなされ、ゲームを終了する処理を行う。そこで、本実施形態では、ダメージ蓄積値をプレーヤに簡易に知らせるために、ダメージ蓄積値Ｉに基づいて、オーバーレイ表示を行う期間を調整している。
【０１２６】
例えば、ダメージ蓄積値Ｉが０〜５０（０≦Ｉ＜５０）である場合には、ヒットしたと判定された時点から２秒間オーバーレイ表示を行う。そして、ダメージ蓄積値Ｉが５０〜８０（５０≦Ｉ＜８０）である場合には、ヒットしたと判定された時点から１０秒間オーバーレイ表示を行う。そして、ダメージ蓄積値Ｉが８０〜１００（８０≦Ｉ＜１００）である場合には、ヒットしたと判定された時点から６０秒間オーバーレイ表示を行う。そして、ダメージ蓄積値Ｉが最大値（Ｉ＝１００）になると、ゲーム終了の演出処理を行う。
【０１２７】
なお、本実施形態では、弾が自機ＰＯＢにヒットしたと判定された場合に、１〜２秒間ＨＵＤ画像にノイズを施した画像を生成してもよい。また、弾が自機ＰＯＢにヒットしたと判定された場合に、ＨＵＤ画像に歪みを施した画像を生成してもよい。
【０１２８】
５．移動演算処理
本実施形態における移動処理について説明する。本実施形態では、入力部からの入力情報に基づいて、自機を移動させる処理を行う。例えば、フレーム毎に自機の位置を求め、求めた位置に自機を移動させる処理を行う。例えば、Ｎ−１フレーム目の自機の位置をＰ（Ｎ−１）、自機の移動ベクトルをＰＶ、１フレームの時間をＴとすると、Ｎフレーム目の自機の位置ＰＮは下式（１）によって求めることができる。
ＰＮ＝Ｐ（Ｎ−１）＋ＰＶ×Ｔ・・・（１）
【０１２９】
次に、自機、敵機などの機体から発射される機関砲やミサイルなどの弾の移動処理について説明する。まず、機関砲については、機関砲の移動ベクトルに基づいて、毎フレーム機関砲の位置を求め、求めた位置に移動させる処理を行う。
【０１３０】
そして、本実施形態においてミサイルの移動処理を行う場合には、ミサイルの追尾機能（誘導性能）に基づいて移動処理を行う。本実施形態では、ターゲットオブジェクトをロックオンしたことを条件に、ロックオン対象のターゲットオブジェクトを追尾して移動する誘導性能が備わっている。例えば、自機が敵機からロックオンされた場合であって、敵機からミサイルが自機に向けて発射されると、敵機から発射されたミサイルを自機に追尾して移動させる処理を行っている。
【０１３１】
なお、ロックオンとは、第１の機体と第２の機体との距離が所定距離以内（例えば１５キロメートル以内）になった場合に、第１の機体が第２の機体を攻撃目標として設定した状態のことをいう。例えば、敵機が自機の背後に位置し、敵機と自機との距離が所定距離以内になると、敵機が自機を攻撃目標として設定するロックオン状態となる。本実施形態では、ロックオン状態のときにミサイルを発射可能としている。
【０１３２】
また、図１２に示すように、本実施形態では、ミサイルＭの向きに基づいて所定範囲ＭＡを設定し、所定範囲ＭＡ内に自機ＰＯＢが位置しているか否かを判断し、ミサイルＭの所定範囲ＭＡ内に自機ＰＯＢが位置している場合にミサイルＭは自機ＰＯＢを追尾するように移動処理を行う。一方、ミサイルＭの所定範囲ＭＡ内に自機ＰＯＢが位置していない場合には、図１３に示すように、ミサイルＭは自機ＰＯＢを追尾せずに、追尾対象のオブジェクトが存在しないものと判断してミサイルＭをオブジェクト空間から消去する処理を行う。
【０１３３】
追尾移動処理について具体的に説明すると、本実施形態では、例えば、追尾係数Ｋ（Ｋ＞０）に基づいて、ミサイルＭの移動処理を行う。例えば、Ｎ−１フレーム目のミサイルの位置をＱ（Ｎ−１）とし、Ｎ−１フレーム目の自機ＰＯＢの位置をＰ（Ｎ−１）とし、ミサイルの移動ベクトルＭＶとし、１フレームの時間をＴとし、追尾係数をＫとすると、Ｎフレーム目のミサイルの位置ＱＮは下式（２）によって求めることができる。
ＱＮ＝Ｑ（Ｎ−１）＋ＭＶ×Ｔ＋Ｋ（Ｐ（Ｎ−１）−Ｑ（Ｎ−１））・・・（２）
【０１３４】
例えば、式（２）の追尾係数Ｋが大きくなるほどミサイルＭの追尾力を高めることができる。そして、追尾移動処理の結果、図１２に示すように、ミサイルＭの移動方向上に自機ＰＯＢが位置するとミサイルＭが自機ＰＯＢにヒットすることになり、図１３に示すように、ミサイルＭの移動方向上に自機ＰＯＢが位置しない場合にはミサイルＭが自機ＰＯＢにヒットしないことになる。また、自機ＰＯＢがミサイルＭの追尾力より速く逃げれば、自機ＰＯＢはミサイルＭの攻撃から逃れることができる。
【０１３５】
６．フローチャート
最後に、敵機から発射されたミサイルに関する指示オブジェクト表示の処理の流れについて、図１４を用いて説明する。まず、敵機から自機に向けてミサイルが発射されたか否かを判断する（ステップＳ１）。そして、敵機から自機に向けてミサイルが発射された場合に（ステップＳ１のＹ）、オブジェクト空間において、自機の位置に対するミサイルの相対的な距離及び方向に基づいて、指示オブジェクトをスクリーン上に配置する処理を行う（ステップＳ２）。そして、ミサイルが自機にヒットしたか否かを判定する（ステップＳ３）。ミサイルが自機にヒットした場合には（ステップＳ３のＹ）、ダメージ演出処理を行い（ステップＳ４）、処理を終了する。一方、ミサイルが自機にヒットしていない場合には（ステップＳ３のＮ）、ミサイルを回避したか否かを判定する（ステップＳ５）。ミサイルを回避していない場合には（ステップＳ５のＮ）、ステップＳ２の処理に戻る。一方、ミサイルを回避した場合には（ステップＳ５のＹ）、指示オブジェクトを消去する処理を行い（ステップＳ６）処理を終了する。以上で処理が終了する。
【０１３６】
７．応用例
本実施形態では、指示オブジェクトをオブジェクト空間（３次元）に配置し、オブジェクト空間において仮想カメラから見える画像を生成するようにしてもよい。つまり、ＨＵＤ画像に関する指示オブジェクトを３次元空間に配置して画像を生成するようにしてもよい。
【０１３７】
７−１．仮想カメラの視点位置に基づいて指示オブジェクトを配置する手法
例えば、本実施形態ではオブジェクト空間の仮想カメラの視点位置ＣＰに基づいて基準点（特定位置）ＤＰ１を設定し、基準点ＤＰ１に基づいて指示オブジェクトを配置する処理を行うようにしてもよい。
【０１３８】
つまり、本実施形態では、オブジェクト空間において自機ＰＯＢとミサイルＭとの距離Ｌ及び自機ＰＯＢに対するミサイルＭの方向に基づいて、指示オブジェクトＭＫを、基準点ＤＰ１を基準にオブジェクト空間に配置する処理を行うようにしてもよい。
【０１３９】
そして、この仮想カメラＣから見える指示オブジェクトＭＫを含む画像を生成する処理を行い、生成された画像を表示部に表示させる。このようにすれば、プレーヤはミサイルなどの接近について立体的に知ることができる。
【０１４０】
なお、本実施形態では、仮想カメラの視点位置ＣＰに基づいて基準点ＤＰ１を設定する。例えば、仮想カメラＣの注視点（注目点）を基準点ＤＰ１として設定してもよいし、仮想カメラＣの視線方向ＣＶ上であって仮想カメラの視点位置ＣＰから所定距離にある位置を基準点ＤＰ１としてもよい。また、仮想カメラＣの移動に追従する点を基準点ＤＰ１として設定してもよい。
【０１４１】
そして、本実施形態では、オブジェクト空間に指示オブジェクトを配置する場合も、スクリーン上に配置する場合と同じように、オブジェクト空間の自機ＰＯＢとミサイルＭとの距離に基づいて、オブジェクト空間の基準点と指示オブジェクトとの距離を変化させるようにしてもよい。例えば、ミサイルが自機に近づくにつれて視点からみて奥行き方向に遠ざかるように指示オブジェクトを配置してもよい。また、オブジェクト空間の自機に対するミサイルの方向に基づいて、オブジェクト空間の基準点に対する指示オブジェクトの方向を変化させるようにしてもよい。
【０１４２】
また、本実施形態では、図１５（Ａ）に示すように、指示オブジェクトの奥行き方向へ幅のある所定ボリュームＶＭ１内に指示オブジェクトＭＫ１、ＭＫ２、ＭＫ３を配置してもよい。例えば、仮想カメラＣのビューボリュームＣＡ内の所定ボリュームＶＭ１内に、指示オブジェクトＭＫ１、ＭＫ２、ＭＫ３を配置する。
【０１４３】
例えば、所定ボリュームＶＭ１は、Ｎｅａｒ  Ｐｌａｎｅ（前方クリッピング面）を含み、奥行き方向へ幅のあるボリュームである。より具体的には、所定ボリュームＶＭ１は、基準点ＤＰ１を頂点とし、カメラ座標系の所定奥行き値Ｚ１のＸＹ平面（Ｎｅａｒ  Ｐｌａｎｅ）の半径ｒ１の円を底面とする円錐状のボリュームである。
【０１４４】
そして、本実施形態では、例えば、オブジェクト空間において、ミサイルＭ１と自機ＰＯＢとの距離Ｌが１０〜１５キロメートル（１０＜Ｌ≦１５）である場合には、図１５（Ａ）に示すように、視点ＣＰを原点とするカメラ座標系の奥行き値がＺ１であって、図１５（Ｂ）に示すように、ＸＹ平面上の半径ｒ１の円周上に、ミサイルＭ１の指示オブジェクトＭＫ１を配置する。
【０１４５】
また、オブジェクト空間において、ミサイルＭ２と自機ＰＯＢとの距離Ｌが５〜１０キロメートル（５＜Ｌ≦１０）である場合には、図１５（Ａ）に示すように、視点ＣＰを原点とするカメラ座標系の奥行き値がＺ２（Ｚ１＜Ｚ２）であって、図１５（Ｂ）に示すように、ＸＹ平面上の半径ｒ２（ｒ２＜ｒ１）の円周上に、ミサイルＭ２の指示オブジェクトＭＫ２を配置する。
【０１４６】
そして、オブジェクト空間において、ミサイルＭ３と自機ＰＯＢとの距離Ｌが０〜５キロメートル（０＜Ｌ≦５）である場合には、図１５（Ａ）に示すように、視点ＣＰを原点とするカメラ座標系の奥行き値がＺ３（Ｚ１＜Ｚ２＜Ｚ３）であって、図１５（Ｂ）に示すように、ＸＹ平面上の半径ｒ３（ｒ３＜ｒ２＜ｒ１）の円周上に、ミサイルＭ３の指示オブジェクトＭＫ３を配置する。
【０１４７】
以上のように、本実施形態では、ミサイルと自機との距離に基づいて、指示オブジェクトの平面上（ＸＹ面上）だけでなく、奥行き方向への配置状態も変化するので、ミサイルが自機に接近している距離や方向を瞬時に把握することができる。
【０１４８】
７−２．自機の位置に基づいて指示オブジェクトを配置する手法
本実施形態ではオブジェクト空間の自機の位置Ｐに基づいて基準点（特定位置）ＤＰ２を設定し、基準点ＤＰ２に基づいて指示オブジェクトを配置する処理を行うようにしてもよい。
【０１４９】
つまり、本実施形態では、オブジェクト空間において自機ＰＯＢとミサイルＭとの距離Ｌ及び自機ＰＯＢに対するミサイルＭの方向に基づいて、指示オブジェクトＭＫを、基準点ＤＰ２を基準にオブジェクト空間に配置する処理を行うようにしてもよい。
【０１５０】
そして、自機ＰＯＢの移動に追従する仮想カメラＣから見える指示オブジェクトＭＫを含む画像を生成する処理を行い、生成された画像を表示部に表示させる。このようにすれば、プレーヤはミサイルなどの接近について立体的に知ることができる。
【０１５１】
なお、本実施形態では、オブジェクト空間の自機ＰＯＢの位置Ｐに基づいて基準点ＤＰ２を設定する。例えば、自機ＰＯＢの位置Ｐから所定距離、所定方向離れた位置を基準点ＤＰ２として設定してもよいし、自機ＰＯＢの向き上の、自機ＰＯＢの位置Ｐから所定距離（例えば２メートル）離れた位置を基準点ＤＰ２として設定してもよい。また、自機ＰＯＢの移動に追従する点を基準点ＤＰ２として設定してもよい。
【０１５２】
そして、本実施形態では、オブジェクト空間に指示オブジェクトを配置する場合も、スクリーン上に配置する場合と同じように、オブジェクト空間の自機ＰＯＢとミサイルＭとの距離に基づいて、オブジェクト空間の基準点と指示オブジェクトとの距離を変化させるようにしてもよい。例えば、ミサイルが自機に近づくにつれて自機ＰＯＢの位置Ｐから奥行き方向に遠ざかるように指示オブジェクトを配置してもよい。また、オブジェクト空間の自機に対するミサイルの方向に基づいて、オブジェクト空間の基準点に対する指示オブジェクトの方向を変化させるようにしてもよい。
【０１５３】
また、本実施形態では、図１６（Ａ）に示すように、指示オブジェクトを奥行き方向へ幅のある所定ボリュームＶＭ２内に指示オブジェクトＭＫ１、ＭＫ２、ＭＫ３を配置してもよい。
【０１５４】
例えば、所定ボリュームＶＭ２は、自機ＰＯＢの位置Ｐを原点とするモデル座標系において、奥行き方向へ幅のあるボリュームである。例えば、基準点ＤＰ２を頂点とし、モデル座標系の所定奥行き値Ｚ１のＸＹ平面上の半径ｒ１の円を底面とする円錐状のボリュームとすることができる。
【０１５５】
そして、本実施形態では、例えば、オブジェクト空間において、ミサイルＭ１と自機ＰＯＢとの距離Ｌが１０〜１５キロメートル（１０＜Ｌ≦１５）である場合には、図１６（Ａ）に示すように、自機ＰＯＢのモデル座標系の奥行き値がＺ１であって、図１６（Ｂ）に示すように、ＸＹ平面上の半径ｒ１の円周上に、ミサイルＭ１の指示オブジェクトＭＫ１を配置する。
【０１５６】
また、オブジェクト空間において、ミサイルＭ２と自機ＰＯＢとの距離Ｌが５〜１０キロメートル（５＜Ｌ≦１０）である場合には、図１６（Ａ）に示すように、自機ＰＯＢのモデル座標系の奥行き値がＺ２（Ｚ１＜Ｚ２）であって、図１６（Ｂ）に示すように、ＸＹ平面上の半径ｒ２（ｒ２＜ｒ１）の円周上に、ミサイルＭ２の指示オブジェクトＭＫ２を配置する。
【０１５７】
そして、オブジェクト空間において、ミサイルＭ３と自機ＰＯＢとの距離Ｌが０〜５キロメートル（０＜Ｌ≦５）である場合には、図１６（Ａ）に示すように、自機ＰＯＢのモデル座標系の奥行き値がＺ３（Ｚ１＜Ｚ２＜Ｚ３）であって、図１６（Ｂ）に示すように、ＸＹ平面上の半径ｒ３（ｒ３＜ｒ２＜ｒ１）の円周上に、ミサイルＭ３の指示オブジェクトＭＫ３を配置する。
【０１５８】
以上のように、本実施形態では、ミサイルと自機との距離に基づいて、指示オブジェクトの平面上（ＸＹ面上）だけでなく、自機ＰＯＢを基準とする奥行き方向への配置状態も変化するので、ミサイルが近づいている様子を瞬時に把握することができる。
【０１５９】
７−３．仮想カメラから見て遮蔽物よりも手前に指示オブジェクトを配置する手法
また、本実施形態では、仮想カメラＣから見て指示オブジェクトＭＫを遮蔽する遮蔽物オブジェクトＤＯＢ（例えば、建物、ビルなど）が存在する場合には、仮想カメラＣに対して遮蔽物オブジェクトＤＯＢよりも前に、指示オブジェクトＭＫを配置するようにしてもよい。このようにすれば、プレーヤが常にミサイルの位置や方向を、指示オブジェクトＭＫによって確認できるからである。
【０１６０】
より具体的に説明すると、例えば、図１７（Ａ）に示すように、遮蔽物オブジェクトＤＯＢよりも仮想カメラＣから見て奥側に指示オブジェクトＭＫ２、ＭＫ３が存在する場合がある。かかる場合には、次のように、指示オブジェクトＭＫ２、ＭＫ３を配置する。例えば、図１７（Ｂ）に示すように、仮想カメラＣのカメラ座標系の奥行き値Ｚ１であるＮｅａｒ  Ｐｌａｎｅ（所定ボリュームＶＭ１の底面）に、指示オブジェクトＭＫ２、ＭＫ３を配置する。
【０１６１】
また、図１７（Ｃ）に示すように、奥行き値Ｚ１（Ｎｅａｒ  Ｐｌａｎｅ）から遮蔽物オブジェクトＤＯＢが位置する奥行き値Ｚｄまでの範囲（Ｚ１≦Ｚ＜Ｚｄ）に、指示オブジェクトＭＫ２、ＭＫ３を配置する。かかる場合には、ミサイルと自機との距離及び方向に基づいて、指示オブジェクトＭＫ２、ＭＫ３を配置する。
【０１６２】
また、図１７（Ｄ）に示すように、仮想カメラＣの位置を、位置ＣＰを視線方向に対して逆方向の位置ＣＰ´に移動させるようにしてもよい。つまり、仮想カメラＣをワールド座標系のＺＷ１からＺＷ０に移動させる。
【０１６３】
また、図１７（Ｄ）に示すように、仮想カメラＣから見て遮蔽物オブジェクトＤＯＢよりも手前に所定ボリュームＶＭ１を移動させるようにしてもよい。つまり、基準点ＤＰ１をワールド座標系のＺＷ４から遮蔽物オブジェクトＤＯＢの位置ＺＷ３より仮想カメラ側の位置ＺＷ２（ＺＷ２＜ＺＷ３）に移動させて、基準点ＤＰ１に基づく所定ボリュームＶＭ１を設定するようにしてもよい。そして、所定ボリュームＶＭ１において、指示オブジェクトＭＫ１〜ＭＫ３を配置する。以上の処理によって、本実施形態では、プレーヤは確実に指示オブジェクトを確認することができ、ミサイルの接近を予知することができる。
【０１６４】
また、本実施形態では、自機ＰＯＢの位置Ｐに基づいて設定された基準点ＤＰ２を基準に、オブジェクト空間に指示オブジェクト配置する場合においても、仮想カメラＣに対して遮蔽物オブジェクトＤＯＢよりも前に、指示オブジェクトを配置するようにしてもよい。
【０１６５】
より具体的に説明すると、例えば、図１８（Ａ）に示すように、遮蔽物オブジェクトＤＯＢよりも仮想カメラＣから見て奥側に指示オブジェクトＭＫ２、ＭＫ３が存在する場合がある。かかる場合には、次のように、指示オブジェクトＭＫ２、ＭＫ３を配置する。例えば、図１８（Ｂ）に示すように、自機ＰＯＢのモデル座標系の奥行き値Ｚ１である面（所定ボリュームＶＭ２の底面）に、指示オブジェクトＭＫ２、ＭＫ３を配置する。
【０１６６】
また、図１８（Ｃ）に示すように、自機ＰＯＢのモデル座標系の奥行き値Ｚ１から遮蔽物オブジェクトＤＯＢが位置する奥行き値Ｚｄまでの範囲（Ｚ１≦Ｚ＜Ｚｄ）に、指示オブジェクトＭＫ２、ＭＫ３を配置する。かかる場合には、ミサイルと自機との距離及び方向に基づいて、指示オブジェクトＭＫ２、ＭＫ３を配置する。
【０１６７】
また、図１８（Ｄ）に示すように、仮想カメラＣから見て遮蔽物オブジェクトＤＯＢよりも手前に所定ボリュームＶＭ２を移動させるようにしてもよい。つまり、基準点ＤＰ２をワールド座標系のＺＷ４から遮蔽物オブジェクトＤＯＢの位置ＺＷ３より仮想カメラ側の位置ＺＷ２（ＺＷ２＜ＺＷ３）に移動させて、基準点ＤＰ２に基づく所定ボリュームＶＭ２を設定するようにしてもよい。そして、所定ボリュームＶＭ２において、指示オブジェクトＭＫ１〜ＭＫ３を配置する。以上の処理によって、本実施形態では、プレーヤは確実に指示オブジェクトを確認することができ、ミサイルの接近を予知することができる。
【０１６８】
７−４．立体視画像への応用
また、本実施形態では、立体視画像に応用してもよい。すなわち、本実施形態の描画部１２０が、立体視のための左目用仮想カメラから見える左目用画像と、立体視のための右目用仮想カメラから見える右目用画像とを生成し、当該左目用画像と当該右目用画像とを合成して立体視用画像を生成する処理を行うようにしてもよい。
【０１６９】
ここで、立体視画像とは、人間の左右の眼の視線角度のずれ、輻輳、焦点距離（ピント調整）の生理的機能を利用して、立体物があるかのように感じることができる画像のことである。
【０１７０】
例えば、図１９（Ａ）（Ｂ）に示すように、オブジェクト空間に所定間隔ｄをおいて、左目用仮想カメラＣＬを位置ＣＰＬに配置すると共に、右目用仮想カメラＣＲを位置ＣＰＲに配置する。なお、左右の仮想カメラＣＬ、ＣＲは、仮想カメラ制御部１１７によって制御される。例えば、仮想カメラＣＬ、ＣＲは、自機の移動に追従させるように制御する。
【０１７１】
そして、図１９（Ａ）（Ｂ）に示すように、左目用画像を生成する際には、視点位置ＣＰＬを原点として、視線方向ＣＶＬを正方向にとった左目用視点座標系を設定し、オブジェクトを左目用視点座標系に座標変換し、投影面であるスクリーン座標系へオブジェクトの各頂点座標を透視投影変換し、左目用画像ＩＬを生成する。そして、左目用画像ＩＬのデータを左目用画像バッファに記憶する。
【０１７２】
同様に、図１９（Ａ）（Ｂ）に示すように、右目用画像を生成する際には、視点位置ＣＰＲを原点として、視線方向ＣＶＲを正方向にとった右目用視点座標系を設定し、オブジェクトを右目用視点座標系に座標変換し、投影面であるスクリーン座標系へオブジェクトの各頂点座標を透視投影変換し、右目用画像ＩＲを生成する。そして、右目用画像ＩＲのデータを、右目用画像バッファに記憶する。
【０１７３】
そして、左目用画像バッファに記憶された左目用画像ＩＬと、右用画像バッファに記憶された右目用画像ＩＲに基づいて、立体視画像を生成し、立体視画像バッファに記憶する。なお、立体視画像を生成する際はアナグリフ処理を行うようにしてもよい。つまり、本実施形態では、アナグリフ処理により左目用画像と右目用画像との色を変えて立体視画像を生成し、左右の目で異なる色フィルタ（例えば、左目が赤、右目が青）を介して見るようにして立体視を実現するようにしてもよい。
【０１７４】
また、本実施形態では、いわゆる「偏光式」による立体視を実現してもよい。例えば、立体視画像を上映するプロジェクタのレンズの前に、特定方向の光のみ通過させるフィルターを設定し、左右の映像を分離する手法によって立体視を実現してもよい。また、本実施形態では、いわゆる「シャッター式」による立体視を実現してもよい。例えば、左目用画像と右目用画像とを交互に表示し、眼鏡に組み込まれた液晶シャッターを左右交互に開閉して右目には右目用画像、左目には左目用画像が見えるようにして、立体視を実現してもよい。その他、様々な手法によって、立体視を実現することができる。
【０１７５】
なお、本実施形態では、立体視画像を生成する際においても、図１９（Ａ）（Ｂ）に示すように、左目用仮想カメラ及び右目用仮想カメラの視点ＣＰＲ、ＣＰＬに基づいて共通の基準点ＤＰ１、所定ボリュームＶＭ１を設定して指示オブジェクトを配置するようにしてもよい。
【０１７６】
例えば、図１９（Ａ）（Ｂ）に示すように、左目用仮想カメラＣＬの視線方向ＣＶＬと右目用仮想カメラＣＲの視線方向ＣＶＲとが平行になるように左目用仮想カメラＣＬと右目用仮想カメラＣＲとをオブジェクト空間に配置する場合には、次のように基準点ＤＰ１を設定する。例えば、左目用仮想カメラＣＬの視点位置ＣＰＬと、右目用仮想カメラＣＲの視点位置ＣＰＲとに基づいて、基準点ＤＰ１を設定する。具体的には、左目用仮想カメラＣＬの注視点と、右目用仮想カメラＣＲの注視点との中点を基準点ＤＰ１として設定してもよい。また、左目用仮想カメラＣＬの視線方向ＣＶＬ上であって左目用仮想カメラＣＬの視点位置ＣＰＬから所定距離にある位置ＤＰＬと、右目用仮想カメラＣＲの視線方向ＣＶＲ上であって右目用仮想カメラＣＲの視点位置ＣＰＲから所定距離にある位置ＤＰＲとの中点を基準点ＤＰ１として設定してもよい。また、左目用仮想カメラＣＬ及び右目用仮想カメラＣＲの移動に追従する点を基準点ＤＰ１として設定してもよい。
【０１７７】
そして、図１９（Ａ）（Ｂ）に示すように、基準点ＤＰ１に基づいて所定ボリュームＶＭ１を設定する。つまり、左目用仮想カメラＣＬの視点位置ＣＰＬ、右目用仮想カメラＣＲの視点位置ＣＰＲを基準に奥行き方向へ幅のあるボリュームを所定ボリュームＶＭ１として設定する。例えば、所定ボリュームＶＭ１は、基準点ＤＰ１を頂点とし、左目用仮想カメラＣＬ、右目用仮想カメラＣＲの各カメラ座標系の所定奥行き値Ｚ１のＸＹ平面（例えば、各カメラ座標系のＮｅａｒ  Ｐｌａｎｅを有する平面）の半径ｒ１の円を底面とする円錐状のボリュームとする。
【０１７８】
そして、オブジェクト空間において自機ＰＯＢとミサイルＭとの距離Ｌ及び自機ＰＯＢに対するミサイルＭの方向に基づいて、指示オブジェクトＭＫを、仮想カメラＣＬ、ＣＲの視点移動に追従する基準点ＤＰ１を基準に、オブジェクト空間に配置する処理を行ってもよい。これにより、立体視画像により、さらに奥行き感のあるミサイルの接近度合いを表示することができる。
【０１７９】
また、本実施形態では、立体視画像を生成する場合においても、図２０に示すように、自機ＰＯＢの位置Ｐに基づいて指示オブジェクトを配置するようにしてもよい。つまり、本実施形態では、オブジェクト空間において自機ＰＯＢとミサイルＭとの距離Ｌ及び自機に対するミサイルＭの方向に基づいて、指示オブジェクトＭＫを、自機ＰＯＢの移動に追従する基準点ＤＰ２を基準に、オブジェクト空間に配置するようにしてもよい。これにより、立体視画像により、さらに奥行き感のあるミサイルの接近度合いを表示することができる。
【０１８０】
また、本実施形態では、立体視画像を生成する場合においても、仮想カメラから見て遮蔽物よりも手前に指示オブジェクトを配置するようにしてもよい。つまり、本実施形態では、左目用仮想カメラＣＬ、右目用仮想カメラＣＲから見て指示オブジェクトＭＫを遮蔽する遮蔽物オブジェクトＤＯＢ（例えば、建物、ビルなど）が存在する場合には、左目用仮想カメラＣＬ、右目用仮想カメラＣＲに対して遮蔽物オブジェクトＤＯＢよりも前に、指示オブジェクトを配置するように制御する。したがって、立体視の画像においても、プレーヤは、指示オブジェクトを視認することができる。
【符号の説明】
【０１８１】
１００  処理部、１１０  受け付け部、１１１  オブジェクト配置部、
１１２  移動・動作処理部、１１２ａ  移動処理部、
１１３  指示オブジェクト制御部、１１４  ヒット判定部、１１５  ゲーム演算部、
１１６  ダメージ演出処理部、１１７  仮想カメラ制御部、１１８  通信制御部
１２０  描画部、１３０  音処理部、１６０  入力部、１６２  検出部、
１７０  記憶部、１７１  主記憶部、１７２  画像バッファ、
１７３  オブジェクトデータ記憶部、１８０  情報記憶媒体、１９０  表示部、
１９２  音出力部、１９６  通信部、
ＭＫ、ＭＫ１、ＭＫ２、ＭＫ３  指示オブジェクト、
Ｏ  スクリーンの中心位置、
ｒ１、ｒ２、ｒ３  半径、
ＣＯ  ｒ１、ｒ２、ｒ２の円の中心点、
Ｗ  スクリーンの横の長さ、Ｈ  スクリーンの縦の長さ、
ＮＰＣ  敵機（第２のオブジェクトの一例）、
Ｃ  仮想カメラ、ＣＰ  視点位置、ＣＶ  視線方向、ＣＡ  視野範囲、
ＰＯＢ  自機（第１のオブジェクト一例）、
ＰＶ  自機の移動速度ベクトル、
Ｐ、Ｐ１、Ｐ２、Ｐ３  自機の位置（代表点）、
Ｍ、Ｍ１、Ｍ２、Ｍ３  ミサイル、
Ｑ、Ｑ１、Ｑ２、Ｑ３  ミサイルの位置、
Ｌ  弾と第１のオブジェクトとの距離、
ＰＭＶ  第１のオブジェクトに対する弾の方向、
ＴＡ、ＴＢ  テクスチャ、
ＭＡ  所定範囲、
ＣＡ  ビューボリューム（視野範囲）、
ＤＰ１  基準点、ＶＭ１  ＤＰ１を基準に設定された所定ボリューム、
ＤＰ２  基準点、ＶＭ２  ＤＰ２を基準に設定された所定ボリューム、
ＣＬ  左目用仮想カメラ、
ＣＰＬ  左目用仮想カメラの視点位置、
ＣＲ  右目用仮想カメラ、
ＣＰＲ  右目用仮想カメラの視点位置、
【図１】
2011212123.tif 000003
【図３】
2011212123.tif 000004
【図４】
2011212123.tif 000005
【図５】
2011212123.tif 000006
【図６】
2011212123.tif 000007
【図７】
2011212123.tif 000008
【図８】
2011212123.tif 000009
【図９】
2011212123.tif 000010
【図１０】
2011212123.tif 000011
【図１２】
2011212123.tif 000012
【図１３】
2011212123.tif 000013
【図１４】
2011212123.tif 000014
【図２】
2011212123.tif 000015
【図１１】
2011212123.tif 000016
【図１５】
2011212123.tif 000017
【図１６】
2011212123.tif 000018
【図１７】
2011212123.tif 000019
【図１８】
2011212123.tif 000020
【図１９】
2011212123.tif 000021
【図２０】
2011212123.tif 000022