(57)【要約】【課題】仮想空間に配置されるキャラクタの様子を、ユーザにとって視認しやすくするのに好適な画像生成装置等を提供する。【解決手段】画像生成装置２００は、以下のように構成する。生成部２０１は、時間の経過にともなって姿勢を変化させる主キャラクタと、当該主キャラクタと同じ姿勢をとる副キャラクタと、が配置される仮想空間を、当該仮想空間内に配置された視点から見た様子を表す画像を生成する。検出部２０２は、主キャラクタの複数の部位のそれぞれの、姿勢の変化にともなう変位の大きさを検出する。割当部２０３は、検出された変位のうち、大きさが上位の変位を副キャラクタに割り当てる。変更部２０４は、副キャラクタに割り当てられた変位と視点の位置とに基づいて、当該副キャラクタの向きを変更する。【選択図】図４
2012024437.tif 000002
【特許請求の範囲】
【請求項１】
時間の経過にともなって姿勢を変化させる主キャラクタと、当該主キャラクタと同じ姿勢をとる副キャラクタと、が配置される仮想空間を、当該仮想空間内に配置された視点から見た様子を表す画像を生成する生成部と、
前記主キャラクタの複数の部位のそれぞれの、姿勢の変化にともなう変位の大きさを検出する検出部と、
前記検出された変位のうち、大きさが上位の変位を前記副キャラクタに割り当てる割当部と、
前記副キャラクタに割り当てられた変位と前記視点の位置とに基づいて、当該副キャラクタの向きを変更する変更部と、
を備えることを特徴とする画像生成装置。
【請求項２】
請求項１に記載の画像生成装置であって、
前記変更部は、前記副キャラクタの向きを、当該変位を前記視点から見込む角度が大きくなるように、変更する
ことを特徴とする画像生成装置。
【請求項３】
請求項２に記載の画像生成装置であって、
前記仮想空間内には、副キャラクタが２つ配置され、
前記変更部は、前記２つの副キャラクタの向きを、互いに直交するように、変更する
ことを特徴とする画像生成装置。
【請求項４】
請求項２に記載の画像生成装置であって、
前記仮想空間内には、副キャラクタが２つ配置され、
前記変更部は、前記２つの副キャラクタの向きを、互いに対称になるように、変更する
ことを特徴とする画像生成装置。
【請求項５】
請求項１に記載の画像生成装置であって、
前記仮想空間内には、副キャラクタが複数配置され、
前記割当部は、前記検出された変位のうち、大きさが上位の変位を、互いに重複しないように割り当てる
ことを特徴とする画像生成装置。
【請求項６】
生成部と、検出部と、割当部と、変更部と、を備える画像生成装置が実行する画像生成方法であって、
前記生成部が、時間の経過にともなって姿勢を変化させる主キャラクタと、当該主キャラクタと同じ姿勢をとる副キャラクタと、が配置される仮想空間を、当該仮想空間内に配置された視点から見た様子を表す画像を生成する生成工程と、
前記検出部が、前記主キャラクタの複数の部位のそれぞれの、姿勢の変化にともなう変位の大きさを検出する検出工程と、
前記割当部が、前記検出された変位のうち、大きさが上位の変位を前記副キャラクタに割り当てる割当工程と、
前記変更部が、前記副キャラクタに割り当てられた変位と前記視点の位置とに基づいて、当該副キャラクタの向きを変更する変更工程と、
を備えることを特徴とする画像生成方法。
【請求項７】
コンピュータを、
時間の経過にともなって姿勢を変化させる主キャラクタと、当該主キャラクタと同じ姿勢をとる副キャラクタと、が配置される仮想空間を、当該仮想空間内に配置された視点から見た様子を表す画像を生成する生成部、
前記主キャラクタの複数の部位のそれぞれの、姿勢の変化にともなう変位の大きさを検出する検出部、
前記検出された変位のうち、大きさが上位の変位を前記副キャラクタに割り当てる割当部、
前記副キャラクタに割り当てられた変位と前記視点の位置とに基づいて、当該副キャラクタの向きを変更する変更部、
として機能させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、仮想空間に配置されるキャラクタの様子を、ユーザにとって視認しやすくするのに好適な画像生成装置、画像生成方法、ならびに、プログラムに関する。
【背景技術】
【０００２】
プレイヤが体を動かしてプレイするゲームが遊技場等で広く普及している。例えば、特許文献１には、ステップを踏むタイミング等をガイドし、プレイヤが音楽に合わせて踏み台を踏むことで、ダンス感覚を体感できるダンスゲーム装置が開示されている。近年では、ステップだけでなく、手や体全体を使った動きが求められるダンスゲームもある。このようなゲームでは、画面に表示されたキャラクタがダンスを行い、プレイヤは同じような動作を求められる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特許第３００３８５１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記のように、ステップ以外にも様々な動きが求められるダンスゲームの場合、プレイヤはキャラクタのどの部分の動きに注目してよいか、わからないことがある。特に、ゲームの初心者においては、振り付けの主だった部分をわかりやすく提示してほしいという要望もある。
【０００５】
本発明は、上記のような課題を解決するもので、仮想空間に配置されるキャラクタの様子を、ユーザにとって視認しやすくするのに好適な画像生成装置、画像生成方法、ならびに、プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明の第１の観点に係る画像生成装置は、生成部と、検出部と、割当部と、変更部と、を備え、以下のように構成する。なお、以下では、画面内を移動するオブジェクトが示す方向に従って、ステップを踏むダンスゲームを例に、説明する。
【０００７】
生成部は、時間の経過にともなって姿勢を変化させる主キャラクタと、当該主キャラクタと同じ姿勢をとる副キャラクタと、が配置される仮想空間を、当該仮想空間内に配置された視点から見た様子を表す画像を生成する。
【０００８】
例えば、主キャラクタとは、仮想空間に配置されるオブジェクトであり、ダンスゲームにおいて、ユーザが求められるダンスを踊って見せるものである。副キャラクタとは、主キャラクタと共に仮想空間に配置されるオブジェクトであり、主キャラクタと同様の動きを行うものである。また、視点とは、仮想空間に配置された仮想カメラの位置である。すなわち、生成部は、主キャラクタと副キャラクタがダンスを踊る様子を、仮想カメラから撮影した画像を生成する。
【０００９】
検出部は、主キャラクタの複数の部位のそれぞれの、姿勢の変化にともなう変位の大きさを検出する。
【００１０】
ここで、部位とは、主キャラクタの腕、脚、及び胴体などの身体の部位を示す。また、変位は、各部位に設定される基準点が動いた距離により求まるとする。例えば、腕には、手首や肘の部分に基準点が設定されているとし、腕の変位は、仮想空間上で肘や手首が移動した距離とする。
【００１１】
例えば、主キャラクタが、腕を伸ばして、体の側面において上から下へ移動させる動作を行ったとする。検出部は、当該動作の始点となる位置から終点となる位置まで、腕の基準点に設定されている手首が移動した距離を求める。
【００１２】
割当部は、検出された変位のうち、大きさが上位の変位を副キャラクタに割り当てる。
【００１３】
例えば、主キャラクタが、楽曲に合わせて両腕、両脚を動かしたとする。検出部が各部位の変位を求めると、割当部は、それらの中から最も大きい変位を副キャラクタに割り当てる。
【００１４】
変更部は、副キャラクタに割り当てられた変位と視点の位置とに基づいて、当該副キャラクタの向きを変更する。
【００１５】
例えば、変更部は、副キャラクタに割り当てられた変位に対応する動作が、仮想カメラから最も見やすいように、副キャラクタの向きを変える。
【００１６】
本発明によれば、２つのキャラクタに同じ動作をさせ、一方のキャラクタには、最も動きの大きな動作が視認しやすいように、向きを変えさせることにより、注目すべき動作をわかりやすく提示することができる。
【００１７】
また、変更部は、副キャラクタの向きを、当該変位を視点から見込む角度が大きくなるように、変更するようにしてもよい。
【００１８】
ここで、見込む角度とは、キャラクタの部位の変位の始点及び終点と視点との３点を頂点とする三角形において、当該視点における三角形の内角である。例えば、主キャラクタが、腕を伸ばして、体の側面において上（始点）から下（終点）へ移動させる動作を行った場合、変更部は、見込む角度を当該動作の始点、終点、及び仮想カメラの位置から求め、動作の見込む角度が最も大きくなるように、副キャラクタの向きを変更する。
【００１９】
本発明によれば、最も動作の大きい部位が見やすいように、自動的に向きを設定することができる。
【００２０】
仮想空間内には、副キャラクタが２つ配置され、変更部は、２つの副キャラクタの向きを、互いに直交するように、変更するようにしてもよい。
【００２１】
２つの副キャラクタは、主キャラクタと共に仮想空間に配置され、主キャラクタと同様の動きを行う仮想空間上のオブジェクトである。すなわち、変更部は、一方の副キャラクタの向きを変更し、当該一方の副キャラクタの向きと９０度をなす向きに、他方の副キャラクタの向きを変更する。
【００２２】
本発明によれば、最も動作の大きい部位の動きを、最も見やすい向きからだけでなく、他の方向からも確認することができる。
【００２３】
あるいは、仮想空間内には、副キャラクタが２つ配置され、変更部は、２つの副キャラクタの向きを、互いに対称になるように、変更するようにしてもよい。
【００２４】
例えば、仮想空間において、画面正面から見て右から、第１の副キャラクタ、主キャラクタ、第２の副キャラクタの順に横一列に配置され、仮想カメラが主キャラクタの正面中央から一定の距離に配置され、仮想カメラの撮影方向は主キャラクタの方向を向いているとする。変更部は、第１の副キャラクタの向きと仮想カメラの撮影方向がなす角度を求め、当該角度を、第２の副キャラクタの向きと撮影方向とがなす角度となるように、第２の副キャラクタの向きを変更する。
【００２５】
本発明によれば、最も動作の大きい部位の動きを、最も見やすい向きからだけでなく、他の方向からも確認することができる。
【００２６】
また、仮想空間内には、副キャラクタが複数配置され、割当部は、検出された変位のうち、大きさが上位の変位を、互いに重複しないように割り当てるようにしてもよい。
【００２７】
例えば、主キャラクタのほかに、副キャラクタが２つ仮想空間に配置されているとする。検出部が主キャラクタの各部位の変位を求めた後、割当部は、最も大きい変位を一方の副キャラクタに割り当て、２番目に大きい変位を他方の副キャラクタに割り当てる。そして、変更部は、一方の副キャラクタの向きを、最も変位の大きな動作が見やすいように変更し、他方の副キャラクタの向きを、２番目に変位の大きな動作が見やすいように変更する。
【００２８】
本発明によれば、注目すべき複数の動作のそれぞれを、見やすい方向から確認することができる。
【００２９】
本発明の第２の観点に係る画像生成方法は、生成部と、検出部と、割当部と、変更部と、を備える画像生成装置が実行する画像生成方法であって、以下のように構成する。
【００３０】
生成工程において、生成部が、時間の経過にともなって姿勢を変化させる主キャラクタと、当該主キャラクタと同じ姿勢をとる副キャラクタと、が配置される仮想空間を、当該仮想空間内に配置された視点から見た様子を表す画像を生成する。
【００３１】
検出工程において、検出部が、主キャラクタの複数の部位のそれぞれの、姿勢の変化にともなう変位の大きさを検出する。
【００３２】
割当工程おいて、割当部が、検出された変位のうち、大きさが上位の変位を副キャラクタに割り当てる。
【００３３】
変更工程において、変更部が、副キャラクタに割り当てられた変位と視点の位置とに基づいて、当該副キャラクタの向きを変更する。
【００３４】
本発明のその他の観点に係るプログラムは、コンピュータを上記画像生成装置として機能させ、コンピュータに上記画像生成方法を実行させるように構成する。
【００３５】
また、本発明のプログラムは、コンパクトディスク、フレキシブルディスク、ハードディスク、光磁気ディスク、ディジタルビデオディスク、磁気テープ、半導体メモリ等のコンピュータ読取可能な情報記録媒体に記録することができる。
【００３６】
上記プログラムは、プログラムが実行されるコンピュータとは独立して、コンピュータ通信網を介して配布・販売することができる。また、上記情報記録媒体は、コンピュータとは独立して配布・販売することができる。
【発明の効果】
【００３７】
本発明によれば、仮想空間に配置されるキャラクタの様子を、ユーザにとって視認しやすくするのに好適な画像生成装置、画像生成方法、ならびに、プログラムを提供することができる。
【図面の簡単な説明】
【００３８】
【図１】本発明の実施形態に係る画像生成装置が実現される典型的な情報処理装置の概要構成を示す模式図である。
【図２】情報処理装置に接続可能なマット型コントローラの概要構成を示す模式図である。
【図３】実施形態１のゲーム画像の一例を示す模式図である。
【図４】実施形態１に係る画像生成装置の概要構成を示す図である。
【図５】主キャラクタ及び副キャラクタと仮想カメラとの位置関係を説明するための図である。
【図６】主キャラクタの各部位の変位を説明するための図である。
【図７】見込む角度を説明するための図である。
【図８】見込む角度を説明するための図である。
【図９】見込む角度を説明するための図である。
【図１０】実施形態１のゲーム画像の一例を示す模式図である。
【図１１】実施形態１の画像生成装置の各部が行う画像生成処理を説明するためのフローチャートである。
【図１２】見込む角度を説明するための図である。
【図１３】回転可能な方向を説明するための図である。
【図１４】実施形態２のゲーム画像の一例を示す模式図である。
【図１５】実施形態２の画像生成装置の各部が行う画像生成処理を説明するためのフローチャートである。
【図１６】主キャラクタ、第１の副キャラクタ、及び第２の副キャラクタと仮想カメラとの位置関係を説明するための図である。
【図１７】実施形態３のゲーム画像の一例を示す模式図である。
【図１８】実施形態３の第２の副キャラクタの向きを説明するための図である。
【図１９】実施形態３の第２の副キャラクタの向きを説明するための図である。
【図２０】実施形態３のゲーム画像の一例を示す模式図である。
【図２１】実施形態３の画像生成装置の各部が行う画像生成処理を説明するためのフローチャートである。
【図２２】実施形態４の第２の副キャラクタの向きを説明するための図である。
【図２３】実施形態４のゲーム画像の一例を示す模式図である。
【図２４】実施形態４の画像生成装置の各部が行う画像生成処理を説明するためのフローチャートである。
【図２５】実施形態５の複数の副キャラクタの向きを説明するための図である。
【図２６】実施形態５のゲーム画像の一例を示す模式図である。
【図２７】実施形態５の画像生成装置の各部が行う画像生成処理を説明するためのフローチャートである。
【発明を実施するための形態】
【００３９】
本発明の画像生成装置は、仮想空間に配置される主キャラクタの動作を、ユーザにとって視認しやすくするために、主キャラクタと同じ動作をする他のキャラクタ（以下、「副キャラクタ」という）の向きを制御した画像を生成するものである。副キャラクタの向きを制御する手法は複数あり、各手法を採用した画像生成装置を実施形態１乃至５として説明する。
【００４０】
実施形態１の画像生成装置は、副キャラクタの向きを見込む角度が最大になるように制御する。
実施形態２の画像生成装置は、実施形態１において、副キャラクタの向きを連続的に変更させるように制御する。
実施形態３の画像生成装置は、２つの副キャラクタの向きを制御するものであって、一方の副キャラクタの向きを見込む角度が最大になるように制御し、他方の副キャラクタの向きを当該一方副キャラクタの向きと直交するように制御する。
実施形態４の画像生成装置は、２つの副キャラクタの向きを制御するものであって、一方の副キャラクタの向きを見込む角度が最大になるように制御し、他方の副キャラクタの向きを当該一方の副キャラクタの向きと対称となるように制御する。
実施形態５の画像生成装置は、複数の副キャラクタに動作の変位の大きさが上位のものから割り当て、各副キャラクタの向きを、割り当てられた変位に対応する動作が見やすいように制御する。
【００４１】
（情報処理装置の概要構成）
まず、これらの実施形態の画像生成装置が実現される典型的な情報処理装置について説明する。なお、以下では、理解を容易にするため、ゲーム用の情報処理装置を利用して本発明が実現される実施形態を説明するが、以下に説明する実施形態は説明のためのものであり、本願発明の範囲を制限するものではない。したがって、当業者であればこれらの各要素もしくは全要素をこれと均等なものに置換した実施形態を採用することが可能であるが、これらの実施形態も本発明の範囲に含まれる。
【００４２】
図１は、プログラムを実行することにより、本発明の実施形態に係る画像生成装置の機能を果たす典型的な情報処理装置１００の概要構成を示す模式図である。以下、本図を参照して説明する。
【００４３】
情報処理装置１００は、ＣＰＵ（Central Processing Unit）１０１と、ＲＯＭ（Read Only Memory）１０２と、ＲＡＭ（Random Access Memory）１０３と、インターフェース１０４と、コントローラ１０５と、外部メモリ１０６と、画像処理部１０７と、ＤＶＤ−ＲＯＭ（Digital Versatile Disc ROM）ドライブ１０８と、ＮＩＣ（Network Interface Card）１０９と、音声処理部１１０と、マット型コントローラ１１１と、を備える。
【００４４】
ＣＰＵ  １０１は、情報処理装置１００全体の動作を制御し、各構成要素と接続され、制御信号やデータをやりとりする。また、ＣＰＵ  １０１は、レジスタ（図示せず）という高速アクセスが可能な記憶域に対してＡＬＵ（Arithmetic Logic Unit）（図示せず）を用いて加減乗除等の算術演算や、論理和、論理積、論理否定等の論理演算、ビット和、ビット積、ビット反転、ビットシフト、ビット回転等のビット演算などを行うことができる。さらに、マルチメディア処理対応のための加減乗除等の飽和演算や、三角関数等、ベクトル演算などを高速に行えるように、ＣＰＵ  １０１自身が構成されているものや、コプロセッサを備えて実現するものがある。
【００４５】
ＲＯＭ  １０２には、電源投入直後に実行されるＩＰＬ（Initial Program Loader）が記憶され、これが実行されることにより、ＤＶＤ−ＲＯＭに記憶されたプログラムをＲＡＭ  １０３に読み出してＣＰＵ  １０１による実行が開始される。また、ＲＯＭ  １０２には、情報処理装置１００全体の動作制御に必要なオペレーティングシステムのプログラムや各種のデータが記憶される。
【００４６】
ＲＡＭ  １０３は、データやプログラムを一時的に記憶するためのもので、ＤＶＤ−ＲＯＭから読み出したプログラムやデータ、その他ゲームの進行やチャット通信に必要なデータが保持される。また、ＣＰＵ  １０１は、ＲＡＭ  １０３に変数領域を設け、当該変数に格納された値に対して直接ＡＬＵを作用させて演算を行ったり、ＲＡＭ  １０３に格納された値を一旦レジスタに格納してからレジスタに対して演算を行い、演算結果をメモリに書き戻す、等の処理を行う。
【００４７】
コントローラ１０５は、インターフェース１０４を介して接続される。コントローラ１０５は、プレイヤがゲーム実行の際に行う操作入力を受け付ける。
【００４８】
外部メモリ１０６は、インターフェース１０４を介して着脱自在に接続される。外部メモリ１０６には、ゲーム等のプレイ状況（過去の成績等）を示すデータ、ゲームの進行状態を示すデータ、ネットワーク対戦の場合のチャット通信のログ（記録）のデータなどが書き換え可能に記憶される。プレイヤは、コントローラ１０５を介して指示入力を行うことにより、これらのデータを適宜外部メモリ１０６に記憶させることができる。
【００４９】
画像処理部１０７は、ＤＶＤ−ＲＯＭから読み出されたデータをＣＰＵ  １０１や画像処理部１０７が備える画像演算プロセッサ（図示せず）によって加工処理した後、これを画像処理部１０７が備えるフレームメモリ（図示せず）に記憶させる。フレームメモリに記憶された画像情報は、所定の同期タイミングでビデオ信号に変換され画像処理部１０７に接続されるモニタへ出力される。これにより、各種の画像表示が可能となる。
【００５０】
ＤＶＤ−ＲＯＭドライブ１０８に装着されるＤＶＤ−ＲＯＭには、ゲームを実現するためのプログラムとゲームに付随する画像データや音声データが記憶される。ＣＰＵ  １０１の制御によって、ＤＶＤ−ＲＯＭドライブ１０８は、これに装着されたＤＶＤ−ＲＯＭに対する読み出し処理を行って、必要なプログラムやデータを読み出し、これらはＲＡＭ  １０３等に一時的に記憶される。
【００５１】
また、画像演算プロセッサは、２次元の画像の重ね合わせ演算やαブレンディング等の透過演算、各種の飽和演算を高速に実行できる。
【００５２】
また、仮想空間が３次元にて構成される場合には、当該３次元空間内に配置され、各種のテクスチャ情報が付加されたポリゴン情報を、Ｚバッファ法によりレンダリングして、所定の視点位置から仮想空間に配置されたポリゴンを所定の視線の方向へ俯瞰したレンダリング画像を得る演算の高速実行も可能である。
【００５３】
さらに、ＣＰＵ  １０１と画像演算プロセッサが協調動作することにより、文字の形状を定義するフォント情報に従って、文字列を２次元画像としてフレームメモリへ描画したり、各ポリゴン表面へ描画したりすることが可能である。
【００５４】
ＮＩＣ  １０９は、情報処理装置１００をインターネット等のコンピュータ通信網（図示せず）に接続するためのものであり、ＬＡＮ（Local Area Network）を構成する際に用いられる１０ＢＡＳＥ−Ｔ／１００ＢＡＳＥ−Ｔ規格に従うものや、電話回線を用いてインターネットに接続するためのアナログモデム、ＩＳＤＮ（Integrated Services Digital Network）モデム、ＡＤＳＬ（Asymmetric Digital Subscriber Line）モデム、ケーブルテレビジョン回線を用いてインターネットに接続するためのケーブルモデム等と、これらとＣＰＵ  １０１との仲立ちを行うインターフェース（図示せず）により構成される。
【００５５】
音声処理部１１０は、ＤＶＤ−ＲＯＭから読み出した音声データをアナログ音声信号に変換し、これに接続されたスピーカ（図示せず）から出力させる。また、ＣＰＵ  １０１の制御の下、ゲームの進行の中で発生させるべき効果音や楽曲データを生成し、これに対応した音声をスピーカから出力させる。
【００５６】
ＤＶＤ−ＲＯＭに記録された音声データがＭＩＤＩ（Musical Instrument Digital Interface）データである場合には、音声処理部１１０は、これが有する音源データを参照して、ＭＩＤＩデータをＰＣＭ（Pulse Code Modulation）データに変換する。また、ＡＤＰＣＭ（Adaptive Differential PCM）形式やＯｇｇ  Ｖｏｒｂｉｓ形式等の圧縮済音声データである場合には、これを展開してＰＣＭデータに変換する。ＰＣＭデータは、そのサンプリング周波数に応じたタイミングでＤ／Ａ（Digital/Analog）変換を行って、スピーカに出力することにより、音声出力が可能となる。
【００５７】
マット型コントローラ１１１は、インターフェース１０４を介して接続される。本発明において、情報処理装置１００に複数のマット型コントローラ１１１を接続することも可能である。マット型コントローラ１１１は、プレイヤがゲームプレイの際に行う操作入力を受け付ける。図２は、マット型コントローラ１１１の外観を示す説明図である。以下、本図を参照してマット型コントローラ１１１を説明する。
【００５８】
図２は、床面に設置されたマット型コントローラ１１１を真上から眺めたときのマット型コントローラ１１１の概略図である。マット型コントローラ１１１の所定領域には、“左”を指示する入力をプレイヤから受け付けるボタン１１１Ｌ、“右”を指示する入力をプレイヤから受け付けるボタン１１１Ｒ、“上”を指示する入力をプレイヤから受け付けるボタン１１１Ｕ、“下”を指示する入力をプレイヤから受け付けるボタン１１１Ｄ、がそれぞれ配置されている。プレイヤは、ボタン１１１Ｌ、１１１Ｒ、１１１Ｕ、１１１Ｄを任意のタイミングで押圧することができる。ＣＰＵ  １０１は、ボタン１１１Ｌ、１１１Ｒ、１１１Ｕ、１１１Ｄのそれぞれについて、ボタンが押圧されている状態であるか否かを判別する。
【００５９】
本実施形態では、マット型コントローラ１１１は４個のボタン１１１Ｌ、１１１Ｒ、１１１Ｕ、１１１Ｄを備えているが、ボタンの数は４個に限定されず、３個以下あるいは５個以上でもよい。
【００６０】
また、マット型コントローラ１１１に代えて、赤外線カメラ等を使用することによりプレイヤの体全体の動きを捉えることで、ゲームプレイの操作入力としてもよい。
【００６１】
このほか、情報処理装置１００は、ハードディスク等の大容量外部記憶装置を用いて、ＲＯＭ  １０２、ＲＡＭ  １０３、外部メモリ１０６、ＤＶＤ−ＲＯＭドライブ１０８に装着されるＤＶＤ−ＲＯＭ等と同じ機能を果たすように構成してもよい。
【００６２】
以上で説明した情報処理装置１００は、いわゆる「コンシューマ向けテレビゲーム装置」に相当するものであるが、仮想空間を表示するような画像処理を行うものであれば本発明を実現することができる。したがって、携帯電話、携帯ゲーム機器、カラオケ装置、一般的なビジネス用コンピュータなど、種々の計算機上で本発明を実現することが可能である。
【００６３】
例えば、一般的なコンピュータは、上記情報処理装置１００と同様に、ＣＰＵ、ＲＡＭ、ＲＯＭ、ＤＶＤ−ＲＯＭドライブ、及び、ＮＩＣを備え、情報処理装置１００よりも簡易な機能を備えた画像処理部を備え、外部記憶装置としてハードディスクを有する他、フレキシブルディスク、光磁気ディスク、磁気テープ等が利用できるようになっている。また、コントローラ１０５ではなく、キーボードやマウスなどを入力装置として利用する。
【００６４】
以下、上記情報処理装置１００において実現される実施形態１乃至５に係る画像生成装置の概要構成について、図１乃至２７を参照して説明する。ゲーム用のプログラム及びデータが記憶されたＤＶＤ−ＲＯＭをＤＶＤ−ＲＯＭドライブ１０８に装着して、情報処理装置１００の電源を投入することにより、当該プログラムが実行され、実施形態１乃至５に係る画像生成装置が以下に示すダンスゲームの画像を生成する。
【００６５】
（ゲームの概要）
まず、各実施形態の画像生成装置が生成するゲーム画像にかかるダンスゲームについて説明する。
【００６６】
図３のダンスゲームのゲーム画像は、複数種類の目標オブジェクトＭＯ１〜ＭＯ４が、演奏される楽曲のリズム等に同調して、移動レーンＬａ（オブジェクトの種類に応じたレーン）に沿って、下方から順次現れてそれぞれ上方まで移動し、消えて行く様子を示している。目標オブジェクトＭＯ１〜ＭＯ４は、異なる向きの矢印シンボルを表している。右向きの矢印シンボルである目標オブジェクトＭＯ１は、プレイヤに右方向にステップを踏むように指示するものである。同様に、下向きの矢印シンボルである目標オブジェクトＭＯ２は後方に、上向きの矢印のシンボルである目標オブジェクトＭＯ３は前方に、左向きの矢印シンボルである目標オブジェクトＭＯ４は左方向に、ステップを踏むことを指示するものである。これらの目標オブジェクトＭＯ１〜ＭＯ４は、移動レーンＬａの下端（起点）から出現して、移動レーンＬａを上方向に移動し、移動レーンＬａの上端（終点）にて消滅する。
【００６７】
また、ダンスゲームのゲーム画像には、各目標オブジェクトＭＯ１〜ＭＯ４と同じ形状の判定オブジェクトＨＯ１〜ＨＯ４が所定の領域（判定エリアＨＡ１）に固定されて表示される。プレイヤは、目標オブジェクトＭＯ１〜ＭＯ４が判定オブジェクトＨＯ１〜ＨＯ４に完全に重なったタイミング（以下、「重複タイミング」という）で、目標オブジェクトＭＯ１〜ＭＯ４が示す方向にステップを踏むことが求められる。すなわち、目標オブジェクトＭＯ１が判定オブジェクトＨＯ１に完全に重なったタイミングで、ボタン１１１Ｒを押圧することが求められる。同様に、目標オブジェクトＭＯ２が判定オブジェクトＨＯ２に完全に重なったタイミングで、ボタン１１１Ｄを押圧することが求められ、目標オブジェクトＭＯ３が判定オブジェクトＨＯ３に完全に重なったタイミングで、ボタン１１１Ｕを押圧することが求められ、目標オブジェクトＭＯ４が判定オブジェクトＨＯ４に完全に重なったタイミングで、ボタン１１１Ｌを押圧することが求められる。
【００６８】
プレイヤは、重複タイミングで、目標オブジェクトＭＯ１〜ＭＯ４が示す方向にステップを踏む（ボタン１１１Ｌ、１１１Ｒ、１１１Ｕ、１１１Ｄの押圧する）と、得点が加算され、例えば、図３の“１２３４００”のように画面にそれぞれの得点が表示される。一方、重複タイミングで、プレイヤによる入力が無かった場合や、目標オブジェクトＭＯ１〜ＭＯ４が示す方向にステップが踏まれなかった場合、得点は得られず、又は得点が減算される。なお、ステップを踏むタイミングと重複タイミングとの誤差が小さいほど、高得点を得られるようにしてもよい。
【００６９】
また、ゲーム画像には、主キャラクタ３００及び第１の副キャラクタ４００が表示される。主キャラクタ３００及び第１の副キャラクタ４００は、目標オブジェクトＭＯ１〜ＭＯ４が示す方向に重複タイミングでステップを踏みながら、模範的なダンスを踊るものである。
【００７０】
（実施形態１）
実施形態１の画像生成装置は、副キャラクタの向きを見込む角度が最大になるように制御する。
実施形態１の画像生成装置２００は、図４に示すように、生成部２０１と、検出部２０２と、割当部２０３と、変更部２０４と、を備える。
また、以下の実施形態では、上記副キャラクタを「第１の副キャラクタ４００」として説明する。
【００７１】
生成部２０１は、時間の経過にともなって姿勢を変化させる主キャラクタ３００と、主キャラクタ３００と同じ姿勢をとる第１の副キャラクタ４００と、が配置される仮想空間を、当該仮想空間内に配置された視点から見た様子を表す画像を生成する。ここで、視点は仮想空間に配置された仮想カメラの位置であるとする。主キャラクタ３００及び第１の副キャラクタ４００と仮想カメラ９００との位置関係を図５に示す。仮想カメラ９００は、主キャラクタ３００の正面の方向１００１に一定の距離をおいて配置される。また、第１の副キャラクタ４００は、主キャラクタ３００の横方向に一定の距離をおいて配置され、ゲーム開始時は、主キャラクタ３００の方向１００１と同じ方向１００２を向いて配置される。この主キャラクタ３００と同じ方向１００２を、第１の副キャラクタ４００の基準方向とする。生成部２０１は、図３に示すような、仮想カメラ９００から見た様子の画像を生成する。
したがって、ＣＰＵ  １０１及び画像処理部１０７が協働して、生成部２０１として機能する。
【００７２】
検出部２０２は、主キャラクタ３００の複数の部位のそれぞれの、姿勢の変化にともなう変位の大きさを検出する。例えば、変位は、予め各部位に設定される基準点が動いた距離により求まるとする。図６に示すように、主キャラクタ３００の左腕３０１が画面上方に移動し、右脚３０２が、画面正面から見て右方向に移動したとする。左腕３０１の基準点が左腕３０１の端部７１１に、右脚３０２の基準点が右脚３０２の端部７１２に設定されているとすると、検出部２０２は、左腕３０１の端部７１１が移動した距離（変位７０１）、及び、右脚３０２の端部７１２が移動した距離（変位７０２）を検出する。
したがって、ＣＰＵ  １０１及び画像処理部１０７が協働して、検出部２０１として機能する。
【００７３】
割当部２０３は、検出された変位のうち、最も大きい変位を第１の副キャラクタ４００に割り当てる。例えば、図６のように、主キャラクタ３００の各部位が動かされたとする。この場合、変位７０１は変位７０２より大きいので、割当部２０３は、変位７０１を第１の副キャラクタ４００に割り当てる。
したがって、ＣＰＵ  １０１が割当部２０３として機能する。
【００７４】
変更部２０４は、第１の副キャラクタ４００に割り当てられた変位と視点の位置とに基づいて、第１の副キャラクタ４００の向きを変更する。例えば、図７に示すように、主キャラクタ３００の左腕３０１が動く場合であって、変位７０３が最も大きな変位として、第１の副キャラクタ４００に割り当てられたとする。変更部２０４は、主キャラクタ３００の左腕３０１の変位７０３に対応する動作（変位７０４）が、仮想カメラ９００から最も見やすいように、第１の副キャラクタ４００の向きを変更する。
したがって、ＣＰＵ  １０１が変更部２０４として機能する。
【００７５】
具体的には、変更部２０４は、第１の副キャラクタ４００の向きを、基準方向１００２から、当該変位を仮想カメラから見込む角度が大きくなるような方向に変更する。ここで、「見込む角度」とは、変位の始点及び終点と視点との３点を頂点とする三角形において、当該視点における三角形の内角である。図７に示す方向１００３に第１の副キャラクタ４００が向いている場合、見込む角度は、変位７０４の始点及び終点と、仮想カメラ９００との三角形において、仮想カメラ９００における内角（角度９０１）である。変更部２０４は、この内角が最も大きくなる向きを、第１の副キャラクタ４００の向きとする。例えば、図７に示す方向１００３から図８に示す方向１００４に第１の副キャラクタ４００の方向を変更したとすると、見込む角度（角度９０２）は図７の見込む角度（角度９０１）より大きくなる。一方、図９に示す方向１００５に第１の副キャラクタ４００の方向を変更すると、見込む角度（角度９０３）は図７の見込む角度（角度９０１）より大きくなるが、図８の見込む角度（角度９０２）より小さくなる。したがって、変更部２０４は、方向１００４が見込む角度が最大になる向きとして、第１の副キャラクタ４００の向きを基準方向１００２から方向１００４に変更する。
【００７６】
変更部２０４により第１の副キャラクタ４００の方向が方向１００４に変更された場合に、生成部２０１が生成する画像を図１０に示す。主キャラクタ３００の左腕３０１の変位７０３は、主キャラクタ３００の正面から見ると実際の変位よりも小さく見えてしまう。しかし、同じ動作を行う第１の副キャラクタ４００の向きを上記の手法により変えることにより、プレイヤに求められる左腕の動作をわかりやすく提示することができる。
【００７７】
（画像生成装置の動作）
以下、本実施形態の画像生成装置２００の各部が行う動作について説明する。画像生成装置２００に電源が投入されると、ＣＰＵ  １０１は、図１１のフローチャートに示す画像生成処理を開始する。
【００７８】
生成部２０１は、主キャラクタ３００及び第１の副キャラクタ４００を含む仮想空間の画像を生成する（ステップＳ１０１）。例えば、生成部２０１は、図３に示すような画像を生成する。
【００７９】
生成部２０１が生成した画像は、画像処理部１０７が備えるフレームメモリ等に記憶される。そして、画像処理部１０７は、垂直同期割り込みが生じるまでキューのクリアや、別のプロセスの処理などを行って待機する（ステップＳ１０２）。そして、垂直同期割り込みが生じると、画像処理部１０７は、フレームメモリに記憶された画像情報を表示信号に変換し、画像処理部１０７に接続されるモニタに表示する（ステップＳ１０３）。例えば、図３の画像がモニタに表示される。
【００８０】
検出部２０２は、主キャラクタ３００の各部位の変位を検出する（ステップＳ１０４）。例えば、検出部２０２は、図７に示すような、主キャラクタ３００の左腕３０１の変位７０３を検出する。
【００８１】
割当部２０３は、検出部２０２が検出した変位のうち、最も大きい変位を第１の副キャラクタ４００に割り当てる（ステップＳ１０５）。例えば、検出部２０２が検出した最も大きい変位が、図７の変位７０３であるとする。割当部２０３は、第１の副キャラクタ４００に、変位７０３を割り当てる。
【００８２】
変更部２０４は、第１の副キャラクタ４００の向きを、割り当てられた変位についての見込む角度が最大となる向きに変更する（ステップＳ１０６）。例えば、第１の副キャラクタ４００に変位７０３が割り当てられた場合、変更部２０４は、第１の副キャラクタ４００の向きを、見込む角度が最大（角度９０２）となる方向１００４に変更する。そして、ステップＳ１０１に戻り、生成部２０１は、変更部２０４により変更された向き（方向１００４）を向いた第１の副キャラクタ４００を含む仮想空間の画像（図１０）を生成する。
【００８３】
本実施形態によれば、２つのキャラクタに同じ動作をさせ、一方のキャラクタには、最も動きの大きな動作が視認しやすいように、向きを変えさせることにより、注目すべき動作をわかりやすく提示することができる。さらに、最も動作の大きい部位が見やすいように、自動的に向きを設定することができる。
【００８４】
（実施形態２）
実施形態２の画像生成装置は、実施形態１において、副キャラクタの向きを連続的に変更させるように制御する。実施形態１の場合では、変更部２０４により方向が求められると、第１の副キャラクタ４００の向きを当該求められた方向に変更した画像が直ちに表示されるが、いきなり向きが変更されると不自然な場合がある。そこで本実施形態では、連続的に第１の副キャラクタ４００の向きを変更する手法について説明する。
実施形態２の画像生成装置２００は、図４に示すように、生成部２０１と、検出部２０２と、割当部２０３と、変更部２０４と、を備える。本実施形態の生成部２０１、検出部２０２、及び、割当部２０３は、実施形態１のものと同様の機能を有する。以下、異なる機能を有する変更部２０４について説明する。
また、以下の実施形態では、上記副キャラクタを「第１の副キャラクタ４００」として説明する。
【００８５】
変更部２０４は、第１の副キャラクタ４００に割り当てられた変位と視点の位置とに基づいて、第１の副キャラクタ４００の向きを連続的に変更する。具体的には、まず、第１の副キャラクタ４００の向きを変更させる角速度の上限ωを設ける。すなわち、第１の副キャラクタ４００の向きを角速度ωより速く変更することはできない。したがって、垂直同期割り込み周期ｔの間に変更することができる第１の副キャラクタ４００の向きの角度は、ω・ｔである。そして、現在の向きから、±ω・ｔだけ向きを変更した場合に、割り当てられた変位についての見込む角度が大きくなる方向を選択し、当該方向に第１の副キャラクタ４００の向きを変更する。
したがって、ＣＰＵ  １０１が変更部２０４として機能する。
【００８６】
例えば、現時点で、主キャラクタ３００及び第１の副キャラクタ４００が、図９に示すように配置されているとする。また、図９の方向１００５と図８の方向１００４がなす角度をω・ｔとし、図９の方向１００５と図１２の方向１００６がなす角度もω・ｔであるとする。すなわち、図１３に示すように、現時点で第１の副キャラクタ４００が方向１００５を向いている場合、次の垂直同期割り込み周期ｔ後に、第１の副キャラクタ４００が向くことができる方向は方向１００４又は方向１００６である。
【００８７】
変更部２０４は、第１の副キャラクタ４００が方向１００４又は方向１００６を向いたときの見込む角度（角度９０２、９０４）を比較し、より大きな見込む角度（角度９０２）が得られる方向１００４を、第１の副キャラクタ４００の方向とする。なお、現時点の第１の副キャラクタ４００の方向で最も見込む角度が大きい場合は、第１の副キャラクタ４００の方向を変更しなくてもよい。
【００８８】
例えば、第１の副キャラクタ４００が、現在、基準方向１００２に向いており、変更部２０４が、上記のように、垂直同期割り込み周期ｔ後の向くことができる方向についての見込む角度を比較することにより、第１の副キャラクタ４００の向きを最終的に方向１００４に変更すると決定したとする。この場合、生成部２０１は、図１４のような画像を生成し、第１の副キャラクタ４００が方向１００２から方向１００４を向くまで（図１０）、回転方向８０１に徐々に回転する様子が画面に表示されることになる。このように、向きを変更させることができる範囲でより大きな見込む角度が得られる向きを選択し、当該選択した向きに変更することにより、徐々に最も大きな見込む角度が得られる方向に変更することができる。
【００８９】
（画像生成装置の動作）
以下、本実施形態の画像生成装置２００の各部が行う動作について説明する。画像生成装置２００に電源が投入されると、ＣＰＵ  １０１は、図１５のフローチャートに示す画像処理を開始する。なお、図１５のフローチャートにおいて、図１１と同じステップ番号が付されているステップは、図１１のフローチャートにおける処理と同様の処理を行う。
【００９０】
割当部２０３が副キャラクタに最も大きな変位を割り当てると（ステップＳ１０５）、変更部２０４は、垂直同期割り込み周期後に向くことができる方向を求める（ステップＳ２０６）。例えば、変位７０３が第１の副キャラクタ４００に割り当てられ、現在、方向１００５を向いているとすると、変更部２０４は、垂直同期割り込み周期ｔ後に向くことができる方向１００４、１００６を求める。
【００９１】
変更部２０４は、第１の副キャラクタ４００が求めた方向を向いた場合に、割り当てられた変位に対応する変位の見込む角度を求める（ステップＳ２０７）。例えば、変更部２０４は、第１の副キャラクタ４００が、図８に示すように、方向１００４に向いた場合の変位７０４に対する見込む角度（角度９０２）を求める。同様に、変更部２０４は、第１の副キャラクタ４００が、図１２に示すように、方向１００６に向いた場合の変位７０４に対する見込む角度（角度９０４）を求める。
【００９２】
変更部２０４は、求めた見込む角度のうち、より大きい見込む角度が得られる方向を、第１の副キャラクタ４００の方向とする（ステップＳ２０８）。すなわち、角度９０２は角度９０４よりも大きいので、変更部２０４は、第１の副キャラクタ４００の方向を、より大きな見込む角度が得られる方向１００４とする。そして、ステップＳ１０１に戻り、生成部２０１は、変更部２０４により変更された向き（方向１００４）を向いた第１の副キャラクタ４００を含む仮想空間の画像（図１０）を生成する。
【００９３】
本実施形態によれば、最も動作の大きい部位が見やすいように、キャラクタの向きを連続的に変更することができる。
【００９４】
（実施形態３）
実施形態３の画像生成装置は、２つの副キャラクタの向きを制御するものであって、一方の副キャラクタの向きを見込む角度が最大になるように制御し、他方の副キャラクタの向きを当該一方副キャラクタの向きと直交するように制御する。
実施形態３の画像生成装置２００は、図４に示すように、生成部２０１と、検出部２０２と、割当部２０３と、変更部２０４と、を備える。本実施形態の検出部２０２、及び、割当部２０３は、実施形態１のものと同様の機能を有する。以下、異なる機能を有する生成部２０１、及び、変更部２０４について説明する。
また、以下では、上記一方の副キャラクタを「第１の副キャラクタ４００」、上記他方の副キャラクタを「第２の副キャラクタ５００」として説明する。
【００９５】
生成部２０１は、時間の経過にともなって姿勢を変化させる主キャラクタ３００と、主キャラクタ３００と同じ姿勢をとる第１の副キャラクタ４００及び第２の副キャラクタ５００と、が配置される仮想空間を、当該仮想空間内に配置された視点から見た様子を表す画像を生成する。ここで、主キャラクタ３００、第１の副キャラクタ４００及び第２の副キャラクタ５００は、目標オブジェクトＭＯ１〜ＭＯ４が示す方向に重複タイミングでステップを踏みながら模範的なダンスを踊るものとし、視点は仮想空間に配置された仮想カメラの位置である。主キャラクタ３００、第１の副キャラクタ４００、及び第２の副キャラクタ５００と仮想カメラ９００との位置関係を図１６に示す。仮想カメラ９００は、主キャラクタ３００の正面の方向１００１に一定の距離をおいて配置される。また、第１の副キャラクタ４００は、主キャラクタ３００の横に一定の距離をおいて配置され、第２の副キャラクタ５００は、主キャラクタ３００の横に一定の距離をおいて、第１の副キャラクタ４００の反対側に配置される。ゲーム開始時は、第１の副キャラクタ４００及び第２の副キャラクタ５００は、主キャラクタ３００の方向１００１と同じ方向１００２、１００７を向いて配置される。この主キャラクタ３００と同じ方向１００２、１００７を、第１の副キャラクタ４００、第２の副キャラクタ５００の基準方向とする。生成部２０１は、図１７に示すような、仮想カメラ９００から見た様子の画像を生成する。
したがって、ＣＰＵ  １０１及び画像処理部１０７が協働して、生成部２０１として機能する。
【００９６】
変更部２０４は、第１の副キャラクタ４００に割り当てられた変位と視点の位置とに基づいて、第１の副キャラクタ４００の向きを変更し、第２の副キャラクタ５００の向きを、副キャラクタの向きと直交するように、変更する。例えば、図１８に示すように主キャラクタの左腕３０１が動く場合であって、変位７０３が最も大きな変位として、第１の副キャラクタ４００に割当られたとする。変更部２０４は、第１の副キャラクタ４００の方向を、基準方向（方向１００２）から見込む角度（角度９０２）が最大になる方向１００４に変更する。次に、変更部２０４は、第１の副キャラクタ４００の方向１００４と９０度をなす方向（方向１００８’、１００８”）を求める。変更部２０４は、第２の副キャラクタ５００が、方向１００８’と同じ方向１００８を向いた場合（図１８）、及び、方向１００８”と同じ方向１０１１を向いた場合（図１９）、の変位７０５と仮想カメラ９００との距離を比較する。そして、変更部２０４は、２つの方向のうち、割り当てられた変位７０３に対応する変位７０５が視点により近くなる方向を、第２の副キャラクタ５００の方向として選択する。すなわち、変更部２０４は、第２の副キャラクタ５００の向きを、基準方向（方向１００７）から、変位７０５が仮想カメラ９００に近くなる方向（方向１００８）に変更する。
したがって、ＣＰＵ  １０１が変更部２０４として機能する。
【００９７】
変更部２０４により、第１の副キャラクタ４００の方向が方向１００４に変更され、第２の副キャラクタ５００の方向が方向１００８に変更された場合に、生成部２０１が生成する画像を図２０に示す。このように、主キャラクタ３００と同じ動作をおこなう第１の副キャラクタ４００及び第２の副キャラクタ５００の向きを変更すると、プレイヤは、主キャラクタ３００の左腕３０１の動作を複数の方向から確認することができる。
【００９８】
（画像生成装置の動作）
以下、本実施形態の画像生成装置２００の各部が行う動作について説明する。画像生成装置２００に電源が投入されると、ＣＰＵ  １０１は、図２１のフローチャートに示す画像処理を開始する。なお、図２１のフローチャートにおいて、図１１と同じステップ番号が付されているステップは、図１１のフローチャートにおける処理と同様の処理を行う。
【００９９】
生成部２０１は、主キャラクタ３００、第１の副キャラクタ４００、及び第２の副キャラクタ５００を含む仮想空間の画像を生成する（ステップＳ３０１）。例えば、生成部２０１は、図１７に示すような画像を生成する。以下、ステップＳ１０２乃至ステップＳ１０６の処理を行う。
【０１００】
変更部２０４は、第１の副キャラクタ４００の向きを見込む角度が最大となる方向に変更すると（ステップＳ１０６）、次に、第１の副キャラクタ４００の方向と９０度をなす方向を求める（ステップＳ３０７）。例えば、第１の副キャラクタ４００の向きを、方向１００２から方向１００４に変更する場合、方向１００４と９０度をなす方向１００８’、１００８”を求める。
【０１０１】
次に、変更部２０４は、求められた方向のうち、割り当てられた変位に対応する変位が視点に近くなる方向に第２の副キャラクタ５００の方向を変更する（ステップＳ３０８）。例えば、変更部２０４は、第２の副キャラクタ５００が方向１００８’と同じ方向１００８を向いた時（図１８）の変位７０５と仮想カメラ９００との距離と、第２の副キャラクタ５００が方向１００８”と同じ方向１０１１を向いた時（図１９）の変位７０５と仮想カメラ９００との距離を比較する。変位７０５は、第２の副キャラクタ５００が方向１００８を向いた場合の方が方向１０１１を向いた場合より、仮想カメラ９００までの距離が近いので、変更部２０４は、第２の副キャラクタ５００の方向を、方向１００７から方向１００８に変更する。そして、ステップＳ３０１に戻り、生成部２０１は、方向１００４を向いた第１の副キャラクタ４００及び方向１００８を向いた第２の副キャラクタ５００を含む仮想空間の画像（図２０）を生成する。
【０１０２】
本実施形態によれば、最も動作の大きい部位の動きを、最も見やすい向きからだけでなく、他の方向からも確認することができる。
【０１０３】
（実施形態４）
実施形態４の画像生成装置は、２つの副キャラクタの向きを制御するものであって、一方の副キャラクタの向きを見込む角度が最大になるように制御し、他方の副キャラクタの向きを当該一方の副キャラクタの向きと対称となるように制御する。
実施形態４の画像生成装置２００は、図４に示すように、生成部２０１と、検出部２０２と、割当部２０３と、変更部２０４と、を備える。本実施形態の検出部２０２及び割当部２０３は、実施形態１のものと同様の機能を有し、生成部２０１は、実施形態３のものと同様の機能を有する。以下、異なる機能を有する変更部２０４について説明する。
また、以下では、上記一方の副キャラクタを「第１の副キャラクタ４００」、上記他方の副キャラクタを「第２の副キャラクタ５００」として説明する。
【０１０４】
変更部２０４は、第１の副キャラクタ４００に割り当てられた変位と視点の位置とに基づいて、第１の副キャラクタ４００の向きを変更し、第２の副キャラクタ５００の向きを、副キャラクタの向きと対称となるように、変更する。例えば、図２２に示すように主キャラクタの左腕３０１が動く場合であって、変位７０３が最も大きな変位として、第１の副キャラクタ４００に割当られたとする。変更部２０４は、第１の副キャラクタ４００の方向を、基準方向（方向１００２）から見込む角度が最大になる方向１００４に変更する。次に、変更部２０４は、第１の副キャラクタ４００の方向１００４が方向１００１となす角度（角度９０５）を求める。そして、方向１００１と、角度９０５と等しい角度９０６をなす方向（方向１００９）を求め、第２の副キャラクタ５００の方向を、基準方向（方向１００７）から方向１００９に変更する。
したがって、ＣＰＵ  １０１が変更部２０４として機能する。
【０１０５】
変更部２０４により、第１の副キャラクタ４００の方向が方向１００４に変更され、第２の副キャラクタ５００の方向が方向１００９に変更された場合に、生成部２０１が生成する画像を図２３に示す。このように、主キャラクタ３００と同じ動作をおこなう第１の副キャラクタ４００及び第２の副キャラクタ５００の向きを変更すると、プレイヤは、主キャラクタ３００の左腕３０１の動作を複数の方向から確認することができる。
【０１０６】
（画像生成装置の動作）
以下、本実施形態の画像生成装置２００の各部が行う動作について説明する。画像生成装置２００に電源が投入されると、ＣＰＵ  １０１は、図２４のフローチャートに示す画像処理を開始する。なお、図２４のフローチャートにおいて、図１１及び図２１と同じステップ番号が付されているステップは、図１１及び図２１のフローチャートにおける処理と同様の処理を行う。
【０１０７】
変更部２０４は、第１の副キャラクタ４００の向きを見込む角度が最大となる向きに変更すると（ステップＳ１０６）、変更部２０４は、第１の副キャラクタ４００の方向と対称となる方向を求める（ステップＳ４０７）。例えば、第１の副キャラクタ４００の方向を方向１００４に変更する場合、変更部２０４は、方向１００４と方向１００１となす角度（角度９０５）を求め、方向１００１と、角度９０５と等しい角度９０６をなす方向１００９を求める。
【０１０８】
次に、変更部２０４は、第２の副キャラクタ５００の方向を求めた方向に変更する（ステップＳ４０８）。すなわち、変更部２０４は、第１の副キャラクタ４００の方向を、方向１００２から方向１００４に変更する場合、第２の副キャラクタ５００の方向を、方向１００７から方向１００９に変更する。そして、ステップＳ３０１に戻り、生成部２０１は、方向１００４を向いた第１の副キャラクタ４００及び方向１００９を向いた第２の副キャラクタ５００を含む仮想空間の画像（図２３）を生成する。
【０１０９】
本実施形態によれば、最も動作の大きい部位の動きを、最も見やすい向きからだけでなく、他の方向からも確認することができる。
【０１１０】
（実施形態５）
実施形態５の画像生成装置は、複数の副キャラクタに動作の変位の大きさが上位のものから割り当て、各副キャラクタの向きを、割り当てられた変位に対応する動作が見やすいように制御する。
実施形態５の画像生成装置２００は、図４に示すように、生成部２０１と、検出部２０２と、割当部２０３と、変更部２０４と、を備える。本実施形態の検出部２０２は、実施形態１のものと同様の機能を有し、生成部２０１は、実施形態３のものと同様の機能を有する。以下、異なる機能を有する割当部２０３、及び、変更部２０４について説明する。
なお、本実施形態では、副キャラクタは２つあるとし、上位の変位が割り当てられる副キャラクタを「第１の副キャラクタ４００」、下位の変位が割り当てられる副キャラクタを「第２の副キャラクタ５００」として説明する。
【０１１１】
割当部２０３は、検出された変位のうち、大きさが上位のものから第１の副キャラクタ４００及び第２の副キャラクタ５００に割り当てる。例えば、図２５のように、主キャラクタ３００の左腕３０１及び右腕３０３が動いたとする。この場合、変位７０３は変位７０６より大きいので、割当部２０３は、変位７０３を第１の副キャラクタ４００に割り当て、変位７０６を第２の副キャラクタ５００に割り当てる。
したがって、ＣＰＵ  １０１が割当部２０３として機能する。
【０１１２】
変更部２０４は、第１の副キャラクタ４００に割り当てられた変位と視点とに基づいて第１の副キャラクタ４００の向きを変更し、第２の副キャラクタ５００に割り当てられた変位と視点とに基づいて第２の副キャラクタ５００の向きを変更する。具体的には、変更部２０４は、第１の副キャラクタ４００に割り当てられた変位７０３に対応する変位７０４の見込む角度が最大になるように、基準方向（方向１００２）から向きを変更する。また、第２の副キャラクタ５００に割り当てられた変位７０６に対応する変位７０８の見込む角度が最大になるように、基準方向（方向１００７）から向きを変更する。すなわち、変更部２０４は、第１の副キャラクタ４００の方向を、変位７０４の見込む角度が最大（角度９０２）となる方向１００４に、第２の副キャラクタ５００の方向を、変位７０８の見込む角度が最大（角度９０７）となる方向１０１０に変更する。
したがって、ＣＰＵ  １０１が変更部２０４として機能する。
【０１１３】
変更部２０４により、第１の副キャラクタ４００の方向が方向１００４に変更され、第２の副キャラクタ５００の方向が方向１０１０変更された場合に、生成部２０１が生成する画像を図２６に示す。主キャラクタ３００を正面から見ると、左腕３０１の動作（変位７０３）は実際よりも小さく、また、右腕３０３の動作（変位７０６）はほとんど見ることができない。しかし、同じ動作を行う第１の副キャラクタ４００及び第２の副キャラクタ５００の向きを上記の手法により変えることにより、プレイヤは、それぞれの動作を最も見やすい方向から確認することができる。
【０１１４】
以下、本実施形態の画像生成装置２００の各部が行う動作について説明する。画像生成装置２００に電源が投入されると、ＣＰＵ  １０１は、図２７のフローチャートに示す画像処理を開始する。なお、図２７のフローチャートにおいて、図１１及び図２１と同じステップ番号が付されているステップは、図１１及び図２１のフローチャートにおける処理と同様の処理を行う。
【０１１５】
検出部２０２が、主キャラクタ３００の各部位の変位を検出すると（ステップＳ１０４）、割当部２０３は、検出部２０２が検出した変位のうち、最も大きい変位を第１の副キャラクタ４００に割り当て、２番目に大きい変位を第２の副キャラクタ５００に割り当てる（ステップＳ５０５）。例えば、主キャラクタ３００が図２５に示すように動き、検出部２０２が変位７０３及び変位７０６を検出したとすると、割当部２０３は、第１の副キャラクタ４００に変位７０３を割り当て、第２の副キャラクタ５００に変位７０６を割り当てる。
【０１１６】
変更部２０４は、第１の副キャラクタ４００の向きを、割り当てられた変位についての見込む角度が最大となる向きに変更する（ステップＳ５０６）。例えば、第１の副キャラクタ４００に変位７０３が割り当てられたとすると、変更部２０４は、第１の副キャラクタの方向１００２を、変位７０４についての見込む角度が最大（角度９０２）となる方向１００４に変更する。
【０１１７】
また、変更部２０４は、第２の副キャラクタ５００の向きを、割り当てられた変位についての見込む角度が最大となる向きに変更する（ステップＳ５０７）。例えば、第２の副キャラクタ５００に変位７０６が割り当てられたとすると、変更部２０４は、第２の副キャラクタの方向１００７を、変位７０８についての見込む角度が最大（角度９０７）となる方向１０１０に変更する。そして、ステップＳ３０１に戻り、生成部２０１は、方向１００４を向いた第１の副キャラクタ４００及び方向１０１０を向いた第２の副キャラクタ５００を含む仮想空間の画像（図２６）を生成する。
【０１１８】
本実施形態によれば、注目すべき複数の動作のそれぞれを、見やすい方向から確認することができる。
【産業上の利用可能性】
【０１１９】
本発明によれば、仮想空間に配置されるキャラクタの様子を、ユーザにとって視認しやすくするのに好適な画像生成装置、画像生成方法、ならびに、プログラムを提供することができる。
【符号の説明】
【０１２０】
１００  情報処理装置
１０１  ＣＰＵ
１０２  ＲＯＭ
１０３  ＲＡＭ
１０４  インターフェース
１０５  コントローラ
１０６  外部メモリ
１０７  画像処理部
１０８  ＤＶＤ−ＲＯＭドライブ
１０９  ＮＩＣ
１１０  音声処理部
１１１  マット型コントローラ
１１１Ｌ、１１１Ｒ、１１１Ｕ、１１１Ｄ  ボタン
２００  画像生成装置
２０１  生成部
２０２  検出部
２０３  割当部
２０４  変更部
ＭＯ１〜ＭＯ４  目標オブジェクト
ＨＯ１〜ＨＯ４  判定オブジェクト
ＨＡ１  判定エリア
３００  主キャラクタ
３０１  左腕
３０２  右脚
３０３  右腕
４００  第１の副キャラクタ
５００  第２の副キャラクタ
７０１、７０２、７０３、７０４、７０５、７０６、７０７、７０８  変位
７１１、７１２  端部
８０１  回転方向
９００  仮想カメラ
９０１、９０２、９０３、９０４、９０５、９０６、９０７  角度
１００１、１００２、１００３、１００４、１００５、１００６、１００７、１００８、１００８’、１００８”、１００９、１０１０、１０１１  方向
【図１】
2012024437.tif 000003
【図２】
2012024437.tif 000004
【図３】
2012024437.tif 000005
【図４】
2012024437.tif 000006
【図５】
2012024437.tif 000007
【図６】
2012024437.tif 000008
【図７】
2012024437.tif 000009
【図８】
2012024437.tif 000010
【図９】
2012024437.tif 000011
【図１０】
2012024437.tif 000012
【図１１】
2012024437.tif 000013
【図１２】
2012024437.tif 000014
【図１３】
2012024437.tif 000015
【図１４】
2012024437.tif 000016
【図１５】
2012024437.tif 000017
【図１６】
2012024437.tif 000018
【図１７】
2012024437.tif 000019
【図１８】
2012024437.tif 000020
【図１９】
2012024437.tif 000021
【図２０】
2012024437.tif 000022
【図２１】
2012024437.tif 000023
【図２２】
2012024437.tif 000024
【図２３】
2012024437.tif 000025
【図２４】
2012024437.tif 000026
【図２５】
2012024437.tif 000027
【図２６】
2012024437.tif 000028
【図２７】
2012024437.tif 000029