説明

ゲーム装置、ゲーム処理方法、ならびに、プログラム

【課題】仮想空間内のキャラクタの動きにあわせて、プレイヤがキャラクタの動きを適切に見ることができる画像を生成するのに好適なゲーム装置等を提供する。
【解決手段】ゲーム装置300において、位置変化部301は、仮想空間内のキャラクタの位置および姿勢を変化させ、部位取得部302は、位置変化部301により位置および姿勢が変化されるキャラクタの部位のうち、最も変位が大きい部位を取得し、視点設定部303は、取得された最も変位が大きい部位の変位を見込む角度が大きくなるように、視点の位置を設定し、画像生成部304は、設定された視点から、キャラクタの位置へ向けた視線により、仮想空間の様子を表す画像を生成する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、仮想空間内のキャラクタの動きにあわせて、プレイヤがキャラクタの動きを適切に見ることができる画像を生成するのに好適なゲーム装置、ゲーム処理方法、ならびに、プログラムに関する。
【背景技術】
【0002】
プレイヤが体全体を動かしてプレイするゲームが普及している。代表的なものとして、ダンスゲームが挙げられる。ダンスゲームでは一般に、体の動作タイミングで表される課題が画面に表示され、これに従ってプレイヤがプレイすると、ダンス感覚を楽しむことができる。
【0003】
このようなダンスゲームでは、典型的に、プレイヤが足で押圧するマット型のコントローラを用い、踏み位置とそのタイミングを画面に表示することで、プレイヤにダンス感覚を楽しむことのできる動作や振付けを示している。そして、このようなプレイヤがゲームで行うに相応しい動作や振付けを画面内により分かりやすく教授する方法が開発されている。
【0004】
例えば、特許文献1には、マット型コントローラをプレイヤが足をステップするタイミングだけでなく、画面内に言葉で警告を表示することによりステップとステップの間の動作についてもプレイヤに分かりやすく教示する技術が開示されている。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特許第4354509号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
このようにゲームにおいてプレイヤがとるべき動作について、足のステップの仕方を画面に表示するだけでなく、頭や手といった体全体の動作まで含めて分かりやすく画面に表示してほしい、との要望がある。
【0007】
特に近年では、ゲームに使用するコントローラとして、従来からのボタン押圧操作によるものだけではなく、赤外線等を用いてプレイヤの動作をリモートに感知するものが種々に開発され、普及してきている。このようなリモート感知型のコントローラでは、プレイヤの手や足による押圧操作によるものだけでなく、体全体の様々な動きをゲームの操作入力とすることが可能となる。
【0008】
これは例えば、上述したダンスゲームにおいては、プレイヤが踊った体全体の動きを細かい振付けまで含めて操作入力とすることができるようになるということであり、そのために、プレイヤが実際に踊った体全体の動きや、ダンスでとるべき体全体の動作を、細かい振付けまで含めて分かりやすく画面に表示することが求められている。
【0009】
このような技術は、上述したダンスゲームだけでなく、アクションゲームやその他プレイヤが体全体を使って進行しうる様々なゲームにおいても応用できる。
【0010】
本発明は、以上のような課題を解決するためのものであり、仮想空間内のキャラクタの動きにあわせて、プレイヤがキャラクタの動きを適切に見ることができる画像を生成するのに好適なゲーム装置、ゲーム処理方法、ならびに、プログラムを提供することを目的とする。
【課題を解決するための手段】
【0011】
上記目的を達成するため、本発明の第1の観点に係るゲーム装置は、位置変化部と、部位取得部と、視点設定部と、画像生成部と、を備える。
【0012】
位置変化部は、仮想空間内のキャラクタの位置および姿勢を変化させる。
【0013】
例えば、楽曲の再生にあわせてプレイヤがダンスを楽しむことができるゲームにおいて、位置変化部は、仮想空間内のキャラクタの位置および姿勢を変化させてダンスを踊らせ、プレイヤがとるべきダンスの動作や振付けをゲーム画面内に示す、という場合が典型的である。
【0014】
また、位置変化部は、コントローラによってプレイヤからの入力を受け付け、入力に基づいて仮想空間内のキャラクタの位置および姿勢を変化させてもよい。具体的に、上述したダンスゲームにおいて、仮想空間内のキャラクタは予め定められたプログラムに基づいてダンスを踊るだけではなく、プレイヤからの指示によって動作や振付けを変化するようにしてもよい。
【0015】
部位取得部は、位置変化部により位置および姿勢が変化されるキャラクタの部位のうち、最も変位が大きい部位を取得する。
【0016】
すなわち、例えば、上記楽曲の再生にあわせてプレイヤがダンスを楽しむことができるゲームでは、楽曲のある部分の再生中に仮想空間内のキャラクタの右手の動作が他の部位に比べて大きくなったときは右手を、楽曲の別の部分の再生中に仮想空間内のキャラクタの左足の動作が他の部位に比べて大きくなったときは左足を、部位取得部が最も変位が大きい部位として取得する。
【0017】
視点設定部は、取得された最も変位が大きい部位の変位を見込む角度が大きくなるように、視点の位置を設定する。
【0018】
ここで、「見込む角度」とは、視点と、キャラクタの部位の変位の始点および終点、の3点を頂点とする三角形を考えたときの、視点における三角形の内角のことを意味するものとする。
【0019】
例えば、上記楽曲の再生にあわせてプレイヤがダンスを楽しむことができるゲームにおいて、仮想空間内のキャラクタの最も変位が大きい部位が右手のときは、右手の動く様子がよく見えるような位置、すなわち右手の動きを「見込む角度」が大きくなるような位置に、一方、最も変位が大きい部位が左足のときは、左足の動く様子がよく見えるような位置、すなわち左手の動きを「見込む角度」が大きくなるような位置に、視点設定部が視点の位置を設定する。
【0020】
画像生成部は、設定された視点から、キャラクタの位置へ向けた視線により、仮想空間の様子を表す画像を生成する。
【0021】
すなわち、例えば、上記楽曲の再生にあわせてプレイヤがダンスを楽しむことができるゲームにおいて、視点設定部により視点が、仮想空間内のキャラクタの右手の動く様子がよく見えるような位置に、設定されたとき、仮想空間内でキャラクタが右手を動かしている様子がよく見えるような画像を、画像生成部が生成する。
【0022】
また、本発明に係るゲーム装置において、視点は、所定の経路上を、所定の上限速度以下で移動し、視点設定部は、所定の経路上で所定の上限速度以下で移動可能な範囲のうち、変位を見込む角度が最大となる位置に、視点の位置を設定することもできる。
【0023】
すなわち、視点設定部による視点の設定は、仮想空間内のどの位置にも設定可能というわけではなく、予め定められた仮想空間内の経路上に制限される、さらに、その経路上を、予め定められた速度以下でしか移動できない、という場合に相当する。このとき、視点は、定められた経路上で定められた速度以下で移動可能な範囲のうち、キャラクタの最も変位が大きな部位を見込む角度が最大となる位置に、設定される。
【0024】
例えば、上記楽曲の再生にあわせてプレイヤがダンスを楽しむことができるゲームにおいて、仮想空間内のキャラクタの最も変位が大きい部位が右手のとき、視点は、右手の動く様子がよく見えるような仮想空間内の位置に、すぐに設定されるというわけではなく、所定の速度以下で少しずつ移動することで、少しずつ右手の動く様子がよく見えるようになる。
【0025】
このような構成により、プレイヤは仮想空間内のキャラクタを、より臨場感をもって見ることができるようになる。
【0026】
また、本発明に係るゲーム装置において、所定の経路は、キャラクタの位置を中心とする所定の円状の経路であってもよい。
【0027】
例えば、中心と高さをキャラクタの頭より高い位置にとった円状の経路としてもよい。この場合は、キャラクタを見下ろす視線でのゲーム画面が生成されることになる。あるいは、中心と高さをキャラクタの膝の位置にとった円状の経路としてもよい。この場合は、キャラクタを見上げる視線でのゲーム画面が生成されることになる。
【0028】
このようなキャラクタを中心とした円状の経路をとることで、キャラクタのどの部位の変位量が大きくなる場合でも、仮想空間内においてキャラクタから一定距離離れた位置からの視点によって、ゲーム画面が生成されることになる。
【0029】
また、本発明に係るゲーム装置において、視点設定部は、最も変位が大きいキャラクタの部位の変位に基づいて、所定の円状の経路の半径を設定することもできる。
【0030】
すなわち、例えば、最も変位が大きい部位が、キャラクタの指先をわずかに動かす動作のときは、視点が移動する円状の経路の半径を小さくすることで、キャラクタの指先が拡大されたゲーム画面が生成されることになる。反対に、キャラクタの大きな動作については、視点が移動する円状の経路の半径を大きくすることで、キャラクタ全体のゲーム画面が生成される。
【0031】
このような構成により、キャラクタの動作の大きさに合わせてゲーム画面の拡大縮小が変化することになり、プレイヤは動作する部位を容易に確認することができるようになる。
【0032】
また、本発明に係るゲーム装置において、視点設定部は、変位を見込む角度が最大となる位置へ視点の位置を移動させた後で、当該最も変位が大きいキャラクタの部位の変位に基づいて、所定の円状の経路の半径を設定することもできる。
【0033】
すなわち、キャラクタの動作の大きさに合わせて円状の経路の半径を変化させる処理は、キャラクタの最も変位が大きい部位の変位を見込む角度が大きくなるように視点の位置が設定された後に行われる、ということである。
【0034】
このような構成により、キャラクタの最も動いている部位を確認しやすい位置にまで視点の移動が完了した後で、プレイヤはその最も動いている部位を確認しながら、その部位の画像が拡大あるいは縮小される様子を見ることができる。
【0035】
また、本発明に係るゲーム装置において、視点設定部は、変位を見込む角度が最大となる位置へ視点の位置を移動させながら、当該最も変位が大きいキャラクタの部位の変位に基づいて、所定の円状の経路の半径を設定することもできる。
【0036】
すなわち、キャラクタの動作の大きさに合わせて円状の経路の半径を変化させる処理は、キャラクタの最も変位が大きい部位の変位を見込む角度が大きくなるように視点の位置が設定されている最中に行われる、ということである。
【0037】
このような構成により、キャラクタの最も動いている部位を確認しやすい位置にまで、視点が、画像の拡大あるいは縮小と同時に移動していくので、プレイヤはその最も動いている部位をスムーズに移り変わる画像によって確認することができる。
【0038】
また、本発明に係るゲーム装置において、視点設定部は、所定の経路上において、視点の加速度および減速度が、所定の閾値を超えないように、視点の位置を移動させることもできる。
【0039】
すなわち、仮想空間内で固定されていた視点が、視点設定部により別の位置へ移動し始める場合、急に大きな速度で移動し始めると、生成されるゲーム画面を見ているプレイヤに不自然さ・不快さを与えることになりやすい。これを避けるために、加速度および減速度に所定の閾値を設け、滑らかに視点を移動させることで、プレイヤが快適にゲーム画面を見ることができるようになる。
【0040】
本発明のその他の観点に係るゲーム処理方法は、位置変化部、部位取得部、視点設定部、画像生成部を備えるゲーム装置にて実行されるゲーム処理方法であって、位置変化工程、部位取得工程、視点設定工程、画像生成工程を備える。
【0041】
位置変化工程では、位置変化部が、仮想空間内のキャラクタの位置および姿勢を変化させる。
部位取得工程では、部位取得部が、位置変化部により位置および姿勢が変化されるキャラクタの部位のうち、最も変位が大きい部位を取得する。
視点設定工程では、視点設定部が、取得された最も変位が大きい部位の変位を見込む角度が大きくなるように、視点の位置を設定する。
画像生成工程では、画像生成部が、設定された視点から、キャラクタの位置へ向けた視線により、仮想空間の様子を表す画像を生成する。
【0042】
本発明のその他の観点に係るプログラムは、コンピュータを、上記のゲーム装置の各部として機能させ、コンピュータに、上記のゲーム処理方法の各工程を実行させるように構成する。
【0043】
また、本発明のプログラムは、コンパクトディスク、フレキシブルディスク、ハードディスク、光磁気ディスク、ディジタルビデオディスク、磁気テープ、半導体メモリ等のコンピュータ読み取り可能な情報記憶媒体に記録することができる。
【0044】
上記プログラムは、プログラムが実行されるコンピュータとは独立して、コンピュータ通信網を介して配付・販売することができる。また、上記情報記憶媒体は、コンピュータとは独立して配付・販売することができる。
【発明の効果】
【0045】
本発明によれば、仮想空間内のキャラクタの動きにあわせて、プレイヤがキャラクタの動きを適切に見ることができる画像を生成するのに好適なゲーム装置、ゲーム処理方法、ならびに、プログラムを提供することができる。
【図面の簡単な説明】
【0046】
【図1】本発明のゲーム装置の機能を果たす典型的な情報処理装置の概要構成を示す模式図である。
【図2】実施形態1に係るマット型のコントローラの概略図である。
【図3】実施形態1に係るゲーム装置の機能構成を示す模式図である。
【図4】実施形態1に係るゲーム画面の構成例を示した図である。
【図5】実施形態1に係る仮想空間とゲーム画面の対応関係を示した図である。
【図6】キャラクタの最も変位が大きい部位の変位を見込む角度を説明するための図である。
【図7】仮想空間内における仮想カメラの移動する範囲を示した図である。
【図8】実施形態1に係る仮想空間とゲーム画面の対応関係であって、仮想カメラの移動が完了したときの図である。
【図9】実施形態1に係るゲーム処理の流れを示すフローチャートである。
【図10】実施形態2に係る仮想空間とゲーム画面の対応関係であって、所定の経路を変化させたときの図である。
【図11】仮想空間内における仮想カメラの移動と所定の経路の変化を示した図である。
【図12】(a)、(b)、(c)すべて、円状の所定の経路の半径と仮想カメラの円周方向の位置との関係を示すグラフである。
【図13】実施形態2に係るゲーム処理の流れを示すフローチャートである。
【図14】実施形態3に係るゲーム装置の機能構成を示す模式図である。
【図15】実施形態3に係る仮想空間とゲーム画面の対応関係を示した図である。
【図16】実施形態3に係る仮想空間とゲーム画面の対応関係であって、仮想カメラの移動が完了したときの図である。
【図17】実施形態3に係るゲーム処理の流れを示すフローチャートである。
【発明を実施するための形態】
【0047】
本発明の実施形態を説明する。以下では、理解を容易にするため、ゲーム用の情報処理装置を利用して本発明が実現される実施形態を説明するが、以下の実施形態は説明のためのものであり、本願発明の範囲を制限するものではない。したがって、当業者であればこれらの各要素もしくは全要素をこれと均等なものに置換した実施形態を採用することが可能であるが、これらの実施形態も本発明の範囲に含まれる。
【0048】
(実施形態1)
図1は、プログラムを実行することにより、本発明のゲーム装置の機能を果たす典型的な情報処理装置の概要構成を示す模式図である。以下、本図を参照して実施形態1に係る情報処理装置100について説明する。
【0049】
情報処理装置100は、CPU(Central Processing Unit)101と、ROM(Read Only Memory)102と、RAM(Random Access Memory)103と、インターフェース104と、コントローラ105と、外部メモリ106と、DVD−ROM(Digital Versatile Disk - Read Only Memory)ドライブ107と、画像処理部108と、音声処理部109と、NIC(Network Interface Card)110と、を備える。
【0050】
ゲーム用のプログラムおよびデータを記憶したDVD−ROMをDVD−ROMドライブ107に装着して、情報処理装置100の電源を投入することにより、当該プログラムが実行され、本実施形態のゲーム装置が実現される。
【0051】
CPU 101は、情報処理装置100全体の動作を制御し、各構成要素と接続され制御信号やデータをやりとりする。
【0052】
ROM 102には、電源投入直後に実行されるIPL(Initial Program Loader)が記録され、これが実行されることにより、DVD−ROMに記録されたプログラムをRAM 103に読み出してCPU 101による実行が開始される。また、ROM 102には、情報処理装置100全体の動作制御に必要なオペレーティングシステムのプログラムや各種のデータが記録される。
【0053】
RAM 103は、データやプログラムを一時的に記憶するためのもので、DVD−ROMから読み出したプログラムやデータ、その他ゲームの進行やチャット通信に必要なデータが保持される。
【0054】
インターフェース104を介して接続されたコントローラ105は、ユーザがゲーム実行の際に行う操作入力を受け付ける。
【0055】
インターフェース104を介して着脱自在に接続された外部メモリ106には、ゲームのプレイ状況(過去の成績等)を示すデータ、ゲームの進行状態を示すデータ、ネットワークを用いたゲームのチャット通信のログ(記録)のデータなどが書き換え可能に記憶される。ユーザは、コントローラ105を介して指示入力を行うことにより、これらのデータを適宜外部メモリ106に記録することができる。
【0056】
DVD−ROMドライブ107に装着されるDVD−ROMには、ゲームを実現するためのプログラムとゲームに付随する画像データや音声データが記録される。CPU 101の制御によって、DVD−ROMドライブ107は、これに装着されたDVD−ROMに対する読み出し処理を行って、必要なプログラムやデータを読み出し、これらはRAM 103等に一時的に記憶される。
【0057】
画像処理部108は、DVD−ROMから読み出されたデータをCPU 101や画像処理部108が備える画像演算プロセッサ(図示せず)によって加工処理した後、これを画像処理部108が備えるフレームメモリ(図示せず)に記録する。フレームメモリに記録された画像情報は、所定の同期タイミングでビデオ信号に変換され画像処理部108に接続されるモニター(図示せず)へ出力される。これにより、各種の画像表示が可能となる。
【0058】
なお、画像演算プロセッサは、2次元の画像の重ね合わせ演算やαブレンディング等の透過演算、各種の飽和演算を高速に実行できる。
また、仮想3次元空間に配置され、各種のテクスチャ情報が付加されたポリゴン情報を、Zバッファ法によりレンダリングして、所定の視点位置から仮想3次元空間に配置されたポリゴンを所定の視線の方向へ俯瞰したレンダリング画像を得る演算の高速実行も可能である。
【0059】
さらに、CPU 101と画像演算プロセッサが協調動作することにより、文字の形状を定義するフォント情報にしたがって、文字列を2次元画像としてフレームメモリへ描画したり、各ポリゴン表面へ描画することが可能である。フォント情報は、ROM 102に記録されているが、DVD−ROMに記録された専用のフォント情報を利用することも可能である。
【0060】
音声処理部109は、DVD−ROMから読み出した音声データをアナログ音声信号に変換し、これに接続されたスピーカ(図示せず)から出力させる。また、CPU 101の制御の下、ゲームの進行の中で発生させるべき効果音や楽曲データを生成し、これに対応した音声をスピーカから出力させる。
【0061】
NIC 110は、情報処理装置100をインターネット等のコンピュータ通信網(図示せず)に接続するためのものであり、LAN(Local Area Network)を構成する際に用いられる10BASE−T/100BASE−T規格にしたがうものや、電話回線を用いてインターネットに接続するためのアナログモデム、ISDN(Integrated Services Digital Network)モデム、ADSL(Asymmetric Digital Subscriber Line)モデム、ケーブルテレビジョン回線を用いてインターネットに接続するためのケーブルモデム等と、これらとCPU 101との仲立ちを行うインターフェース(図示せず)により構成される。
【0062】
このほか、情報処理装置100は、ハードディスク等の大容量外部記憶装置を用いて、ROM 102、RAM 103、外部メモリ106、DVD−ROMドライブ107に装着されるDVD−ROM等と同じ機能を果たすように構成してもよい。
【0063】
図2は、実施形態1において使用されるコントローラ105の一例である、マット型のコントローラの概略図である。マット型コントローラ200は、床面に配置され、表面の所定領域には、プレイヤが足や手などでの押圧動作により押圧状態と非押圧状態とに変化するボタンが複数配置されている。例えば、本図に示すように、左ボタン201a、下ボタン201b,上ボタン201c、右ボタン201d等が配置されている。そして、これらのボタンがユーザに押圧されると、押圧されたボタンに応じた操作入力を受け付ける。
【0064】
本実施形態では、マット型コントローラ200は4つのボタン201a〜201dを備えているが、ボタンの数は4個に限定されず、3個以下あるいは5個以上でもよい。また、操作入力するものとして、床面に配置する形状に限られず、手に持って操作するいわゆるタッチパッドの形状や、手で把持する形状であってもよい。
【0065】
また、マット型コントローラ200に代えて、赤外線カメラ等を使用することによりプレイヤの体全体の動きを捉えることで、ゲーム実行の操作入力としてもよい。
【0066】
次に、実施形態1のゲーム装置の機能的な構成について説明する。
【0067】
本発明のゲーム装置にて実行される典型的なゲームとして、現実空間においてプレイヤが音楽に合わせてダンスをするゲームがある。以下、ダンスゲームを例にとり、本実施形態を説明する。
【0068】
図3は、実施形態1に係るゲーム装置の機能構成を示す模式図である。以下、本図を参照して説明する。
【0069】
ゲーム装置300は、位置変化部301と、部位取得部302と、視点設定部303と、画像生成部304と、を備える。
【0070】
位置変化部301は、仮想空間内のキャラクタの位置および姿勢を変化させる。
【0071】
このような位置変化部301として、例えばCPU 101が、DVD−ROMドライブ107やRAM 103と連動することで、機能しうる。
【0072】
具体的に、ダンスゲームにおいて、仮想空間内のキャラクタの動作や振付けのプログラムやデータは、再生される音楽等とともに、典型的にはDVD−ROMに記憶されており、DVD−ROMドライブ107において装着され、読み取られる。位置変化部301は、このように読み取られたプログラムやデータを基にして、一時的な記憶領域としてRAM 103を介して、CPU 101が制御することで、仮想空間内のキャラクタの位置および姿勢を変化させる。そして、変化した情報を、以下の部位取得部302へ供給する。
【0073】
部位取得部302は、位置変化部301により位置および姿勢が変化されるキャラクタの部位のうち、最も変位が大きい部位を取得する。
【0074】
このような部位取得部302として、例えばCPU 101がRAM 103を介して制御することで、機能しうる。
【0075】
具体的に、部位取得部302は、上記位置変化部301によって変化されたキャラクタの位置および姿勢の情報を受け取り、CPU 101の制御によって、が最も変位が大きい部位を取得する。そして、取得した情報を、以下の視点設定部303へ供給する。
【0076】
視点設定部303は、部位取得部302により取得された最も変位が大きいキャラクタの部位の変位を見込む角度が大きくなるように、視点の位置を設定する。
【0077】
このような視点設定部303として、例えばCPU 101がRAM 103を介して制御することで、機能しうる。
【0078】
ここで、「見込む角度」とは、視点と、キャラクタの部位の変位の始点および終点、の3点を頂点とする三角形を考えたときの、視点における三角形の内角のことを意味するものとする。詳細には、後述する図6を用いて説明する。
【0079】
具体的に、視点設定部303は、上記部位取得部302によって取得されたキャラクタの最も変位の大きい部位の情報を受け取り、CPU 101の制御によって、最も変位の大きい部位の変位を「見込む角度」が大きくなるように視点の位置を設定する。そして、設定した情報を、以下の画像生成部304へ供給する。
【0080】
画像生成部304は、視点設定部303により設定された視点から、キャラクタの位置へ向けた視線により、仮想空間の様子を表す画像を生成する。
【0081】
このような画像生成部304として、例えばCPU 101が、画像処理部108やRAM 103と連動することで、機能しうる。
【0082】
具体的に、画像生成部304は、上記視点設定部303によって設定された視点の情報を受け取り、CPU 101の制御によって、キャラクタの位置へ向けた視線により、仮想空間の様子を表す画像を生成する。そして、画像処理部108を用いて、生成した画像をモニタに表示する。
【0083】
図4は、実施形態1に係るゲーム画面の構成例を示した図である。上記画像生成部304は、本図のゲーム画面400に示されるような画像を生成し、モニタに表示する。
【0084】
ゲーム画面400には、模範的なダンスの振付けをプレイヤに示すキャラクタ画像401が配置され、さらに所定位置に固定して描画される基準マーク410(410a〜410d)、描画位置が時間の経過と共に移動する指示マーク411(本図では411a〜411dの4つ)、その他の背景画像などが表示される。
【0085】
指示マーク411は、再生される音楽に合わせてスクロール表示される。指示マーク411には、上下左右いずれかの矢印の画像が描かれている。
【0086】
基準マーク410a〜410dは、それぞれボタン201a〜201dをプレイヤが押圧すべきタイミングを指示するマークである。基準マーク410a〜410dには、上下左右いずれかの矢印の画像が描かれている。
【0087】
指示マーク411は、基準マーク410a〜410dが描画されている位置に向かって楽曲の再生速度に合わせて移動していく。基準マーク410a〜410dと同じ位置に指示マーク411が移動してきたときに、基準マーク410a〜410dに描かれる矢印の向きに対応するボタン201a〜201dをプレイヤが押圧すると、プレイヤの得点が加算され、得点に応じてゲームの成績が判定される。
【0088】
例えば、指示マーク411が基準マーク410a〜410dのいずれかと重なる位置に移動してきたときに、移動してきた指示マーク411に示される矢印に対応するボタン201a〜201dのいずれかをプレイヤが片足で押圧すると、再生されている音楽に合った模範的なダンスのステップを踏むことができるようになっている。
【0089】
本実施形態では、このような基準マーク410と指示マーク411を用いてダンスのステップの指示を示すとともに、キャラクタ画像401を用いて、ダンスの模範的な振付けをプレイヤに表示する。すなわち、キャラクタ画像401は、指示マーク411が基準マーク410a〜410dのいずれかと重なる位置に移動してきたとき、移動してきた指示マーク411に示される矢印に対応するボタン201a〜201dのいずれかを片足で押圧する動作をとる。
【0090】
さらに、キャラクタ画像401を表示することで、足でステップを踏む動作だけでなく、その他の体の部位を使った振付けも、プレイヤに示すことができる。すなわち、ダンスの模範的な動作や振付けを、体全体を使って表示することが可能である。
【0091】
このように、基準マーク410と指示マーク411による明確なステップの踏み動作とそのタイミングと、そしてキャラクタ画像401による体全体を使った振付けと、を1つのゲーム画面400内に同時に表示することで、プレイヤはダンスの模範的な動作と振付けを分かりやすく確認しながらゲームを楽しむことができる。
【0092】
本実施形態では、このようなキャラクタ画像401の動作をより分かりやすく表示するため、ゲーム画面400内でキャラクタ画像401を表示する視点と視線を、キャラクタ画像401の動作に応じて適切に変更する。すなわち、ダンスのある振付けにおいて、例えばキャラクタ画像401が右手を動かしている場合、キャラクタを右側からの見る視点でキャラクタ画像401を表示する。そうすることで、右手が動いている様子がよく見えるようになる。
【0093】
そのため、本実施形態では、仮想キャラクタ501が配置される仮想空間500を考え、ゲーム画面400内でのキャラクタ画像401の画像を生成する仮想カメラ502の視点と視線を、適切に設定する。
【0094】
図5は、実施形態1における仮想空間500とゲーム画面400の対応関係を示した図である。本図において、まず、仮想空間500内には仮想キャラクタ501が配置され、さらに仮想キャラクタ501の位置へ向けられた仮想カメラ502が、移動可能な所定の経路503上に配置されている。一方で、ゲーム画面400内には、図4において説明したものと同様に、模範的なダンスの振付けをプレイヤに示すキャラクタ画像401が、基準マーク410a〜410dおよび指示マーク411a〜411dが、その他の背景画像などとともに表示されている。
【0095】
ここでキャラクタ画像401は、仮想カメラ502によって生成された画像である。すなわち、この仮想カメラ502の視点から仮想キャラクタ501の位置へ向けた視線によって生成された、仮想空間500内の画像が、ゲーム画面400内のキャラクタ画像401として、表示されている。
【0096】
具体的に、本図において、仮想カメラ502は仮想キャラクタ501の右後方に位置している。そのため、キャラクタ画像401には、当該右後方から見た仮想キャラクタ501の画像、すなわち仮想キャラクタ501の後ろ姿が、表示されている。一方で、上述した図4におけるキャラクタ画像401は、正面からのものが表示されていたので、すなわちこれは、仮想キャラクタ501の正面に配置された仮想カメラ502からの視線によって生成されたものであるということになる。
【0097】
ここで例えば、仮想キャラクタ501が左手を動かす動作をした場合、すなわち、位置変化部301が仮想キャラクタ501の左手の位置を変化させた場合について考える。本実施形態ではこのとき、部位取得部302が、左手の位置の変位504を読み取り、最も変位が大きい部位505を取得する。
【0098】
ここでの最も変位の大きい部位505の取得する際において、仮想キャラクタ501の体をいくつかの部位に分け、各部位ごとにそれぞれの変位504を随時CPU 101が計算して、そのうち最も変位504の大きい部位を選ぶ、という処理を行う。
【0099】
ここで、仮想キャラクタ501の体を、頭、胴、右手、左手、右足、左足、というように大雑把に数個の部位に分けることにしてもよいし、さらに細かく、指、肘、膝、胸部、腹部などを含めて、多数の部位に分けることにしてもよい。多くの部位に分けるとそれだけ正確に仮想キャラクタ501の動作を捉えることができるようになるが、CPU 101が処理するべき計算量も増加する。
【0100】
ここでは例えば、仮想キャラクタ501の左手が、部位取得部302によって最も変位が大きい部位505として取得された場合について考える。
【0101】
このとき、仮想カメラ502の位置が、図5に示したような仮想キャラクタ501の右側後方、すなわちここでは最も変位が大きい部位505の位置の反対側、にあった場合には、この仮想カメラ502から生成される仮想キャラクタ501の画像は、本図のゲーム画面400内のキャラクタ画像401のように、動作している左手がキャラクタ画像401の体の奥側に位置することになり、どのように動かしているのかをプレイヤが確認し辛いものとなる。
【0102】
そこで本実施形態では、所定の経路503の中で最も変位が大きい部位505が見えやすい位置に、視点設定部303が仮想カメラ502を設定する。そのために、本発明ではまず、最も変位が大きい部位505の変位504を「見込む角度」を定義して、所定の経路503上で「見込む角度」が最も大きくなる位置まで仮想カメラ502を移動させる。
【0103】
図6は、仮想キャラクタ501の最も変位が大きい部位505の変位504を見込む角度を説明するための図である。本図では図5と同様、仮想空間500内の仮想キャラクタ501を、仮想カメラ502および502’が撮影している様子が示されている。ここで本図における仮想キャラクタ501は、図5と同様に、左手を大きく動かす動作をとっており、部位取得部302によってこの左手が最も変位が大きい部位505として取得されているとする。
【0104】
このとき、「見込む角度」とは、視点(仮想カメラ502または502’)と、仮想キャラクタ501の左手の変位504の始点および終点、の3点を頂点とする三角形を考えたときの、視点における三角形の内角のことを意味する。すなわち、視点が本図の仮想カメラ502の位置にあるときは、「見込む角度」とはθ(見込む角度506)のことであり、一方で視点が本図の仮想カメラ502’の位置にあるときは、「見込む角度」とはθ’(見込む角度506’)のことである。
【0105】
ここで本図のθ(見込む角度506)とθ’(見込む角度506’)とを比較したとき、それぞれ仮想カメラ502と502’は、最も変位が大きい部位505の位置から同じくらいの距離に位置しているが、変位504を正面から見込んでいる仮想カメラ502におけるθ(見込む角度506)の方が、変位504を斜めから見込んでいる仮想カメラ502’におけるθ’(見込む角度506’)よりも、大きな角度となっている。
【0106】
本実施形態では、このように定義された「見込む角度」が大きくなるように、すなわち図6においては仮想カメラ502’の位置よりも仮想カメラ502の位置になるように、視点設定部303が所定の経路503上における仮想カメラ502の位置を移動させる。そうすることで、仮想キャラクタ501の最も変位が大きい部位505の動きをプレイヤが確認しやすいキャラクタ画像401を生成することができるようになる。
【0107】
ここで、仮想カメラ502が移動する際、所定の経路503上のすべての位置へ瞬時に移動するよりは、少しずつ移動するようにする方が典型的である。なぜならば、仮想カメラ502の位置が少しずつ連続的に移動することによって、仮想カメラ502によって生成されるキャラクタ画像401も少しずつ連続的に切り替わることになり、ゲーム画面400を見ているプレイヤが不自然さや不快さを感じるが少なくなり、臨場感をもってゲームをプレイできることが想定されるからである。
【0108】
そこで本実施形態では、仮想カメラ502の移動速度にある所定の上限速度Vを設けて、速度V以上では移動できないようにする。すなわちこのとき、ゲーム画面400の垂直同期周期tの間に移動できる距離は、仮想カメラ502の現在の位置を中心に±V・tの範囲となる。
【0109】
図7は、仮想空間500内における仮想カメラ502の移動する範囲を示した図である。本図は仮想キャラクタ501を上から見下ろした図であり、仮想カメラ502は仮想キャラクタ501を中心とする円状の所定の経路503上に配置されている。ここでは説明のために、仮想カメラ502は円状の所定の経路503上の仮想キャラクタ501の正面の位置に配置されているとして考える。
【0110】
ここで仮想カメラ502の移動速度の上限が、上述のように速度Vであった場合、1回の垂直同期周期tの間に移動できる範囲は、仮想カメラ502の現在位置を中心として±V・tの範囲である。本実施形態では、この±V・tの範囲を、+V・t、±0、−V・tの3個の点に分割する。図7では、初期状態として±0の位置に仮想カメラ502が、そして移動先の位置の候補として、+V・tの位置に仮想カメラ502’が、−V・tの位置に仮想カメラ502’’が、それぞれ配置されている。
【0111】
そして、この+V・t、±0、−V・tの3個の点のうち、最も変位が大きい部位505の変位504を見込む角度506が最大となる点を求める。すなわちこの3点について、それぞれ変位504を見込む角度506(θ)、506’(θ’)、506’’(θ’’)をCPU 101が計算し、比較する。本図の場合では、これらの見込む角度506、506’、506’’のうち、見込む角度506’の大きさが最大となるので、+V・tの位置が、移動先の位置として選ばれることになる。
【0112】
ここで上記では、移動可能な±V・tの範囲を3個の点に分割したが、本実施形態では3個に限られず、5個や6個、あるいはそれ以上の点に分割してもよい。例えば5個の点に分割した場合は、それぞれ仮想カメラ502の現在位置から、+V・t、+V・t/2、±0、−V・t/2、−V・t、の5点に等間隔に、仮想カメラ502の移動可能な範囲を分割するのが典型的である。すなわち多数の点に分割すればするほど、最も変位が大きい部位505の変位504を見込む角度506が最大となる位置は正確に求められるが、処理が複雑化して計算量が増大することになる。
【0113】
このように、1回の垂直同期周期tの中で、仮想カメラ502の移動可能な±V・tの範囲のうち最も変位の多い部位505の変位504を見込む角度506が最大となる位置を選び、選ばれた位置へ仮想カメラ502を移動させる。そしてこれを繰り返すことで、仮想カメラ502は1回の垂直同期の間に移動可能な±V・tの範囲で少しずつ移動し、何回かの垂直同期を繰り返した後に、(途中で最も変位が大きい部位505が別の部位に変わらない限り、)所定の経路503全体の中で変位504を見込む角度506が最大となる位置まで到達して、移動が完了することになる。
【0114】
図8は、実施形態1における仮想空間500とゲーム画面400の対応関係であって、仮想カメラ502の移動が完了したときの図である。仮想カメラ502は当初、仮想空間500内で仮想キャラクタ501の右側後方(図5における仮想カメラ502と同じ位置)に位置していたが、上述したような視点設定部303による移動を繰り返した結果、最も変位が大きい部位505の変位504を見込む角度506が、所定の経路503全体の中で最大となる位置、すなわち仮想キャラクタ501の左側前方(本図における仮想カメラ502’の位置)へ、移動する。
【0115】
その結果、移動した仮想カメラ502’は、仮想キャラクタ501の左側前方からの視点によってキャラクタ画像401を生成することができるようになり、本図のゲーム画面400に示したように、プレイヤはキャラクタ画像401の左手が動く様子を分かりやすく確認することができるようになる。
【0116】
ここまでの説明において、仮想カメラ502が移動する所定の経路503の形状は、円状とするのが典型的であるが、他にも様々な経路が考えられる。例えば、楕円状や長方形状であってもよい。またはこれらのような閉曲線に限らず、任意の直線や曲線を組み合わせた経路であってもよい。
【0117】
以上概要を説明した本実施形態についての具体的なゲーム処理の流れについて、フローチャートを用いて詳述していく。
【0118】
図9は、本実施形態におけるゲーム装置300において実現される、ゲーム処理の流れを示すフローチャートである。以下、この図を参照して説明する。
【0119】
まず、ゲーム装置300のCPU 101は、各種の初期設定を行う(ステップS901)。ここでは、プレイヤがプレイする楽曲の選択や、当該楽曲、基準マーク410、指示マーク411、その他ゲーム画面400上に配置される各種オブジェクト等の各種データの読み込みなどを行う。
【0120】
さらに、ここでの初期設定では、仮想空間500内の仮想カメラ502の初期設定を行う。すなわち、所定の経路503上の予め定められた初期位置に仮想カメラ502を配置し、配置された位置から仮想キャラクタ501へ向けた視線によってゲーム画面400内のキャラクタ画像401の初期画像を生成する。
【0121】
ついで、ゲーム装置300のCPU 101は、初期設定によって選択された楽曲の再生を開始するように、音声処理部109に指示を出す(ステップS902)。なお、楽曲のデータは、MIDI(Musical Instrument Digital Interface)データやPCM(Pulse Coded Modulation)データ、MP3(MPEG Audio Layer-3)データやOgg Vorbisデータなど、これらのデータはDVD−ROMドライブ107に装着されるDVD−ROMなどのROMメディアに記憶されている。
【0122】
ここから本ゲーム処理は、繰り返しの1回がゲーム画面400の垂直同期周期tに一致するループ構造に入る。
【0123】
まず、位置変化部301が、仮想キャラクタ501の位置および姿勢を変化させる(ステップS903)。本実施形態では、仮想キャラクタ501は、再生される楽曲に合わせてダンスを踊る動作を行う。この動作は、楽曲のデータとともに、DVD−ROMドライブ107に装着されるDVD−ROMなどのROMメディアに記憶されている。
【0124】
次に、部位取得部302が、上記変化した仮想キャラクタ501の部位のうち、最も変位が大きい部位505を取得する(ステップS904)。具体的に、図6での仮想キャラクタ501のように、仮想キャラクタ501が左手を大きく動かす動作を行ったとすると、このとき、最も変位が大きい部位505として、例えば左手が取得される。
【0125】
最も変位が大きい部位505が取得されると、次に、仮想カメラ502の移動可能な範囲を求める(ステップS905)。すなわち、仮想カメラ502の移動速度の上限が、速度Vであった場合には、移動可能な範囲は仮想カメラ502の現在位置から±V・tの範囲となる。
【0126】
そして、視点設定部303が、求められた移動可能な範囲の中で、最も変位が大きい部位505の変位504を見込む角度506が最大となる位置を求める(ステップS906)。すなわち、図7において説明したように、例えば移動可能な±V・tの範囲を、+V・t、±0、−V・tの3個の点に分割した場合には、それぞれについて最も変位が大きい部位505の変位504を見込む角度506をCPU 101が計算し、見込む角度506が最大となるものを、3個の点から選ぶことになる。
【0127】
さらに、すなわち視点設定部303が、求められた最も変位が大きい部位505の変位504を見込む角度506が最大となる位置に、仮想カメラ502を移動させる(ステップS907)。そして、移動させた位置における仮想カメラ502から見た画像を生成する(ステップS908)。すなわち、画像生成部304が、移動した位置を視点として、仮想カメラ502から仮想キャラクタ501へ向けられた視線により、仮想空間500の様子を画像として生成する。
【0128】
そして、生成された仮想空間500内の画像を基に、ゲーム画面400を生成する(ステップS909)。ここでは、仮想空間500の画像からキャラクタ画像401を生成して配置し、基準マーク410や指示マーク411、その他配置される各種オブジェクト等をゲーム画面400上に配置する。ここで指示マーク411は楽曲の再生速度に合わせてゲーム画面400内を移動するため、プレイを開始してから現在までの経過時間を基にして、配置されるべき位置が計算される。
【0129】
CPU 101は、このようなゲーム画面400を画像処理部108を利用して生成して、フレームメモリに転送し、CPU 101は、次の垂直同期割り込みが発生するまで待機し、垂直同期割り込みと同期して、フレームメモリに記憶された画像データをモニタに表示する(ステップS910)。
【0130】
ついで、ゲームのプレイが終了したか否かを判定して(ステップS911)、終了していなければ(ステップS911;NO)、ステップS903に戻る。一方、終了していれば(ステップS911;YES)、適切にゲームのプレイの終了した後、本処理を終了する。
【0131】
このような構成により、本実施形態では、仮想空間500内における仮想キャラクタ501についてのキャラクタ画像401を、現在動いている体の部位を確認しやすいような位置からの視線によって、生成することができる。
【0132】
その結果、楽曲の再生に合わせてプレイヤがとるべき動作や振付けを、足のステップの位置とタイミングで教授するだけでなく、頭や手まで含めた体全体の振付けについて、現在動いている体の部位を確認しやすいような画像によって、体全体の振付けをプレイヤに教授することができるようになる。
【0133】
(実施形態2)
次に、本発明の実施形態2について説明する。実施形態1では、仮想カメラ502は、所定の経路503上を、ある上限速度Vによる制限のもとで移動した。本実施形態では、仮想カメラ502の移動する所定の経路503は変化し、また仮想カメラ502の速度について、上限速度Vだけではなく、加速度および減速度が所定の閾値を超えないように移動させる。
【0134】
まず、本実施形態では、最も変位が大きい部位505の変位504に基づいて、所定の経路503を変化させる。具体的に、例えば所定の経路503が円状とした場合、最も変位が大きい部位505の変位504が小さいときは、円状の所定の経路503の半径を小さくし、変位504が大きいときは、円状の所定の経路503の半径を大きくする。
【0135】
図10は、実施形態2における仮想空間500とゲーム画面400の対応関係であって、所定の経路503を変化させたときの図である。本図では、図5および図8の場合と同様に、最も変位が大きい部位505が仮想キャラクタ501の左手である場合であり、仮想カメラ502の位置は、すでに当初の所定の経路503上における最も変位が大きい部位505の変位504を見込む角度506が最大となる位置(本図では仮想キャラクタ501の左前方)にあるとする。
【0136】
ここで、仮想キャラクタ501の左手の変位504が小さかった場合を考える。このとき、仮想キャラクタ501の左前方に位置していた仮想カメラ502は、より仮想キャラクタ501の位置へ近づいた方が、この左手の小さな変位504をズームアップして、より動作の分かりやすいキャラクタ画像401を生成することができるようになる。
【0137】
そのため本実施形態では、最も変位が大きい部位505の変位504が、ある閾値よりも小さければ、円状の所定の経路503の半径507を小さくして、図10における所定の経路503’へと変化させる。そうすることで、経路上の仮想カメラ502は、図10における仮想カメラ502’の位置へと変化し、仮想キャラクタ501へ近づくことになる。
【0138】
図10におけるゲーム画面400には、このように半径507が半径507’へと小さくなった円状の所定の経路503’上の仮想カメラ502’から見たキャラクタ画像401が、その他の基準マーク410a〜410d、指示マーク411a〜411dなどともに示されている。このキャラクタ画像401は、例えば図8のキャラクタ画像401と比較して、ズームアップされており、その結果、仮想キャラクタ501の左手の動きが小さい場合にでも、プレイヤはその動作を確認しやすくなる。
【0139】
ここで本実施形態では、仮想キャラクタ501の最も変位が大きい部位505の変位504が、ある閾値よりも小さい場合に半径507を小さくするだけではなく、ある閾値よりも大きい場合に半径507を大きくして、所定の経路503を変化させることにしてもよい。その場合には、所定の経路503が変化される前よりズームアウトされたキャラクタ画像401が生成されることになる。
【0140】
また本実施形態では、変化させる所定の経路503は、円状の経路に限られず、楕円や多角形、あるいは閉曲線に限られず直線や曲線、それ以外の大きさを変化することが可能などのような経路でもよい。
【0141】
このように、最も変位が大きい部位505の変位504の大きさによって所定の経路503を変更する、すなわち仮想カメラ502と仮想キャラクタ501の相対的な距離を調節することで、適切に拡大縮小された仮想キャラクタ501の画像をプレイヤに提供することができる。
【0142】
ここで説明した所定の経路503の半径507を変化させる処理は、所定の経路503上において仮想カメラ502を移動させる処理と比べて、どちらの処理が前でも後でもよいし、あるいは同時に処理が行われてもよい。すなわち、視点設定部303は、変位504を見込む角度506が最大となる位置へ仮想カメラ502の位置を移動させた前あるいは後で、最も変位が大きい部位505の変位504に基づいて、円状の所定の経路503の半径507を設定することにしてもよいし、変位504を見込む角度506が最大となる位置へ仮想カメラ502の位置を移動させながら、最も変位が大きい部位505の変位504に基づいて、円状の所定の経路503の半径507を設定することにしてもよい。後者の場合を以下の図11を用いて説明する。
【0143】
図11は、仮想空間500内における仮想カメラ502の移動と所定の経路503の変化を示した図である。本図は、図7と同様に、仮想キャラクタ501を上から見下ろした図であり、仮想カメラ502は仮想キャラクタ501を中心とする円状の所定の経路503上に配置されている。そして、初期状態において、仮想カメラ502は円状の所定の経路503上の仮想キャラクタ501の正面の位置に配置されているとして考える。
【0144】
このとき、実施形態1と同様に、仮想キャラクタ501の最も変位が大きい部位505が左手であった場合には、視点設定部303は、左手の変位504を見込む角度506が最も大きくなるような位置へ、すなわち仮想キャラクタ501の左側前方の位置へ向けて、仮想カメラ502の位置の移動を開始する。すなわち、仮想カメラ502の移動速度の上限が速度Vであった場合には、仮想カメラ502は、ゲーム画面400の垂直同期周期tの間に、移動可能な±V・tの範囲の中で仮想キャラクタ501に左側、すなわち+V・tの位置へ移動することになる。
【0145】
本実施形態ではこのとき同時に、円状の所定の経路503の半径507を変化させる。すなわち、最も変位が大きい部位505の変位504が、所定の閾値よりも小さかった場合に、円状の所定の経路503の半径507を小さくする。そのため、1回の垂直同期周期tの間で、円状の所定の経路503の半径507は、半径507’へと縮小した所定の毛色503’へと変化する。このとき所定の経路503上にあった仮想カメラ502の位置は、所定の経路503’上の仮想カメラ502’の位置へ移動する。すなわち、所定の経路503上では仮想キャラクタ501の正面の位置にあった仮想カメラ502は、円周方向へ仮想キャラクタ501の左方向へV・tだけ移動し、かつ動径方向には仮想キャラクタ501へ近づくように移動している。
【0146】
このような垂直同期周期t間での移動を繰り返して、最終的に、仮想カメラ502が仮想キャラクタ501の最も変位が大きい部位505の変位504を見込む角度506が最大となる位置へ到達するころには、所定の経路503の半径507は、図11における半径507’’にまで小さくなり、半径507’’の円状の所定の経路503’’上の仮想カメラ502’’からは、ズームアップされた仮想キャラクタ501のキャラクタ画像401が生成されることになる。
【0147】
図12(a)は、上述したような変化をする円状の所定の経路503の半径507と、仮想カメラ502の円周方向の位置との関係を示すグラフである。本図では、初期状態において半径507であった円状の所定の経路503が、垂直同期周期tだけ時間が経過して、仮想カメラ502が円周方向に+V・tだけ移動したときには、縮小した半径507’の円状の所定の経路503’となり、最終的に仮想カメラ502が最も変位が大きい部位505の変位504を見込む角度506が最大となる位置まで移動したときには、さらに小さい半径507’’の円状の所定の経路503’’と、一様な割合で小さくなっていく様子が示されている。
【0148】
ここで本実施形態では、円状の所定の経路503の半径507は、図12(a)のように一様な割合で変化してもよいし、そうでなくてもよい。すなわち、例えば仮想カメラ502が円周方向に移動し始めの頃では、円状の所定の経路503の半径507はゆっくりと変化し、仮想カメラ502が円周方向への移動を終える頃に、半径507の変化の量を大きくする、ようにしてもよい。また、図12(b)のように、半径507の変化の開始は、仮想カメラ502の移動の開始とタイミングを合わせなくてもよい。すなわち、仮想カメラ502が円周方向に移動し始めの頃には円状の所定の経路503の半径507は変化せず、仮想カメラ502が円周方向への移動を終える頃にのみ、半径507が変化して、半径507’’へと達するようにしてもよい。あるいは逆に、図12(c)のように、半径507の変化の終了は、仮想カメラ502の移動の終了とタイミングを合わせなくてもよい。すなわち、仮想カメラ502が円周方向に移動し始めの頃に、円状の所定の経路503の半径507が変化して、半径507’、そして半径507’’へと達し、仮想カメラ502が円周方向への移動を終える頃には半径507’’のまま変化しないようにしてもよい。言い換えると、仮想カメラ502の動径方向の速度と円周方向の速度とに、同時に目的位置に到達するように互いに依存関係を持たせてもよいし、まったく独立に設定してもよい。
【0149】
さらに本実施形態では、実施形態1と異なって、所定の経路503上において、仮想カメラ502を、加速度および減速度が所定の閾値を超えないように移動させる。
【0150】
すなわちここでは、静止していた仮想カメラ502が動き出すときや、移動していた仮想カメラ502が動きを止めるときに、特に焦点があてられている。すなわち、急に大きな速度で仮想カメラ502が動き出したり、急にストップしたりすると、ゲーム画面400を見ているプレイヤにとって不自然さを与えてしまうと考えられ、これを回避するために、仮想カメラ502の加速度と減速度に所定の閾値を設ける。
【0151】
こうすることで、仮想カメラ502は所定の経路503上を、滑らかな、いわゆる粘性をもった動きをすることになり、ゲーム画面400を見ているプレイヤは、よりいっそう臨場感をもってゲームをプレイすることができるようになる。
【0152】
図13は、このような実施形態2に係るゲーム処理の流れを示すフローチャートである。以下、本図を用いて実施形態2の処理の流れを説明する。
【0153】
まず本図において、ゲーム処理を開始してから、仮想カメラ502を移動させるまでの処理(ステップS901〜S907)、および仮想カメラ502から見た画像を作成する処理から、ゲームを終了するまでの処理(ステップS908〜S911)は、実施形態1におけるフローチャート(図9)と同様なので、ここでは説明を割愛する。一方で本実施形態では、実施形態1のステップS907とステップS908との間に、新たな処理(本図の点線で囲われた部分)が追加される。
【0154】
本実施形態では、ステップS907において、仮想キャラクタ501の最も変位が大きい部位505の変位504を見込む角度506が最大となる、円状の所定の経路503上の位置に、仮想カメラ502を移動させた後、新たに仮想カメラ502の加速度および減速度が、所定の閾値を超えたかどうかを判定する(ステップS1301)。すなわち、仮想カメラ502の動きに粘性をもたせてスムーズな動きの画像を生成するために、加速度と減速度をチェックする。
【0155】
ここで超えていた場合(ステップS1301;YES)、この所定の閾値を超えないように、調整し直して移動させる(ステップS1302)。すなわちこのとき仮想カメラ502は、ステップS907で移動させた距離よりも、短い距離しか移動できないことになる。一方で、所定の閾値を超えていない場合は(ステップS1301;NO)、ここでは何もせず、仮想カメラ502はステップS907での位置まで移動されたままとなる。
【0156】
さらにこの後、本実施形態では、取得した変位504が、所定の閾値より小さい、あるいは、大きいかを判定する(ステップS1303)。すなわち、仮想カメラ502を仮想キャラクタ501へ、ズームアップもしくはズームアウトさせる必要があるかを判断する。
【0157】
ここで、取得した変位504が所定の閾値より小さいあるいは大きいと判定された場合(ステップS1303;YES)、円状の所定の経路503の半径507を小さくする、あるいは、大きくする(ステップS1304)。すなわち、仮想カメラ502を仮想キャラクタ501へ、ズームアップもしくはズームアウトさせ、仮想キャラクタ501の動作がより認識しやすいキャラクタ画像401を生成する。一方で、取得した変位504が所定の閾値より小さいあるいは大きいと判定されなかった場合(ステップS1303;NO)、ここでは何もせず、所定の経路503は変化しない。
【0158】
本実施形態では、ゲーム画面400の垂直同期周期tごとにこのような処理を繰り返して、変化する所定の経路503上における仮想カメラ502の位置を動かす。そして、このようにして移動された仮想カメラ502から見た画像を生成するなど、実施形態1と同様の処理(ステップS908〜S911)へと続く。
【0159】
このような構成により、本実施形態では、仮想空間500内における仮想カメラ502の位置を、所定の経路503を変化させながら、そして速度に粘性をつけながら、移動させることができる。
【0160】
その結果、楽曲の再生に合わせてプレイヤがとるべき動作や振付けを教授するキャラクタ画像401を生成する仮想カメラ502について、プレイヤにとって不自然さや不快さを感じさせることなく、またプレイヤにより臨場感を与えることができるように、仮想空間500内を移動させることができるようになる。
【0161】
(実施形態3)
次に、本発明の実施形態3について説明する。実施形態1および2では、仮想空間内のキャラクタは予め定められた動作や振付けに従ってダンスを踊った。一方、実施形態3では、プレイヤからの指示入力を受け付けて、仮想空間内のキャラクタを動作させる。以下、詳述する。
【0162】
図14は、実施形態3に係るゲーム装置300の機能構成を示す模式図である。本図は、基本的には図3(実施形態1に係るゲーム装置300の機能構成を示す模式図)と同じであるが、位置変化部301において以下に説明するような差異がある。
【0163】
本実施形態における位置変化部301は、仮想空間500内のキャラクタの位置および姿勢を変化させる場合において、インターフェース104を介して接続されるコントローラ105によってプレイヤからの指示入力を受け付ける。そして、受け付けた指示入力に基づいて、仮想キャラクタ501の位置および姿勢を変化させ、変化させた情報を部位取得部302へ供給する。
【0164】
その後は実施形態1と同様に、部位取得部302、視点設定部303、画像生成部304における処理が行われ、ゲームの画像が生成される。
【0165】
図15は、実施形態3における仮想空間500とゲーム画面400の対応関係を示した図である。ここで、仮想空間500内の、仮想キャラクタ501や仮想カメラ502、所定の経路503の配置や役割は、実施形態1における図5および図8、実施形態2における図10でのものと差異はないが、仮想キャラクタ501は、DVD−ROM等に記憶された所定のプログラムを基に動作するのではなく、プレイヤの操作入力によって動作する。
【0166】
すなわち本実施形態では、プレイヤの入力に応じて動作する仮想キャラクタ501を、仮想カメラ502が撮影し、キャラクタ画像401を生成して、ゲーム画面400をプレイヤへ表示する。すなわち、図15におけるゲーム画面400には、実施形態1および2とは異なって、基準マーク410と指示マーク411は表示せず、キャラクタ画像401とその他必要な背景オブジェクトをゲーム画面400内に表示することになる。
【0167】
さらに本実施形態では、実施形態1および2と同様に、仮想キャラクタ501の動作する部位に応じて、仮想カメラ502が、その部位を見やすい位置へ、所定の経路503を通って移動する。
【0168】
例えば、図15において、仮想キャラクタ501が左手を動かす動作をした場合、すなわち本実施形態においては、プレイヤが左手を動かすことに対応する入力操作をした場合、位置変化部301が、入力操作に応じて、仮想キャラクタ501の左手の位置を変化させ、部位取得部302が、その左手を、最も変位が大きい部位505として取得する。
【0169】
そして、仮想カメラ502の位置が、仮想キャラクタ501の左側、すなわち最も変位が大きい部位505の変位504を見込む角度506が大きくなるように、移動する。ここでの移動も、実施形態1および2と同様に、垂直同期周期tの間に移動できる範囲の中で、最も変位が大きい部位505の変位504を見込む角度506が大きくなるような位置を求めて、求まった位置へ仮想カメラ502を移動させる。そしてこのような垂直同期周期tでの処理を繰り返すことで、最終的に所定の経路503全体の中で最も変位が大きい部位505の変位504を見込む角度506が大きくなる位置へと、仮想カメラ502が到達する。
【0170】
図16は、本実施形態における仮想空間500とゲーム画面400の対応関係であって、仮想カメラ502を移動が完了したときの図である。本図では実施形態1における図8と同様に、仮想カメラ502は、仮想キャラクタ501の最も変位が大きい部位505の変位504を見込む角度506が大きくなるように移動している。そして、キャラクタ画像401の左側前方からの視線によって仮想空間500内の画像を生成し、その結果、プレイヤはキャラクタ画像401の左手が動く様子を分かりやすく確認することができるようになる。
【0171】
図17は、実施形態3におけるゲーム処理の流れを示すフローチャートである。以下、本図を用いて実施形態3の処理の流れを説明する。
【0172】
まず本図において、ゲーム処理を開始してから、楽曲を再生させるまでの処理(ステップS901〜S902)は、実施形態1におけるフローチャート(図9)および実施形態2におけるフローチャート(図13)と同様である。その後、実施形態1および2では、仮想キャラクタ501の位置および姿勢を変化させる処理を行ったが、本実施形態では、ここでプレイヤからの入力が受け付けられたかどうかを判定する(ステップS1701)。すなわち本実施形態では、仮想キャラクタ501はプレイヤからの指示入力によって変化するため、入力があったかどうかをここで判断する。
【0173】
プレイヤからの入力が受け付けられた場合(ステップS1701;YES)、入力に基づいて、仮想キャラクタ501の位置および姿勢を変化させる(ステップS1702)。すなわち、プレイヤによる入力が、仮想キャラクタ501の右手を動かす指示であった場合には、指示に従って仮想キャラクタ501の右手を動かし、右足を動かす指示であった場合には、指示に従って仮想キャラクタ501の右足を動かす。一方、プレイヤからの入力が受け付けらなかった場合は(ステップS1701;NO)、ここでは何もせず、次のステップへ移行する。
【0174】
本実施形態において特有の処理(本図の点線で囲われた部分)はここで終了し、その後は、最も変位が大きい部位505を取得する処理からゲームを終了するまでの処理は、実施形態1および2におけるステップS904〜S907、ステップS1301〜S1304、ステップS908〜S911と同様であるため、ここでの説明は割愛する。
【0175】
ここで、実施形態3においても、実施形態1および2と同様に、仮想空間500内の仮想カメラ502が移動する所定の経路503は、円状でもよいし、楕円や多角形、あるいは閉曲線に限られず直線や曲線、それ以外のどのような経路でも可能である。
【0176】
また、実施形態2と同様に、最も変位が大きいキャラクタの部位の変位504に基づいて所定の経路503の半径507を設定する、すなわち拡大縮小してキャラクタ画像401を生成することも可能である。
【0177】
さらに、実施形態2と同様に、仮想カメラ502は所定の経路503上において、加速度および減速度が所定の閾値を超えないように移動する、すなわち滑らかに移動することも可能である。
【0178】
このような構成により、実施形態3では、プレイヤの入力に基づいて仮想空間内のキャラクタが動作するゲームにおいて、キャラクタの動作を適切に見ることができるようになる。
【0179】
その結果、例えば赤外線カメラ等を用いてプレイヤの体全体の動きを捉えるタイプのコントローラを使用するゲームにおいて、プレイヤは自身のダンスの振付けを、ゲーム画面で確認しながら練習することができる。また、その他のスポーツにおいても、プレイヤは自身のフォームや体位を、体の部位ごとの細かい動きまで含めて、ゲーム画面で適切に確認することができるようになる。
【産業上の利用可能性】
【0180】
以上説明したように、本発明によれば、仮想空間内のキャラクタの動きにあわせて、プレイヤがキャラクタの動きを適切に見ることができる画像を生成するのに好適なゲーム装置、ゲーム処理方法、ならびに、プログラムを提供することができる。
【符号の説明】
【0181】
100 情報処理装置
101 CPU
102 ROM
103 RAM
104 インターフェース
105 コントローラ
106 外部メモリ
107 DVD−ROMドライブ
108 画像処理部
109 音声処理部
110 NIC
200 マット型コントローラ
201(201a,201b,201c,201d) ボタン
300 ゲーム装置
301 位置変化部
302 部位取得部
303 視点設定部
304 画像生成部
400 ゲーム画面
401 キャラクタ画像
410(410a,410b,410c,410d) 基準マーク
411(411a,411b,411c,411d) 指示マーク
500 仮想空間
501 仮想キャラクタ
502,502’,502’’ 仮想カメラ
503,503’,503’’ 所定の経路
504 変位
505 最も変位が大きい部位
506,506’,506’’ 見込む角度
507,507’,507’’ 半径

【特許請求の範囲】
【請求項1】
仮想空間内のキャラクタの位置および姿勢を変化させる位置変化部、
前記位置変化部により位置および姿勢が変化されるキャラクタの部位のうち、最も変位が大きい部位を取得する部位取得部、
前記取得された最も変位が大きい部位の変位を見込む角度が大きくなるように、視点の位置を設定する視点設定部、
前記設定された視点から、前記キャラクタの位置へ向けた視線により、前記仮想空間の様子を表す画像を生成する画像生成部、
を備えることを特徴とするゲーム装置。
【請求項2】
請求項1に記載されたゲーム装置であって、
前記視点は、所定の経路上を、所定の上限速度以下で移動し、
前記視点設定部は、前記所定の経路上で前記所定の上限速度以下で移動可能な範囲のうち、前記変位を見込む角度が最大となる位置に、前記視点の位置を設定する、
ことを特徴とするゲーム装置。
【請求項3】
請求項2に記載されたゲーム装置であって、
前記所定の経路は、キャラクタの位置を中心とする所定の円状の経路である、
ことを特徴とするゲーム装置。
【請求項4】
請求項3に記載されたゲーム装置であって、
前記視点設定部は、前記最も変位が大きいキャラクタの部位の変位に基づいて、前記所定の円状の経路の半径を設定する、
ことを特徴とするゲーム装置。
【請求項5】
請求項4に記載されたゲーム装置であって、
前記視点設定部は、前記変位を見込む角度が最大となる位置へ前記視点の位置を移動させた後で、当該最も変位が大きいキャラクタの部位の変位に基づいて、前記所定の円状の経路の半径を設定する、
ことを特徴とするゲーム装置。
【請求項6】
請求項4に記載されたゲーム装置であって、
前記視点設定部は、前記変位を見込む角度が最大となる位置へ前記視点の位置を移動させながら、当該最も変位が大きいキャラクタの部位の変位に基づいて、前記所定の円状の経路の半径を設定する、
ことを特徴とするゲーム装置。
【請求項7】
請求項2から6のいずれか1項に記載されたゲーム装置であって、
前記視点設定部は、前記所定の経路上において、前記視点の加速度および減速度が、所定の閾値を超えないように、前記視点の位置を移動させる、
ことを特徴とするゲーム装置。
【請求項8】
位置変化部、部位取得部、視点設定部、画像生成部を備えるゲーム装置にて実行されるゲーム処理方法であって、
前記位置変化部が、仮想空間内のキャラクタの位置および姿勢を変化させる位置変化工程、
前記部位取得部が、前記位置変化部により位置および姿勢が変化されるキャラクタの部位のうち、最も変位が大きい部位を取得する部位取得工程、
前記視点設定部が、前記取得された最も変位が大きい部位の変位を見込む角度が大きくなるように、視点の位置を設定する視点設定工程、
前記画像生成部が、前記設定された視点から、前記キャラクタの位置へ向けた視線により、前記仮想空間の様子を表す画像を生成する画像生成工程、
を備えることを特徴とするゲーム処理方法。
【請求項9】
コンピュータを、
仮想空間内のキャラクタの位置および姿勢を変化させる位置変化部、
前記位置変化部により位置および姿勢が変化されるキャラクタの部位のうち、最も変位が大きい部位を取得する部位取得部、
前記取得された最も変位が大きい部位の変位を見込む角度が大きくなるように、視点の位置を設定する視点設定部、
前記設定された視点から、前記キャラクタの位置へ向けた視線により、前記仮想空間の様子を表す画像を生成する画像生成部、
として機能させることを特徴とするプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate


【公開番号】特開2012−3363(P2012−3363A)
【公開日】平成24年1月5日(2012.1.5)
【国際特許分類】
【出願番号】特願2010−135682(P2010−135682)
【出願日】平成22年6月15日(2010.6.15)
【出願人】(506113602)株式会社コナミデジタルエンタテインメント (1,441)
【Fターム(参考)】