(57)【特許請求の範囲】
【請求項１】
仮想空間内のキャラクタの位置および姿勢を変化させる位置変化部、
前記位置変化部により位置および姿勢が変化されるキャラクタの部位のうち、最も変位が大きい部位を取得する部位取得部、
所定の経路上に視点の位置を設定する視点設定部、
前記設定された視点から、前記キャラクタの位置へ向けた視線により、前記仮想空間の様子を表す画像を生成する画像生成部、
を備え、
前記視点設定部は、前記最も変位が大きい部位の変位の始点および終点ならびに前記視点を頂点とする三角形の当該視点における内角が大きくなるように、前記所定の経路上で前記視点の位置を移動させる、
ことを特徴とするゲーム装置。
【請求項２】
請求項１に記載されたゲーム装置であって、
前記視点設定部は、前記内角が最大となる位置に前記視点の位置を設定する、
ことを特徴とするゲーム装置。
【請求項３】
仮想空間内のキャラクタの位置および姿勢を変化させる位置変化部、
前記位置変化部により位置および姿勢が変化されるキャラクタの部位のうち、最も変位が大きい部位を取得する部位取得部、
前記取得された最も変位が大きい部位の変位を見込む角度が大きくなるように、視点の位置を設定する視点設定部、
前記設定された視点から、前記キャラクタの位置へ向けた視線により、前記仮想空間の様子を表す画像を生成する画像生成部、
を備え、
前記視点は、所定の経路上を、所定の上限速度以下で移動し、
前記視点設定部は、前記所定の経路上で前記所定の上限速度以下で移動可能な範囲のうち、前記変位を見込む角度が最大となる位置に、前記視点の位置を設定する、
ことを特徴とするゲーム装置。
【請求項４】
請求項１乃至３のいずれか１項に記載されたゲーム装置であって、
前記所定の経路は、キャラクタの位置を中心とする所定の円状の経路である、
ことを特徴とするゲーム装置。
【請求項５】
請求項４に記載されたゲーム装置であって、
前記視点設定部は、前記最も変位が大きいキャラクタの部位の変位に基づいて、前記所定の円状の経路の半径を設定する、
ことを特徴とするゲーム装置。
【請求項６】
請求項５に記載されたゲーム装置であって、
前記視点設定部は、前記変位を見込む角度が最大となる位置へ前記視点の位置を移動させた後で、当該最も変位が大きいキャラクタの部位の変位に基づいて、前記所定の円状の経路の半径を設定する、
ことを特徴とするゲーム装置。
【請求項７】
請求項５に記載されたゲーム装置であって、
前記視点設定部は、前記変位を見込む角度が最大となる位置へ前記視点の位置を移動させながら、当該最も変位が大きいキャラクタの部位の変位に基づいて、前記所定の円状の経路の半径を設定する、
ことを特徴とするゲーム装置。
【請求項８】
請求項１乃至７のいずれか１項に記載されたゲーム装置であって、
前記視点設定部は、前記所定の経路上において、前記視点の加速度および減速度が、所定の閾値を超えないように、前記視点の位置を移動させる、
ことを特徴とするゲーム装置。
【請求項９】
位置変化部、部位取得部、視点設定部、画像生成部を備えるゲーム装置にて実行されるゲーム処理方法であって、
前記位置変化部が、仮想空間内のキャラクタの位置および姿勢を変化させる位置変化工程、
前記部位取得部が、前記位置変化部により位置および姿勢が変化されるキャラクタの部位のうち、最も変位が大きい部位を取得する部位取得工程、
前記視点設定部が、所定の経路上に視点の位置を設定する視点設定工程、
前記画像生成部が、前記設定された視点から、前記キャラクタの位置へ向けた視線により、前記仮想空間の様子を表す画像を生成する画像生成工程、
を備え、
前記視点設定工程では、前記視点設定部が、前記最も変位が大きい部位の変位の始点および終点ならびに前記視点を頂点とする三角形の当該視点における内角が大きくなるように、前記所定の経路上で前記視点の位置を移動させる、
ことを特徴とするゲーム処理方法。
【請求項１０】
位置変化部、部位取得部、視点設定部、画像生成部を備えるゲーム装置にて実行されるゲーム処理方法であって、
前記位置変化部が、仮想空間内のキャラクタの位置および姿勢を変化させる位置変化工程、
前記部位取得部が、前記位置変化部により位置および姿勢が変化されるキャラクタの部位のうち、最も変位が大きい部位を取得する部位取得工程、
前記視点設定部が、前記取得された最も変位が大きい部位の変位を見込む角度が大きくなるように、視点の位置を設定する視点設定工程、
前記画像生成部が、前記設定された視点から、前記キャラクタの位置へ向けた視線により、前記仮想空間の様子を表す画像を生成する画像生成工程、
を備え、
前記視点は、所定の経路上を、所定の上限速度以下で移動し、
前記視点設定工程では、前記視点設定部が、前記所定の経路上で前記所定の上限速度以下で移動可能な範囲のうち、前記変位を見込む角度が最大となる位置に、前記視点の位置を設定する、
ことを特徴とするゲーム処理方法。
【請求項１１】
コンピュータを、
仮想空間内のキャラクタの位置および姿勢を変化させる位置変化部、
前記位置変化部により位置および姿勢が変化されるキャラクタの部位のうち、最も変位が大きい部位を取得する部位取得部、
所定の経路上に視点の位置を設定する視点設定部、
前記設定された視点から、前記キャラクタの位置へ向けた視線により、前記仮想空間の様子を表す画像を生成する画像生成部、
として機能させ、
前記視点設定部は、前記最も変位が大きい部位の変位の始点および終点ならびに前記視点を頂点とする三角形の当該視点における内角が大きくなるように、前記所定の経路上で前記視点の位置を移動させる、
ように機能させることを特徴とするプログラム。
【請求項１２】
コンピュータを、
仮想空間内のキャラクタの位置および姿勢を変化させる位置変化部、
前記位置変化部により位置および姿勢が変化されるキャラクタの部位のうち、最も変位が大きい部位を取得する部位取得部、
前記取得された最も変位が大きい部位の変位を見込む角度が大きくなるように、視点の位置を設定する視点設定部、
前記設定された視点から、前記キャラクタの位置へ向けた視線により、前記仮想空間の様子を表す画像を生成する画像生成部、
として機能させ、
前記視点は、所定の経路上を、所定の上限速度以下で移動し、
前記視点設定部は、前記所定の経路上で前記所定の上限速度以下で移動可能な範囲のうち、前記変位を見込む角度が最大となる位置に、前記視点の位置を設定する、
ように機能させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、仮想空間内のキャラクタの動きにあわせて、プレイヤがキャラクタの動きを適切に見ることができる画像を生成するのに好適なゲーム装置、ゲーム処理方法、ならびに、プログラムに関する。
【背景技術】
【０００２】
プレイヤが体全体を動かしてプレイするゲームが普及している。代表的なものとして、ダンスゲームが挙げられる。ダンスゲームでは一般に、体の動作タイミングで表される課題が画面に表示され、これに従ってプレイヤがプレイすると、ダンス感覚を楽しむことができる。
【０００３】
このようなダンスゲームでは、典型的に、プレイヤが足で押圧するマット型のコントローラを用い、踏み位置とそのタイミングを画面に表示することで、プレイヤにダンス感覚を楽しむことのできる動作や振付けを示している。そして、このようなプレイヤがゲームで行うに相応しい動作や振付けを画面内により分かりやすく教授する方法が開発されている。
【０００４】
例えば、特許文献１には、マット型コントローラをプレイヤが足をステップするタイミングだけでなく、画面内に言葉で警告を表示することによりステップとステップの間の動作についてもプレイヤに分かりやすく教示する技術が開示されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特許第４３５４５０９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
このようにゲームにおいてプレイヤがとるべき動作について、足のステップの仕方を画面に表示するだけでなく、頭や手といった体全体の動作まで含めて分かりやすく画面に表示してほしい、との要望がある。
【０００７】
特に近年では、ゲームに使用するコントローラとして、従来からのボタン押圧操作によるものだけではなく、赤外線等を用いてプレイヤの動作をリモートに感知するものが種々に開発され、普及してきている。このようなリモート感知型のコントローラでは、プレイヤの手や足による押圧操作によるものだけでなく、体全体の様々な動きをゲームの操作入力とすることが可能となる。
【０００８】
これは例えば、上述したダンスゲームにおいては、プレイヤが踊った体全体の動きを細かい振付けまで含めて操作入力とすることができるようになるということであり、そのために、プレイヤが実際に踊った体全体の動きや、ダンスでとるべき体全体の動作を、細かい振付けまで含めて分かりやすく画面に表示することが求められている。
【０００９】
このような技術は、上述したダンスゲームだけでなく、アクションゲームやその他プレイヤが体全体を使って進行しうる様々なゲームにおいても応用できる。
【００１０】
本発明は、以上のような課題を解決するためのものであり、仮想空間内のキャラクタの動きにあわせて、プレイヤがキャラクタの動きを適切に見ることができる画像を生成するのに好適なゲーム装置、ゲーム処理方法、ならびに、プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１１】
上記目的を達成するため、本発明の第１の観点に係るゲーム装置は、位置変化部と、部位取得部と、視点設定部と、画像生成部と、を備える。
【００１２】
位置変化部は、仮想空間内のキャラクタの位置および姿勢を変化させる。
【００１３】
例えば、楽曲の再生にあわせてプレイヤがダンスを楽しむことができるゲームにおいて、位置変化部は、仮想空間内のキャラクタの位置および姿勢を変化させてダンスを踊らせ、プレイヤがとるべきダンスの動作や振付けをゲーム画面内に示す、という場合が典型的である。
【００１４】
また、位置変化部は、コントローラによってプレイヤからの入力を受け付け、入力に基づいて仮想空間内のキャラクタの位置および姿勢を変化させてもよい。具体的に、上述したダンスゲームにおいて、仮想空間内のキャラクタは予め定められたプログラムに基づいてダンスを踊るだけではなく、プレイヤからの指示によって動作や振付けを変化するようにしてもよい。
【００１５】
部位取得部は、位置変化部により位置および姿勢が変化されるキャラクタの部位のうち、最も変位が大きい部位を取得する。
【００１６】
すなわち、例えば、上記楽曲の再生にあわせてプレイヤがダンスを楽しむことができるゲームでは、楽曲のある部分の再生中に仮想空間内のキャラクタの右手の動作が他の部位に比べて大きくなったときは右手を、楽曲の別の部分の再生中に仮想空間内のキャラクタの左足の動作が他の部位に比べて大きくなったときは左足を、部位取得部が最も変位が大きい部位として取得する。
【００１７】
視点設定部は、取得された最も変位が大きい部位の変位を見込む角度が大きくなるように、視点の位置を設定する。
【００１８】
ここで、「見込む角度」とは、視点と、キャラクタの部位の変位の始点および終点、の３点を頂点とする三角形を考えたときの、視点における三角形の内角のことを意味するものとする。
【００１９】
例えば、上記楽曲の再生にあわせてプレイヤがダンスを楽しむことができるゲームにおいて、仮想空間内のキャラクタの最も変位が大きい部位が右手のときは、右手の動く様子がよく見えるような位置、すなわち右手の動きを「見込む角度」が大きくなるような位置に、一方、最も変位が大きい部位が左足のときは、左足の動く様子がよく見えるような位置、すなわち左手の動きを「見込む角度」が大きくなるような位置に、視点設定部が視点の位置を設定する。
【００２０】
画像生成部は、設定された視点から、キャラクタの位置へ向けた視線により、仮想空間の様子を表す画像を生成する。
【００２１】
すなわち、例えば、上記楽曲の再生にあわせてプレイヤがダンスを楽しむことができるゲームにおいて、視点設定部により視点が、仮想空間内のキャラクタの右手の動く様子がよく見えるような位置に、設定されたとき、仮想空間内でキャラクタが右手を動かしている様子がよく見えるような画像を、画像生成部が生成する。
【００２２】
また、本発明に係るゲーム装置において、視点は、所定の経路上を、所定の上限速度以下で移動し、視点設定部は、所定の経路上で所定の上限速度以下で移動可能な範囲のうち、変位を見込む角度が最大となる位置に、視点の位置を設定することもできる。
【００２３】
すなわち、視点設定部による視点の設定は、仮想空間内のどの位置にも設定可能というわけではなく、予め定められた仮想空間内の経路上に制限される、さらに、その経路上を、予め定められた速度以下でしか移動できない、という場合に相当する。このとき、視点は、定められた経路上で定められた速度以下で移動可能な範囲のうち、キャラクタの最も変位が大きな部位を見込む角度が最大となる位置に、設定される。
【００２４】
例えば、上記楽曲の再生にあわせてプレイヤがダンスを楽しむことができるゲームにおいて、仮想空間内のキャラクタの最も変位が大きい部位が右手のとき、視点は、右手の動く様子がよく見えるような仮想空間内の位置に、すぐに設定されるというわけではなく、所定の速度以下で少しずつ移動することで、少しずつ右手の動く様子がよく見えるようになる。
【００２５】
このような構成により、プレイヤは仮想空間内のキャラクタを、より臨場感をもって見ることができるようになる。
【００２６】
また、本発明に係るゲーム装置において、所定の経路は、キャラクタの位置を中心とする所定の円状の経路であってもよい。
【００２７】
例えば、中心と高さをキャラクタの頭より高い位置にとった円状の経路としてもよい。この場合は、キャラクタを見下ろす視線でのゲーム画面が生成されることになる。あるいは、中心と高さをキャラクタの膝の位置にとった円状の経路としてもよい。この場合は、キャラクタを見上げる視線でのゲーム画面が生成されることになる。
【００２８】
このようなキャラクタを中心とした円状の経路をとることで、キャラクタのどの部位の変位量が大きくなる場合でも、仮想空間内においてキャラクタから一定距離離れた位置からの視点によって、ゲーム画面が生成されることになる。
【００２９】
また、本発明に係るゲーム装置において、視点設定部は、最も変位が大きいキャラクタの部位の変位に基づいて、所定の円状の経路の半径を設定することもできる。
【００３０】
すなわち、例えば、最も変位が大きい部位が、キャラクタの指先をわずかに動かす動作のときは、視点が移動する円状の経路の半径を小さくすることで、キャラクタの指先が拡大されたゲーム画面が生成されることになる。反対に、キャラクタの大きな動作については、視点が移動する円状の経路の半径を大きくすることで、キャラクタ全体のゲーム画面が生成される。
【００３１】
このような構成により、キャラクタの動作の大きさに合わせてゲーム画面の拡大縮小が変化することになり、プレイヤは動作する部位を容易に確認することができるようになる。
【００３２】
また、本発明に係るゲーム装置において、視点設定部は、変位を見込む角度が最大となる位置へ視点の位置を移動させた後で、当該最も変位が大きいキャラクタの部位の変位に基づいて、所定の円状の経路の半径を設定することもできる。
【００３３】
すなわち、キャラクタの動作の大きさに合わせて円状の経路の半径を変化させる処理は、キャラクタの最も変位が大きい部位の変位を見込む角度が大きくなるように視点の位置が設定された後に行われる、ということである。
【００３４】
このような構成により、キャラクタの最も動いている部位を確認しやすい位置にまで視点の移動が完了した後で、プレイヤはその最も動いている部位を確認しながら、その部位の画像が拡大あるいは縮小される様子を見ることができる。
【００３５】
また、本発明に係るゲーム装置において、視点設定部は、変位を見込む角度が最大となる位置へ視点の位置を移動させながら、当該最も変位が大きいキャラクタの部位の変位に基づいて、所定の円状の経路の半径を設定することもできる。
【００３６】
すなわち、キャラクタの動作の大きさに合わせて円状の経路の半径を変化させる処理は、キャラクタの最も変位が大きい部位の変位を見込む角度が大きくなるように視点の位置が設定されている最中に行われる、ということである。
【００３７】
このような構成により、キャラクタの最も動いている部位を確認しやすい位置にまで、視点が、画像の拡大あるいは縮小と同時に移動していくので、プレイヤはその最も動いている部位をスムーズに移り変わる画像によって確認することができる。
【００３８】
また、本発明に係るゲーム装置において、視点設定部は、所定の経路上において、視点の加速度および減速度が、所定の閾値を超えないように、視点の位置を移動させることもできる。
【００３９】
すなわち、仮想空間内で固定されていた視点が、視点設定部により別の位置へ移動し始める場合、急に大きな速度で移動し始めると、生成されるゲーム画面を見ているプレイヤに不自然さ・不快さを与えることになりやすい。これを避けるために、加速度および減速度に所定の閾値を設け、滑らかに視点を移動させることで、プレイヤが快適にゲーム画面を見ることができるようになる。
【００４０】
本発明のその他の観点に係るゲーム処理方法は、位置変化部、部位取得部、視点設定部、画像生成部を備えるゲーム装置にて実行されるゲーム処理方法であって、位置変化工程、部位取得工程、視点設定工程、画像生成工程を備える。
【００４１】
位置変化工程では、位置変化部が、仮想空間内のキャラクタの位置および姿勢を変化させる。
部位取得工程では、部位取得部が、位置変化部により位置および姿勢が変化されるキャラクタの部位のうち、最も変位が大きい部位を取得する。
視点設定工程では、視点設定部が、取得された最も変位が大きい部位の変位を見込む角度が大きくなるように、視点の位置を設定する。
画像生成工程では、画像生成部が、設定された視点から、キャラクタの位置へ向けた視線により、仮想空間の様子を表す画像を生成する。
【００４２】
本発明のその他の観点に係るプログラムは、コンピュータを、上記のゲーム装置の各部として機能させ、コンピュータに、上記のゲーム処理方法の各工程を実行させるように構成する。
【００４３】
また、本発明のプログラムは、コンパクトディスク、フレキシブルディスク、ハードディスク、光磁気ディスク、ディジタルビデオディスク、磁気テープ、半導体メモリ等のコンピュータ読み取り可能な情報記憶媒体に記録することができる。
【００４４】
上記プログラムは、プログラムが実行されるコンピュータとは独立して、コンピュータ通信網を介して配付・販売することができる。また、上記情報記憶媒体は、コンピュータとは独立して配付・販売することができる。
【発明の効果】
【００４５】
本発明によれば、仮想空間内のキャラクタの動きにあわせて、プレイヤがキャラクタの動きを適切に見ることができる画像を生成するのに好適なゲーム装置、ゲーム処理方法、ならびに、プログラムを提供することができる。
【図面の簡単な説明】
【００４６】
【図１】本発明のゲーム装置の機能を果たす典型的な情報処理装置の概要構成を示す模式図である。
【図２】実施形態１に係るマット型のコントローラの概略図である。
【図３】実施形態１に係るゲーム装置の機能構成を示す模式図である。
【図４】実施形態１に係るゲーム画面の構成例を示した図である。
【図５】実施形態１に係る仮想空間とゲーム画面の対応関係を示した図である。
【図６】キャラクタの最も変位が大きい部位の変位を見込む角度を説明するための図である。
【図７】仮想空間内における仮想カメラの移動する範囲を示した図である。
【図８】実施形態１に係る仮想空間とゲーム画面の対応関係であって、仮想カメラの移動が完了したときの図である。
【図９】実施形態１に係るゲーム処理の流れを示すフローチャートである。
【図１０】実施形態２に係る仮想空間とゲーム画面の対応関係であって、所定の経路を変化させたときの図である。
【図１１】仮想空間内における仮想カメラの移動と所定の経路の変化を示した図である。
【図１２】（ａ）、（ｂ）、（ｃ）すべて、円状の所定の経路の半径と仮想カメラの円周方向の位置との関係を示すグラフである。
【図１３】実施形態２に係るゲーム処理の流れを示すフローチャートである。
【図１４】実施形態３に係るゲーム装置の機能構成を示す模式図である。
【図１５】実施形態３に係る仮想空間とゲーム画面の対応関係を示した図である。
【図１６】実施形態３に係る仮想空間とゲーム画面の対応関係であって、仮想カメラの移動が完了したときの図である。
【図１７】実施形態３に係るゲーム処理の流れを示すフローチャートである。
【発明を実施するための形態】
【００４７】
本発明の実施形態を説明する。以下では、理解を容易にするため、ゲーム用の情報処理装置を利用して本発明が実現される実施形態を説明するが、以下の実施形態は説明のためのものであり、本願発明の範囲を制限するものではない。したがって、当業者であればこれらの各要素もしくは全要素をこれと均等なものに置換した実施形態を採用することが可能であるが、これらの実施形態も本発明の範囲に含まれる。
【００４８】
（実施形態１）
図１は、プログラムを実行することにより、本発明のゲーム装置の機能を果たす典型的な情報処理装置の概要構成を示す模式図である。以下、本図を参照して実施形態１に係る情報処理装置１００について説明する。
【００４９】
情報処理装置１００は、ＣＰＵ（Central Processing Unit）１０１と、ＲＯＭ（Read Only Memory）１０２と、ＲＡＭ（Random Access Memory）１０３と、インターフェース１０４と、コントローラ１０５と、外部メモリ１０６と、ＤＶＤ−ＲＯＭ（Digital Versatile Disk - Read Only Memory）ドライブ１０７と、画像処理部１０８と、音声処理部１０９と、ＮＩＣ（Network Interface Card）１１０と、を備える。
【００５０】
ゲーム用のプログラムおよびデータを記憶したＤＶＤ−ＲＯＭをＤＶＤ−ＲＯＭドライブ１０７に装着して、情報処理装置１００の電源を投入することにより、当該プログラムが実行され、本実施形態のゲーム装置が実現される。
【００５１】
ＣＰＵ  １０１は、情報処理装置１００全体の動作を制御し、各構成要素と接続され制御信号やデータをやりとりする。
【００５２】
ＲＯＭ  １０２には、電源投入直後に実行されるＩＰＬ（Initial Program Loader）が記録され、これが実行されることにより、ＤＶＤ−ＲＯＭに記録されたプログラムをＲＡＭ  １０３に読み出してＣＰＵ  １０１による実行が開始される。また、ＲＯＭ  １０２には、情報処理装置１００全体の動作制御に必要なオペレーティングシステムのプログラムや各種のデータが記録される。
【００５３】
ＲＡＭ  １０３は、データやプログラムを一時的に記憶するためのもので、ＤＶＤ−ＲＯＭから読み出したプログラムやデータ、その他ゲームの進行やチャット通信に必要なデータが保持される。
【００５４】
インターフェース１０４を介して接続されたコントローラ１０５は、ユーザがゲーム実行の際に行う操作入力を受け付ける。
【００５５】
インターフェース１０４を介して着脱自在に接続された外部メモリ１０６には、ゲームのプレイ状況（過去の成績等）を示すデータ、ゲームの進行状態を示すデータ、ネットワークを用いたゲームのチャット通信のログ（記録）のデータなどが書き換え可能に記憶される。ユーザは、コントローラ１０５を介して指示入力を行うことにより、これらのデータを適宜外部メモリ１０６に記録することができる。
【００５６】
ＤＶＤ−ＲＯＭドライブ１０７に装着されるＤＶＤ−ＲＯＭには、ゲームを実現するためのプログラムとゲームに付随する画像データや音声データが記録される。ＣＰＵ  １０１の制御によって、ＤＶＤ−ＲＯＭドライブ１０７は、これに装着されたＤＶＤ−ＲＯＭに対する読み出し処理を行って、必要なプログラムやデータを読み出し、これらはＲＡＭ  １０３等に一時的に記憶される。
【００５７】
画像処理部１０８は、ＤＶＤ−ＲＯＭから読み出されたデータをＣＰＵ  １０１や画像処理部１０８が備える画像演算プロセッサ（図示せず）によって加工処理した後、これを画像処理部１０８が備えるフレームメモリ（図示せず）に記録する。フレームメモリに記録された画像情報は、所定の同期タイミングでビデオ信号に変換され画像処理部１０８に接続されるモニター（図示せず）へ出力される。これにより、各種の画像表示が可能となる。
【００５８】
なお、画像演算プロセッサは、２次元の画像の重ね合わせ演算やαブレンディング等の透過演算、各種の飽和演算を高速に実行できる。
また、仮想３次元空間に配置され、各種のテクスチャ情報が付加されたポリゴン情報を、Ｚバッファ法によりレンダリングして、所定の視点位置から仮想３次元空間に配置されたポリゴンを所定の視線の方向へ俯瞰したレンダリング画像を得る演算の高速実行も可能である。
【００５９】
さらに、ＣＰＵ  １０１と画像演算プロセッサが協調動作することにより、文字の形状を定義するフォント情報にしたがって、文字列を２次元画像としてフレームメモリへ描画したり、各ポリゴン表面へ描画することが可能である。フォント情報は、ＲＯＭ  １０２に記録されているが、ＤＶＤ−ＲＯＭに記録された専用のフォント情報を利用することも可能である。
【００６０】
音声処理部１０９は、ＤＶＤ−ＲＯＭから読み出した音声データをアナログ音声信号に変換し、これに接続されたスピーカ（図示せず）から出力させる。また、ＣＰＵ  １０１の制御の下、ゲームの進行の中で発生させるべき効果音や楽曲データを生成し、これに対応した音声をスピーカから出力させる。
【００６１】
ＮＩＣ  １１０は、情報処理装置１００をインターネット等のコンピュータ通信網（図示せず）に接続するためのものであり、ＬＡＮ（Local Area Network）を構成する際に用いられる１０ＢＡＳＥ−Ｔ／１００ＢＡＳＥ−Ｔ規格にしたがうものや、電話回線を用いてインターネットに接続するためのアナログモデム、ＩＳＤＮ（Integrated Services Digital Network）モデム、ＡＤＳＬ（Asymmetric Digital Subscriber Line）モデム、ケーブルテレビジョン回線を用いてインターネットに接続するためのケーブルモデム等と、これらとＣＰＵ  １０１との仲立ちを行うインターフェース（図示せず）により構成される。
【００６２】
このほか、情報処理装置１００は、ハードディスク等の大容量外部記憶装置を用いて、ＲＯＭ  １０２、ＲＡＭ  １０３、外部メモリ１０６、ＤＶＤ−ＲＯＭドライブ１０７に装着されるＤＶＤ−ＲＯＭ等と同じ機能を果たすように構成してもよい。
【００６３】
図２は、実施形態１において使用されるコントローラ１０５の一例である、マット型のコントローラの概略図である。マット型コントローラ２００は、床面に配置され、表面の所定領域には、プレイヤが足や手などでの押圧動作により押圧状態と非押圧状態とに変化するボタンが複数配置されている。例えば、本図に示すように、左ボタン２０１ａ、下ボタン２０１ｂ，上ボタン２０１ｃ、右ボタン２０１ｄ等が配置されている。そして、これらのボタンがユーザに押圧されると、押圧されたボタンに応じた操作入力を受け付ける。
【００６４】
本実施形態では、マット型コントローラ２００は４つのボタン２０１ａ〜２０１ｄを備えているが、ボタンの数は４個に限定されず、３個以下あるいは５個以上でもよい。また、操作入力するものとして、床面に配置する形状に限られず、手に持って操作するいわゆるタッチパッドの形状や、手で把持する形状であってもよい。
【００６５】
また、マット型コントローラ２００に代えて、赤外線カメラ等を使用することによりプレイヤの体全体の動きを捉えることで、ゲーム実行の操作入力としてもよい。
【００６６】
次に、実施形態１のゲーム装置の機能的な構成について説明する。
【００６７】
本発明のゲーム装置にて実行される典型的なゲームとして、現実空間においてプレイヤが音楽に合わせてダンスをするゲームがある。以下、ダンスゲームを例にとり、本実施形態を説明する。
【００６８】
図３は、実施形態１に係るゲーム装置の機能構成を示す模式図である。以下、本図を参照して説明する。
【００６９】
ゲーム装置３００は、位置変化部３０１と、部位取得部３０２と、視点設定部３０３と、画像生成部３０４と、を備える。
【００７０】
位置変化部３０１は、仮想空間内のキャラクタの位置および姿勢を変化させる。
【００７１】
このような位置変化部３０１として、例えばＣＰＵ  １０１が、ＤＶＤ−ＲＯＭドライブ１０７やＲＡＭ  １０３と連動することで、機能しうる。
【００７２】
具体的に、ダンスゲームにおいて、仮想空間内のキャラクタの動作や振付けのプログラムやデータは、再生される音楽等とともに、典型的にはＤＶＤ−ＲＯＭに記憶されており、ＤＶＤ−ＲＯＭドライブ１０７において装着され、読み取られる。位置変化部３０１は、このように読み取られたプログラムやデータを基にして、一時的な記憶領域としてＲＡＭ  １０３を介して、ＣＰＵ  １０１が制御することで、仮想空間内のキャラクタの位置および姿勢を変化させる。そして、変化した情報を、以下の部位取得部３０２へ供給する。
【００７３】
部位取得部３０２は、位置変化部３０１により位置および姿勢が変化されるキャラクタの部位のうち、最も変位が大きい部位を取得する。
【００７４】
このような部位取得部３０２として、例えばＣＰＵ  １０１がＲＡＭ  １０３を介して制御することで、機能しうる。
【００７５】
具体的に、部位取得部３０２は、上記位置変化部３０１によって変化されたキャラクタの位置および姿勢の情報を受け取り、ＣＰＵ  １０１の制御によって、が最も変位が大きい部位を取得する。そして、取得した情報を、以下の視点設定部３０３へ供給する。
【００７６】
視点設定部３０３は、部位取得部３０２により取得された最も変位が大きいキャラクタの部位の変位を見込む角度が大きくなるように、視点の位置を設定する。
【００７７】
このような視点設定部３０３として、例えばＣＰＵ  １０１がＲＡＭ  １０３を介して制御することで、機能しうる。
【００７８】
ここで、「見込む角度」とは、視点と、キャラクタの部位の変位の始点および終点、の３点を頂点とする三角形を考えたときの、視点における三角形の内角のことを意味するものとする。詳細には、後述する図６を用いて説明する。
【００７９】
具体的に、視点設定部３０３は、上記部位取得部３０２によって取得されたキャラクタの最も変位の大きい部位の情報を受け取り、ＣＰＵ  １０１の制御によって、最も変位の大きい部位の変位を「見込む角度」が大きくなるように視点の位置を設定する。そして、設定した情報を、以下の画像生成部３０４へ供給する。
【００８０】
画像生成部３０４は、視点設定部３０３により設定された視点から、キャラクタの位置へ向けた視線により、仮想空間の様子を表す画像を生成する。
【００８１】
このような画像生成部３０４として、例えばＣＰＵ  １０１が、画像処理部１０８やＲＡＭ  １０３と連動することで、機能しうる。
【００８２】
具体的に、画像生成部３０４は、上記視点設定部３０３によって設定された視点の情報を受け取り、ＣＰＵ  １０１の制御によって、キャラクタの位置へ向けた視線により、仮想空間の様子を表す画像を生成する。そして、画像処理部１０８を用いて、生成した画像をモニタに表示する。
【００８３】
図４は、実施形態１に係るゲーム画面の構成例を示した図である。上記画像生成部３０４は、本図のゲーム画面４００に示されるような画像を生成し、モニタに表示する。
【００８４】
ゲーム画面４００には、模範的なダンスの振付けをプレイヤに示すキャラクタ画像４０１が配置され、さらに所定位置に固定して描画される基準マーク４１０（４１０ａ〜４１０ｄ）、描画位置が時間の経過と共に移動する指示マーク４１１（本図では４１１ａ〜４１１ｄの４つ）、その他の背景画像などが表示される。
【００８５】
指示マーク４１１は、再生される音楽に合わせてスクロール表示される。指示マーク４１１には、上下左右いずれかの矢印の画像が描かれている。
【００８６】
基準マーク４１０ａ〜４１０ｄは、それぞれボタン２０１ａ〜２０１ｄをプレイヤが押圧すべきタイミングを指示するマークである。基準マーク４１０ａ〜４１０ｄには、上下左右いずれかの矢印の画像が描かれている。
【００８７】
指示マーク４１１は、基準マーク４１０ａ〜４１０ｄが描画されている位置に向かって楽曲の再生速度に合わせて移動していく。基準マーク４１０ａ〜４１０ｄと同じ位置に指示マーク４１１が移動してきたときに、基準マーク４１０ａ〜４１０ｄに描かれる矢印の向きに対応するボタン２０１ａ〜２０１ｄをプレイヤが押圧すると、プレイヤの得点が加算され、得点に応じてゲームの成績が判定される。
【００８８】
例えば、指示マーク４１１が基準マーク４１０ａ〜４１０ｄのいずれかと重なる位置に移動してきたときに、移動してきた指示マーク４１１に示される矢印に対応するボタン２０１ａ〜２０１ｄのいずれかをプレイヤが片足で押圧すると、再生されている音楽に合った模範的なダンスのステップを踏むことができるようになっている。
【００８９】
本実施形態では、このような基準マーク４１０と指示マーク４１１を用いてダンスのステップの指示を示すとともに、キャラクタ画像４０１を用いて、ダンスの模範的な振付けをプレイヤに表示する。すなわち、キャラクタ画像４０１は、指示マーク４１１が基準マーク４１０ａ〜４１０ｄのいずれかと重なる位置に移動してきたとき、移動してきた指示マーク４１１に示される矢印に対応するボタン２０１ａ〜２０１ｄのいずれかを片足で押圧する動作をとる。
【００９０】
さらに、キャラクタ画像４０１を表示することで、足でステップを踏む動作だけでなく、その他の体の部位を使った振付けも、プレイヤに示すことができる。すなわち、ダンスの模範的な動作や振付けを、体全体を使って表示することが可能である。
【００９１】
このように、基準マーク４１０と指示マーク４１１による明確なステップの踏み動作とそのタイミングと、そしてキャラクタ画像４０１による体全体を使った振付けと、を１つのゲーム画面４００内に同時に表示することで、プレイヤはダンスの模範的な動作と振付けを分かりやすく確認しながらゲームを楽しむことができる。
【００９２】
本実施形態では、このようなキャラクタ画像４０１の動作をより分かりやすく表示するため、ゲーム画面４００内でキャラクタ画像４０１を表示する視点と視線を、キャラクタ画像４０１の動作に応じて適切に変更する。すなわち、ダンスのある振付けにおいて、例えばキャラクタ画像４０１が右手を動かしている場合、キャラクタを右側からの見る視点でキャラクタ画像４０１を表示する。そうすることで、右手が動いている様子がよく見えるようになる。
【００９３】
そのため、本実施形態では、仮想キャラクタ５０１が配置される仮想空間５００を考え、ゲーム画面４００内でのキャラクタ画像４０１の画像を生成する仮想カメラ５０２の視点と視線を、適切に設定する。
【００９４】
図５は、実施形態１における仮想空間５００とゲーム画面４００の対応関係を示した図である。本図において、まず、仮想空間５００内には仮想キャラクタ５０１が配置され、さらに仮想キャラクタ５０１の位置へ向けられた仮想カメラ５０２が、移動可能な所定の経路５０３上に配置されている。一方で、ゲーム画面４００内には、図４において説明したものと同様に、模範的なダンスの振付けをプレイヤに示すキャラクタ画像４０１が、基準マーク４１０ａ〜４１０ｄおよび指示マーク４１１ａ〜４１１ｄが、その他の背景画像などとともに表示されている。
【００９５】
ここでキャラクタ画像４０１は、仮想カメラ５０２によって生成された画像である。すなわち、この仮想カメラ５０２の視点から仮想キャラクタ５０１の位置へ向けた視線によって生成された、仮想空間５００内の画像が、ゲーム画面４００内のキャラクタ画像４０１として、表示されている。
【００９６】
具体的に、本図において、仮想カメラ５０２は仮想キャラクタ５０１の右後方に位置している。そのため、キャラクタ画像４０１には、当該右後方から見た仮想キャラクタ５０１の画像、すなわち仮想キャラクタ５０１の後ろ姿が、表示されている。一方で、上述した図４におけるキャラクタ画像４０１は、正面からのものが表示されていたので、すなわちこれは、仮想キャラクタ５０１の正面に配置された仮想カメラ５０２からの視線によって生成されたものであるということになる。
【００９７】
ここで例えば、仮想キャラクタ５０１が左手を動かす動作をした場合、すなわち、位置変化部３０１が仮想キャラクタ５０１の左手の位置を変化させた場合について考える。本実施形態ではこのとき、部位取得部３０２が、左手の位置の変位５０４を読み取り、最も変位が大きい部位５０５を取得する。
【００９８】
ここでの最も変位の大きい部位５０５の取得する際において、仮想キャラクタ５０１の体をいくつかの部位に分け、各部位ごとにそれぞれの変位５０４を随時ＣＰＵ  １０１が計算して、そのうち最も変位５０４の大きい部位を選ぶ、という処理を行う。
【００９９】
ここで、仮想キャラクタ５０１の体を、頭、胴、右手、左手、右足、左足、というように大雑把に数個の部位に分けることにしてもよいし、さらに細かく、指、肘、膝、胸部、腹部などを含めて、多数の部位に分けることにしてもよい。多くの部位に分けるとそれだけ正確に仮想キャラクタ５０１の動作を捉えることができるようになるが、ＣＰＵ  １０１が処理するべき計算量も増加する。
【０１００】
ここでは例えば、仮想キャラクタ５０１の左手が、部位取得部３０２によって最も変位が大きい部位５０５として取得された場合について考える。
【０１０１】
このとき、仮想カメラ５０２の位置が、図５に示したような仮想キャラクタ５０１の右側後方、すなわちここでは最も変位が大きい部位５０５の位置の反対側、にあった場合には、この仮想カメラ５０２から生成される仮想キャラクタ５０１の画像は、本図のゲーム画面４００内のキャラクタ画像４０１のように、動作している左手がキャラクタ画像４０１の体の奥側に位置することになり、どのように動かしているのかをプレイヤが確認し辛いものとなる。
【０１０２】
そこで本実施形態では、所定の経路５０３の中で最も変位が大きい部位５０５が見えやすい位置に、視点設定部３０３が仮想カメラ５０２を設定する。そのために、本発明ではまず、最も変位が大きい部位５０５の変位５０４を「見込む角度」を定義して、所定の経路５０３上で「見込む角度」が最も大きくなる位置まで仮想カメラ５０２を移動させる。
【０１０３】
図６は、仮想キャラクタ５０１の最も変位が大きい部位５０５の変位５０４を見込む角度を説明するための図である。本図では図５と同様、仮想空間５００内の仮想キャラクタ５０１を、仮想カメラ５０２および５０２’が撮影している様子が示されている。ここで本図における仮想キャラクタ５０１は、図５と同様に、左手を大きく動かす動作をとっており、部位取得部３０２によってこの左手が最も変位が大きい部位５０５として取得されているとする。
【０１０４】
このとき、「見込む角度」とは、視点（仮想カメラ５０２または５０２’）と、仮想キャラクタ５０１の左手の変位５０４の始点および終点、の３点を頂点とする三角形を考えたときの、視点における三角形の内角のことを意味する。すなわち、視点が本図の仮想カメラ５０２の位置にあるときは、「見込む角度」とはθ（見込む角度５０６）のことであり、一方で視点が本図の仮想カメラ５０２’の位置にあるときは、「見込む角度」とはθ’（見込む角度５０６’）のことである。
【０１０５】
ここで本図のθ（見込む角度５０６）とθ’（見込む角度５０６’）とを比較したとき、それぞれ仮想カメラ５０２と５０２’は、最も変位が大きい部位５０５の位置から同じくらいの距離に位置しているが、変位５０４を正面から見込んでいる仮想カメラ５０２におけるθ（見込む角度５０６）の方が、変位５０４を斜めから見込んでいる仮想カメラ５０２’におけるθ’（見込む角度５０６’）よりも、大きな角度となっている。
【０１０６】
本実施形態では、このように定義された「見込む角度」が大きくなるように、すなわち図６においては仮想カメラ５０２’の位置よりも仮想カメラ５０２の位置になるように、視点設定部３０３が所定の経路５０３上における仮想カメラ５０２の位置を移動させる。そうすることで、仮想キャラクタ５０１の最も変位が大きい部位５０５の動きをプレイヤが確認しやすいキャラクタ画像４０１を生成することができるようになる。
【０１０７】
ここで、仮想カメラ５０２が移動する際、所定の経路５０３上のすべての位置へ瞬時に移動するよりは、少しずつ移動するようにする方が典型的である。なぜならば、仮想カメラ５０２の位置が少しずつ連続的に移動することによって、仮想カメラ５０２によって生成されるキャラクタ画像４０１も少しずつ連続的に切り替わることになり、ゲーム画面４００を見ているプレイヤが不自然さや不快さを感じるが少なくなり、臨場感をもってゲームをプレイできることが想定されるからである。
【０１０８】
そこで本実施形態では、仮想カメラ５０２の移動速度にある所定の上限速度Ｖを設けて、速度Ｖ以上では移動できないようにする。すなわちこのとき、ゲーム画面４００の垂直同期周期ｔの間に移動できる距離は、仮想カメラ５０２の現在の位置を中心に±Ｖ・ｔの範囲となる。
【０１０９】
図７は、仮想空間５００内における仮想カメラ５０２の移動する範囲を示した図である。本図は仮想キャラクタ５０１を上から見下ろした図であり、仮想カメラ５０２は仮想キャラクタ５０１を中心とする円状の所定の経路５０３上に配置されている。ここでは説明のために、仮想カメラ５０２は円状の所定の経路５０３上の仮想キャラクタ５０１の正面の位置に配置されているとして考える。
【０１１０】
ここで仮想カメラ５０２の移動速度の上限が、上述のように速度Ｖであった場合、１回の垂直同期周期ｔの間に移動できる範囲は、仮想カメラ５０２の現在位置を中心として±Ｖ・ｔの範囲である。本実施形態では、この±Ｖ・ｔの範囲を、＋Ｖ・ｔ、±０、−Ｖ・ｔの３個の点に分割する。図７では、初期状態として±０の位置に仮想カメラ５０２が、そして移動先の位置の候補として、＋Ｖ・ｔの位置に仮想カメラ５０２’が、−Ｖ・ｔの位置に仮想カメラ５０２’’が、それぞれ配置されている。
【０１１１】
そして、この＋Ｖ・ｔ、±０、−Ｖ・ｔの３個の点のうち、最も変位が大きい部位５０５の変位５０４を見込む角度５０６が最大となる点を求める。すなわちこの３点について、それぞれ変位５０４を見込む角度５０６（θ）、５０６’（θ’）、５０６’’（θ’’）をＣＰＵ  １０１が計算し、比較する。本図の場合では、これらの見込む角度５０６、５０６’、５０６’’のうち、見込む角度５０６’の大きさが最大となるので、＋Ｖ・ｔの位置が、移動先の位置として選ばれることになる。
【０１１２】
ここで上記では、移動可能な±Ｖ・ｔの範囲を３個の点に分割したが、本実施形態では３個に限られず、５個や６個、あるいはそれ以上の点に分割してもよい。例えば５個の点に分割した場合は、それぞれ仮想カメラ５０２の現在位置から、＋Ｖ・ｔ、＋Ｖ・ｔ／２、±０、−Ｖ・ｔ／２、−Ｖ・ｔ、の５点に等間隔に、仮想カメラ５０２の移動可能な範囲を分割するのが典型的である。すなわち多数の点に分割すればするほど、最も変位が大きい部位５０５の変位５０４を見込む角度５０６が最大となる位置は正確に求められるが、処理が複雑化して計算量が増大することになる。
【０１１３】
このように、１回の垂直同期周期ｔの中で、仮想カメラ５０２の移動可能な±Ｖ・ｔの範囲のうち最も変位の多い部位５０５の変位５０４を見込む角度５０６が最大となる位置を選び、選ばれた位置へ仮想カメラ５０２を移動させる。そしてこれを繰り返すことで、仮想カメラ５０２は１回の垂直同期の間に移動可能な±Ｖ・ｔの範囲で少しずつ移動し、何回かの垂直同期を繰り返した後に、（途中で最も変位が大きい部位５０５が別の部位に変わらない限り、）所定の経路５０３全体の中で変位５０４を見込む角度５０６が最大となる位置まで到達して、移動が完了することになる。
【０１１４】
図８は、実施形態１における仮想空間５００とゲーム画面４００の対応関係であって、仮想カメラ５０２の移動が完了したときの図である。仮想カメラ５０２は当初、仮想空間５００内で仮想キャラクタ５０１の右側後方（図５における仮想カメラ５０２と同じ位置）に位置していたが、上述したような視点設定部３０３による移動を繰り返した結果、最も変位が大きい部位５０５の変位５０４を見込む角度５０６が、所定の経路５０３全体の中で最大となる位置、すなわち仮想キャラクタ５０１の左側前方（本図における仮想カメラ５０２’の位置）へ、移動する。
【０１１５】
その結果、移動した仮想カメラ５０２’は、仮想キャラクタ５０１の左側前方からの視点によってキャラクタ画像４０１を生成することができるようになり、本図のゲーム画面４００に示したように、プレイヤはキャラクタ画像４０１の左手が動く様子を分かりやすく確認することができるようになる。
【０１１６】
ここまでの説明において、仮想カメラ５０２が移動する所定の経路５０３の形状は、円状とするのが典型的であるが、他にも様々な経路が考えられる。例えば、楕円状や長方形状であってもよい。またはこれらのような閉曲線に限らず、任意の直線や曲線を組み合わせた経路であってもよい。
【０１１７】
以上概要を説明した本実施形態についての具体的なゲーム処理の流れについて、フローチャートを用いて詳述していく。
【０１１８】
図９は、本実施形態におけるゲーム装置３００において実現される、ゲーム処理の流れを示すフローチャートである。以下、この図を参照して説明する。
【０１１９】
まず、ゲーム装置３００のＣＰＵ  １０１は、各種の初期設定を行う（ステップＳ９０１）。ここでは、プレイヤがプレイする楽曲の選択や、当該楽曲、基準マーク４１０、指示マーク４１１、その他ゲーム画面４００上に配置される各種オブジェクト等の各種データの読み込みなどを行う。
【０１２０】
さらに、ここでの初期設定では、仮想空間５００内の仮想カメラ５０２の初期設定を行う。すなわち、所定の経路５０３上の予め定められた初期位置に仮想カメラ５０２を配置し、配置された位置から仮想キャラクタ５０１へ向けた視線によってゲーム画面４００内のキャラクタ画像４０１の初期画像を生成する。
【０１２１】
ついで、ゲーム装置３００のＣＰＵ  １０１は、初期設定によって選択された楽曲の再生を開始するように、音声処理部１０９に指示を出す（ステップＳ９０２）。なお、楽曲のデータは、ＭＩＤＩ（Musical Instrument Digital Interface）データやＰＣＭ（Pulse Coded Modulation）データ、ＭＰ３（MPEG Audio Layer-3）データやOgg Vorbisデータなど、これらのデータはＤＶＤ−ＲＯＭドライブ１０７に装着されるＤＶＤ−ＲＯＭなどのＲＯＭメディアに記憶されている。
【０１２２】
ここから本ゲーム処理は、繰り返しの１回がゲーム画面４００の垂直同期周期ｔに一致するループ構造に入る。
【０１２３】
まず、位置変化部３０１が、仮想キャラクタ５０１の位置および姿勢を変化させる（ステップＳ９０３）。本実施形態では、仮想キャラクタ５０１は、再生される楽曲に合わせてダンスを踊る動作を行う。この動作は、楽曲のデータとともに、ＤＶＤ−ＲＯＭドライブ１０７に装着されるＤＶＤ−ＲＯＭなどのＲＯＭメディアに記憶されている。
【０１２４】
次に、部位取得部３０２が、上記変化した仮想キャラクタ５０１の部位のうち、最も変位が大きい部位５０５を取得する（ステップＳ９０４）。具体的に、図６での仮想キャラクタ５０１のように、仮想キャラクタ５０１が左手を大きく動かす動作を行ったとすると、このとき、最も変位が大きい部位５０５として、例えば左手が取得される。
【０１２５】
最も変位が大きい部位５０５が取得されると、次に、仮想カメラ５０２の移動可能な範囲を求める（ステップＳ９０５）。すなわち、仮想カメラ５０２の移動速度の上限が、速度Ｖであった場合には、移動可能な範囲は仮想カメラ５０２の現在位置から±Ｖ・ｔの範囲となる。
【０１２６】
そして、視点設定部３０３が、求められた移動可能な範囲の中で、最も変位が大きい部位５０５の変位５０４を見込む角度５０６が最大となる位置を求める（ステップＳ９０６）。すなわち、図７において説明したように、例えば移動可能な±Ｖ・ｔの範囲を、＋Ｖ・ｔ、±０、−Ｖ・ｔの３個の点に分割した場合には、それぞれについて最も変位が大きい部位５０５の変位５０４を見込む角度５０６をＣＰＵ  １０１が計算し、見込む角度５０６が最大となるものを、３個の点から選ぶことになる。
【０１２７】
さらに、すなわち視点設定部３０３が、求められた最も変位が大きい部位５０５の変位５０４を見込む角度５０６が最大となる位置に、仮想カメラ５０２を移動させる（ステップＳ９０７）。そして、移動させた位置における仮想カメラ５０２から見た画像を生成する（ステップＳ９０８）。すなわち、画像生成部３０４が、移動した位置を視点として、仮想カメラ５０２から仮想キャラクタ５０１へ向けられた視線により、仮想空間５００の様子を画像として生成する。
【０１２８】
そして、生成された仮想空間５００内の画像を基に、ゲーム画面４００を生成する（ステップＳ９０９）。ここでは、仮想空間５００の画像からキャラクタ画像４０１を生成して配置し、基準マーク４１０や指示マーク４１１、その他配置される各種オブジェクト等をゲーム画面４００上に配置する。ここで指示マーク４１１は楽曲の再生速度に合わせてゲーム画面４００内を移動するため、プレイを開始してから現在までの経過時間を基にして、配置されるべき位置が計算される。
【０１２９】
ＣＰＵ  １０１は、このようなゲーム画面４００を画像処理部１０８を利用して生成して、フレームメモリに転送し、ＣＰＵ  １０１は、次の垂直同期割り込みが発生するまで待機し、垂直同期割り込みと同期して、フレームメモリに記憶された画像データをモニタに表示する（ステップＳ９１０）。
【０１３０】
ついで、ゲームのプレイが終了したか否かを判定して（ステップＳ９１１）、終了していなければ（ステップＳ９１１；ＮＯ）、ステップＳ９０３に戻る。一方、終了していれば（ステップＳ９１１；ＹＥＳ）、適切にゲームのプレイの終了した後、本処理を終了する。
【０１３１】
このような構成により、本実施形態では、仮想空間５００内における仮想キャラクタ５０１についてのキャラクタ画像４０１を、現在動いている体の部位を確認しやすいような位置からの視線によって、生成することができる。
【０１３２】
その結果、楽曲の再生に合わせてプレイヤがとるべき動作や振付けを、足のステップの位置とタイミングで教授するだけでなく、頭や手まで含めた体全体の振付けについて、現在動いている体の部位を確認しやすいような画像によって、体全体の振付けをプレイヤに教授することができるようになる。
【０１３３】
（実施形態２）
次に、本発明の実施形態２について説明する。実施形態１では、仮想カメラ５０２は、所定の経路５０３上を、ある上限速度Ｖによる制限のもとで移動した。本実施形態では、仮想カメラ５０２の移動する所定の経路５０３は変化し、また仮想カメラ５０２の速度について、上限速度Ｖだけではなく、加速度および減速度が所定の閾値を超えないように移動させる。
【０１３４】
まず、本実施形態では、最も変位が大きい部位５０５の変位５０４に基づいて、所定の経路５０３を変化させる。具体的に、例えば所定の経路５０３が円状とした場合、最も変位が大きい部位５０５の変位５０４が小さいときは、円状の所定の経路５０３の半径を小さくし、変位５０４が大きいときは、円状の所定の経路５０３の半径を大きくする。
【０１３５】
図１０は、実施形態２における仮想空間５００とゲーム画面４００の対応関係であって、所定の経路５０３を変化させたときの図である。本図では、図５および図８の場合と同様に、最も変位が大きい部位５０５が仮想キャラクタ５０１の左手である場合であり、仮想カメラ５０２の位置は、すでに当初の所定の経路５０３上における最も変位が大きい部位５０５の変位５０４を見込む角度５０６が最大となる位置（本図では仮想キャラクタ５０１の左前方）にあるとする。
【０１３６】
ここで、仮想キャラクタ５０１の左手の変位５０４が小さかった場合を考える。このとき、仮想キャラクタ５０１の左前方に位置していた仮想カメラ５０２は、より仮想キャラクタ５０１の位置へ近づいた方が、この左手の小さな変位５０４をズームアップして、より動作の分かりやすいキャラクタ画像４０１を生成することができるようになる。
【０１３７】
そのため本実施形態では、最も変位が大きい部位５０５の変位５０４が、ある閾値よりも小さければ、円状の所定の経路５０３の半径５０７を小さくして、図１０における所定の経路５０３’へと変化させる。そうすることで、経路上の仮想カメラ５０２は、図１０における仮想カメラ５０２’の位置へと変化し、仮想キャラクタ５０１へ近づくことになる。
【０１３８】
図１０におけるゲーム画面４００には、このように半径５０７が半径５０７’へと小さくなった円状の所定の経路５０３’上の仮想カメラ５０２’から見たキャラクタ画像４０１が、その他の基準マーク４１０ａ〜４１０ｄ、指示マーク４１１ａ〜４１１ｄなどともに示されている。このキャラクタ画像４０１は、例えば図８のキャラクタ画像４０１と比較して、ズームアップされており、その結果、仮想キャラクタ５０１の左手の動きが小さい場合にでも、プレイヤはその動作を確認しやすくなる。
【０１３９】
ここで本実施形態では、仮想キャラクタ５０１の最も変位が大きい部位５０５の変位５０４が、ある閾値よりも小さい場合に半径５０７を小さくするだけではなく、ある閾値よりも大きい場合に半径５０７を大きくして、所定の経路５０３を変化させることにしてもよい。その場合には、所定の経路５０３が変化される前よりズームアウトされたキャラクタ画像４０１が生成されることになる。
【０１４０】
また本実施形態では、変化させる所定の経路５０３は、円状の経路に限られず、楕円や多角形、あるいは閉曲線に限られず直線や曲線、それ以外の大きさを変化することが可能などのような経路でもよい。
【０１４１】
このように、最も変位が大きい部位５０５の変位５０４の大きさによって所定の経路５０３を変更する、すなわち仮想カメラ５０２と仮想キャラクタ５０１の相対的な距離を調節することで、適切に拡大縮小された仮想キャラクタ５０１の画像をプレイヤに提供することができる。
【０１４２】
ここで説明した所定の経路５０３の半径５０７を変化させる処理は、所定の経路５０３上において仮想カメラ５０２を移動させる処理と比べて、どちらの処理が前でも後でもよいし、あるいは同時に処理が行われてもよい。すなわち、視点設定部３０３は、変位５０４を見込む角度５０６が最大となる位置へ仮想カメラ５０２の位置を移動させた前あるいは後で、最も変位が大きい部位５０５の変位５０４に基づいて、円状の所定の経路５０３の半径５０７を設定することにしてもよいし、変位５０４を見込む角度５０６が最大となる位置へ仮想カメラ５０２の位置を移動させながら、最も変位が大きい部位５０５の変位５０４に基づいて、円状の所定の経路５０３の半径５０７を設定することにしてもよい。後者の場合を以下の図１１を用いて説明する。
【０１４３】
図１１は、仮想空間５００内における仮想カメラ５０２の移動と所定の経路５０３の変化を示した図である。本図は、図７と同様に、仮想キャラクタ５０１を上から見下ろした図であり、仮想カメラ５０２は仮想キャラクタ５０１を中心とする円状の所定の経路５０３上に配置されている。そして、初期状態において、仮想カメラ５０２は円状の所定の経路５０３上の仮想キャラクタ５０１の正面の位置に配置されているとして考える。
【０１４４】
このとき、実施形態１と同様に、仮想キャラクタ５０１の最も変位が大きい部位５０５が左手であった場合には、視点設定部３０３は、左手の変位５０４を見込む角度５０６が最も大きくなるような位置へ、すなわち仮想キャラクタ５０１の左側前方の位置へ向けて、仮想カメラ５０２の位置の移動を開始する。すなわち、仮想カメラ５０２の移動速度の上限が速度Ｖであった場合には、仮想カメラ５０２は、ゲーム画面４００の垂直同期周期ｔの間に、移動可能な±Ｖ・ｔの範囲の中で仮想キャラクタ５０１に左側、すなわち＋Ｖ・ｔの位置へ移動することになる。
【０１４５】
本実施形態ではこのとき同時に、円状の所定の経路５０３の半径５０７を変化させる。すなわち、最も変位が大きい部位５０５の変位５０４が、所定の閾値よりも小さかった場合に、円状の所定の経路５０３の半径５０７を小さくする。そのため、１回の垂直同期周期ｔの間で、円状の所定の経路５０３の半径５０７は、半径５０７’へと縮小した所定の毛色５０３’へと変化する。このとき所定の経路５０３上にあった仮想カメラ５０２の位置は、所定の経路５０３’上の仮想カメラ５０２’の位置へ移動する。すなわち、所定の経路５０３上では仮想キャラクタ５０１の正面の位置にあった仮想カメラ５０２は、円周方向へ仮想キャラクタ５０１の左方向へＶ・ｔだけ移動し、かつ動径方向には仮想キャラクタ５０１へ近づくように移動している。
【０１４６】
このような垂直同期周期ｔ間での移動を繰り返して、最終的に、仮想カメラ５０２が仮想キャラクタ５０１の最も変位が大きい部位５０５の変位５０４を見込む角度５０６が最大となる位置へ到達するころには、所定の経路５０３の半径５０７は、図１１における半径５０７’’にまで小さくなり、半径５０７’’の円状の所定の経路５０３’’上の仮想カメラ５０２’’からは、ズームアップされた仮想キャラクタ５０１のキャラクタ画像４０１が生成されることになる。
【０１４７】
図１２（ａ）は、上述したような変化をする円状の所定の経路５０３の半径５０７と、仮想カメラ５０２の円周方向の位置との関係を示すグラフである。本図では、初期状態において半径５０７であった円状の所定の経路５０３が、垂直同期周期ｔだけ時間が経過して、仮想カメラ５０２が円周方向に＋Ｖ・ｔだけ移動したときには、縮小した半径５０７’の円状の所定の経路５０３’となり、最終的に仮想カメラ５０２が最も変位が大きい部位５０５の変位５０４を見込む角度５０６が最大となる位置まで移動したときには、さらに小さい半径５０７’’の円状の所定の経路５０３’’と、一様な割合で小さくなっていく様子が示されている。
【０１４８】
ここで本実施形態では、円状の所定の経路５０３の半径５０７は、図１２（ａ）のように一様な割合で変化してもよいし、そうでなくてもよい。すなわち、例えば仮想カメラ５０２が円周方向に移動し始めの頃では、円状の所定の経路５０３の半径５０７はゆっくりと変化し、仮想カメラ５０２が円周方向への移動を終える頃に、半径５０７の変化の量を大きくする、ようにしてもよい。また、図１２（ｂ）のように、半径５０７の変化の開始は、仮想カメラ５０２の移動の開始とタイミングを合わせなくてもよい。すなわち、仮想カメラ５０２が円周方向に移動し始めの頃には円状の所定の経路５０３の半径５０７は変化せず、仮想カメラ５０２が円周方向への移動を終える頃にのみ、半径５０７が変化して、半径５０７’’へと達するようにしてもよい。あるいは逆に、図１２（ｃ）のように、半径５０７の変化の終了は、仮想カメラ５０２の移動の終了とタイミングを合わせなくてもよい。すなわち、仮想カメラ５０２が円周方向に移動し始めの頃に、円状の所定の経路５０３の半径５０７が変化して、半径５０７’、そして半径５０７’’へと達し、仮想カメラ５０２が円周方向への移動を終える頃には半径５０７’’のまま変化しないようにしてもよい。言い換えると、仮想カメラ５０２の動径方向の速度と円周方向の速度とに、同時に目的位置に到達するように互いに依存関係を持たせてもよいし、まったく独立に設定してもよい。
【０１４９】
さらに本実施形態では、実施形態１と異なって、所定の経路５０３上において、仮想カメラ５０２を、加速度および減速度が所定の閾値を超えないように移動させる。
【０１５０】
すなわちここでは、静止していた仮想カメラ５０２が動き出すときや、移動していた仮想カメラ５０２が動きを止めるときに、特に焦点があてられている。すなわち、急に大きな速度で仮想カメラ５０２が動き出したり、急にストップしたりすると、ゲーム画面４００を見ているプレイヤにとって不自然さを与えてしまうと考えられ、これを回避するために、仮想カメラ５０２の加速度と減速度に所定の閾値を設ける。
【０１５１】
こうすることで、仮想カメラ５０２は所定の経路５０３上を、滑らかな、いわゆる粘性をもった動きをすることになり、ゲーム画面４００を見ているプレイヤは、よりいっそう臨場感をもってゲームをプレイすることができるようになる。
【０１５２】
図１３は、このような実施形態２に係るゲーム処理の流れを示すフローチャートである。以下、本図を用いて実施形態２の処理の流れを説明する。
【０１５３】
まず本図において、ゲーム処理を開始してから、仮想カメラ５０２を移動させるまでの処理（ステップＳ９０１〜Ｓ９０７）、および仮想カメラ５０２から見た画像を作成する処理から、ゲームを終了するまでの処理（ステップＳ９０８〜Ｓ９１１）は、実施形態１におけるフローチャート（図９）と同様なので、ここでは説明を割愛する。一方で本実施形態では、実施形態１のステップＳ９０７とステップＳ９０８との間に、新たな処理（本図の点線で囲われた部分）が追加される。
【０１５４】
本実施形態では、ステップＳ９０７において、仮想キャラクタ５０１の最も変位が大きい部位５０５の変位５０４を見込む角度５０６が最大となる、円状の所定の経路５０３上の位置に、仮想カメラ５０２を移動させた後、新たに仮想カメラ５０２の加速度および減速度が、所定の閾値を超えたかどうかを判定する（ステップＳ１３０１）。すなわち、仮想カメラ５０２の動きに粘性をもたせてスムーズな動きの画像を生成するために、加速度と減速度をチェックする。
【０１５５】
ここで超えていた場合（ステップＳ１３０１；ＹＥＳ）、この所定の閾値を超えないように、調整し直して移動させる（ステップＳ１３０２）。すなわちこのとき仮想カメラ５０２は、ステップＳ９０７で移動させた距離よりも、短い距離しか移動できないことになる。一方で、所定の閾値を超えていない場合は（ステップＳ１３０１；ＮＯ）、ここでは何もせず、仮想カメラ５０２はステップＳ９０７での位置まで移動されたままとなる。
【０１５６】
さらにこの後、本実施形態では、取得した変位５０４が、所定の閾値より小さい、あるいは、大きいかを判定する（ステップＳ１３０３）。すなわち、仮想カメラ５０２を仮想キャラクタ５０１へ、ズームアップもしくはズームアウトさせる必要があるかを判断する。
【０１５７】
ここで、取得した変位５０４が所定の閾値より小さいあるいは大きいと判定された場合（ステップＳ１３０３；ＹＥＳ）、円状の所定の経路５０３の半径５０７を小さくする、あるいは、大きくする（ステップＳ１３０４）。すなわち、仮想カメラ５０２を仮想キャラクタ５０１へ、ズームアップもしくはズームアウトさせ、仮想キャラクタ５０１の動作がより認識しやすいキャラクタ画像４０１を生成する。一方で、取得した変位５０４が所定の閾値より小さいあるいは大きいと判定されなかった場合（ステップＳ１３０３；ＮＯ）、ここでは何もせず、所定の経路５０３は変化しない。
【０１５８】
本実施形態では、ゲーム画面４００の垂直同期周期ｔごとにこのような処理を繰り返して、変化する所定の経路５０３上における仮想カメラ５０２の位置を動かす。そして、このようにして移動された仮想カメラ５０２から見た画像を生成するなど、実施形態１と同様の処理（ステップＳ９０８〜Ｓ９１１）へと続く。
【０１５９】
このような構成により、本実施形態では、仮想空間５００内における仮想カメラ５０２の位置を、所定の経路５０３を変化させながら、そして速度に粘性をつけながら、移動させることができる。
【０１６０】
その結果、楽曲の再生に合わせてプレイヤがとるべき動作や振付けを教授するキャラクタ画像４０１を生成する仮想カメラ５０２について、プレイヤにとって不自然さや不快さを感じさせることなく、またプレイヤにより臨場感を与えることができるように、仮想空間５００内を移動させることができるようになる。
【０１６１】
（実施形態３）
次に、本発明の実施形態３について説明する。実施形態１および２では、仮想空間内のキャラクタは予め定められた動作や振付けに従ってダンスを踊った。一方、実施形態３では、プレイヤからの指示入力を受け付けて、仮想空間内のキャラクタを動作させる。以下、詳述する。
【０１６２】
図１４は、実施形態３に係るゲーム装置３００の機能構成を示す模式図である。本図は、基本的には図３（実施形態１に係るゲーム装置３００の機能構成を示す模式図）と同じであるが、位置変化部３０１において以下に説明するような差異がある。
【０１６３】
本実施形態における位置変化部３０１は、仮想空間５００内のキャラクタの位置および姿勢を変化させる場合において、インターフェース１０４を介して接続されるコントローラ１０５によってプレイヤからの指示入力を受け付ける。そして、受け付けた指示入力に基づいて、仮想キャラクタ５０１の位置および姿勢を変化させ、変化させた情報を部位取得部３０２へ供給する。
【０１６４】
その後は実施形態１と同様に、部位取得部３０２、視点設定部３０３、画像生成部３０４における処理が行われ、ゲームの画像が生成される。
【０１６５】
図１５は、実施形態３における仮想空間５００とゲーム画面４００の対応関係を示した図である。ここで、仮想空間５００内の、仮想キャラクタ５０１や仮想カメラ５０２、所定の経路５０３の配置や役割は、実施形態１における図５および図８、実施形態２における図１０でのものと差異はないが、仮想キャラクタ５０１は、ＤＶＤ−ＲＯＭ等に記憶された所定のプログラムを基に動作するのではなく、プレイヤの操作入力によって動作する。
【０１６６】
すなわち本実施形態では、プレイヤの入力に応じて動作する仮想キャラクタ５０１を、仮想カメラ５０２が撮影し、キャラクタ画像４０１を生成して、ゲーム画面４００をプレイヤへ表示する。すなわち、図１５におけるゲーム画面４００には、実施形態１および２とは異なって、基準マーク４１０と指示マーク４１１は表示せず、キャラクタ画像４０１とその他必要な背景オブジェクトをゲーム画面４００内に表示することになる。
【０１６７】
さらに本実施形態では、実施形態１および２と同様に、仮想キャラクタ５０１の動作する部位に応じて、仮想カメラ５０２が、その部位を見やすい位置へ、所定の経路５０３を通って移動する。
【０１６８】
例えば、図１５において、仮想キャラクタ５０１が左手を動かす動作をした場合、すなわち本実施形態においては、プレイヤが左手を動かすことに対応する入力操作をした場合、位置変化部３０１が、入力操作に応じて、仮想キャラクタ５０１の左手の位置を変化させ、部位取得部３０２が、その左手を、最も変位が大きい部位５０５として取得する。
【０１６９】
そして、仮想カメラ５０２の位置が、仮想キャラクタ５０１の左側、すなわち最も変位が大きい部位５０５の変位５０４を見込む角度５０６が大きくなるように、移動する。ここでの移動も、実施形態１および２と同様に、垂直同期周期ｔの間に移動できる範囲の中で、最も変位が大きい部位５０５の変位５０４を見込む角度５０６が大きくなるような位置を求めて、求まった位置へ仮想カメラ５０２を移動させる。そしてこのような垂直同期周期ｔでの処理を繰り返すことで、最終的に所定の経路５０３全体の中で最も変位が大きい部位５０５の変位５０４を見込む角度５０６が大きくなる位置へと、仮想カメラ５０２が到達する。
【０１７０】
図１６は、本実施形態における仮想空間５００とゲーム画面４００の対応関係であって、仮想カメラ５０２を移動が完了したときの図である。本図では実施形態１における図８と同様に、仮想カメラ５０２は、仮想キャラクタ５０１の最も変位が大きい部位５０５の変位５０４を見込む角度５０６が大きくなるように移動している。そして、キャラクタ画像４０１の左側前方からの視線によって仮想空間５００内の画像を生成し、その結果、プレイヤはキャラクタ画像４０１の左手が動く様子を分かりやすく確認することができるようになる。
【０１７１】
図１７は、実施形態３におけるゲーム処理の流れを示すフローチャートである。以下、本図を用いて実施形態３の処理の流れを説明する。
【０１７２】
まず本図において、ゲーム処理を開始してから、楽曲を再生させるまでの処理（ステップＳ９０１〜Ｓ９０２）は、実施形態１におけるフローチャート（図９）および実施形態２におけるフローチャート（図１３）と同様である。その後、実施形態１および２では、仮想キャラクタ５０１の位置および姿勢を変化させる処理を行ったが、本実施形態では、ここでプレイヤからの入力が受け付けられたかどうかを判定する（ステップＳ１７０１）。すなわち本実施形態では、仮想キャラクタ５０１はプレイヤからの指示入力によって変化するため、入力があったかどうかをここで判断する。
【０１７３】
プレイヤからの入力が受け付けられた場合（ステップＳ１７０１；ＹＥＳ）、入力に基づいて、仮想キャラクタ５０１の位置および姿勢を変化させる（ステップＳ１７０２）。すなわち、プレイヤによる入力が、仮想キャラクタ５０１の右手を動かす指示であった場合には、指示に従って仮想キャラクタ５０１の右手を動かし、右足を動かす指示であった場合には、指示に従って仮想キャラクタ５０１の右足を動かす。一方、プレイヤからの入力が受け付けらなかった場合は（ステップＳ１７０１；ＮＯ）、ここでは何もせず、次のステップへ移行する。
【０１７４】
本実施形態において特有の処理（本図の点線で囲われた部分）はここで終了し、その後は、最も変位が大きい部位５０５を取得する処理からゲームを終了するまでの処理は、実施形態１および２におけるステップＳ９０４〜Ｓ９０７、ステップＳ１３０１〜Ｓ１３０４、ステップＳ９０８〜Ｓ９１１と同様であるため、ここでの説明は割愛する。
【０１７５】
ここで、実施形態３においても、実施形態１および２と同様に、仮想空間５００内の仮想カメラ５０２が移動する所定の経路５０３は、円状でもよいし、楕円や多角形、あるいは閉曲線に限られず直線や曲線、それ以外のどのような経路でも可能である。
【０１７６】
また、実施形態２と同様に、最も変位が大きいキャラクタの部位の変位５０４に基づいて所定の経路５０３の半径５０７を設定する、すなわち拡大縮小してキャラクタ画像４０１を生成することも可能である。
【０１７７】
さらに、実施形態２と同様に、仮想カメラ５０２は所定の経路５０３上において、加速度および減速度が所定の閾値を超えないように移動する、すなわち滑らかに移動することも可能である。
【０１７８】
このような構成により、実施形態３では、プレイヤの入力に基づいて仮想空間内のキャラクタが動作するゲームにおいて、キャラクタの動作を適切に見ることができるようになる。
【０１７９】
その結果、例えば赤外線カメラ等を用いてプレイヤの体全体の動きを捉えるタイプのコントローラを使用するゲームにおいて、プレイヤは自身のダンスの振付けを、ゲーム画面で確認しながら練習することができる。また、その他のスポーツにおいても、プレイヤは自身のフォームや体位を、体の部位ごとの細かい動きまで含めて、ゲーム画面で適切に確認することができるようになる。
【産業上の利用可能性】
【０１８０】
以上説明したように、本発明によれば、仮想空間内のキャラクタの動きにあわせて、プレイヤがキャラクタの動きを適切に見ることができる画像を生成するのに好適なゲーム装置、ゲーム処理方法、ならびに、プログラムを提供することができる。
【符号の説明】
【０１８１】
１００  情報処理装置
１０１  ＣＰＵ
１０２  ＲＯＭ
１０３  ＲＡＭ
１０４  インターフェース
１０５  コントローラ
１０６  外部メモリ
１０７  ＤＶＤ−ＲＯＭドライブ
１０８  画像処理部
１０９  音声処理部
１１０  ＮＩＣ
２００  マット型コントローラ
２０１（２０１ａ，２０１ｂ，２０１ｃ，２０１ｄ）  ボタン
３００  ゲーム装置
３０１  位置変化部
３０２  部位取得部
３０３  視点設定部
３０４  画像生成部
４００  ゲーム画面
４０１  キャラクタ画像
４１０（４１０ａ，４１０ｂ，４１０ｃ，４１０ｄ）  基準マーク
４１１（４１１ａ，４１１ｂ，４１１ｃ，４１１ｄ）  指示マーク
５００  仮想空間
５０１  仮想キャラクタ
５０２，５０２’，５０２’’  仮想カメラ
５０３，５０３’，５０３’’  所定の経路
５０４  変位
５０５  最も変位が大きい部位
５０６，５０６’，５０６’’  見込む角度
５０７，５０７’，５０７’’  半径
【図１】
0005238756.tif 000002
【図２】
0005238756.tif 000003
【図３】
0005238756.tif 000004
【図４】
0005238756.tif 000005
【図５】
0005238756.tif 000006
【図６】
0005238756.tif 000007
【図７】
0005238756.tif 000008
【図８】
0005238756.tif 000009
【図９】
0005238756.tif 000010
【図１０】
0005238756.tif 000011
【図１１】
0005238756.tif 000012
【図１２】
0005238756.tif 000013
【図１３】
0005238756.tif 000014
【図１４】
0005238756.tif 000015
【図１５】
0005238756.tif 000016
【図１６】
0005238756.tif 000017
【図１７】
0005238756.tif 000018