(57)【特許請求の範囲】
【請求項１】
入力手段からの信号に応じて操作自在な操作オブジェクトを、メモリ手段に設定された３次元仮想空間内に生成されたフィールド上で移動制御するゲームを、コンピュータに実行させるためのゲームプログラムであって、
前記ゲームプログラムは、前記コンピュータを、
前記操作オブジェクトと、前記フィールドを構成する背景オブジェクトとのポリゴンを生成し、前記メモリ手段に設定された３次元仮想空間内に配置する、ポリゴン生成配置手段、
前記入力手段からの信号に応じて、前記ポリゴン生成配置手段により背景オブジェクトが配置された前記３次元仮想空間内で、前記操作オブジェクトを移動制御する、操作オブジェクト移動制御手段、
前記３次元仮想空間内の視野範囲を設定する仮想カメラを、該仮想カメラの移動経路として前記３次元仮想空間内に予め設定されたデフォルト経路上で、前記操作オブジェクト移動制御手段により移動制御された操作オブジェクトに追従するように移動制御する、第１の仮想カメラ移動制御手段、
前記入力手段からの第１の信号に応じて、前記仮想カメラの前記移動経路を、前記３次元仮想空間内に予め設定されたデフォルト経路から、前記入力手段からの第１の信号に応じて変化するように設定されたシフト値だけ離れた当該デフォルト経路とは異なる経路に変更する、移動経路変更手段、
前記仮想カメラを、前記デフォルト経路上から、前記移動経路変更手段により変更された移動経路上で、前記操作オブジェクトに追従するように移動制御する、第２の仮想カメラ移動制御手段、
前記移動経路変更手段により変更された移動経路上を移動する仮想カメラと、前記ポリゴン生成配置手段により前記３次元仮想空間内に配置された背景オブジェクトとの間の距離を演算する、距離演算手段、
前記距離演算手段により演算された距離が所定値以下の背景オブジェクトを検出する、背景オブジェクト検出手段、
前記背景オブジェクト検出手段により距離が所定値以下の背景オブジェクトが検出された場合に、前記シフト値から一定値を減算し、当該減算されたシフト値だけ前記デフォルト経路から離れた経路に、前記変更された移動経路を補正して、前記所定値以下の背景オブジェクトから前記仮想カメラを遠ざける、移動経路補正手段、
前記移動経路補正手段により経路が補正された際に、前記入力手段から更に、前記入力手段からの前記第１の信号の最大値又は最小値が、第２の信号として入力された場合、当該第２の信号が入力された時点の、前記移動経路補正手段により前記減算されたシフト値を前記メモリ手段の所定のデータ領域に固定的に格納し、前記仮想カメラを前記デフォルト経路から前記固定的に格納されたシフト値だけ離れた経路上を、前記第１の信号に関係なく移動制御する、移動経路固定手段、
前記入力手段から前記第２の信号が入力された後、更に前記入力手段から、前記入力手段からの前記第１の信号の最大値又は最小値が、第３の信号として入力された場合に、前記仮想カメラの移動経路を、前記移動経路固定手段により移動制御される、前記デフォルト経路から前記固定的に格納されたシフト値だけ離れた移動経路から前記デフォルト経路に変更し、前記仮想カメラを前記デフォルト経路上で移動させる、デフォルト経路復帰手段、
前記仮想カメラが設定する視野範囲内のポリゴンをレンダリングして２次元画像を生成し、ディスプレイ上に表示する、２次元画像生成表示手段、
として機能させるためのプログラムであることを特徴とするゲームプログラム。
【請求項２】
前記ゲームプログラムは、更に前記コンピュータを、
前記入力手段からの信号に応じて、前記仮想カメラの視線方向を変更する、視線方向制御手段、
として機能させるためのプログラムであることを特徴とする、請求項１記載のゲームプログラム。
【請求項３】
入力手段からの信号に応じて操作自在な操作オブジェクトをメモリ手段に設定された３次元仮想空間内に生成されたフィールド上で移動制御することの出来るゲーム装置であって、
前記ゲーム装置は、
前記操作オブジェクトと、前記フィールドを構成する背景オブジェクトとのポリゴンを生成し、前記メモリ手段に設定された３次元仮想空間内に配置する、ポリゴン生成配置手段、
前記入力手段からの信号に応じて、前記ポリゴン生成配置手段により背景オブジェクトが配置された３次元仮想空間内で、前記操作オブジェクトを移動制御する、操作オブジェクト移動制御手段、
前記３次元仮想空間内の視野範囲を設定する仮想カメラを、該仮想カメラの移動経路として３次元仮想空間内に予め設定されたデフォルト経路上で、前記操作オブジェクト移動制御手段により移動制御された操作オブジェクトに追従するように移動制御する、第１の仮想カメラ移動制御手段、
前記入力手段からの第１の信号に応じて、前記仮想カメラの前記移動経路を、前記３次元仮想空間内に予め設定されたデフォルト経路から、前記入力手段からの第１の信号に応じて変化するように設定されたシフト値だけ離れた当該デフォルト経路とは異なる経路に変更する、移動経路変更手段、
前記仮想カメラを、前記デフォルト経路上から、前記移動経路変更手段により変更された移動経路上で、前記操作オブジェクトに追従するように移動制御する、第２の仮想カメラ移動制御手段、
前記移動経路変更手段により変更された移動経路上を移動する仮想カメラと、前記ポリゴン生成配置手段により３次元仮想空間内に配置された背景オブジェクトとの間の距離を演算する、距離演算手段、
前記距離演算手段により演算された距離が所定値以下の背景オブジェクトを検出する、背景オブジェクト検出手段、
前記背景オブジェクト検出手段により距離が所定値以下の背景オブジェクトが検出された場合に、前記シフト値から一定値を減算し、当該減算されたシフト値だけ前記デフォルト経路から離れた経路に、前記変更された移動経路を補正して、前記所定値以下の背景オブジェクトから前記仮想カメラを遠ざける、移動経路補正手段、
前記移動経路補正手段により経路が補正された際に、前記入力手段から更に、前記入力手段からの前記第１の信号の最大値又は最小値が、第２の信号として入力された場合、当該第２の信号が入力された時点の、前記移動経路補正手段により前記減算されたシフト値を前記メモリ手段の所定のデータ領域に固定的に格納し、前記仮想カメラを前記デフォルト経路から前記固定的に格納されたシフト値だけ離れた経路上を、前記第１の信号に関係なく移動制御する、移動経路固定手段、
前記入力手段から前記第２の信号が入力された後、更に前記入力手段から、前記入力手段からの前記第１の信号の最大値又は最小値が、第３の信号として入力された場合に、前記仮想カメラの移動経路を、前記移動経路固定手段により移動制御される、前記デフォルト経路から前記固定的に格納されたシフト値だけ離れた移動経路から前記デフォルト経路に変更し、前記仮想カメラを前記デフォルト経路上で移動させる、デフォルト経路復帰手段、
前記仮想カメラが設定する視野範囲内のポリゴンをレンダリングして２次元画像を生成し、ディスプレイ上に表示する、２次元画像生成表示手段、
を有して構成したことを特徴とするゲーム装置。
【請求項４】
前記入力手段は、着脱自在に設けられたコントローラであり、
該コントローラには、ジョイステックが操作自在に設けられており、
前記第１第２及び第３の信号は、前記コントローラに設けられたジョイステックを操作することにより出力されることを特徴とする、請求項３記載のゲーム装置。
【請求項５】
前記第１第２及び第３の信号は、前記コントローラに設けられた単一のジョイステックを操作することにより出力されることを特徴とする、請求項４記載のゲーム装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、障害物の多いフィールドであっても、カメラ位置を柔軟に設定出来るものでありながら、適正な撮影画像を安定的に表示することの出来る、ゲームプログラム及びゲーム装置に関する。
【０００２】
本明細書において、「ゲームソフトウェア」とは、プログラムそれ自体及び必要に応じて該プログラムに付随して関連づけられた各種のデータを含む概念である。しかし、「ゲームソフトウェア」は必ずしもデータと関連づけられている必要はないが、プログラムは必ず有している。また、この「関連づけられた各種のデータ」は、プログラムと共にＲＯＭディスクなどのメモリ手段に格納されていてもよく、更には、外部のメモリ手段にインターネットなどの通信媒介手段を介して読み出し自在に格納されていてもよい。
【背景技術】
【０００３】
従来、この種のゲームソフトウェアでは、例えば幅の狭い通路など、障害物（例えば壁）の多いフィールドを移動するキャラクタを、仮想的なカメラ（以下「仮想カメラ」という。）が追従するといったカメラワークが行われる。このような場合には、仮想カメラの移動経路を通路に固定した形で予め設定しておき、この移動経路に沿って仮想カメラを移動させる手法を取ることがある。このような通路はその幅が狭いため、適正な（つまり仮想カメラが壁などにめり込むことのない）撮影画像を得ることの出来るカメラ位置が限られていることから、仮想カメラの移動経路に自由度を与えることなく、固定した方が都合が良いからである。
【０００４】
従来、この種の技術としては、特許文献１に開示されたものが知られている。
【特許文献１】特開２００３−５８９１５号公報（段落００３２〜００４４参照）
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかし、ユーザーの個性は千差万別であることから、上述したように仮想カメラの移動経路を完全に固定してしまっては、ゲームソフトウェアを、各ユーザーの個性に応じた柔軟性のある製品にすることが出来ない。
【０００６】
そこで、仮想カメラの移動経路を固定した形で設定せずに、仮想カメラがキャラクタを自由に追従するようなカメラワークとする仕様も考えられるが、幅の狭い通路などでは、キャラクタのちょっとした動きで仮想カメラが壁などにめり込んでしまい、適正な撮影画像を安定的に得ることが困難な不都合がある。従って、カメラ位置の柔軟な設定と、適正な撮影画像の安定的な表示とを、調和的に実現することが望まれている。
【０００７】
本発明は、上記事情を鑑み、障害物の多いフィールドであっても、カメラ位置を柔軟に設定出来るものでありながら、適正な撮影画像を安定的に表示することの出来る、ゲームプログラム及びゲーム装置を提供することを目的とする。
【課題を解決するための手段】
【０００８】
請求項１の発明は、入力手段（１４）からの信号に応じて操作自在な操作オブジェクト（例えばＣＨ１）を、メモリ手段に設定された３次元仮想空間（３ＤＳ）内に生成されたフィールド（ＦＤ）上で移動制御するゲームを、コンピュータ（１）に実行させるためのゲームプログラム（ＧＳＷ）であって、
前記ゲームプログラム（ＧＳＷ）は、前記コンピュータ（１）を、
前記操作オブジェクト（ＣＨ１）と、前記フィールド（例えばＣＶ）を構成する背景オブジェクト（例えばＷＬＲ）とのポリゴンを生成し、前記メモリ手段に設定された３次元仮想空間（３ＤＳ）内に配置する、ポリゴン生成配置手段（ＰＧＰ）、
前記入力手段（１４）からの信号に応じて、前記ポリゴン生成配置手段（ＰＧＰ）により背景オブジェクト（ＷＬＲ）が配置された前記３次元仮想空間（３ＤＳ）内で、前記操作オブジェクト（ＣＨ１）を移動制御する、操作オブジェクト移動制御手段（ＰＧＰ）、
前記３次元仮想空間（３ＤＳ）内の視野範囲を設定する仮想カメラ（ＣＭ）を、該仮想カメラの移動経路（ＭＰ）として前記３次元仮想空間（３ＤＳ）内に予め設定されたデフォルト経路上で、前記操作オブジェクト移動制御手段（ＰＧＰ）により移動制御された操作オブジェクト（ＣＨ１）に追従するように移動制御する、第１の仮想カメラ移動制御手段（ＣＷＰ）、
前記入力手段（１４）からの第１の信号に応じて、前記仮想カメラの前記移動経路（ＭＰ）を、前記３次元仮想空間（３ＤＳ）内に予め設定されたデフォルト経路（ＭＰＤ）から、前記入力手段からの第１の信号に応じて変化するように設定されたシフト値だけ離れた当該デフォルト経路とは異なる経路（例えば図５に示すＭＰｃ１）に変更する、移動経路変更手段（ＭＰＰ）、
前記仮想カメラ（ＣＭ）を、前記デフォルト経路（ＭＰＤ）上から、前記移動経路変更手段（ＭＰＰ）により変更された移動経路（例えば図５に示すＭＰｃ１）上で、前記操作オブジェクトに追従するように移動制御する、第２の仮想カメラ移動制御手段、
前記移動経路変更手段（ＭＰＰ）により変更された移動経路（ＭＰ）上を移動する仮想カメラ（ＣＭ）と、前記ポリゴン生成配置手段（ＰＧＰ）により前記３次元仮想空間（３ＤＳ）内に配置された背景オブジェクト（ＷＬＲ）との間の距離を演算する、距離演算手段（ＳＭＰ）、
前記距離演算手段（ＳＭＰ）により演算された距離が所定値（例えばＸ０）以下の背景オブジェクト（ＷＬＲ）を検出する、背景オブジェクト検出手段（ＳＭＰ）、
前記背景オブジェクト検出手段により距離が所定値以下の背景オブジェクトが検出された場合に、前記シフト値から一定値を減算し、当該減算されたシフト値だけ前記デフォルト経路から離れた経路に、前記変更された移動経路を補正して、前記所定値以下の背景オブジェクトから前記仮想カメラを遠ざける、移動経路補正手段、
前記移動経路補正手段により経路が補正された際に、前記入力手段から更に、前記入力手段からの前記第１の信号の最大値又は最小値が、第２の信号として入力された場合、当該第２の信号が入力された時点の、前記移動経路補正手段により前記減算されたシフト値を前記メモリ手段の所定のデータ領域に固定的に格納し、前記仮想カメラを前記デフォルト経路から前記固定的に格納されたシフト値だけ離れた経路上を、前記第１の信号に関係なく移動制御する、移動経路固定手段、
前記入力手段から前記第２の信号が入力された後、更に前記入力手段から、前記入力手段からの前記第１の信号の最大値又は最小値が、第３の信号として入力された場合に、前記仮想カメラの移動経路を、前記移動経路固定手段により移動制御される、前記デフォルト経路から前記固定的に格納されたシフト値だけ離れた移動経路から前記デフォルト経路に変更し、前記仮想カメラを前記デフォルト経路上で移動させる、デフォルト経路復帰手段、
前記仮想カメラ（ＣＭ）が設定する視野範囲内のポリゴンをレンダリングして２次元画像を生成し、ディスプレイ（１１）上に表示する、２次元画像生成表示手段（ＰＤＰ、ＡＮＰ）、
として機能させるためのプログラムであることを特徴として構成される。
【０００９】
請求項２の発明は、前記ゲームプログラム（ＧＳＷ）は、更に前記コンピュータ（１）を、
前記入力手段からの信号に応じて、前記仮想カメラの視線方向を変更する、視線方向制御手段、
として機能させるためのプログラムであることを特徴として構成される。
【００１０】
請求項３の発明は、入力手段（１４）からの信号に応じて操作自在な操作オブジェクト（例えばＣＨ１）をメモリ手段に設定された３次元仮想空間（３ＤＳ）内に生成されたフィールド（ＦＤ）上で移動制御することの出来るゲーム装置（１）であって、
前記ゲーム装置は（１）、
前記操作オブジェクト（ＣＨ１）と、前記フィールド（例えばＣＶ）を構成する背景オブジェクト（例えばＷＬＲ）とのポリゴンを生成し、前記メモリ手段に設定された３次元仮想空間（３ＤＳ）内に配置する、ポリゴン生成配置手段（２、ＰＧＰ）、
前記入力手段（１４）からの信号に応じて、前記ポリゴン生成配置手段（２、ＰＧＰ）により背景オブジェクト（ＷＬＲ）が配置された３次元仮想空間内（３ＤＳ）で、前記操作オブジェクト（ＣＨ１）を移動制御する、操作オブジェクト移動制御手段（２、ＰＧＰ）、
前記３次元仮想空間（３ＤＳ）内の視野範囲を設定する仮想カメラ（ＣＭ）を、該仮想カメラの移動経路（ＭＰ）として３次元仮想空間（３ＤＳ）内に予め設定されたデフォルト経路上で、前記操作オブジェクト移動制御手段（２、ＰＧＰ）により移動制御された操作オブジェクト（ＣＨ１）に追従するように移動制御する、第１の仮想カメラ移動制御手段（２、ＣＷＰ）、
前記入力手段（１４）からの第１の信号に応じて、前記仮想カメラの前記移動経路（ＭＰ）を、前記３次元仮想空間内に予め設定されたデフォルト経路（ＭＰＤ）から、前記入力手段からの第１の信号に応じて変化するように設定されたシフト値だけ離れた当該デフォルト経路とは異なる経路（例えば図５に示すＭＰｃ１）に変更する、移動経路変更手段（２、ＭＰＰ）、
前記仮想カメラ（ＣＭ）を、前記デフォルト経路（ＭＰＤ）上から、前記移動経路変更手段（２、ＭＰＰ）により変更された移動経路（例えば図５に示すＭＰｃ１）上で、前記操作オブジェクトに追従するように移動制御する、第２の仮想カメラ移動制御手段、
前記移動経路変更手段（２、ＭＰＰ）により変更された移動経路（ＭＰ）上を移動する仮想カメラ（ＣＭ）と、前記ポリゴン生成配置手段（２、ＰＧＰ）により３次元仮想空間（３ＤＳ）内に配置された背景オブジェクト（ＷＬＲ）との間の距離を演算する、距離演算手段（２、ＳＭＰ）、
前記距離演算手段（２、ＳＭＰ）により演算された距離が所定値（例えばＸ０）以下の背景オブジェクト（ＷＬＲ）を検出する、背景オブジェクト検出手段（２、ＳＭＰ）、
前記背景オブジェクト検出手段により距離が所定値以下の背景オブジェクトが検出された場合に、前記シフト値から一定値を減算し、当該減算されたシフト値だけ前記デフォルト経路から離れた経路に、前記変更された移動経路を補正して、前記所定値以下の背景オブジェクトから前記仮想カメラを遠ざける、移動経路補正手段、
前記移動経路補正手段により経路が補正された際に、前記入力手段から更に、前記入力手段からの前記第１の信号の最大値又は最小値が、第２の信号として入力された場合、当該第２の信号が入力された時点の、前記移動経路補正手段により前記減算されたシフト値を前記メモリ手段の所定のデータ領域に固定的に格納し、前記仮想カメラを前記デフォルト経路から前記固定的に格納されたシフト値だけ離れた経路上を、前記第１の信号に関係なく移動制御する、移動経路固定手段、
前記入力手段から前記第２の信号が入力された後、更に前記入力手段から、前記入力手段からの前記第１の信号の最大値又は最小値が、第３の信号として入力された場合に、前記仮想カメラの移動経路を、前記移動経路固定手段により移動制御される、前記デフォルト経路から前記固定的に格納されたシフト値だけ離れた移動経路から前記デフォルト経路に変更し、前記仮想カメラを前記デフォルト経路上で移動させる、デフォルト経路復帰手段、
前記仮想カメラ（ＣＭ）が設定する視野範囲内のポリゴンをレンダリングして２次元画像を生成し、ディスプレイ（１１）上に表示する、２次元画像生成表示手段（８、ＰＤＰ、ＡＮＰ）、
を有して構成される。
【発明の効果】
【００１１】
請求項１または３の発明によれば、仮想カメラ（ＣＭ）が、背景オブジェクト（例えばＷＬＲ）に近接した際に、仮想カメラ（ＣＭ）がその背景オブジェクト（ＷＬＲ）にそれ以上近接しないように、移動経路（ＭＰ）が（例えば図５に示すＭＰｃ２に）補正されるので、仮想カメラを背景オブジェクトにめり込ませないようにすることが出来る。これにより、障害物の多いフィールドであっても、カメラ位置を柔軟に設定出来るものでありながら、適正な撮影画像を安定的に表示することの出来る。
【００１２】
また、プレーヤは、移動経路（ＭＰ）を、背景オブジェクト（例えばＷＬＲ）から遠ざけた形に補正された移動経路の変更状態（例えばΔＳ）を、自由に固定することが出来ると共に、変更状態（例えばΔＳ）を固定した移動経路（ＭＰ）をいつでもデフォルト経路（ＭＰＤ）に戻すことが出来るので、カメラ操作を簡単なものにすることが出来る。これにより、カメラ操作の柔軟性を確保しつつ、その操作性を高めることが出来る。
【００１３】
請求項２の発明によれば、プレーヤは、仮想カメラの視線方向（ＰＤ）を変更することが出来るので、撮影画像を安定的に表示するものでありながら、カメラ操作の柔軟性を更に高めることが出来る。
【００１４】
なお、括弧内の番号などは、本発明の理解を助けるために、図面における対応する要素を便宜的に示すものである。従って、本記述は図面上の記載に限定拘束されるものではなく、また、この符号の記載により本発明を解釈すべきでない。
【発明を実施するための最良の形態】
【００１５】
以下、図面に基づき、本発明の実施例を説明する。
【００１６】
図１は、ゲーム装置の制御ブロックの一例を示す図、図２は、右ジョイスティックの（一部省略）側面図、図３は、ゲームソフトウェアの構成の一例を示す図、図４は、仮想カメラの概念図、図５は、フィールドの一例である洞窟の（一部省略）上断面図である。
【００１７】
ゲーム装置１は、図１に示すように、家庭用ゲーム装置であり、マイクロプロセッサを主体として構成されたＣＰＵ２を有している。ＣＰＵ２には、バス３を介して、ＲＯＭ４、ＲＡＭ５、画像処理装置８、音声処理装置９、記録ディスク読取装置７、及びインターフェース１３が接続される。
【００１８】
記録ディスク６は、記憶媒体として機能するものであり、光学式記憶媒体である。記録ディスク６には、ゲームの実行に必要なプログラムやデータからなるゲームソフトウェアＧＳＷが格納されており、ゲーム装置１は、記録ディスク６に格納されたゲームソフトウェアＧＳＷに従って所定のゲームを実行する。記録ディスク読取装置７は、ＣＰＵ２からの指示に従ってゲームソフトウェアＧＳＷ中のプログラムやデータを読み取り、その読み取った内容に対応した信号を出力する。
【００１９】
なお、記録ディスク６は、光学式記憶媒体に限らず、半導体記憶素子、磁気記憶媒体、光磁気記憶媒体等の各種の記憶媒体を使用してよい。また、このような記憶媒体を用いることなく、例えば、インターネットなどの通信媒介手段を介してゲーム装置１とは独立したサーバから、ゲームソフトウェアＧＳＷを読み取ってもよい。
【００２０】
ＲＯＭ４及びＲＡＭ５は、ＣＰＵ２に対して主記憶装置として機能するものであり、ＲＯＭ４には、ゲーム装置１の全体の動作制御に必要なプログラムとしてのマルチタスクオペレーティングシステム（マルチタスクＯＳ）が書き込まれる。ＲＡＭ５には、記録ディスク６から読み取ったゲームソフトウェアＧＳＷ中のプログラムやデータが必要に応じて書き込まれる。
【００２１】
画像処理装置８には、フレームメモリ１０及びディスプレイ１１が接続され、画像処理回路８は、ＣＰＵ２から２次元画像データを受け取ってフレームメモリ１０上に撮影画像を描画するとともに、その描画された撮影画像を所定のビデオ再生信号に変換して所定のタイミングでディスプレイ１１に出力する。ディスプレイ１１としては、家庭用のテレビ受像機が一般に使用される。
【００２２】
音声処理装置９には、記録ディスク読取装置７及びスピーカ１２が接続され、音声処理装置９は、記録ディスク読取装置７が記録ディスク６から読み取った音声、楽音等のデータや音源データ等を再生して、スピーカ１２に出力する。スピーカ１２としては、テレビ受像機の内蔵スピーカが一般に使用される。
【００２３】
インターフェース１３には、コントローラ１４及び外部メモリ１５が、適宜な接続ポートを介してそれぞれ着脱自在に接続される。コントローラ１４及び外部メモリ１５は、インターフェース１３に対して複数並列に接続可能である。
【００２４】
コントローラ１４は、入力手段として機能するものであり、インターフェース１３に接続される本体１４ａを有している。本体１４ａには、操作部材として、例えば十字型の方向指示スイッチ１４ｂ、左ジョイスティック１４ｃ１、右ジョイスティック１４ｃ２、及び、例えば４個の押釦スイッチ１４ｄが設けられている。なお、図２に示す右ジョイスティック１４ｃ２の詳細については、後述する。
【００２５】
コントローラ１４から、各操作部材１４ｂ、１４ｃ１、１４ｃ２、１４ｄの操作状態に対応した操作信号が一定周期（例えば１／６０秒）でＲＡＭ５に入力され、ＣＰＵ２は、その操作信号に基づいてコントローラ１４の操作状態を判別する。
【００２６】
以上の構成において、ディスプレイ１１、スピーカ１２、コントローラ１４、記録ディスク６、及び外部メモリ１５を除く他の構成要素は、所定のハウジング内に一体的に収容されてゲーム装置１の本体を構成し、このゲーム装置１の本体がコンピュータとして機能する。
【００２７】
なお、コンピュータの一例として、家庭用ゲーム装置について説明したが、携帯型ゲーム装置やアーケードゲーム装置などのゲーム装置であってもよく、また、ゲーム専用の装置でなく、一般的な音楽や映像の記憶媒体の再生なども可能な装置であってもよい。更に、パーソナルコンピュータ、携帯電話、ＰＤＡ（携帯情報端末）などであってもよく、つまりゲームソフトウェアＧＳＷを実行させることのできるものであれば何れのものでもよい。
【００２８】
次いで、ゲームソフトウェアＧＳＷは、図３に示すように、ゲームを進行させる複数のプログラムがモジュール化された階層構造として構成されている。
【００２９】
図３左方に示す下位の階層には、入力処理プログラムＩＮＰ、サウンド処理プログラムＳＤＰ、画像処理プログラムＡＮＰなどのユーザインターフェースを処理するプログラムが格納されている。図３中央に示す上位の階層には、シナリオ処理プログラムＳＮＰなどが格納されている。図３右方に示す更に上位の階層には、ポリゴン処理プログラムＰＧＰ、画像データ生成プログラムＰＤＰ、カメラワーク処理プログラムＣＷＰ、移動経路変更プログラムＭＰＰ、シフト値補正プログラムＳＭＰなどの、ゲーム進行に必要な各種タスクを実行制御するプログラムが格納されている。また、図３右方に示す上位の階層には、ポリゴンデータファイルＰＧＦ、仮想空間データファイルＩＡＦなどのデータ領域が設定されている。
【００３０】
なお、ゲームソフトウェアＧＳＷのデータ領域に格納された各種のデータは、ゲームソフトウェアＧＳＷが読み出し自在に有している限り、その格納態様は任意である。例えば、ゲームソフトウェアＧＳＷと共に記録ディスク６中に格納する他に、ゲーム装置１とは独立したサーバなどの外部のメモリ手段に格納しておき、ゲームソフトウェアＧＳＷ中に設けられた読み出しプログラムによって、インターネットなどの通信媒介手段を介して、ＲＡＭ５などのメモリ手段にダウンロードするようにしてもよい。
【００３１】
また、ゲームソフトウェアＧＳＷの各プログラムＰＧＰ、ＰＤＰ、… に基づいて生成される複数のタスクは、マルチタスクオペレーションシステムによりマルチタスクとしてその優先順位に応じて順次実行されるが、上述した階層構造は、本発明を説明する上で必要なプログラムのみを、簡単な階層構造として示したものであり、実際の階層構造は更に複雑で、並列処理プログラムなどの種々のプログラムを含むものである。また、各プログラム間には、指令やデータの受け渡しを示す矢印を示しているが、該矢印は発明を理解し易くするためのものであり、これらの矢印によってプログラムの処理方法やデータの取り扱いが限定されるものでない。
【００３２】
以上の構成のゲーム装置１では、記録ディスク６に格納されたゲームソフトウェアＧＳＷをＲＡＭ５にロードしてＣＰＵ２で実行することにより、様々なジャンルのゲームをディスプレイ１１上でプレイすることが出来る。
【００３３】
ゲーム装置１において、所定の初期化操作（例えば電源の投入操作）が行われると、ＣＰＵ２がまずＲＯＭ４のプログラムに従って所定の初期化処理を実行する。初期化が終わるとＣＰＵ２は、記録ディスク６に格納されたゲームソフトウェアＧＳＷをＲＡＭ５に読み取り、そのゲームソフトウェアＧＳＷに従ってゲーム処理を開始する。プレーヤがコントローラ１４を操作して所定のゲーム開始操作を行うと、ＣＰＵ２はゲームソフトウェアＧＳＷの手順に従ってゲームの実行に必要な種々の制御を開始する。
【００３４】
本実施形態におけるゲームは、ポリゴンを用いた３ＤＣＧ（３次元コンピュータグラフィックス）に基づくゲームである。このゲームでは、敵キャラクタなどを配置した各種のフィールドＦＤが３次元仮想空間内に生成され、プレーヤが、コントローラ１４を介して、操作キャラクタＣＨ１を生成されたフィールドＦＤ上で移動させて敵キャラクタを倒すことにより、ゲームが進行するように設定されている。
【００３５】
即ち、ＣＰＵ２は、まず、ＲＡＭ５に設定された図３に示す仮想空間データファイルＩＡＦに、Ｘ、Ｙ、Ｚ座標からなるワールド座標系の３次元仮想空間を設定する。３次元仮想空間を設定すると、同図のシナリオ処理プログラムＳＮＰが示すシナリオを展開して、ポリゴン処理プログラムＰＧＰに基づき、ＲＡＭ５に設定されたポリゴンデータファイルＰＧＦを参照する。
【００３６】
ポリゴンデータファイルＰＧＦには、ポリゴンデータＰＧＤが格納されており、ポリゴンデータＰＧＤは、フィールドＦＤを構成する各種の背景オブジェクトを示している。具体的には、フィールドＦＤとして、「建物」や「洞窟」などの各種の背景が準備されており、従ってポリゴンデータファイルＰＧＦには、「建物」を構成する、柱、壁面、ドア、天井、床や、「洞窟」を構成する、壁面、天井、地面などの背景オブジェクトを示すポリゴンデータＰＧＤが格納されている。またポリゴンデータファイルＰＧＦには、この他、操作キャラクタＣＨ１や敵キャラクタなどのキャラクタを示すポリゴンデータＰＧＤが格納されている。
【００３７】
ＣＰＵ２は、ポリゴンデータファイルＰＧＦを参照すると、シナリオに応じたフィールドＦＤを構成する背景オブジェクトのポリゴンデータＰＧＤを、ポリゴンデータファイルＰＧＦから読み出す。そして、読み出したポリゴンデータＰＧＤに基づいてフィールドＦＤを生成し、仮想空間データＩＡＤとして、３次元仮想空間が設定された仮想空間データファイルＩＡＦに格納する。即ち、フィールドＦＤが３次元仮想空間内に生成される。
【００３８】
ＣＰＵ２は、フィールドＦＤを生成すると、更に、ポリゴン処理プログラムＰＧＰに基づいて、操作キャラクタＣＨ１や敵キャラクタを示すポリゴンデータＰＧＤを、ポリゴンデータファイルＰＧＦから読み出す。そして、読み出したポリゴンデータＰＧＤに基づいてキャラクタを生成し、生成したキャラクタをフィールドＦＤ上の所定の位置に配置する形で、仮想空間データＩＡＤを、仮想空間データファイルＩＡＦに更新格納する。即ち、操作キャラクタＣＨ１や敵キャラクタがフィールドＦＤに配置される。
【００３９】
この状態で、プレーヤが、コントローラ１４の左ジョイスティック１４ｃ１を介して、所定方向の操作信号を入力すると、ＣＰＵ２は、ポリゴン処理プログラムＰＧＰに基づいて、操作キャラクタＣＨ１の配置位置を、入力された操作信号の方向に応じて更新する形で、仮想空間データＩＡＤを仮想空間データファイルＩＡＦに順次、更新格納する。即ち、操作キャラクタＣＨ１が左ジョイスティック１４ｃ１を介してフィールドＦＤ上で移動される。
【００４０】
こうして、操作キャラクタＣＨ１の移動処理と共に、ＣＰＵ２は、図３に示すカメラワーク処理プログラムＣＷＰに基づいて、図４に示す仮想的なカメラ（以下「仮想カメラＣＭ」という。）のカメラワーク処理を実行する。
【００４１】
図４は、仮想カメラＣＭの概念図を示している。Ｘ、Ｙ、Ｚ座標は、図４左下方に示すように設定されているものとする。仮想カメラＣＭは、図４に示すように視点ＰＶに配置されている。ここでは、矢印で示す仮想カメラＣＭの視線方向ＰＤが、＋Ｚ方向に向けられており、従って、視点ＰＶから＋Ｚ方向の３次元仮想空間３ＤＳが、視野範囲として設定される。なお、同図の破線で示す検出領域ＤＡについては、後述する。
【００４２】
カメラワーク処理では、仮想カメラＣＭが、操作キャラクタＣＨ１に追従する形で、移動経路ＭＰ（図示せず）上を移動するように設定されている。具体的には、デフォルトの移動経路ＭＰとして、デフォルト経路ＭＰＤがフィールドＦＤ上に設定されており、ＣＰＵ２が、操作キャラクタＣＨ１の後方に（つまり操作キャラクタＣＨ１が進む方向の反対側に）、所定距離を介したデフォルト経路ＭＰＤ上の位置を、視点ＰＶとして設定するようになっている。また、仮想カメラＣＭの視線方向ＰＤは、デフォルト経路ＭＰＤの向きに沿った方向に設定されている。
【００４３】
従って、操作キャラクタＣＨ１が移動すると、ＣＰＵ２は、カメラワーク処理プログラムＣＷＰに基づいて、仮想空間データＩＡＤを仮想空間データファイルＩＡＦから読み出し、仮想空間データＩＡＤが示す操作キャラクタＣＨ１の配置位置の後方に、視点ＰＶを設定する。この視点ＰＶの設定処理は、操作キャラクタＣＨ１の移動に伴って繰り返され、ＣＰＵ２は、順次設定した視点ＰＶ上に、仮想カメラＣＭを、視線方向ＰＤがデフォルト経路ＭＰＤの向きに沿うように配置してゆく。即ち、操作キャラクタＣＨ１に追従するカメラワークが行われることになる。
【００４４】
こうして、操作キャラクタＣＨ１に追従するカメラワークが行われると、ＣＰＵ２は、図３に示す画像データ生成プログラムＰＤＰに基づいて、仮想空間データＩＡＤを仮想空間データファイルＩＡＦから読み出し、仮想カメラＣＭが設定する視野範囲内に配置されたポリゴンを示す、２次元画像データを生成する。
【００４５】
画像処理装置８は、図３に示す画像処理プログラムＡＮＰに基づいて、生成された２次元画像データからフレームメモリ１０内に、撮影画像を生成して、ディスプレイ１１上に表示する。即ち、操作キャラクタＣＨ１の背後から見た３次元仮想空間３ＤＳを示す、撮影画像がディスプレイ１１上に表示される。
【００４６】
このように、プレーヤが、コントローラ１４を介して操作キャラクタＣＨ１をフィールドＦＤ上で移動させると、操作キャラクタＣＨ１に追従するカメラワークが行われて、ゲームが進行する。フィールドＦＤには、上述したように敵キャラクタが配置されており、プレーヤは適宜コントローラ１４を介して敵キャラクタを倒してゆく。
【００４７】
こうして、ＣＰＵ２が、シナリオ処理プログラムＳＮＰが示すシナリオを展開してゲームを進行させ、図５に示す洞窟ＣＶのフィールドＦＤを３次元仮想空間３ＤＳ内に生成したとする。図５は、フィールドＦＤの一例である洞窟ＣＶの（一部省略）上断面図を示している。なお、Ｘ、Ｙ、Ｚ座標は、図５左下方に示すように設定されている。
【００４８】
洞窟ＣＶは、図５に示すようにＺ方向を向いており、図下方に入口ＥＴと、図上方に出口ＥＸとを有している。また洞窟ＣＶは、左壁面ＷＬＬ、右壁面ＷＬＲ、天井ＣＬ（図示せず）、及び地面ＧＲなどの背景オブジェクトで、四方が囲まれた形で構成されている。左壁面ＷＬＬには、円柱状に形成された円柱部ＣＹが左壁面ＷＬＬから突出する形で設けられている。この円柱部ＣＹの裏側、位置Ｐ５には、位置Ｐ１１に配置された仮想カメラＣＭの視野範囲から隠れる形で、敵キャラクタＣＨ２が配置されている。
【００４９】
また、洞窟ＣＶの内部には、デフォルト経路ＭＰＤ（実線）が設定されている。このデフォルト経路ＭＰＤは、仮想カメラＣＭが不用意に壁面ＷＬＬ、ＷＬＲにめり込んだりしないように（つまり視点ＰＶが障害物のポリゴン内部に入らないように）、壁面ＷＬＬ、ＷＬＲの凹凸に応じて適宜屈曲して（ここでは円柱部ＣＹを避ける形に）形成されている。
【００５０】
ここで、プレーヤが、洞窟ＣＶを通り抜けるために、コントローラ１４の左ジョイスティック１４ｃ１を介して、操作キャラクタＣＨ１を入口ＥＴから洞窟ＣＶに進入させ、＋Ｚ方向に移動させるものとする。
【００５１】
従って、ＣＰＵ２は、カメラワーク処理プログラムＣＷＰに基づいて、図５下方に示すように、仮想カメラＣＭを、操作キャラクタＣＨ１に追従するようにデフォルト経路ＭＰＤ上で移動させる。例えば、操作キャラクタＣＨ１が位置Ｐ１を通過する際に、ＣＰＵ２は、仮想カメラＣＭを操作キャラクタＣＨ１後方の、例えば位置Ｐ１１に配置させる。画像処理装置８は、位置Ｐ１１に配置された仮想カメラＣＭに基づいて、洞窟ＣＶ内部を示す撮影画像をディスプレイ１１上に表示する。なお、この時点では、図５に示す位置Ｐ２、Ｐ４に配置されている操作キャラクタＣＨ１は、図示されていないものとする。
【００５２】
この状態で、プレーヤが、図２に示す右ジョイスティック１４ｃ２を操作すると、右ジョイスティック１４ｃ２から操作信号ＣＳ１がＲＡＭ５に入力され、ＣＰＵ２は、図３に示す移動経路変更プログラムＭＰＰに基づいて、移動経路ＭＰの変更処理を実行する。
【００５３】
移動経路ＭＰの変更処理では、視点ＰＶが、デフォルト経路ＭＰＤに対して直角、かつ地面ＧＲに対して水平な方向に移動される形で、変更されるようになっている。この変更量として、シフト値ΔＳが設定されており、シフト値ΔＳは、視点ＰＶがデフォルト経路ＭＰＤから移動する（ワールド座標系の）距離を意味する。なお、視点ＰＶのデフォルト経路ＭＰＤに対する移動方向はこれに限らず、例えば、地面ＧＲの突起に対して＋Ｙ方向に移動させてもよい。
【００５４】
このシフト値ΔＳは、右ジョイスティック１４ｃ２からの操作信号ＣＳ１に応じて変化するように設定されている。具体的には、右ジョイスティック１４ｃ２を、図２に示すように基準位置ＢＰ（一点鎖線）から左右いずれかの方向に倒すと、基準位置ＢＰに対する角度ＡＧに応じた入力値ＩＶを示す、操作信号ＣＳ１が入力される。
【００５５】
入力値ＩＶは、右方向に倒す角度ＡＧが大きくなるにつれて、＋１→＋２５６と変化し、逆に、左方向に倒す角度ＡＧが大きくなるにつれて、０→−２５５と変化とする。シフト値ΔＳは、＋１〜＋２５６の入力値ＩＶにそれぞれ対応して０〜＋ΔＳのレンジが、また、０〜−２５５の入力値ＩＶにそれぞれ対応して０〜−ΔＳのレンジが設定されている。
【００５６】
なお、移動経路ＭＰの変更処理の際に、視線方向ＰＤを変化させることも可能である。例えば、視線方向ＰＤを所定位置（例えば操作キャラクタＣＨ１の配置位置）に注視させた形で、仮想カメラＣＭを回転させてもよい。こうすることで、カメラ操作の柔軟性を高めることが出来る。
【００５７】
即ち、操作信号ＣＳ１が入力されると、ＣＰＵ２は、移動経路変更プログラムＭＰＰに基づいて、入力された操作信号ＣＳ１が示す入力値ＩＶに対応したシフト値ΔＳを換算する。例えば、シフト値ΔＳがΔＳ１になるように、プレーヤが、右ジョイスティック１４ｃ２を右方向に倒したとすると、ＣＰＵ２は、入力された入力値ＩＶからシフト値ΔＳ１を換算する。そして視点ＰＶを、図５下方に示すように、位置Ｐ１１から、＋Ｘ方向にシフト値ΔＳ１だけ平行移動させた位置Ｐ２１に設定する。
【００５８】
この際、ＣＰＵ２は、仮想カメラＣＭが壁面ＷＬＬ、ＷＬＲなどの背景オブジェクトに近接した場合に、後述する、シフト値ΔＳの補正処理を実行するが、ここでは、仮想カメラＣＭが壁面ＷＬＬ、ＷＬＲに近接していないものとし、シフト値ΔＳの補正処理を実行することなく、仮想カメラＣＭを、図５に示すように位置Ｐ２１に配置する。
【００５９】
右ジョイスティック１４ｃ２からの操作信号ＣＳ１は、既に述べたように、一定周期（例えば１／６０秒）でＲＡＭ５に入力されるように設定されているので、右ジョイスティック１４ｃ２が倒されている間、即ち、操作信号ＣＳ１が入力されている間、上述した移動経路ＭＰの変更処理が継続して実行されることになる。
【００６０】
従って、プレーヤが、右ジョイスティック１４ｃ２を右方向に倒した形で角度ＡＧを変化させると、ＣＰＵ２は、順次入力される操作信号ＣＳ１が示す入力値ＩＶに応じて、それぞれのシフト値ΔＳを換算する。そして仮想カメラＣＭを、デフォルト経路ＭＰＤを＋Ｘ方向にそれぞれのシフト値ΔＳだけ平行移動させた、変更移動経路ＭＰｃ１（実線）上で移動させる。即ち、移動経路ＭＰが、デフォルト経路ＭＰＤから変更移動経路ＭＰｃ１に変更される。
【００６１】
一方、プレーヤが、右ジョイスティック１４ｃ２を（例えば手を離して）基準位置ＢＰに戻した場合、操作信号ＣＳ１がＲＡＭ５に入力されなくなるので、ＣＰＵ２は、移動経路ＭＰの変更処理を実行することなく、移動経路ＭＰが再び、変更移動経路ＭＰｃ１からデフォルト経路ＭＰＤに変更する。従ってこれ以降、仮想カメラＣＭは、デフォルト経路ＭＰＤ上を移動することになる。ここでは、プレーヤが、右ジョイスティック１４ｃ２を基準位置ＢＰに戻したものとし、仮想カメラＣＭはデフォルト経路ＭＰＤ上を移動してゆく。
【００６２】
こうして、操作キャラクタＣＨ１が、＋Ｚ方向に移動すると共に、仮想カメラＣＭが、デフォルト経路ＭＰＤ上を移動していき、例えば、仮想カメラＣＭが位置Ｐ１２を通過する際に、プレーヤが、円柱部ＣＹの裏側を見るために、右ジョイスティック１４ｃ２を再び右方向に倒したとする。
【００６３】
例えば、シフト値ΔＳがΔＳ２になるように、プレーヤが、右ジョイスティック１４ｃ２を右方向に倒したとすると、ＣＰＵ２は、上述と同様に入力値ＩＶからシフト値ΔＳ２を換算する。そして視点ＰＶを、位置Ｐ１２から、＋Ｘ方向にシフト値ΔＳ２だけ平行移動させた位置Ｐ２２に設定する。
【００６４】
位置Ｐ２２に設定された視点ＰＶは、図５右方に示すように右壁面ＷＬＲの内部に設定されることになるが、この際、ＣＰＵ２は、図３に示すシフト値補正プログラムＳＭＰに基づいて、本発明の要旨である、シフト値ΔＳの補正処理を実行する。この補正処理は、図４に示す検出領域ＤＡに基づいて行われる。
【００６５】
仮想カメラＣＭには、図４の破線で示すように、仮想カメラＣＭに近接した背景オブジェクトを検出するための、検出領域ＤＡが設定されている。ここでは、検出領域ＤＡは、仮想カメラＣＭを包含する空間を呈しており、具体的には、３辺の長さを２Ｘ０、２Ｙ０、２Ｚ０とする直方体からなり、この直方体の中心位置が、視点ＰＶに一致するように設定されている。
【００６６】
なお、検出領域ＤＡは、仮想カメラＣＭを包含する空間であれば、特に直方体に限る必要はなく、どのような形状（例えば球体）であってもよい。また、仮想カメラＣＭに近接した背景オブジェクトを検出することの出来る空間であれば、検出領域ＤＡは、必ずしも仮想カメラＣＭを包含している必要はない。例えば、仮想カメラＣＭによる具体的な撮影領域を、検出領域ＤＡとすることも可能である。但し、仮想カメラＣＭの状態（例えばズーム／ワイド）に応じて撮影領域が可変であるため、検出領域ＤＡは動的に演算されることになる。
【００６７】
シフト値ΔＳの補正処理では、検出領域ＤＡが背景オブジェクトに接触したか否かを判定するように設定されており、検出領域ＤＡが接触したと判定すると、シフト値ΔＳから一定値ΔＳＣＴを減算し、一方、検出領域ＤＡが接触していないと判定すると、シフト値ΔＳを減算することなく、換算したそのままのシフト値ΔＳに基づいて、上述した移動経路ＭＰの変更処理を実行する。
【００６８】
即ち、ＣＰＵ２は、シフト値補正プログラムＳＭＰに基づいて、仮想空間データＩＡＤを仮想空間データファイルＩＡＦから読み出し、検出領域ＤＡが、壁面ＷＬＬ、ＷＬＲなどの背景オブジェクトに接触したか否か判定する。検出領域ＤＡは、図５右方に示すように、右壁面ＷＬＲに接触しているので、ＣＰＵ２は、検出領域ＤＡが接触したと判定し、シフト値ΔＳ２から一定値ΔＳＣＴを減算する。
【００６９】
これらの判定・減算処理は、検出領域ＤＡが背景オブジェクトに接触していないと判定されるまで、繰り返されるように設定されている。従って、シフト値ΔＳ２が繰り返し減算されて、ΔＳ３になったところで、検出領域ＤＡが、図５右方に示すように、右壁面ＷＬＲに接触しなくなるので、ＣＰＵ２は、検出領域ＤＡが右壁面ＷＬＲに接触していないと判定する。
【００７０】
検出領域ＤＡが接触していないと判定すると、ＣＰＵ２は、視点ＰＶを、デフォルト経路ＭＰＤから、＋Ｘ方向にシフト値ΔＳ３だけ平行移動させた位置Ｐ２３に設定し、仮想カメラＣＭを位置Ｐ２３に配置する。即ち、仮想カメラＣＭは、右壁面ＷＬＲから略距離Ｘ０を介した位置に配置されることになる。
【００７１】
従って、画像処理装置８は、位置Ｐ２３に配置された仮想カメラＣＭに基づいて、撮影画像をディスプレイ１１上に表示し、撮影画像には、円柱部ＣＹの裏側、位置Ｐ５に隠れた敵キャラクタＣＨ２が表示されることになる。
【００７２】
こうして、検出領域ＤＡが右壁面ＷＬＲに接触する（つまりシフト値ΔＳがΔＳ３より大きい）操作信号ＣＳ１が入力されると、上述と同様に、シフト値ΔＳはΔＳ３の一定値に補正演算されるので、仮想カメラＣＭは、デフォルト経路ＭＰＤを＋Ｘ方向にシフト値ΔＳ３だけ平行移動させた、変更移動経路ＭＰｃ２（実線）上を移動することになる。即ち、移動経路ＭＰは、背景オブジェクトから遠ざけた形に、変更移動経路ＭＰｃ２に補正される。
【００７３】
このように、プレーヤは、仮想カメラＣＭのカメラ位置（視点ＰＶ）を自由に設定出来る一方、洞窟ＣＶのような狭い通路では、仮想カメラＣＭと、壁面ＷＬＬ、ＷＬＲなどの背景オブジェクトとの間の距離が所定値以下にならないように、カメラ位置の設定が制限される。
【００７４】
これにより、カメラ位置の操作にある程度の自由度を確保する一方、仮想カメラを背景オブジェクトにめり込ませないようにすることが出来るので、フィールドＦＤの障害物が多い場合であっても、カメラ位置を柔軟に設定出来るものでありながら、適正な撮影画像を安定的に表示することの出来る。
【００７５】
シフト値ΔＳの補正処理では、更に、右ジョイスティック１４ｃ２が倒された方向に押し込まれた場合に、即ち、図２に示す入力値ＩＶが＋２５６または−２５５を示す操作信号（以下「操作信号ＣＳ２」という。）がＲＡＭ５に入力された場合に、ＣＰＵ２が、操作信号ＣＳ２が入力された時点のシフト値ΔＳを固定する形で、ＲＡＭ５の所定データ領域に格納するように設定されている。
【００７６】
ここでは、仮想カメラＣＭが変更移動経路ＭＰｃ２を移動するに際し、プレーヤが、シフト値ΔＳをΔＳ３に固定するために、右ジョイスティック１４ｃ２を、倒している状態から更に右方向に押し込んだとする。
【００７７】
即ち、仮想カメラＣＭが変更移動経路ＭＰｃ２上を移動する際のシフト値ΔＳは、図５右方に示すようにΔＳ３なので、上記操作信号ＣＳ２を受けてＣＰＵ２は、シフト移動経路変更プログラムＭＰＰに基づいて、シフト値ΔＳ３をＲＡＭ５の所定データ領域に格納する。シフト値ΔＳ３がＲＡＭ５に格納されると、右ジョイスティック１４ｃ２から入力される操作信号ＣＳ１に関係なく、シフト値ΔＳがΔＳ３に固定されるので、プレーヤが例えば、右ジョイスティック１４ｃ２を基準位置ＢＰに戻しても、仮想カメラＣＭは、操作キャラクタＣＨ１の動きに従って変更移動経路ＭＰｃ２上を移動してゆく。即ち、移動経路ＭＰは、シフト値ΔＳで示される変更状態を固定することにより、変更移動経路ＭＰｃ２に固定されることになる。
【００７８】
また、シフト値の補正処理では、右ジョイスティック１４ｃ２から操作信号ＣＳ２が入力された後、右ジョイスティック１４ｃ２が再度同じ方向に押し込まれた場合に、操作信号ＣＳ３が入力されるように設定されており、ＣＰＵ２は、上記操作信号ＣＳ３が入力された場合に、ＲＡＭ５に格納されたシフト値ΔＳをＮＵＬＬに設定して、移動経路ＭＰを、変更移動経路ＭＰｃ２からデフォルト経路ＭＰＤに変更するように設定されている。
【００７９】
ここでは、操作キャラクタＣＨ１が位置Ｐ４を通過し、仮想カメラＣＭが位置Ｐ２４に到達する際に、プレーヤが、仮想カメラＣＭをデフォルト経路ＭＰＤに戻すために、右ジョイスティック１４ｃ２を、再度右方向に押し込んだとする。操作信号ＣＳ３を受けてＣＰＵ２は、移動経路変更プログラムＭＰＰに基づいて、ＲＡＭ５に格納されたシフト値ΔＳをＮＵＬＬに設定して、移動経路ＭＰを、変更移動経路ＭＰｃ２からデフォルト経路ＭＰＤに変更する。
【００８０】
従って、仮想カメラＣＭは、図５に示すように、位置Ｐ２４から、デフォルト経路ＭＰＤ上の位置Ｐ１４に移動され、仮想カメラＣＭはデフォルト経路ＭＰＤ上を移動して、操作キャラクタＣＨ１は、出口ＥＸから洞窟ＣＶを通り抜けることになる。
【００８１】
このように、プレーヤは、移動経路ＭＰを、操作信号ＣＳ２により、プレーヤの希望する変更移動経路ＭＰｃ２に自由に固定することが出来ると共に、更に操作信号ＣＳ３により、変更移動経路ＭＰｃ２をいつでもデフォルト経路ＭＰＤに戻すことが出来るので、右ジョイスティック１４ｃ２の簡単な操作で、適正な画像を安定的に表示させることが出来る。これにより、カメラ操作の柔軟性を確保しつつ、その操作性を高めることが出来る。
【００８２】
なお、上述した実施形態において、ゲームソフトウェアＧＳＷとして本発明を説明したが、ゲームソフトウェアＧＳＷ中の各種プログラムＰＧＰ、ＰＤＰ、…
からなるプログラムと、そのプログラムを機能させるハードウェアを備えるものであれば上述したゲームソフトウェアＧＳＷ中に限らず、例えばゲーム装置として構成されていても本発明を適用することが出来るのはもちろんである。
【産業上の利用可能性】
【００８３】
本発明の活用例としては、仮想カメラのカメラワークを行うことの出来るゲームソフトウェアに適用することが出来、また、ゲーム装置としては、家庭用ゲーム装置のみならず、携帯型ゲーム装置、アーケードゲーム装置、また、携帯電話、ＰＤＡ（携帯情報端末）、パーソナルコンピュータなどにも適用することが出来る。
【図面の簡単な説明】
【００８４】
【図１】図１は、ゲーム装置の制御ブロックの一例を示す図である。
【図２】図２は、右ジョイスティックの（一部省略）側面図である。
【図３】図３は、ゲームソフトウェアの構成の一例を示す図である。
【図４】図４は、仮想カメラの概念図である。
【図５】図５は、フィールドの一例を示す洞窟の（一部省略）上断面図である。
【符号の説明】
【００８５】
１……コンピュータ、ゲーム装置（ゲーム装置）
２……ポリゴン生成配置手段、操作オブジェクト移動制御手段、仮想カメラ移動制御手段、移動経路変更手段、距離演算手段、背景オブジェクト検出手段（ＣＰＵ）
３ＤＳ……３次元仮想空間
８……２次元画像生成表示手段（画像処理装置）
１１……ディスプレイ
１４……入力手段（コントローラ）
ＡＮＰ……２次元画像生成表示手順、２次元画像生成表示手段（画像処理プログラム）
ＣＨ１……操作オブジェクト（操作キャラクタ）
ＣＭ……仮想カメラ
ＣＳ１……第１の信号（操作信号）
ＣＳ２……第２の信号（操作信号）
ＣＳ３……第３の信号（操作信号）
ＣＶ……フィールド（洞窟）
ＣＷＰ……仮想カメラ移動制御手順、視線方向制御手順、仮想カメラ移動制御手段（カメラワーク処理プログラム）
ＦＤ……フィールド
ＧＳＷ……ゲームソフトウェア
ＭＰ……移動経路
ＭＰＤ……デフォルト経路
ＭＰＰ……移動経路変更手順、移動経路補正手順、移動経路固定手順、デフォルト経路復帰手順、移動経路変更手段（移動経路変更プログラム）
ＰＤ……視線方向
ＰＤＰ……２次元画像生成表示手順、２次元画像生成表示手段（画像データ生成プログラム）
ＰＧＰ……ポリゴン生成配置手順、操作オブジェクト移動制御手順、ポリゴン生成配置手段、操作オブジェクト移動制御手段（ポリゴン処理プログラム）
ＳＭＰ……距離演算手順、背景オブジェクト検出手順、距離演算手段、背景オブジェクト検出手段（シフト値補正プログラム）
ＷＬＲ……背景オブジェクト（右壁面）
ΔＳ……変更状態（シフト値）
【図１】
0003700857.tif 000002
【図２】
0003700857.tif 000003
【図３】
0003700857.tif 000004
【図４】
0003700857.tif 000005
【図５】
0003700857.tif 000006