(57)【要約】【課題】  プレイヤが比較的簡易な操作で仮想カメラを仮想３次元空間の所望の方角に向けさせることが可能になるゲーム装置を提供すること。【解決手段】  本発明は仮想３次元空間に仮想カメラを配置し、仮想３次元空間を仮想カメラから見た様子を表示するゲーム装置に関するものである。第１仮想カメラ制御部６０は、操作手段の操作状態に基づいて仮想カメラの姿勢の変化方向を判断し、その変化方向に所与の角度だけ現在の方向から変化した方向を向く姿勢に、仮想カメラの姿勢を変更する。第２仮想カメラ制御部６２は、操作手段の操作状態に基づいて仮想３次元空間における方角を判断し、その方角を向く姿勢に、仮想カメラの姿勢を変更する。仮想カメラ制御切替部６４は、第１仮想カメラ制御部６０によって仮想カメラが制御される状態と、第２仮想カメラ制御部６２によって仮想カメラが制御される状態と、を所定切替操作に応じて切り替える。【選択図】        図９
2007054520.tif 000002
【特許請求の範囲】
【請求項１】
仮想３次元空間に仮想カメラを配置し、前記仮想３次元空間を前記仮想カメラから見た様子を表示するゲーム装置において、
操作手段の操作状態に基づいて前記仮想カメラの姿勢の変化方向を判断し、その変化方向に所与の角度だけ現在の方向から変化した方向を向く姿勢に、前記仮想カメラの姿勢を変更する第１仮想カメラ制御手段と、
前記操作手段の操作状態に基づいて前記仮想３次元空間における方角を判断し、その方角を向く姿勢に、前記仮想カメラの姿勢を変更する第２仮想カメラ制御手段と、
前記第１仮想カメラ制御手段によって前記仮想カメラが制御される状態と、前記第２仮想カメラ制御手段によって前記仮想カメラが制御される状態と、を所定切替操作に応じて切り替える仮想カメラ制御切替手段と、
を含むことを特徴とするゲーム装置。
【請求項２】
請求項１に記載のゲーム装置において、
前記第１仮想カメラ制御手段は、
前記仮想カメラ制御切替手段によって、前記第１仮想カメラ制御手段によって前記仮想カメラが制御される状態から、前記第２仮想カメラ制御手段によって前記仮想カメラが制御される状態に切り替えられる場合、その時点における前記仮想カメラの姿勢を特定する姿勢特定情報を記憶手段に記憶させる手段と、
前記仮想カメラ制御切替手段によって、前記第２仮想カメラ制御手段によって前記仮想カメラが制御される状態から、前記第１仮想カメラ制御手段によって前記仮想カメラが制御される状態に切り替えられる場合、前記記憶手段に記憶される姿勢特定情報に基づいて前記仮想カメラの姿勢を設定する手段と、を含む、
ことを特徴とするゲーム装置。
【請求項３】
請求項１又は２に記載のゲーム装置において、
前記第２仮想カメラ制御手段は、
該第２仮想カメラ制御手段によって前記仮想カメラが向くように設定された方角の履歴に関する方角履歴関連情報を記憶する手段と、
所定操作に応じて、前記仮想３次元空間における方角を前記方角履歴関連情報に基づいて判断し、その方角を向く姿勢に、前記仮想カメラの姿勢を変更する手段と、を含む、
ことを特徴とするゲーム装置。
【請求項４】
請求項１乃至３のいずれかに記載のゲーム装置において、
前記操作手段の操作状態に応じた操作値を取得する操作値取得手段を含み、
前記第２仮想カメラ制御手段は、
互いに重複しない複数の操作値範囲の各々に、前記仮想３次元空間における複数の方角のいずれかを対応づけて記憶する手段と、
前記操作値取得手段によって取得された操作値が前記複数の操作値範囲のいずれかに含まれるか否かを判定する判定手段と、を含み、
前記操作値取得手段によって取得された操作値が前記複数の操作値範囲のいずれかに含まれると判定された場合、該操作値範囲に対応づけられた方角を向く姿勢に、前記仮想カメラの姿勢を変更し、
前記判定手段は、前記操作値取得手段によって取得された操作値が前記複数の操作値範囲のいずれかに含まれると判定した場合、該操作値範囲を広げるとともに前記複数の操作値範囲のうちの他の操作値範囲を狭めるよう前記複数の操作値範囲を変更し、前記操作値取得手段によって取得された操作値が前記複数の操作値範囲のいずれかに含まれるか否かを、変更後の前記複数の操作値範囲に基づいて判定する、
ことを特徴とするゲーム装置。
【請求項５】
請求項１乃至４のいずれかに記載のゲーム装置において、
前記第１仮想カメラ制御手段は、前記操作手段に含まれる操作スティックの傾倒方向に基づいて前記仮想カメラの姿勢の変化方向を判断し、その変化方向に所与の角度だけ現在の方向から変化した方向を向く姿勢に、前記仮想カメラの姿勢を変更し、
前記第２仮想カメラ制御手段は、前記操作スティックの傾倒方向に基づいて前記仮想３次元空間における方角を判断し、その方角を向く姿勢に、前記仮想カメラの姿勢を変更し、
前記所定切替操作は、前記操作スティックの軸方向への押下操作である、
ことを特徴とするゲーム装置。
【請求項６】
仮想３次元空間に仮想カメラを配置し、前記仮想３次元空間を前記仮想カメラから見た様子を表示するゲーム装置の制御方法において、
操作手段の操作状態に基づいて前記仮想カメラの姿勢の変化方向を判断し、その変化方向に所与の角度だけ現在の方向から変化した方向を向く姿勢に、前記仮想カメラの姿勢を変更する第１仮想カメラ制御ステップと、
前記操作手段の操作状態に基づいて前記仮想３次元空間における方角を判断し、その方角を向く姿勢に、前記仮想カメラの姿勢を変更する第２仮想カメラ制御ステップと、
前記第１仮想カメラ制御ステップによって前記仮想カメラが制御される状態と、前記第２仮想カメラ制御ステップによって前記仮想カメラが制御される状態と、を所定切替操作に応じて切り替える仮想カメラ制御切替ステップと、
を含むことを特徴とするゲーム装置の制御方法。
【請求項７】
仮想３次元空間に仮想カメラを配置し、前記仮想３次元空間を前記仮想カメラから見た様子を表示するゲーム装置としてコンピュータを機能させるためのプログラムであって、
操作手段の操作状態に基づいて前記仮想カメラの姿勢の変化方向を判断し、その変化方向に所与の角度だけ現在の方向から変化した方向を向く姿勢に、前記仮想カメラの姿勢を変更する第１仮想カメラ制御手段、
前記操作手段の操作状態に基づいて前記仮想３次元空間における方角を判断し、その方角を向く姿勢に、前記仮想カメラの姿勢を変更する第２仮想カメラ制御手段、及び、
前記第１仮想カメラ制御手段によって前記仮想カメラが制御される状態と、前記第２仮想カメラ制御手段によって前記仮想カメラが制御される状態と、を所定切替操作に応じて切り替える仮想カメラ制御切替手段、
として前記コンピュータを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はゲーム装置、ゲーム装置の制御方法及びプログラムに関する。
【背景技術】
【０００２】
仮想３次元空間に仮想カメラを設置し、この仮想カメラから仮想３次元空間を見た様子をゲーム画像として表示するゲーム装置が知られている。このようなゲーム装置では、プレイヤが例えば方向キーや操作スティック等を操作することによって、仮想カメラの位置や姿勢を変更できるようにすることが一般的に行われている。
【特許文献１】特開平７−１１６３４３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかしながら、以上のようなゲーム装置では、仮想カメラが仮想３次元空間のどの方角を向いているのかをプレイヤが分からなくなってしまう場合がある。その結果として、プレイヤは仮想カメラを所望の方角に向けることが困難になってしまう場合がある。
【０００４】
本発明は上記課題に鑑みてなされたものであって、その目的は、プレイヤが比較的簡易な操作で仮想カメラを仮想３次元空間の所望の方角に向けさせることが可能になるゲーム装置、ゲーム装置の制御方法及びプログラムを提供することにある。
【課題を解決するための手段】
【０００５】
上記課題を解決するために、本発明に係るゲーム装置は、仮想３次元空間に仮想カメラを配置し、前記仮想３次元空間を前記仮想カメラから見た様子を表示するゲーム装置において、操作手段の操作状態に基づいて前記仮想カメラの姿勢の変化方向を判断し、その変化方向に所与の角度だけ現在の方向から変化した方向を向く姿勢に、前記仮想カメラの姿勢を変更する第１仮想カメラ制御手段と、前記操作手段の操作状態に基づいて前記仮想３次元空間における方角を判断し、その方角を向く姿勢に、前記仮想カメラの姿勢を変更する第２仮想カメラ制御手段と、前記第１仮想カメラ制御手段によって前記仮想カメラが制御される状態と、前記第２仮想カメラ制御手段によって前記仮想カメラが制御される状態と、を所定切替操作に応じて切り替える仮想カメラ制御切替手段と、を含むことを特徴とする。
【０００６】
また、本発明に係るゲーム装置の制御方法は、仮想３次元空間に仮想カメラを配置し、前記仮想３次元空間を前記仮想カメラから見た様子を表示するゲーム装置の制御方法において、操作手段の操作状態に基づいて前記仮想カメラの姿勢の変化方向を判断し、その変化方向に所与の角度だけ現在の方向から変化した方向を向く姿勢に、前記仮想カメラの姿勢を変更する第１仮想カメラ制御ステップと、前記操作手段の操作状態に基づいて前記仮想３次元空間における方角を判断し、その方角を向く姿勢に、前記仮想カメラの姿勢を変更する第２仮想カメラ制御ステップと、前記第１仮想カメラ制御ステップによって前記仮想カメラが制御される状態と、前記第２仮想カメラ制御ステップによって前記仮想カメラが制御される状態と、を所定切替操作に応じて切り替える仮想カメラ制御切替ステップと、を含むことを特徴とする。
【０００７】
また、本発明に係るプログラムは、仮想３次元空間に仮想カメラを配置し、前記仮想３次元空間を前記仮想カメラから見た様子を表示するゲーム装置として、例えば家庭用ゲーム機、業務用ゲーム機、携帯用ゲーム機、携帯電話機、パーソナルコンピュータ、サーバコンピュータ等のコンピュータを機能させるためのプログラムであって、操作手段の操作状態に基づいて前記仮想カメラの姿勢の変化方向を判断し、その変化方向に所与の角度だけ現在の方向から変化した方向を向く姿勢に、前記仮想カメラの姿勢を変更する第１仮想カメラ制御手段、前記操作手段の操作状態に基づいて前記仮想３次元空間における方角を判断し、その方角を向く姿勢に、前記仮想カメラの姿勢を変更する第２仮想カメラ制御手段、及び、前記第１仮想カメラ制御手段によって前記仮想カメラが制御される状態と、前記第２仮想カメラ制御手段によって前記仮想カメラが制御される状態と、を所定切替操作に応じて切り替える仮想カメラ制御切替手段、として前記コンピュータを機能させるためのプログラムである。
【０００８】
また、本発明に係る情報記憶媒体は、上記プログラムを記録したコンピュータ読み取り可能な情報記憶媒体である。また、本発明に係るプログラム配信装置は、上記プログラムを記録した情報記憶媒体を備え、当該情報記憶媒体から上記プログラムを読み出し、配信するプログラム配信装置である。また、本発明に係るプログラム配信方法は、上記プログラムを記録した情報記憶媒体を備え、当該情報記憶媒体から上記プログラムを読み出し、配信するプログラム配信方法である。
【０００９】
本発明は、仮想３次元空間に仮想カメラを配置し、前記仮想３次元空間を前記仮想カメラから見た様子を表示するゲーム装置に関するものである。本発明では、操作手段の操作状態に基づいて仮想カメラの姿勢の変化方向を判断し、その変化方向に所与の角度だけ現在の方向から変化した方向を向く姿勢に、仮想カメラの姿勢が変更される（第１仮想カメラ制御状態）。また、本発明では、操作手段の操作状態に基づいて仮想３次元空間における方角を判断し、その方角を向く姿勢に、仮想カメラの姿勢が変更される（第２仮想カメラ制御状態）。そして、本発明では、第１仮想カメラ制御状態と第２仮想カメラ制御状態とが所定切替操作に応じて切り替えられる。本発明によれば、プレイヤが比較的簡易な操作で仮想カメラを仮想３次元空間の所望の方角に向けさせることが可能になる。
【００１０】
本発明の一態様では、前記第１仮想カメラ制御手段は、前記仮想カメラ制御切替手段によって、前記第１仮想カメラ制御手段によって前記仮想カメラが制御される状態から、前記第２仮想カメラ制御手段によって前記仮想カメラが制御される状態に切り替えられる場合、その時点における前記仮想カメラの姿勢を特定する姿勢特定情報を記憶手段に記憶させる手段と、前記仮想カメラ制御切替手段によって、前記第２仮想カメラ制御手段によって前記仮想カメラが制御される状態から、前記第１仮想カメラ制御手段によって前記仮想カメラが制御される状態に切り替えられる場合、前記記憶手段に記憶される姿勢特定情報に基づいて前記仮想カメラの姿勢を設定する手段と、を含むようにしてもよい。こうすれば、第２仮想カメラ制御手段によって仮想カメラが制御される状態から、第１仮想カメラ制御手段によって仮想カメラが制御される状態に復帰した場合に、プレイヤがかかる状態の下でのゲームを速やかに開始できるようになる。
【００１１】
本発明の一態様では、前記第２仮想カメラ制御手段は、該第２仮想カメラ制御手段によって前記仮想カメラが向くように設定された方角の履歴に関する方角履歴関連情報を記憶する手段と、所定操作に応じて、前記仮想３次元空間における方角を前記方角履歴関連情報に基づいて判断し、その方角を向く姿勢に、前記仮想カメラの姿勢を変更する手段と、を含むようにしてもよい。こうすれば、「第２仮想カメラ制御手段によって仮想カメラが向けられたことがある方角」に仮想カメラを向けようとするプレイヤの手間を軽減できるようになる。
【００１２】
本発明の一態様では、前記操作手段の操作状態に応じた操作値を取得する操作値取得手段を含み、前記第２仮想カメラ制御手段は、互いに重複しない複数の操作値範囲の各々に、前記仮想３次元空間における複数の方角のいずれかを対応づけて記憶する手段と、前記操作値取得手段によって取得された操作値が前記複数の操作値範囲のいずれかに含まれるか否かを判定する判定手段と、を含み、前記操作値取得手段によって取得された操作値が前記複数の操作値範囲のいずれかに含まれると判定された場合、該操作値範囲に対応づけられた方角を向く姿勢に、前記仮想カメラの姿勢を変更し、前記判定手段は、前記操作値取得手段によって取得された操作値が前記複数の操作値範囲のいずれかに含まれると判定した場合、該操作値範囲を広げるとともに前記複数の操作値範囲のうちの他の操作値範囲を狭めるよう前記複数の操作値範囲を変更し、前記操作値取得手段によって取得された操作値が前記複数の操作値範囲のいずれかに含まれるか否かを、変更後の前記複数の操作値範囲に基づいて判定するようにしてもよい。操作手段の操作状態に応じた操作値が操作値範囲間の境界付近で変化する場合、仮想カメラの姿勢変更が頻発してしまうおそれがあるが、こうすることにより、かかる不具合の発生を抑止できるようになる。
【００１３】
本発明の一態様では、前記第１仮想カメラ制御手段は、前記操作手段に含まれる操作スティックの傾倒方向に基づいて前記仮想カメラの姿勢の変化方向を判断し、その変化方向に所与の角度だけ現在の方向から変化した方向を向く姿勢に、前記仮想カメラの姿勢を変更し、前記第２仮想カメラ制御手段は、前記操作スティックの傾倒方向に基づいて前記仮想３次元空間における方角を判断し、その方角を向く姿勢に、前記仮想カメラの姿勢を変更し、前記所定切替操作は、前記操作スティックの軸方向への押下操作であってもよい。こうすれば、仮想カメラの姿勢を変更するための操作と上記所定切替操作とを一つの操作部材で好適に行えるようになる。
【発明を実施するための最良の形態】
【００１４】
以下、本発明の実施形態の一例について図面に基づき詳細に説明する。
【００１５】
図１は、本発明の実施形態に係るゲーム装置のハードウェア構成を示す図である。同図に示すゲーム装置１０は、家庭用ゲーム機１１に情報記憶媒体たるＤＶＤ−ＲＯＭ２５及びメモリカード２８が装着され、さらにモニタ１８及びスピーカ２２が接続されることによって構成される。例えば、モニタ１８には家庭用テレビ受像機が用いられ、スピーカ２２にはその内蔵スピーカが用いられる。
【００１６】
家庭用ゲーム機１１は、バス１２、マイクロプロセッサ１４、画像処理部１６、音声処理部２０、ＤＶＤ−ＲＯＭ再生部２４、主記憶２６、入出力処理部３０及びコントローラ３２を含んで構成される公知のコンピュータゲームシステムである。コントローラ３２以外の構成要素は筐体内に収容される。
【００１７】
バス１２はアドレス及びデータを家庭用ゲーム機１１の各部でやり取りするためのものである。マイクロプロセッサ１４、画像処理部１６、主記憶２６及び入出力処理部３０は、バス１２によって相互データ通信可能に接続される。
【００１８】
マイクロプロセッサ１４は、図示しないＲＯＭに格納されるオペレーティングシステム、ＤＶＤ−ＲＯＭ２５から読み出されるプログラムや、メモリカード２８から読み出されるデータに基づいて、家庭用ゲーム機１１の各部を制御する。主記憶２６は、例えばＲＡＭを含んで構成されるものであり、ＤＶＤ−ＲＯＭ２５から読み出されたプログラムやメモリカード２８から読み出されたデータが必要に応じて書き込まれる。主記憶２６はマイクロプロセッサ１４の作業用としても用いられる。
【００１９】
画像処理部１６はＶＲＡＭを含んで構成されており、マイクロプロセッサ１４から送られる画像データに基づいてＶＲＡＭ上にゲーム画面を描画する。そして、その内容をビデオ信号に変換して所定のタイミングでモニタ１８に出力する。
【００２０】
入出力処理部３０は、音声処理部２０、ＤＶＤ−ＲＯＭ再生部２４、メモリカード２８及びコントローラ３２にマイクロプロセッサ１４がアクセスするためのインタフェースである。入出力処理部３０には、音声処理部２０、ＤＶＤ−ＲＯＭ再生部２４、メモリカード２８及びコントローラ３２が接続される。
【００２１】
音声処理部２０はサウンドバッファを含んで構成されており、ＤＶＤ−ＲＯＭ２５から読み出され、該サウンドバッファに記憶されたゲーム音楽、ゲーム効果音、メッセージ等の各種音声データを再生してスピーカ２２から出力する。
【００２２】
ＤＶＤ−ＲＯＭ再生部２４は、マイクロプロセッサ１４からの指示に従ってＤＶＤ−ＲＯＭ２５に記録されたプログラムを読み取る。なお、ここではプログラムを家庭用ゲーム機１１に供給するためにＤＶＤ−ＲＯＭ２５を用いることとするが、ＣＤ−ＲＯＭやＲＯＭカード等、他のあらゆる情報記憶媒体を用いるようにしてもよい。また、インターネット等のデータ通信網を介して遠隔地からプログラムを家庭用ゲーム機１１に供給するようにしてもよい。
【００２３】
メモリカード２８は、不揮発性メモリ（例えばＥＥＰＲＯＭ等）を含んで構成される。家庭用ゲーム機１１は、メモリカード２８を装着するための複数のメモリカードスロットを備えており、複数のメモリカード２８を同時に装着可能となっている。メモリカード２８は、このメモリカードスロットに対して脱着可能に構成され、例えばセーブデータなどの各種ゲームデータを記憶させるために用いられる。
【００２４】
コントローラ３２は、プレイヤが各種ゲーム操作の入力をするための汎用操作入力手段である。入出力処理部３０は一定周期ごと（例えば１／６０秒ごと）にコントローラ３２の各部の状態をスキャンし、そのスキャン結果を表す操作信号をバス１２を介してマイクロプロセッサ１４に渡す。マイクロプロセッサ１４は、その操作信号に基づいてプレイヤのゲーム操作を判定する。家庭用ゲーム機１１は複数のコントローラ３２を接続可能に構成されており、各コントローラ３２から入力される操作信号に基づいて、マイクロプロセッサ１４がゲーム制御を行うようになっている。
【００２５】
図２は、コントローラ３２の一例を示す図である。同図（ａ）に示すように、コントローラ３２は、コントローラケーブル４８によって家庭用ゲーム機１１に接続され、表面３２ａの左側に方向ボタン群４６及び左操作スティック４０が設けられ、右側にボタン群４４及び右操作スティック４２が設けられている。また、同図（ｂ）に示すように、コントローラ３２の奥側側面には、表面３２ａ側左右にボタン３４Ｌ，３４Ｒがそれぞれ設けられており、裏面側左右にボタン３６Ｌ，３６Ｒがそれぞれ設けられている。そして、コントローラ３２の筐体左右をプレイヤが両手で持つと、左手親指が方向ボタン群４６及び左操作スティック４０に位置し、右手親指がボタン群４４及び右操作スティック４２に位置するようになっており、右手人指し指又は中指のいずれか少なくとも一方がボタン３４Ｒ，３６Ｒに位置し、左手人指し指又は中指のいずれか少なくとも一方がボタン３４Ｌ，３６Ｌに位置するようになっている。
【００２６】
方向ボタン群４６、ボタン群４４、ボタン３４Ｌ，３４Ｒ，３６Ｌ，３６Ｒは感圧ボタンとして構成されており、圧力センサを備えている。そして、これらのボタンをプレイヤが押下すると、その押圧力に応じて０〜２５５の値を有する２５６段階のディジタル値が家庭用ゲーム機１１に入力されるようになっている。つまり、家庭用ゲーム機１１では、コントローラ３２から入力されるディジタル値が０の場合にはそのボタンが押下されておらず、２５５の場合には最大押圧力でボタンが押下されていること等を該ディジタル値から判断できるようになっている。
【００２７】
左操作スティック４０及び右操作スティック４２は、コントローラ３２の筐体表面に直立したスティック状の操作部材であり、この直立状態から全方位に所定角度だけ傾倒自在となっている。図２（ａ）に示すように、コントローラ３２の筐体長手方向をＸ軸方向（同図（ａ）において右方向を正方向とする。）とし、このＸ軸方向に直交する筐体奥行き方向をＹ軸方向（同図（ａ）において手前から奥に向かう方向を正方向とする。）とすると、左操作スティック４０の姿勢（操作状態）は、Ｘ軸方向及びＹ軸方向の傾き（姿勢データ（Ｘ，Ｙ））として、それぞれ−１２７〜＋１２８のディジタル値が家庭用ゲーム機１１に入力されるようになっている。具体的には、Ｘ＝０は、左操作スティック４０がＸ軸方向に傾いていないことを示す。また、Ｘ＝＋１２８は、左操作スティック４０がＸ軸の正方向（同図（ａ）において右方向）に限界まで倒れていることを示す。さらに、Ｘ＝−１２７は、左操作スティック４０がＸ軸の負方向（同図（ａ）において左方向）に限界まで倒れていることを示す。Ｙ軸方向についても同様である。また、右操作スティック４２についても左操作スティック４０の場合と同様である。こうして、家庭用ゲーム機１１では、左操作スティック４０及び右操作スティック４２の現在の傾き状態（姿勢）を把握できるようになっている。また、左操作スティック４０及び右操作スティック４２は、方向ボタン群４６やボタン群４４等と同様の感圧ボタンとしても構成されており、スティックの軸方向に押下できるようになっている。
【００２８】
以上のハードウェア構成を有するゲーム装置１０では、仮想３次元空間（３次元ゲーム空間）が主記憶２６に構築される。図３は、この３次元空間を模式的に示す図である。同図に示すように、仮想３次元空間５０にはフィールドオブジェクト５１がＸｗ−Ｚｗ平面に平行に配置される。フィールドオブジェクト５１上にはプレイヤオブジェクト５２が配置される。プレイヤオブジェクト５２はプレイヤの操作対象であるオブジェクトであり、コントローラ３２から入力される操作信号に応じて位置や姿勢が変化するオブジェクトである。本実施の形態では、プレイヤが方向ボタン群４６や左操作スティック４０に対する操作を行うと、その操作内容に応じてプレイヤオブジェクト５２が移動するようになっている。また、プレイヤがボタン群４４に対する操作を行うと、その操作内容に応じた動作をプレイヤオブジェクト５２が行うようになっている。なお、仮想３次元空間５０にはプレイヤオブジェクト５２以外のオブジェクトも配置されるが、同図では省略している。
【００２９】
仮想３次元空間５０には仮想カメラ５４が設置され、この仮想カメラ５４から仮想３次元空間５０を見た様子がモニタ１８に表示される。すなわち、視点位置５６から視線方向ベクトル５８の示す方向を見た様子がモニタ１８に表示される。本実施の形態では、仮想カメラ５４は、「基準位置５３からの距離（Ｘｗ−Ｚｗ平面上の距離）が所定距離ｒであり、かつ、フィールドオブジェクト５１からの高さが所定距離ｈである」ようなカメラ軌道５９上に設置される。ここで、基準位置５３はプレイヤオブジェクト５２の位置に基づいて決定される位置であり、例えばプレイヤオブジェクト５２の足元位置である。
【００３０】
本実施の形態では、プレイヤが右操作スティック４２に対する操作を行うことによって、仮想カメラ５４の位置や姿勢を変更できるようになっている。本実施の形態では、仮想カメラ５４に対する操作モードとして、通常操作モードと方角指示操作モードとが用意されている。右操作スティック４２が軸方向に押下されている間は方角指示操作モードとなり、それ以外の間は通常操作モードとなるようになっている。
【００３１】
まず、通常操作モードについて説明する。通常操作モードでは、右操作スティック４２が左右に傾倒されると、仮想カメラ５４（視点位置５６）がカメラ軌道５９上を移動する。例えば、右操作スティック４２が右方向（図２（ａ）におけるＸ軸正方向）に傾倒されると、仮想カメラ５４は、カメラ軌道５９上をプレイヤオブジェクト５２に向かって右方向（図３におけるＲ方向）に移動する。また例えば、右操作スティック４２が左方向（図２（ａ）におけるＸ軸負方向）に傾倒されると、仮想カメラ５４は、カメラ軌道５９上をプレイヤオブジェクト５２に向かって左方向（図３におけるＬ方向）に移動する。この場合、仮想カメラ５４の位置（視点位置５６）が変化するのに伴って、視線方向ベクトル５８が視点位置５６から所与の注視位置（例えば基準位置５３）への方向ベクトルに一致するように、仮想カメラ５４の姿勢（視線方向ベクトル５８）が変化するようになっている。
【００３２】
また、通常操作モードでは、右操作スティック４２が上下に傾倒されると、視線方向ベクトル５８が視点位置５６を中心としてＹｗ軸の正又は負方向に回転する。例えば、右操作スティック４２が上方向（図２（ａ）におけるＹ軸正方向）に傾倒されると、図４に示すように、視線方向ベクトル５８が視点位置５６を中心としてＹｗ軸の正方向に回転する。同様に、右操作スティック４２が下方向（図２（ａ）におけるＹ軸負方向）に傾倒されると、視線方向ベクトル５８が視点位置５６を中心としてＹｗ軸の負方向に回転する。この場合、視線方向ベクトル５８はＹｗ軸の正又は負の方向に所定角度以上回転しないように制限される。
【００３３】
以下では、視点位置５６から基準位置５３への方向ベクトルを基準視線方向ベクトル５７と記載し、視線方向ベクトル５８と基準視線方向ベクトル５７との間の角度を上下角θｙｗと記載する。例えば、視線方向ベクトル５８が基準視線方向ベクトル５７に一致する状態において、右操作スティック４２が上方向に傾倒され、視線方向ベクトル５８が視点位置５６を中心としてＹｗ軸の正方向に１０度だけ回転された場合には、上下角θｙｗは「＋１０度」となる。また例えば、視線方向ベクトル５８が基準視線方向ベクトル５７に一致する状態において、右操作スティック４２が下方向に傾倒され、視線方向ベクトル５８が視点位置５６を中心としてＹｗ軸の負方向に１０度だけ回転された場合には、上下角θｙｗは「−１０度」となる。
【００３４】
次に、方角指示操作モードについて説明する。方角指示操作モードでは、右操作スティック４２から入力される姿勢データに対応する仮想３次元空間５０の方角を向くように、仮想カメラ５４の位置及び姿勢が更新される。
【００３５】
図５は、右操作スティック４２によって入力される姿勢データの判定基準を示す図であり、図６は、右操作スティック４２によって入力される姿勢データの判定結果と仮想３次元空間５０における方角との対応関係を示す図である。
【００３６】
図５に示すように、右操作スティック４２から入力される姿勢データが９つの姿勢状態に分類される。すなわち、同図はＸＹ平面を示しており、右操作スティック４２により姿勢データ（Ｘ，Ｙ）が入力されると、それが同平面において「０」〜「８」のいずれの領域内であるかが判断される。ここで、「０」領域は、ＸＹ平面において原点を中心とする所定半径の円形領域であり、右操作スティック４２の直立状態に対応する。また、「１」〜「８」領域は同じ大きさの領域になっている。
【００３７】
「１」領域は、ＸＹ平面において０度方向（Ｙ軸方向を０度とし、時計回りを正方向とする。以下同様。）に広がる４５度の扇状領域から「０」領域を除いた領域であり、右操作スティック４２を０度方向に倒した状態に対応する。
「２」領域は、ＸＹ平面において４５度方向に広がる４５度の扇状領域から「０」領域を除いた領域であり、右操作スティック４２を４５度方向に傾倒させた状態に対応する。
「３」領域は、ＸＹ平面において９０度方向に広がる４５度の扇状領域から「０」領域を除いた領域であり、右操作スティック４２を９０度方向に傾倒させた状態に対応する。
「４」領域は、ＸＹ平面において１３５度方向に広がる４５度の扇状領域から「０」領域を除いた領域であり、右操作スティック４２を１３５度方向に傾倒させた状態に対応する。
「５」領域は、ＸＹ平面において１８０度方向に広がる４５度の扇状領域から「０」領域を除いた領域であり、右操作スティック４２を１８０度方向に傾倒させた状態に対応する。
「６」領域は、ＸＹ平面において２２５度方向に広がる４５度の扇状領域から「０」領域を除いた領域であり、右操作スティック４２を２２５度方向に傾倒させた状態に対応する。
「７」領域は、ＸＹ平面において２７０度方向に広がる４５度の扇状領域から「０」領域を除いた領域であり、右操作スティック４２を２７０度方向に傾倒させた状態に対応する。
「８」領域は、ＸＹ平面において３１５度方向に広がる４５度の扇状領域から「０」領域を除いた領域であり、右操作スティック４２を３１５度方向に傾倒させた状態に対応する。
以下では、右操作スティック４２により入力される姿勢データがＸＹ平面において「ｎ」領域に位置する状態を「ｎ」状態と記載する。
【００３８】
また図６に示すように、「１」〜「８」の各領域には仮想３次元空間５０における方角「北」、「北東」、「東」、「南東」、「南」、「南西」、「西」、「北西」がそれぞれ対応づけられている。なお、本実施の形態ではＺｗ軸の正方向を「北」とし、Ｘｗ軸の正方向を「東」とする。
【００３９】
例えば、プレイヤが右操作スティック４２を２７０度方向に傾倒させると、仮想カメラ５４は「西」を向くように設定される（図７）。すなわち、視点位置５６は、「カメラ軌道５９上の位置であって、かつ、基準位置５３から『東』の位置」に変更される。また、視線方向ベクトル５８は、「視点位置５６から基準位置５３への方向ベクトルを、視点位置５６を中心としてＹｗ軸方向に、通常操作モード時において設定された上下角θｙｗだけ回転させてなるベクトル」に一致するように変更される。
【００４０】
このように、方角指示操作モードでは、プレイヤが比較的簡易な操作で仮想カメラ５４に所望の方角を向くように指示することが可能になっている。
【００４１】
なお、右操作スティック４２がある方向に傾倒された状態では、右操作スティック４２によって入力される姿勢データの判定基準が変化するようになっている。具体的には、右操作スティック４２の姿勢状態に対応する領域が広がり、他の領域が狭まるようになっている。図８は、右操作スティック４２が２７０度方向に傾倒された状態（右操作スティック４２によって入力される姿勢データが「７」領域に含まれる状態）における判定基準を示している。同図に示すように、「７」領域は「１」〜「６」，「８」領域の各々よりも大きい領域となっており、「１」〜「６」，「８」領域は同じ大きさの領域となっている。具体的には、右操作スティック４２の姿勢状態に対応する「７」領域は、ＸＹ平面において２７０度方向に広がる４５度＋Δθ×２の扇状領域から「０」領域を除いた領域となっている。また、「７」及び「０」領域以外の領域は、４５度−（Δθ×２）／７の扇状領域から「０」領域を除いた領域となっている。この状態において、右操作スティック４２によって入力される姿勢データが「０」及び「７」領域以外の領域に含まれるように、右操作スティック４２が傾倒されると、その領域に対応づけられた方角を向くように仮想カメラ５４が設定される。
【００４２】
右操作スティック４２によって入力される姿勢データが領域間の境界付近で変化すると、仮想カメラ５４の位置及び姿勢の変更が頻発してしまうおそれがある。この点、方角指示操作モードでは以上のようになっていることにより、そのような不具合の発生が抑止されるようになっている。
【００４３】
また、方角指示操作モードでは、プレイヤによって指示された方角の履歴が記憶されるようになっている。そして、右操作スティック４２の直立状態が所定時間（Ｔ１）継続されると、一番最後に指示された方角に仮想カメラ５４が向けられるようになっている。また、右操作スティック４２の直立状態がさらに所定時間（Ｔ２）継続されると、一番最後に指示された方角の前に指示された方角に仮想カメラ５４が向けられるようになっている。以降、右操作スティック４２の直立状態が所定時間（Ｔ２）継続されるごとに、一つ前に指示された方角に仮想カメラ５４が向けられるようになっている。ここで、Ｔ１とＴ２は同じ時間であってもよいし、異なる時間であってもよい。以下では、Ｔ１とＴ２とは同じ時間であることとする。
【００４４】
このように、方角指示操作モードでは、プレイヤが右操作スティック４２を傾倒させなくても、プレイヤによって過去に指示された方角に仮想カメラ５４が向けられるようになっている。このため、過去に指示した方角に仮想カメラ５４を向けようとするプレイヤの手間が軽減されるようになっている。
【００４５】
また、通常操作モードから方角指示操作モードに移行する際には、その時点における視点位置５６及び視線方向ベクトル５８を示す情報が主記憶２６に記憶されるようになっている。そして、右操作スティック４２の軸方向への押下が解除され、方角指示操作モードから通常操作モードに復帰する場合には、主記憶２６に記憶される上記情報に基づいて、仮想カメラ５４が設定されるようになっている。このようにして、ゲーム装置１０では、方角指示操作モードから通常操作モードへの復帰が円滑に行われるようになっている。
【００４６】
次に、ゲーム装置１０の機能的構成について説明する。図９は、ゲーム装置１０において実現される機能のうち、本発明に関連するを主として示す機能ブロック図である。同図に示すように、ゲーム装置１０には、機能的に第１仮想カメラ制御部６０、第２仮想カメラ制御部６２、仮想カメラ制御切替部６４、仮想カメラ状態情報記憶部６８及び表示制御部７０が含まれる。これらの機能は、ＤＶＤ−ＲＯＭ２５から読み出されたプログラムがマイクロプロセッサ１４によって実行されることによって実現される。
【００４７】
［１．仮想カメラ状態情報記憶部］
仮想カメラ状態情報記憶部６８は主記憶２６を主として実現される。仮想カメラ状態情報記憶部６８には、現在の仮想カメラ５４の位置（視点位置５６）及び姿勢（視線方向ベクトル５８）を示す情報が記憶される。また、仮想カメラ状態情報記憶部６８には、通常操作モード時において設定された上下角θｙｗを示す情報が記憶される。
【００４８】
［２．仮想カメラ制御切替部］
仮想カメラ制御切替部６４はマイクロプロセッサ１４を主として実現される。仮想カメラ制御切替部６４は、第１仮想カメラ制御部６０によって仮想カメラ５４が制御される状態と、第２仮想カメラ制御部６２によって仮想カメラ５４が制御される状態と、を所定切替操作に応じて切り替える。すなわち、仮想カメラ制御切替部６４は通常操作モードと方角指示操作モードとを所定切替操作に応じて切り替える。本実施の形態における「所定切替操作」は、右操作スティック４２の軸方向への押下操作となっている。なお、「所定切替操作」は他の操作であってもよい。例えばボタン３４Ｒ等の押下操作であってもよい。
【００４９】
［３．第１仮想カメラ制御部］
第１仮想カメラ制御部６０はマイクロプロセッサ１４を主として実現される。第１仮想カメラ制御部６０は通常操作モード時の仮想カメラ５４の制御を実行する。第１仮想カメラ制御部６０は、コントローラ３２の操作状態に基づいて仮想カメラ５４の姿勢の変化方向を判断し、その変化方向に所与の角度だけ現在の方向から変化した方向を向く目標姿勢に、仮想カメラ５４の姿勢を変更する。本実施の形態では、第１仮想カメラ制御部６０は、右操作スティック４２の操作状態に基づいて仮想カメラ５４の姿勢の変化方向を判断する。
【００５０】
なお、第１仮想カメラ制御部６０は、仮想カメラ制御切替部６４によって、第１仮想カメラ制御部６０によって仮想カメラ５４が制御される状態（通常操作モード）から、第２仮想カメラ制御部６２によって仮想カメラ５４が制御される状態（方角指示操作モード）に切り替えられる場合、その時点における視点位置５６及び視線方向ベクトル５８を特定する情報（姿勢特定情報）を主記憶２６に記憶させる。そして、第１仮想カメラ制御部６０は、仮想カメラ制御切替部６４によって、第２仮想カメラ制御部６２によって仮想カメラ５４が制御される状態（方角指示操作モード）から、第１仮想カメラ制御部６０によって仮想カメラ５４が制御される状態（通常操作モード）に切り替えられる場合、主記憶２６に記憶された上記情報に基づいて、視点位置５６及び視線方向ベクトル５８を設定する。
【００５１】
［４．第２仮想カメラ制御部］
第２仮想カメラ制御部６２はマイクロプロセッサ１４を主として実現される。第２仮想カメラ制御部６２は、方角指示操作モード時の仮想カメラ５４の制御を実行する。第２仮想カメラ制御部６２は、コントローラ３２の操作状態に基づいて仮想３次元空間５０における方角を判断し、その方角を向く目標姿勢に、仮想カメラ５４の姿勢を変更する。本実施の形態では、第１仮想カメラ制御部６０は、右操作スティック４２の操作状態に基づいて仮想３次元空間５０における方角を判断する。
【００５２】
第２仮想カメラ制御部６２は、右操作スティック４２から入力される姿勢データの判定基準を示す判定基準データを記憶する。本実施の形態では、図５に示すような判定基準を示す判定基準データ（基礎判定基準データ）が記憶される。また、「１」領域〜「８」領域の各領域ごとに、右操作スティック４２から入力される姿勢データがその領域に含まれる場合の判定基準データが記憶される。すなわち、例えば図８に示すような判定基準を示す判定基準データが「１」領域〜「８」領域の各領域ごとに記憶される。
【００５３】
第２仮想カメラ制御部６２は、右操作スティック４２から入力される姿勢データが「０」領域に含まれる場合、該姿勢データに対応する仮想３次元空間５０の方角を上記基礎判定基準データに基づいて取得する。一方、第２仮想カメラ制御部６２は、右操作スティック４２から入力される姿勢データが「１」領域〜「８」領域のいずれかに含まれる場合、該姿勢データに対応する仮想３次元空間５０の方角を、該領域に対応する判定基準データに基づいて取得する。そして、第２仮想カメラ制御部６２は、取得した方角を向くように仮想カメラ５４の姿勢を変更する。
【００５４】
なお、第２仮想カメラ制御部６２は上記基礎判定基準データだけを記憶しておき、「１」領域〜「８」領域の各領域に対応する判定基準データを、上記基礎判定基準データに基づいて生成するようにしてもよい。
【００５５】
［５．方角履歴関連情報記憶部］
第２仮想カメラ制御部６２は方角履歴関連情報記憶部６６を含んでいる。方角履歴関連情報記憶部６６は主記憶２６を主として実現される。方角履歴関連情報記憶部６６は、「第２仮想カメラ制御部６２によって仮想カメラ５４が向くように設定された仮想３次元空間５０の方角」の履歴に関連する方角履歴関連情報を記憶する。
【００５６】
本実施の形態では、例えば図１０に示すような方角履歴データ（配列データ）が記憶される。この方角履歴データには、方角指示操作モードにおいて、プレイヤが右操作スティック４２を傾倒させることによって指示した方角が過去Ｎ個分記憶されるようになっている。なお、この方角履歴データには、プレイヤに指示された方角が最近指示されたものから順に格納されていることとする。
【００５７】
第２仮想カメラ制御部６２は、所定操作に応じて、方角履歴データに基づいて判断される仮想３次元空間５０における方角を向く目標姿勢に、仮想カメラ５４の姿勢を変更する。
【００５８】
［６．表示制御部］
表示制御部７０はマイクロプロセッサ１４及び画像処理部１６を主として実現される。表示制御部７０は、仮想カメラ状態情報記憶部６８の記憶内容に基づいて仮想カメラ５４を設定し、該仮想カメラ５４から仮想３次元空間５０を見た様子を表すゲーム画面をモニタ１８に表示させる。言い換えれば、表示制御部７０は「仮想３次元空間５０において、仮想カメラ状態情報記憶部６８に記憶される視点位置５６から、仮想カメラ状態情報記憶部６８に記憶される視線方向ベクトル５８の示す方向を見た様子」を表すゲーム画面をモニタ１８に表示させる。
【００５９】
次に、ゲーム装置１０において所定時間（本実施の形態では１／６０秒）ごとに実行される処理について説明する。図１１乃至図１４は、ゲーム装置１０において所定時間ごとに実行される処理のうち、本発明に関連する処理を示すフロー図である。同図に示す処理は、ＤＶＤ−ＲＯＭ２５に格納されたプログラムがマイクロプロセッサ１４によって実行されることによって実現される。
【００６０】
図１１に示すように、右操作スティック４２が軸方向に押下されているか否かが仮想カメラ制御切替部６４によって判定される（Ｓ１０１）。すなわち、右操作スティック４２の押下操作を示す操作信号がコントローラ３２から入力されたか否かが判定される。右操作スティック４２が軸方向に押下されている場合には、方角指示操作モード時の処理（Ｓ１０２乃至Ｓ１２１）が実行される。一方、右操作スティック４２が軸方向に押下されていない場合には、通常操作モード時の処理（Ｓ１２２乃至Ｓ１２７，Ｓ１１５）が実行される。
【００６１】
右操作スティック４２が押下されている場合、操作モードフラグが「０」であるか否かが判定される（Ｓ１０２）。操作モードフラグは、仮想カメラ５４の現在の操作モードが通常操作モードであるか、或いは方角指示操作モードであるかを示す情報であり、主記憶２６に記憶される。操作モードフラグは「０」又は「１」のいずれかの値をとるようになっており、通常操作モードの場合には「０」となり、方角指示操作モードの場合に「１」となる。
【００６２】
右操作スティック４２が押下されており、かつ、操作モードフラグが「０」である状態は、右操作スティック４２の押下が行われた直後の状態であるため、方角指示操作モードの初期化処理（Ｓ１０３乃至Ｓ１０６）が実行される。
【００６３】
すなわち、変数ｔ及びｉが「０」に初期化される（Ｓ１０３）。変数ｔは、方角指示操作モード時において右操作スティック４２の直立状態が継続した時間を計るためのものである（Ｓ１１６及びＳ１１７参照）。また、変数ｉは、後述のＳ１１９において方角履歴データ（図１０参照）から方角を読み出す際の基礎となる数値である。
【００６４】
また、現在領域ＩＤが「０」に初期化される（Ｓ１０４）。現在領域ＩＤは、現在の右操作スティック４２の傾倒状態に対応する領域の領域ＩＤであり、主記憶２６に記憶される。現在領域ＩＤは「０」〜「８」のいずれかの値をとるようになっている（図５及び８参照）。
【００６５】
また、その時点の視点位置５６及び視線方向ベクトル５８（仮想カメラ５４の位置及び姿勢）が仮想カメラ状態情報記憶部６８から読み出され、通常モード再開時の視点位置５６及び視線方向ベクトル５８として主記憶２６に記憶される（Ｓ１０５）。また、操作モードフラグが「１」に更新される（Ｓ１０６）。
【００６６】
方角指示操作モードの初期化処理（Ｓ１０３乃至Ｓ１０６）の実行が完了した場合、又は、操作モードフラグが「０」でないと判定された場合（Ｓ１０２のＮ）、第２仮想カメラ制御部６２は右操作スティック４２が直立状態であるか否かを判定する（Ｓ１０７）。すなわち、右操作スティック４２の姿勢状態が「０」状態であるか否かを判定する。
【００６７】
右操作スティック４２が直立状態でない場合、第２仮想カメラ制御部６２は変数ｔ及びｉを「０」に初期化する（Ｓ１０８）。
【００６８】
また、第２仮想カメラ制御部６２は、現在領域ＩＤに対応する判定基準データを取得する（Ｓ１０９）。例えば現在領域ＩＤが「０」である場合、図５に示すような判定基準を示す判定基準データが取得される。また例えば現在領域ＩＤが「７」である場合、図８に示すような判定基準を示す判定基準データが取得される。
【００６９】
次に、第２仮想カメラ制御部６２は、Ｓ１０９で取得した判定基準データに基づいて、右操作スティック４２の傾倒状態に対応する領域ＩＤを取得する（Ｓ１１０）。すなわち、第２仮想カメラ制御部６２は、コントローラ３２から出力される右操作スティック４２の姿勢データに基づいて、右操作スティック４２の傾倒状態が「１」状態〜「８」状態のいずれかに属するかを判断する。
【００７０】
次に、第２仮想カメラ制御部６２は、Ｓ１１０で取得した領域ＩＤと現在領域ＩＤとが異なる場合（Ｓ１１１のＹ）、主記憶２６に記憶される現在領域ＩＤをＳ１１０で取得した領域ＩＤに更新する（Ｓ１１２）。また、第２仮想カメラ制御部６２は、Ｓ１１０で取得した領域ＩＤに対応する方角を図６に示すデータに基づいて取得し、方角履歴データ（図１０参照）に追加登録する（Ｓ１１３）。なお、Ｎ個の方角が方角履歴データにすでに記憶されている場合、第２仮想カメラ制御部６２は最も過去に記憶された方角を消去した後、Ｓ１１０で取得した方角を追加登録する。
【００７１】
次に、第２仮想カメラ制御部６２は、現在領域ＩＤに対応する方角を向くように、視点位置５６及び視線方向ベクトル５８（仮想カメラ５４の位置及び姿勢）を更新する（Ｓ１１４）。まず、第２仮想カメラ制御部６２は視点位置５６を算出する。具体的には、第２仮想カメラ制御部６２は、カメラ軌道５９上の位置であって、基準位置５３から「現在領域ＩＤに対応する方角とは正反対の方角」の位置を視点位置５６として算出する。次に、第２仮想カメラ制御部６２は視線方向ベクトル５８を算出する。具体的には、第２仮想カメラ制御部６２は、上記算出した視点位置５６から基準位置５３への方向ベクトル（基準視線方向ベクトル５７）を算出する。また、第２仮想カメラ制御部６２は、仮想カメラ状態情報記憶部６８に記憶された上下角θｙｗを読み出す。そして、第２仮想カメラ制御部６２は、上記算出した視点位置５６を中心として、基準視線方向ベクトル５７をＹｗ軸方向に上下調整角度θｙだけ回転してなるベクトルを視線方向ベクトル５８として算出する。第２仮想カメラ制御部６２は、仮想カメラ状態情報記憶部６８に記憶された視点位置５６及び視線方向ベクトル５８を、以上のようにして算出された視点位置５６及び視線方向ベクトル５８に更新する。
【００７２】
なお、右操作スティック４２が直立状態であると判定された場合（Ｓ１０７のＹ）、第２仮想カメラ制御部６２は変数ｔをインクリメントする（Ｓ１１６）。そして、変数ｔがＴ以上である場合（Ｓ１１７のＹ）、第２仮想カメラ制御部６２は変数ｉをインクリメントし（Ｓ１１８）、方角履歴データに記憶されるＮ個の方角のうちのｉ番目の方角を取得する（Ｓ１１９）。そして、第２仮想カメラ制御部６２は、Ｓ１１９で取得された方角を向くように、視点位置５６及び視線方向ベクトル５８（仮想カメラ５４の位置及び姿勢）を更新する（Ｓ１２０）。このステップの処理はＳ１１４の処理と同様に行われる。その後、変数ｔが「０」に初期化される（Ｓ１２１）。
【００７３】
また、右操作スティック４２が軸方向に押下されていないと判定された場合（Ｓ１０１のＮ）、操作モードフラグが「１」であるか否かが判定される（Ｓ１２２）。右操作スティック４２が軸方向に押下されておらず、かつ、操作モードフラグが「１」である状態は、右操作スティック４２の押下が解除された直後の状態であるため、通常操作モードの初期化処理（Ｓ１２３乃至Ｓ１２５）が実行される。
【００７４】
すなわち、通常操作モードから方角指示操作モードに移行する際に通常操作モード再開時の視点位置５６及び視線方向ベクトル５８として記憶された視点位置５６及び視線方向ベクトル５８（Ｓ１０５参照）を、第１仮想カメラ制御部６０は主記憶２６から取得する（Ｓ１２３）。そして、第１仮想カメラ制御部６０は、仮想カメラ状態情報記憶部６８に記憶される視点位置５６及び視線方向ベクトル５８を、Ｓ１２３で取得された視点位置５６及び視線方向ベクトル５８に更新する（Ｓ１２４）。その後、操作モードフラグが「０」に更新される（Ｓ１２５）。
【００７５】
一方、操作モードフラグが「１」でない場合（Ｓ１２２のＮ）、第１仮想カメラ制御部６０は、コントローラ３２から出力される右操作スティック４２の姿勢データに基づいて、右操作スティック４２の傾倒状態を取得する（Ｓ１２６）。そして、第１仮想カメラ制御部６０は、視点位置５６及び視線方向ベクトル５８（仮想カメラ５４の位置及び姿勢）を右操作スティック４２の傾倒状態に基づいて更新する（Ｓ１２７）。
【００７６】
例えば、右操作スティック４２が右方向（図２（ａ）におけるＸ軸正方向）に傾倒されている場合には、第１仮想カメラ制御部６０は、現在の視点位置５６を仮想カメラ状態情報記憶部６８から読み出す。そして、第１仮想カメラ制御部６０は、「カメラ軌道５９上の位置であって、現在の視点位置５６から、基準位置５３に向かって右方向に、所定距離（仮想カメラ５４の１／６０秒ごとの移動距離）だけ移動してなる位置」を、新たな視点位置５６として算出する。次に、第１仮想カメラ制御部６０は、その新たな視点位置５６における視線方向ベクトル５８を算出する。まず、第１仮想カメラ制御部６０は、その新たな視点位置５６から基準位置５３への方向ベクトル（基準視線方向ベクトル５７）を算出する。そして、第１仮想カメラ制御部６０は、仮想カメラ状態情報記憶部６８に記憶された上下角θｙｗを読み出し、上記新たな視点位置５６を中心として、基準視線方向ベクトル５７をＹｗ軸方向に上下角θｙｗだけ回転してなるベクトルを新たな視線方向ベクトル５８として算出する。第１仮想カメラ制御部６０は、仮想カメラ状態情報記憶部６８に記憶された視点位置５６及び視線方向ベクトル５８を、以上のようにして算出された視点位置５６及び視線方向ベクトル５８に更新する。なお、右操作スティック４２が左方向（図２（ａ）におけるＸ軸負方向）に傾倒されている場合にも同様の処理が実行される。
【００７７】
また例えば、右操作スティック４２が上方向（図２（ａ）におけるＹ軸正方向）に傾倒されている場合には、第１仮想カメラ制御部６０は、仮想カメラ５４の現在の上下角θｙｗを仮想カメラ状態情報記憶部６８から読み出し、仮想カメラ状態情報記憶部６８に記憶される上下角θｙｗをθｙｗ＋Δθｙｗに更新する。また、第１仮想カメラ制御部６０は、仮想カメラ５４の現在の視点位置５６及び視線方向ベクトル５８を仮想カメラ状態情報記憶部６８から読み出し、視点位置５６を中心として、現在の視線方向ベクトル５８をＹｗ軸方向に上下角Δθｙｗだけ回転してなるベクトルを新たな視線方向ベクトル５８として算出する。そして、第１仮想カメラ制御部６０は、仮想カメラ状態情報記憶部６８に記憶される視線方向ベクトル５８を、この新たに算出した視線方向ベクトル５８に更新する。なお、Δθｙｗは１／６０秒ごとの所定の増減角度を示している。また、右操作スティック４２が下方向（図２（ａ）におけるＹ軸負方向）に傾倒されている場合にも同様の処理が実行される。
【００７８】
表示制御部７０は、仮想カメラ状態情報記憶部６８から視点位置５６及び視線方向ベクトル５８を読み出し、仮想３次元空間５０において該視点位置５６から該視線方向ベクトル５８の示す方向を見た様子を表すゲーム画面をＶＲＡＭ上に描画する（Ｓ１１５）。ＶＲＡＭに描画されたゲーム画面は所定のタイミングでモニタ１８に表示される。
【００７９】
以上説明したように、ゲーム装置１０によれば、プレイヤは仮想３次元空間５０における所望の方角が分からなくなってしまった場合等において、右操作スティック４２を所望の方角に対応する方向に傾けることにより、仮想カメラ５４を所望の方角に向けさせることが可能になる。すなわち、プレイヤは比較的簡易な操作で仮想カメラ５４を仮想３次元空間５０の所望の方角に向けさせることが可能になる。
【００８０】
なお、本発明は以上に説明した実施の形態に限定されるものではない。
【００８１】
例えば、方角履歴データ（図１０参照）には、方角とともに、その時点において設定されていた上下角θｙｗが記憶されるようにしてもよい。そして、Ｓ１１９及びＳ１２０の処理において、第２仮想カメラ制御部６２は方角とともに上下角θｙｗを取得し、これらに基づいて視点位置５６及び視線方向ベクトル５８を更新するようにしてもよい。
【００８２】
また例えば、方角指示操作モードにおいて、右操作スティック４２の直立状態が所定時間継続した場合には、プレイヤによって指示された回数が最も多いと方角履歴データに基づいて判断される方角に、仮想カメラ５４が向けられるようにしてもよい。また、その状態から、右操作スティック４２の直立状態がさらに所定時間継続した場合には、プレイヤによって指示された回数が２番目に多いと方角履歴データに基づいて判断される方角に、仮想カメラ５４が向けられるようにしてもよい。このように、右操作スティック４２の直立状態が所定時間継続するごとに、プレイヤによって指示された回数が多いと方角履歴データに基づいて判断される方角から順に、仮想カメラ５４が向けられるようにしてもよい。
【００８３】
また例えば、方角履歴関連情報記憶部６６に記憶される方角履歴関連情報は、方角と、方角指示操作モード時において仮想カメラ５４がその方角に向けられていた延べ時間と、を対応づけてなる情報としてもよい。そして、方角指示操作モードにおいて、右操作スティック４２の直立状態が所定時間継続した場合には、延べ時間の最も長い方角に仮想カメラ５４が向けられるようにしてもよい。また、その状態から、右操作スティック４２の直立状態がさらに所定時間継続した場合には、延べ時間が次に長い方角に仮想カメラ５４が向けられるようにしてもよい。このように、右操作スティック４２の直立状態が所定時間継続するごとに、延べ時間が長い方角から順に仮想カメラ５４が向けられるようにしてもよい。
【００８４】
また例えば、本発明はいわゆる一人称視点のゲームにも適用することが可能である。
【００８５】
また、以上の説明では、プログラムを情報記憶媒体たるＤＶＤ−ＲＯＭ２５から家庭用ゲーム機１１に供給するようにしたが、通信ネットワークを介してプログラムを家庭等に配信するようにしてもよい。図１５は、通信ネットワークを用いたプログラム配信システムの全体構成を示す図である。同図に基づいて本発明に係るプログラム配信方法を説明する。同図に示すように、このプログラム配信システム１００は、ゲームデータベース１０２、サーバ１０４、通信ネットワーク１０６、パソコン１０８、家庭用ゲーム機１１０、ＰＤＡ（携帯情報端末）１１２を含んでいる。このうち、ゲームデータベース１０２とサーバ１０４とによりプログラム配信装置１１４が構成される。通信ネットワーク１０６は、例えばインターネットやケーブルテレビネットワークを含んで構成されている。このシステムでは、ゲームデータベース（情報記憶媒体）１０２に、ＤＶＤ−ＲＯＭ２５の記憶内容と同様のプログラムが記憶されている。そして、パソコン１０８、家庭用ゲーム機１１０又はＰＤＡ１１２等を用いて需要者がゲーム配信要求をすることにより、それが通信ネットワーク１０６を介してサーバ１０４に伝えられる。そして、サーバ１０４はゲーム配信要求に応じてゲームデータベース１０２からプログラムを読み出し、それをパソコン１０８、家庭用ゲーム機１１０、ＰＤＡ１１２等、ゲーム配信要求元に送信する。ここではゲーム配信要求に応じてゲーム配信するようにしたが、サーバ１０４から一方的に送信するようにしてもよい。また、必ずしも一度にゲームの実現に必要な全てのプログラムを配信（一括配信）する必要はなく、ゲームの局面に応じて必要な部分を配信（分割配信）するようにしてもよい。このように通信ネットワーク１０６を介してゲーム配信するようにすれば、プログラムを需要者は容易に入手することができるようになる。
【図面の簡単な説明】
【００８６】
【図１】本実施の形態に係るゲーム装置のハードウェア構成を示す図である。
【図２】コントローラの一例を示す図である。
【図３】仮想３次元空間の一例を示す斜視図である。
【図４】視線方向ベクトルのＹｗ軸方向の回転について示す図である。
【図５】右操作スティックの姿勢判定基準を示す図である。
【図６】右操作スティックの姿勢と仮想３次元空間における方角との対応関係を表すデータを示す図である。
【図７】仮想３次元空間の一例を示す斜視図である。
【図８】右操作スティックの姿勢判定基準を示す図である。
【図９】本実施の形態に係るゲーム装置の機能ブロック図である。
【図１０】方角履歴データの一例を示す図である。
【図１１】ゲーム装置で実行される処理について示すフロー図である。
【図１２】ゲーム装置で実行される処理について示すフロー図である。
【図１３】ゲーム装置で実行される処理について示すフロー図である。
【図１４】ゲーム装置で実行される処理について示すフロー図である。
【図１５】本発明の他の実施形態に係るプログラム配信システムの全体構成を示す図である。
【符号の説明】
【００８７】
１０  ゲーム装置、１１，１１０  家庭用ゲーム機、１２  バス、１４  マイクロプロセッサ、１６  画像処理部、１８  モニタ、２０  音声処理部、２２  スピーカ、２４  ＤＶＤ−ＲＯＭ再生部、２５  ＤＶＤ−ＲＯＭ、２６  主記憶、２８  メモリカード、３０  入出力処理部、３２  コントローラ、３２ａ  表面、３４Ｌ，３４Ｒ，３６Ｌ，３６Ｒ  ボタン、４０  左操作スティック、４２  右操作スティック、４４  ボタン群、４６  方向ボタン群、４８  コントローラケーブル、５０  仮想３次元空間、５１  フィールドオブジェクト、５２  プレイヤオブジェクト、５３  基準位置、５４  仮想カメラ、５６  視点位置、５７  基準視線方向ベクトル、５８  視線方向ベクトル、５９  カメラ軌道、６０  第１仮想カメラ制御部、６２  第２仮想カメラ制御部、６４  仮想カメラ制御切替部、６６  方角履歴関連情報記憶部、６８  仮想カメラ状態情報記憶部、７０  表示制御部、１００  プログラム配信システム、１０２  ゲームデータベース、１０４  サーバ、１０６  通信ネットワーク、１０８  パソコン、１１２  携帯情報端末（ＰＤＡ）、１１４  プログラム配信装置。
【図１】
2007054520.tif 000003
【図２】
2007054520.tif 000004
【図３】
2007054520.tif 000005
【図４】
2007054520.tif 000006
【図５】
2007054520.tif 000007
【図６】
2007054520.tif 000008
【図７】
2007054520.tif 000009
【図８】
2007054520.tif 000010
【図９】
2007054520.tif 000011
【図１０】
2007054520.tif 000012
【図１１】
2007054520.tif 000013
【図１２】
2007054520.tif 000014
【図１３】
2007054520.tif 000015
【図１４】
2007054520.tif 000016
【図１５】
2007054520.tif 000017