(57)【要約】【課題】プレーヤの入力タイミングを評価するゲームにおいて、指示表示物の表示位置を多様にすることが可能なプログラム、情報記憶媒体、及び、画像生成装置を提供すること。【解決手段】所定条件下で、指示表示物を所定表示位置とは異なる表示位置に設定する。【選択図】図４
2011101752.tif 000002
【特許請求の範囲】
【請求項１】
画像を生成する処理を行うプログラムであって、
楽曲データを再生する処理を行う再生部と、
前記楽曲データに対応して記憶されている複数の基準タイミングを指示する指示表示物を、所定表示位置に設定する設定部と、
前記指示表示物を含む画像を生成する画像生成部と、
各基準タイミングについて、基準タイミングと当該基準タイミングに対する入力部からの入力タイミングとを比較して、プレーヤの入力を評価する評価部として、コンピュータを機能させ、
前記設定部が、
所定条件下で、前記指示表示物を前記所定表示位置とは異なる表示位置に変更して設定し、
前記画像生成部が、
変更された前記表示位置に基づいて、前記指示表示物を含む画像を生成することを特徴とするプログラム。
【請求項２】
請求項１において、
前記設定部が、
前記入力部からの表示位置制御用の入力情報に基づいて、前記指示表示物を前記所定表示位置とは異なる表示位置に変更して設定することを特徴とするプログラム。
【請求項３】
請求項１又は２において、
前記設定部が、
前記指示表示物の表示位置が変更された場合には、変更後の前記指示表示物の表示位置に基づいて他の表示物の表示位置を決定し、決定された表示位置に他の表示物を設定し、
前記画像生成部が、
前記設定部によって設定された前記他の表示物の表示位置に基づいて、前記他の表示物を含む画像を生成することを特徴とするプログラム。
【請求項４】
請求項１〜３のいずれかにおいて、
前記設定部が、
複数の指示表示物のうち少なくとも１つの指示表示物の表示位置が変更された場合には、各指示表示物の表示領域が重複しないように他の指示表示物の表示位置を決定し、決定された表示位置に当該他の指示表示物を設定し、
前記画像生成部が、
前記設定部によって設定された前記各指示表示物の表示位置に基づいて、前記各指示表示物を含む画像を生成することを特徴とするプログラム。
【請求項５】
請求項１〜４のいずれかにおいて、
前記設定部が、
複数の指示表示物のうち少なくとも１つの指示表示物の表示位置が変更された場合には、各指示表示物の重なり度合いに応じて他の指示表示物の表示位置を決定し、決定された表示位置に当該他の指示表示物を設定し、
前記画像生成部が、
前記設定部によって設定された前記各指示表示物の表示位置に基づいて、前記各指示表示物を含む画像を生成することを特徴とするプログラム。
【請求項６】
請求項１〜５のいずれかにおいて、
前記画像生成部が、
前記指示表示物を前記所定表示位置とは異なる表示位置に設定された場合には、前記指示表示物及び他の表示物の少なくとも一方の画像データを変更して画像を生成することを特徴とするプログラム。
【請求項７】
請求項１〜６のいずれかにおいて、
前記設定部が、
画面上の所定領域内において、前記指示表示物を設定可能とすることを特徴とするプログラム。
【請求項８】
請求項１〜７のいずれかにおいて、
前記画像生成部が、
前記複数の基準タイミングそれぞれに対応する指示マークを移動方向に移動させて、各基準タイミングを指示する指示表示物を含む画像を生成し、
前記設定部が、
前記移動方向に基づいて所定方向に前記指示表示物を移動させて設定することを特徴とするプログラム。
【請求項９】
請求項１〜８のいずれかにおいて、
前記設定部が、
所与のプログラムに基づいて、前記指示表示物を前記所定表示位置とは異なる表示位置に変更して設定することを特徴とするプログラム。
【請求項１０】
請求項１〜９のいずれかにおいて、
前記指示表示物の表示位置が変更された場合に、当該表示位置をセーブするセーブ処理部として、コンピュータを更に機能させ、
前記設定部が、
前記表示位置がセーブされている場合には、セーブされた前記表示位置に基づいて、前記指示表示物を前記所定表示位置とは異なる表示位置に変更して設定することを特徴とするプログラム。
【請求項１１】
コンピュータ読み取り可能な情報記憶媒体であって、請求項１〜１０のいずれかのプログラムを記憶したことを特徴とする情報記憶媒体。
【請求項１２】
画像を生成する処理を行う画像生成装置であって、
楽曲データを再生する処理を行う再生部と、
前記楽曲データに対応して記憶されている複数の基準タイミングを指示する指示表示物を、所定表示位置に設定する設定部と、
前記指示表示物を含む画像を生成する画像生成部と、
各基準タイミングについて、基準タイミングと当該基準タイミングに対する入力部からの入力タイミングとを比較して、プレーヤの入力を評価する評価部とを含み、
前記設定部が、
所定条件下で、前記指示表示物を前記所定表示位置とは異なる表示位置に変更して設定し、
前記画像生成部が、
変更された前記表示位置に基づいて、前記指示表示物を含む画像を生成することを特徴とする画像生成装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラム、情報記憶媒体、及び、画像生成装置に関する。
【背景技術】
【０００２】
従来から、楽曲に合わせてプレーヤが所定の入力を行い、プレーヤがダンスや擬似的な演奏を楽しむゲームための画像を生成する画像生成装置が知られている。このような画像生成装置では、楽曲に対応して記憶されている複数の基準タイミングを指示する指示表示物を、画面の所定表示位置に表示させ、プレーヤの入力タイミングと基準タイミングとを比較して、プレーヤの入力を評価する処理を行っている。例えば、従来の技術として、基準タイミングをプレーヤが作成することが可能なゲームシステムが存在する。（特許文献１、００８６〜００９６段落、図１１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０００−１１６９３８
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかし、従来の技術は、画面上の予め決められた所定表示位置に指示表示物が表示されるものであったので、指示表示物の表示位置が画一的であり、面白味に欠ていた。
【０００５】
本発明の目的は、上記課題に鑑みたものであり、プレーヤの入力タイミングを評価する音楽ゲームのための画像生成装置において、指示表示物の表示位置を多様にすることが可能なプログラム、情報記憶媒体、及び、画像生成装置を提供することにある。
【課題を解決するための手段】
【０００６】
（１）本発明は、画像を生成する処理を行うプログラムであって、楽曲データを再生する処理を行う再生部と、前記楽曲データに対応して記憶されている複数の基準タイミングを指示する指示表示物を、所定表示位置に設定する設定部と、前記指示表示物を含む画像を生成する画像生成部と、各基準タイミングについて、基準タイミングと当該基準タイミングに対する入力部からの入力タイミングとを比較して、プレーヤの入力を評価する評価部として、コンピュータを機能させ、前記設定部が、所定条件下で、前記指示表示物を前記所定表示位置とは異なる表示位置に変更して設定し、前記画像生成部が、変更された前記表示位置に基づいて、前記指示表示物を含む画像を生成するプログラムに関する。
【０００７】
また、本発明は、コンピュータ読み取り可能な情報記憶媒体であって、上記各部としてコンピュータを機能させるプログラムを記憶した情報記憶媒体に関する。また、本発明は、上記各部を含む画像生成装置に関係する。本発明によれば、指示表示物の表示位置を多様にすることができる。
【０００８】
（２）また、本発明のプログラム、情報記憶媒体、及び、画像生成装置は、前記設定部が、前記入力部からの表示位置制御用の入力情報に基づいて、前記指示表示物を前記所定表示位置とは異なる表示位置に変更して設定するようにしてもよい。本発明によれば、プレーヤが入力部を用いて表示位置制御の入力を行うことによって、プレーヤが意図する表示位置に指示表示物を設定することが可能となる。つまり、本発明によれば、プレーヤの好みの表示位置に指示表示物を表示させることができる。
【０００９】
（３）また、本発明のプログラム、情報記憶媒体、及び、画像生成装置は、前記設定部が、前記指示表示物の表示位置が変更された場合には、変更後の前記指示表示物の表示位置に基づいて他の表示物の表示位置を決定し、決定された表示位置に他の表示物を設定し、前記画像生成部が、前記設定部によって設定された前記他の表示物の表示位置に基づいて、前記他の表示物を含む画像を生成するようにしてもよい。本発明によれば、変更後の指示表示物の表示位置に基づいて他の表示物の表示位置が決定されるので、指示表示物の表示位置を考慮して他の表示物を表示させることができる。
【００１０】
（４）また、本発明のプログラム、情報記憶媒体、及び、画像生成装置は、前記設定部が、複数の指示表示物のうち少なくとも１つの指示表示物の表示位置が変更された場合には、各指示表示物の表示領域が重複しないように他の指示表示物の表示位置を決定し、決定された表示位置に当該他の指示表示物を設定し、前記画像生成部が、前記設定部によって設定された前記各指示表示物の表示位置に基づいて、前記各指示表示物を含む画像を生成するようにしてもよい。例えば、各指示表示物の表示領域が重複してしまうことになると、各指示表示物が見づらくなってしまうが、本発明によれば、複数の指示表示物の表示領域を互いに重複しないように表示させることができるので、この問題点を回避できる。
【００１１】
（５）また、本発明のプログラム、情報記憶媒体、及び、画像生成装置は、前記設定部が、複数の指示表示物のうち少なくとも１つの指示表示物の表示位置が変更された場合には、各指示表示物の重なり度合いに応じて他の指示表示物の表示位置を決定し、決定された表示位置に当該他の指示表示物を設定し、前記画像生成部が、前記設定部によって設定された前記各指示表示物の表示位置に基づいて、前記各指示表示物を含む画像を生成するようにしてもよい。例えば、各指示表示物の表示領域が重複してしまうことになると、各指示表示物が見づらくしまうが、本発明によれば、各指示表示物の重なり度合いを考慮して、各指示表示物それぞれの表示位置を決定するので、この問題を回避できる。
【００１２】
（６）また、本発明のプログラム、情報記憶媒体、及び、画像生成装置は、前記画像生成部が、前記指示表示物を前記所定表示位置とは異なる表示位置に設定された場合には、前記指示表示物及び他の表示物の少なくとも一方の画像データを変更して画像を生成するようにしてもよい。本発明によれば、指示表示物と他の表示物とを識別して表示させることができる。
【００１３】
（７）また、本発明のプログラム、情報記憶媒体、及び、画像生成装置は、前記設定部が、画面上の所定領域内において、前記指示表示物を設定可能とするようにしてもよい。本発明によれば、指示表示物を設定する画面上の領域を所定領域に制限するので、適切な表示位置に指示表示物を設定することができる。
【００１４】
（８）また、本発明のプログラム、情報記憶媒体、及び、画像生成装置は、前記画像生成部が、前記複数の基準タイミングそれぞれに対応する指示マークを移動方向に移動させて、各基準タイミングを指示する指示表示物を含む画像を生成し、前記設定部が、前記移動方向に基づいて所定方向に前記指示表示物を移動させて設定するようにしてもよい。本発明によれば、指示表示物を設定態様が分かりやすいというメリットがある。
【００１５】
（９）また、本発明のプログラム、情報記憶媒体、及び、画像生成装置は、前記設定部が、所与のプログラムに基づいて、前記指示表示物を前記所定表示位置とは異なる表示位置に変更して設定するようにしてもよい。本発明によれば、プログラムによって自動的に指示表示物を所定表示位置とは異なる表示位置に変更させることができる。
【００１６】
（１０）また、本発明のプログラム、情報記憶媒体、及び、画像生成装置は、前記設定部が、前記指示表示物の表示位置が変更された場合に、当該表示位置をセーブするセーブ処理部として、コンピュータを更に機能させ、前記設定部が、前記表示位置がセーブされている場合には、セーブされた前記表示位置に基づいて、前記指示表示物を前記所定表示位置とは異なる表示位置に変更して設定するようにしてもよい。本発明によれば、指示表示物の表示位置が変更されると、次回からはその表示位置に指示表示物を表示させることができる。
【図面の簡単な説明】
【００１７】
【図１】本実施形態の画像生成装置の機能ブロック図。
【図２】本実施形態の画像生成装置を用いてゲームプレイをする際の外観図。
【図３】本実施形態の画面の一例。
【図４】本実施形態の画面の一例。
【図５】本実施形態の画面の一例。
【図６】本実施形態の画面の一例。
【図７】本実施形態の画面の一例。
【図８】本実施形態の画像生成の説明図。
【図９】図９（Ａ）〜（Ｅ）は仮想カメラの制御の説明図。
【図１０】仮想カメラの制御の説明図。
【図１１】本実施形態の画面の一例。
【図１２】本実施形態の画面の一例。
【図１３】本実施形態の画面の一例。
【図１４】本実施形態の画面の一例。
【図１５】図１５（Ａ）（Ｂ）は、本実施形態のフローチャート。
【図１６】本実施形態の応用例における画面の一例。
【図１７】本実施形態の応用例における画面の一例。
【図１８】本実施形態の応用例における画面の一例。
【図１９】本実施形態の応用例における画面の一例。
【図２０】本実施形態の応用例における画面の一例。
【図２１】本実施形態の応用例における画面の一例。
【図２２】本実施形態の応用例における画面の一例。
【発明を実施するための形態】
【００１８】
以下、本実施形態について説明する。なお、以下に説明する本実施形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また本実施形態で説明される構成の全てが、本発明の必須構成要件であるとは限らない。
【００１９】
１．構成
図１は、本実施形態の画像生成装置（ゲームシステム）の機能ブロック図の一例である。なお、本実施形態の画像生成装置では、図１の各部をすべて含む必要はなく、その一部を省略した構成としてもよい。
【００２０】
入力部１６０は、入力情報（入力信号）を入力するための機器であり、プレーヤの入力情報を処理部に出力する。本実施形態の入力部１６０は、例えば、レバー、ボタン、ステアリング、マイク、タッチパネル型ディスプレイなどがある。
【００２１】
特に、本実施形態の入力部１６０は、コントローラ１６１とマット型コントローラ１６３とを含む。コントローラ１６１は、Ａボタン、Ｂボタンや十字キーなどの入力情報を検出するボタンや３軸の加速度を検出する加速度センサを備える。マット型コントローラ１６３の検出部１６４は、図２に示すように、入力領域Ａ１〜Ａ８を特定することが可能な入力情報を検出する。より詳しく説明すると、マット型コントローラ１６３は、スイッチ（圧力センサでもよい）が内部に配置され、複数のスイッチに対応する入力領域Ａ１〜Ａ８が押圧されると、検出部１６２は押圧されたスイッチの信号を検出する。
【００２２】
また、入力部１６０は、角速度を検出するジャイロセンサ、撮像部を備えた機器でもよい。例えば、入力部１６０は、プレーヤが把持して動かすものであってもよいし、プレーヤが身につけて動かすものであってもよい。また、入力部１６０は、プレーヤが把持する刀型コントローラや銃型コントローラ、あるいはプレーヤが身につける（プレーヤが手に装着する）グローブ型コントローラなど実際の道具を模して作られたコントローラも含まれる。また入力機器には、入力機器と一体化されているゲーム装置、携帯型ゲーム装置、携帯電話なども含まれる。
【００２３】
また、入力部１６０は、和太鼓を模した入力部であってもよい。例えば、入力部１６０は、略円筒状の筒体と筒体の端部に設けられる打面、枠部とを備えるようにし、入力部１６０は、打面（右打面部、左打面部）、枠部（右枠部、左枠部）それぞれに、打撃されたことを検出可能な打撃センサ（感度センサ）を設け、プレーヤの打面（右打面部、左打面部）、枠部（右枠部、左枠部）それぞれの打撃を検出する検出部を備えるものでもよい。
【００２４】
また、入力部１６０は、加圧センサを備える入力装置（ボード型入力装置）でもよい。例えば、加圧センサが圧力値を検出し、処理部１００が圧力値に基づいて処理を行うようにしてもよい。
【００２５】
なお、本実施形態の画像生成装置は、複数の入力部１６０を備えていてもよい。例えば、第１のプレーヤ用（１Ｐ用）のコントローラ１６１＿１、第２のプレーヤ用（２Ｐ用）のコントローラ１６１＿２、第１のプレーヤ用（１Ｐ用）のマット型コントローラ１６３＿１、第２のプレーヤ用（２Ｐ用）のマット型コントローラ１６３＿２を備えていてもよい。
【００２６】
記憶部１７０は、処理部１００や通信部１９６などのワーク領域となるもので、その機能はＲＡＭ（ＶＲＡＭ）などにより実現できる。
【００２７】
記憶部１７０は、処理部１００のワーク領域として使用される主記憶部１７１と、画像バッファ１７２と、表示物データ記憶部１７３、楽曲データ記憶部１７４、譜面データ記憶部１７５、画面構成記憶部１７６、動作データ記憶部１７７、所定表示位置記憶部１７８とを含む。
【００２８】
表示物データ記憶部１７３には、表示物に関するデータが記憶されている。例えば、ポリゴン、プリミティブ、スプライト、オブジェクト、２次元オブジェクト、３次元オブジェクト等のデータが記憶されている。本実施形態では、表示物データ記憶部１７３に、プレーヤにマット型コントローラ１６２への入力を指示する表示物マットＭ、ダンサーＤなどの表示物のデータを記憶している。
【００２９】
楽曲データ記憶部１７４には、再生部１１２によって生成される楽曲データが記憶される。例えば、楽曲データ記憶部１７４は、情報記憶媒体１８０からロードされた楽曲データを記憶する。本実施形態では楽曲データとして、パルス符号変調（ＰＣＭ）方式などで符号化されたデジタルデータが用いられている。
【００３０】
譜面データ記憶部１７５には、楽曲データに対応づけた複数の基準タイミングや、各基準タイミングに対応するマット型コントローラ１６３の各入力領域Ａ１〜Ａ８を指示する指示内容（指示領域）、表示態様が記憶されている。
【００３１】
より具体的に説明すると、譜面データ記憶部１７５には、楽曲データ再生開始時点からの経過時間（例えば、描画のフレームレートにおいて、楽曲データ再生開始時間を０としたときのフレーム数）によって定義された複数の基準タイミングが記憶されている。
【００３２】
また、譜面データ記憶部１７５には、各基準タイミングの表示態様が記憶されている。つまり、譜面データ記憶部１７５には、各基準タイミングに対応づけて指示領域Ｂ１〜Ｂ８のいずれかを記憶すると共に、指示領域の表示態様が記憶されている。例えば、指示領域の表示態様としては、点滅させて表示させる表示態様、各基準タイミングが到来したときに、基準タイミングに対応する指示マークを移動経路（レーン）上の基準位置に達するように移動させるスクロール表示態様、各基準タイミングが到来したときに基準タイミングに対応する指示マークを変形させる表示態様、各基準タイミングが到来したときに基準タイミングに対応する指示マークの色情報を変更させて表示させる表示態様などがある。
【００３３】
画面構成記憶部１７６は、各表示物の表示位置、向き、大きさ（縮小率、拡大率などの倍率）、形状を記憶する。なお、本実施形態の画面構成記憶部１７６は、仮想カメラの制御情報（仮想カメラの位置、向き、画角）を記憶してもよい。
【００３４】
動作データ記憶部１７７は、楽曲データに対応づけて表示物（例えばダンサーＤ）の動作データ（モーションデータ、アニメーションデータなど）を記憶する。つまり、動作データ記憶部１７７には、プレーヤのダンスの見本となるダンサーＤの動作データが記憶されている。
【００３５】
所定表示位置記憶部１７８は、複数の表示物それぞれの表示位置を記憶する。本実施形態では、指示表示物の所定表示位置を記憶する。例えば、マットＭの所定表示位置、ダンサーＤの所定表示位置を記憶する。
【００３６】
情報記憶媒体１８０は、コンピュータにより読み取り可能な媒体であって、プログラムやデータなどを格納するものである。情報記憶媒体１８０は、例えば、光ディスク（ＣＤ、ＤＶＤ）、光磁気ディスク（ＭＯ）、磁気ディスク、ハードディスク、磁気テープ、或いはメモリ（ＲＯＭ）などである。
【００３７】
情報記憶媒体１８０には、処理部１００において種々の処理を行うためのプログラムやデータが記憶されている。即ち、この情報記憶媒体１８０には、本実施形態の各部としてコンピュータを機能させるためのプログラム（各部の処理をコンピュータに実行させるためのプログラム）が記憶されている。なお、情報記憶媒体１８０には、記憶部１７０が記憶するデータを記憶し、必要に応じてプログラムが情報記憶媒体１８０から記憶部１７０にデータをロードさせるようにしてもよい。
【００３８】
表示部１９０は、本実施形態により生成された画像を出力するものであり、その機能は、ＣＲＴ、ＬＣＤ、タッチパネル型ディスプレイ、或いはＨＭＤ（ヘッドマウントディスプレイ）などにより実現できる。そして、表示部１９０は、画像生成部１２０が生成した画像を表示させる処理を行う。
【００３９】
音出力部１９２は、再生部１１２によって再生される音や、音生成部１３０によって生成された音を出力するものであり、その機能は、スピーカ、或いはヘッドフォンなどにより実現できる。なお、音出力部１９２は、楽曲データの再生音だけでなく、入力部１６０からの入力音（打撃音）なども出力してもよい。
【００４０】
通信部１９６は外部（例えば、他の画像生成装置、サーバ、端末）との間で通信を行うための各種制御を行うものであり、その機能は、各種プロセッサ又は通信用ＡＳＩＣなどのハードウェアや、プログラムなどにより実現できる。
【００４１】
なお、サーバが有する情報記憶媒体や記憶部に記憶されている本実施形態の各部としてコンピュータを機能させるためのプログラムやデータを、ネットワークを介して受信し、受信したプログラムやデータを情報記憶媒体１８０や記憶部１７０に記憶してもよい。このようにプログラムやデータを受信して画像生成装置を機能させる場合も本発明の範囲内に含む。
【００４２】
処理部１００（プロセッサ）は、入力部１６０からの出力データやプログラムなどに基づいて、ゲーム処理、画像生成処理、音生成処理などの処理を行う。この処理部１００は、記憶部１７０（主記憶部１７１）をワーク領域として各種処理を行い、その機能は各種プロセッサ（ＣＰＵ、ＤＳＰ等）、各種集積回路（ＩＣ、ＡＳＩＣ）などのハードウェアや、プログラムにより実現できる。
【００４３】
特に、本実施形態の処理部１００は、受け付け部１１１、再生部１１２、設定部１１３、評価部１１４、ゲーム演算部１１５、セーブ処理部１１６、画像生成部１２０、音生成部１３０とを含む。なお、これらの一部を省略する構成としてもよい。
【００４４】
受け付け部１１１は、入力部１６０からの入力情報を受け付ける処理を行う。例えば、受け付け部１１１は、コントローラ１６１から入力される表示位置制御用の入力情報を受け付ける。また、マット型コントローラ１６３の検出部１６４が検出した各入力領域Ａ１〜Ａ８の入力情報を受け付ける。
【００４５】
再生部１１２は、楽曲データ記憶部１７４に記憶されている楽曲データの再生処理を行う。例えば、再生部１１２は、楽曲データの音の波形を音出力部１９２に出力するものであり、その機能は、楽曲データに基づいて楽曲データ音の波形を生成する集積回路（音源ＩＣ）などのハードウェアや、プログラムなどにより実現できる。
【００４６】
設定部１１３は、表示位置（スクリーン上の位置、画面上の位置）に表示物を設定（配置）する処理を行なう。例えば、設定部１１３は、楽曲データに対応して記憶されている複数の基準タイミングを指示する指示表示物を、所定表示位置（デフォルト表示位置）に設定する処理を行う。また、設定部１１３は、複数の基準タイミングを指示する指示表示物としてマットＭを所定表示位置Ｐ１（Ｘ１，Ｙ１）に設定する処理を行う。
【００４７】
また、設定部１１３は、所定条件下で、指示表示物を所定表示位置とは異なる表示位置に設定する。例えば、設定部１１３は、コントローラ１６１からの表示位置制御用の入力情報に基づいて、指示表示物を所定表示位置Ｐ１（Ｘ１，Ｙ１）とは異なる表示位置Ｐ２（Ｘ２，Ｙ２）に設定する。
【００４８】
また、設定部１１３は、指示表示物の表示位置がセーブされている場合に、セーブされた表示位置に指示表示物を設定する。例えば、画像構成記憶部１７６に、マットＭの表示位置Ｐ２（Ｘ２，Ｙ２）が記憶されている場合には、マットＭを表示位置Ｐ２（Ｘ２，Ｙ２）に設定する処理を行う。
【００４９】
また、設定部１１３は、指示表示物を所定表示位置とは異なる表示位置に設定した場合には、指示表示物の表示位置に基づいて、他の表示物の表示位置を決定し、決定された表示位置に他の表示物を設定するようにしてもよい。例えば、マットＭがＰ２（Ｘ２，Ｙ２）に設定された場合には、ダンサーＤ、木、壁などの他の表示物の各表示位置を決定し、それぞれ決定された表示位置に各表示物を設定する。
【００５０】
また、設定部１１３は、複数の指示表示物のうち少なくとも１つの指示表示物の表示位置が変更された場合には、各指示表示物の表示領域が重複しないように、他の指示表示物の表示位置を決定し、決定された表示位置に他の指示表示物を設定するようにしてもよい。例えば、マットＭが所定表示位置Ｐ１（Ｘ１，Ｙ１）からＰ２（Ｘ２，Ｙ２）に変更された場合には、マットＭの表示領域とダンサーＤの表示領域とが重複しないように、ダンサーＤの表示位置を決定し、決定された表示位置にダンサーＤを設定してもよい。
【００５１】
また、設定部１１３は、複数の指示表示物のうち少なくとも１つの指示表示物の表示位置が変更された場合には、各指示表示物の重なり度合いに応じて、他の指示表示物の表示位置を決定し、決定された表示位置に当該他の指示表示物を設定するようにしてもよい。例えば、マットＭが所定表示位置Ｐ１（Ｘ１，Ｙ１）からＰ２（Ｘ２，Ｙ２）に変更された場合には、ダンサーＤの表示領域に対する重複領域（ダンサーＤの表示領域とマットＭの表示領域との重複領域）の比率が０．５（５０％）以下になるように、ダンサーＤの表示位置を決定するようにしてもよい。また、ダンサーＤの特定の部位（上半身）がマットＭと重複しないようにダンサーＤの表示位置を決定するようにしてもよい。例えば、ダンサーＤの特定部位の代表点がマットの表示領域に属さないように制御してもよい。
【００５２】
また、設定部１１３は、画面上の所定領域内の表示位置に、指示表示物を設定するようにしてもよい。また、設定部１１３は、指示表示物を、所定方向に移動させて設定するようにしてもよい。
【００５３】
評価部１１４は、各基準タイミングについて、基準タイミングと当該基準タイミングに対する入力部１６０からの入力タイミングとを比較して、プレーヤの入力を評価する処理を行う。なお、入力タイミングの判定は、基準タイミングとして設定されたフレームを基準として、時間単位で行う。例えば、評価部１１４は、プレーヤが踏み動作によってマット型コントローラ１６３が検出した入力情報の入力タイミングと、楽曲データ再生開始時点を基準に設定された基準タイミングとの一致度（時間的なズレの程度）を判定し、判定結果に基づいてプレーヤの入力を評価する処理を行う。例えば、本実施形態の評価部１１４は、入力タイミングと基準タイミングとの一致度を、「良」、「可」、「不可」の３段階にて評価する処理を行うようにしてもよい。
【００５４】
例えば、評価部１１４は、基準タイミングそれぞれに対応する指示内容と、プレーヤの入力タイミングに入力されたマット型コントローラ１６３への入力情報とを比較して、プレーヤの入力を評価する処理を行う。つまり、基準タイミングと入力タイミングとの一致度と、基準タイミングで指示した指示内容と入力情報とが一致しているか否かを判定して、プレーヤの入力を評価する。
【００５５】
例えば、評価部１１４は、基準タイミングＴ１での指示内容がプレーヤに入力領域Ａ６への入力を指示するものであって、実際に、基準タイミングＴ１において入力領域Ａ６の入力情報を受け付け、基準タイミングと入力タイミングとが一致している場合には、プレーヤの入力を「良」と評価する処理を行う。また、例えば、基準タイミングと入力タイミングとの差が所定時間内であれば「可」と評価し、基準タイミングと入力タイミングとの差が所定時間外である場合には「不可」と評価する。
【００５６】
ゲーム演算部１１５は、ゲームを開始させる処理、終了させる処理、スコアゲージｅ１、点数ｅ２、コンボ数ｅ３（例えば、連続して「良」の評価を得た数）を求める処理、ゲームの演算結果を求める処理、入力部１６０からの入力情報に基づき、楽曲データの選択を受け付けるようにしてもよい。
【００５７】
より具体的に説明すると、本実施形態のゲーム演算部１１５は、評価部１１４の評価に応じた点数（例えば「良」は２点、「可」は１点、「不可」は０点）を、点数ｅ２に加算する処理を行う。また、ゲーム演算部１１５は、再生部１１２が楽曲データの再生を終了した後に、点数ｅ２を０〜１００％の値に変換したスコアゲージｅ１が、しきい値以上か否かを判定する処理を行い、判定結果（ゲーム結果）を表示部１９０に表示させる処理を行う。例えば、スコアゲージｅ１がノルマ値を超えた場合には、次の楽曲データの選択を受け付けて、次の楽曲データを再生し、プレーヤの入力を評価する処理に進む。一方、スコアゲージｅ１がノルマ値以下であるとゲームを終了させる処理を行っている。
【００５８】
セーブ処理部１１６は、画面構成に関するデータを画面構成記憶部１７６に記憶する処理を行う。例えば、表示物の画面上の表示位置、向き、大きさ（倍率）、形状や、表示物の３次元オブジェクト空間内における位置、仮想カメラの位置、仮想カメラの向き、仮想カメラの画角を画面構成記憶部１７６に記憶する処理を行う。
【００５９】
例えば、セーブ処理部１１６は、指示表示物の表示位置が変更された場合に、その表示位置をセーブする処理を行う。具体的には、マットＭを所定表示位置Ｐ１（Ｘ１，Ｙ１）からＰ２（Ｘ２，Ｙ２）に変更された場合には、その表示位置Ｐ２（Ｘ２，Ｙ２）を画面構成記憶部１７６にセーブする処理を行う。また、マットＭの表示位置Ｐ２に基づいて設定される他の表示物の表示位置、ダンサーＤの表示位置などを、画面構成記憶部１７６にセーブする処理を行うようにしてもよい。また、セーブ処理部１１６は、入力部１６０から、セーブ用の入力情報を受け付けた場合に、指示表示物の表示位置を記憶するようにしてもよい。
【００６０】
画像生成部１２０は、処理部１００で行われる種々の処理の結果に基づいて画像を生成する処理を行い、生成された画像を表示部１９０に出力する。画像生成部１２０が生成する画像は、いわゆる２次元画像であってもよいし、いわゆる３次元空間に配置された表示物を仮想カメラから見えた画像（３次元画像）であってもよい。
【００６１】
２次元画像を生成する場合には、例えば、表示物（オブジェクト、スプライト）毎に優先度を設定し、設定された優先度が低い表示物から順に描画する。オブジェクト同士が重なる場合には、優先度が低いオブジェクトの上に、優先度の高いオブジェクトを描画する。
【００６２】
具体的には画像生成部１２０は、画像バッファ１７２（フレームバッファあるいは中間バッファなどのバッファ。ＶＲＡＭ。）に表示物（オブジェクト）を描画する。そして画像生成部１２０は、１フレーム（例えば１／６０秒）毎に画像情報を更新する。なお、フレームは、オブジェクトの移動・動作処理や画像生成処理を行う時間の単位である。
【００６３】
いわゆる３次元ゲーム画像を生成する場合には、まずオブジェクト（モデル）の各頂点の頂点データ（頂点の位置座標、テクスチャ座標、色データ、法線ベクトル或いはα値
等）を含むオブジェクトデータ（モデルデータ）が入力され、入力されたオブジェクトデータに含まれる頂点データに基づいて、頂点処理（頂点シェーダによるシェーディング）が行われる。なお頂点処理を行うに際して、必要に応じてポリゴンを再分割するための頂点生成処理（テッセレーション、曲面分割、ポリゴン分割）を行うようにしてもよい。
【００６４】
頂点処理では、頂点処理プログラム（頂点シェーダプログラム、第１のシェーダプログラム）に従って、頂点の移動処理や、座標変換、例えばワールド座標変換、視野変換（カメラ座標変換）、クリッピング処理、透視変換（投影変換）、ビューポート変換等のジオメトリ処理が行われ、その処理結果に基づいて、オブジェクトを構成する頂点群について与えられた頂点データを変更（更新、調整）する。
【００６５】
そして、頂点処理後の頂点データに基づいてラスタライズ（走査変換）が行われ、ポリゴン（プリミティブ）の面とピクセルとが対応づけられる。そしてラスタライズに続いて、画像を構成するピクセル（表示画面を構成するフラグメント）を描画するピクセル処理（ピクセルシェーダによるシェーディング、フラグメント処理）が行われる。ピクセル処理では、ピクセル処理プログラム（ピクセルシェーダプログラム、第２のシェーダプログラム）に従って、テクスチャの読出し（テクスチャマッピング）、色データの設定／変更、半透明合成、アンチエイリアス等の各種処理を行って、画像を構成するピクセルの最終的な描画色を決定し、透視変換されたオブジェクトの描画色を描画バッファ１７４（ピクセル単位で画像情報を記憶できるバッファ。ＶＲＡＭ、レンダリングターゲット）に出力（描画）する。すなわち、ピクセル処理では、画像情報（色、法線、輝度、α値等）をピクセル単位で設定あるいは変更するパーピクセル処理を行う。これにより、オブジェクト空間内において仮想カメラ（所与の視点）から見える画像が生成される。なお、仮想カメラ（視点）が複数存在する場合には、それぞれの仮想カメラから見える画像を分割画像として１画面に表示できるように画像を生成することができる。
【００６６】
なお、画像生成部１２０は、オブジェクト空間内の所与（任意）の視点から見える画像を生成するための仮想カメラ（視点）の制御処理を行う。具体的には、３次元の画像を生成する場合には、ワールド座標系における仮想カメラの位置（Ｘ、Ｙ、Ｚ）又は回転角度（例えば、Ｘ、Ｙ、Ｚ軸の各軸の正方向からみて時計回りに回る場合における回転角度）を制御する処理を行う。要するに、視点位置、視線方向、画角を制御する処理を行う。また、画像生成部１２０は、仮想カメラを、予め決められた回転角度で回転させてもよい。この場合には、仮想カメラの位置又は回転角度を特定するための仮想カメラデータに基づいて仮想カメラを制御する。なお、仮想カメラ（視点）が複数存在する場合には、それぞれの仮想カメラについて上記の制御処理が行われる。
【００６７】
例えば仮想カメラによりオブジェクト（例えば、ダンサーＤ）を後方から撮影する場合には、オブジェクトの位置、向きの変化に仮想カメラが追従するように、仮想カメラの位置、仮想カメラの向きを制御する。この場合には、オブジェクトの位置、向き又は速度などの情報に基づいて、仮想カメラを制御できる。或いは、仮想カメラを、予め決められた向きに設定したり、予め決められた移動経路で移動させる制御を行ってもよい。この場合には、仮想カメラの位置（移動経路）又は向きを特定するための仮想カメラデータに基づいて仮想カメラを制御する。
【００６８】
なお頂点処理やピクセル処理は、シェーディング言語によって記述されたシェーダプログラムによって、ポリゴン（プリミティブ）の描画処理をプログラム可能にするハードウェア、いわゆるプログラマブルシェーダ（頂点シェーダやピクセルシェーダ）により実現される。プログラマブルシェーダでは、頂点単位の処理やピクセル単位の処理がプログラム可能になることで描画処理内容の自由度が高く、従来のハードウェアによる固定的な描画処理に比べて表現力を大幅に向上させることができる。
【００６９】
そして画像生成部１２０は、オブジェクトを描画する際に、ジオメトリ処理、テクスチャマッピング、隠面消去処理、αブレンディング等を行う。
【００７０】
ジオメトリ処理では、オブジェクトに対して、座標変換、クリッピング処理、透視投影変換、或いは光源計算等の処理が行われる。そして、ジオメトリ処理後（透視投影変換後）のオブジェクトデータ（オブジェクトの頂点の位置座標、テクスチャ座標、色データ（輝度データ）、法線ベクトル、或いはα値等）は、記憶部１７０に保存される。
【００７１】
テクスチャマッピングは、記憶部１７０に記憶されるテクスチャ（テクセル値）をオブジェクトにマッピングするための処理である。具体的には、オブジェクトの頂点に設定（付与）されるテクスチャ座標等を用いて記憶部１７０からテクスチャ（色（ＲＧＢ）、α値などの表面プロパティ）を読み出す。そして、２次元の画像であるテクスチャをオブジェクトにマッピングする。この場合に、ピクセルとテクセルとを対応づける処理や、テクセルの補間としてバイリニア補間などを行う。
【００７２】
隠面消去処理としては、描画ピクセルのＺ値（奥行き情報）が格納されるＺバッファ（奥行きバッファ）を用いたＺバッファ法（奥行き比較法、Ｚテスト）による隠面消去処理を行うことができる。すなわちオブジェクトのプリミティブに対応する描画ピクセルを描画する際に、Ｚバッファに格納されるＺ値を参照する。そして参照されたＺバッファのＺ値と、プリミティブの描画ピクセルでのＺ値とを比較し、描画ピクセルでのＺ値が、仮想カメラから見て手前側となるＺ値（例えば小さなＺ値）である場合には、その描画ピクセルの描画処理を行うとともにＺバッファのＺ値を新たなＺ値に更新する。
【００７３】
αブレンディング（α合成）は、α値（Ａ値）に基づく半透明合成処理（通常αブレンディング、加算αブレンディング又は減算αブレンディング等）のことである。
【００７４】
なお、α値は、各ピクセル（テクセル、ドット）に関連づけて記憶できる情報であり、例えば色情報以外のプラスアルファの情報である。α値は、マスク情報、半透明度（透明度、不透明度と等価）、バンプ情報などとして使用できる。
【００７５】
また、画像生成部１２０は、プログラム（移動アルゴリズム）に基づいて、オブジェクト（例えば、ダンサーＤ）をオブジェクト空間内で移動させたり、動作データ記憶部１７７に記憶された動作データなどに基づいて、オブジェクトを動作（モーション、アニメーション）させる処理を行う。具体的には、オブジェクトの移動情報（位置、回転角度、速度、或いは加速度）や動作データを、１フレーム（例えば、１／６０秒）毎に順次求める処理を行う。そして、画像生成部１２０は、移動・動作させたオブジェクトの画像を生成する処理を行う。
【００７６】
また、本実施形態の画像生成部１２０は、設定部１１３によって設定された指示表示物の表示位置に基づいて、指示表示物を含む画像を生成する処理を行う。例えば、画像生成部１２０は、マット型コントローラ１６３への入力を指示する２次元表示物のマットＭを指示表示物とする画像を生成する処理を行う。
【００７７】
例えば、本実施形態の画像生成部１２０は、オブジェクト空間に配置されたダンサーＤを仮想カメラから見える画像を生成する。例えば、仮想カメラの位置、向き、画角を制御して仮想カメラから見えるダンサーＤを含む画像を生成する処理を行う。そして、生成された画像と表示位置に設定されたマットＭの画像とを合成して、出力する画像を生成する処理を行う。
【００７８】
また、画像生成部１２０は、フレーム毎に、基準タイミングに対応する指示マークを、その基準タイミングで基準位置に達する（到達する）ように、移動方向に所定の移動速度で移動させる画像を生成してもよい。
【００７９】
音生成部１３０は、ゲーム演算部１１５の演算結果に基づいて、効果音やゲーム音を生成する処理を行う。
【００８０】
２．概要
本実施形態は、楽曲データを再生し、予め定められた楽曲データの基準タイミングに合わせて、プレーヤがマット型コントローラ１６３を用いてダンスゲームを行うための画像を生成する画像生成装置である。
【００８１】
図２は、プレーヤが、表示部１９０に表示される画像を見ながら、プレーヤがダンスゲームをプレイする様子を示した図である。例えば、プレーヤは、画像のダンサーＤ（指示表示物の一例）の動作や、マットＭ（指示表示物の一例）に表示される基準タイミングの入力指示内容を確認しながら、マット型コントローラ１６３の入力領域Ａ１〜Ａ８に対して入力操作（例えば踏む動作）を行う。例えば、図３に示すように、マットＭは、マット型コントローラ１６３を模した表示物であり、指示領域Ｂ１〜Ｂ８は、マット型コントローラ１６２の各入力領域Ａ１〜Ａ８に対応づけられている。
【００８２】
本実施形態では、楽曲データの再生に連動して、予め定義付けれた複数の基準タイミングと入力部１６０で検出された入力タイミングとを比較してプレーヤの入力を評価する処理を行う。本実施形態では、基準タイミングＴ１と入力タイミングとの一致度（ズレの程度）や、指示した指示内容と、プレーヤが入力タイミングで入力した入力情報とが一致しているか否かを評価している。そして、例えば、基準タイミングにおいて入力指示した入力領域に対する入力情報が検出されると、プレーヤの入力に対して「良」とする評価を行い、基準タイミングを基準とする所定期間内において入力指示した入力領域に対する入力情報が検出されない場合には、プレーヤの入力に対して「不可」とする評価を行う。
【００８３】
また、本実施形態では、マットＭとダンサーＤをマット型コントローラ１６３の入力領域Ａ１〜Ａ８への入力を指示する指示表示物を含む画像を生成して表示部１９０に表示させる処理を行っている。例えば、図３に示すように、所与の基準タイミングＴ１にマット型コントローラ１６３の入力領域Ａ３の入力を指示する場合には、マットＭの指示領域Ｂ３を他の指示領域と識別して画像を生成して表示させる。例えば、本実施形態では、基準タイミングＴ１において入力領域Ａ３の入力を指示する場合には、基準タイミングＴ１において指示領域Ｂ３を点滅させる処理を行う。
【００８４】
そして、本実施形態では、所定条件下で、指示表示物の表示位置を所定表示位置とは異なる位置に設定する処理を行う。本実施形態は、例えば、マットＭやダンサーＤなどの指示表示物を、プレーヤが画面上の任意の位置に移動させることができる。このようにすれば、プレーヤの好みに合わせた画像を表示させることができ、バリエーションに富んだ画像を表示させることができる。
【００８５】
３．指示表示物の設定
（１）プレーヤが指示した表示位置に指示表示物を設定する手法
本実施形態では、図３に示すように、初期状態において指示表示物を所定表示位置（デフォルトの表示位置）Ｐ１に設定している。そして、図４に示すように、コントローラ１６１から表示位置制御用の入力情報を受け付けると、表示位置制御用の入力情報に基づいて、マットＭの表示位置を決定し、決定された表示位置にマットＭを設定する処理を行う。より具体的に説明すると、コントローラ１６１からの表示位置制御用の入力情報に基づいて指定される位置が点Ｐ２（Ｘ２，Ｙ２）であるとすると、マットＭを、所定表示位置Ｐ１（Ｘ１，Ｘ１）から点Ｐ２（Ｘ２，Ｙ２）に移動させる処理を行う。言い換えると、マットＭの基準点Ｌ（例えば中心点）を、点Ｐ２（Ｘ２，Ｙ２）に一致させる処理を行う。
【００８６】
本実施形態では、画面に確実にマットＭを表示させるようにするために、マットＭの表示位置を調整するようにしてもよい。例えば、プレーヤが指示した表示位置にマットＭを設定してしまうと、マットの一部（入力を指示する指示領域の一部など）が見えなくなってしまう場合がある。そこで、マットＭの表示領域の全部又は一部が画面外に出てしまう場合には、自動的に、マットＭの表示領域が画面内に収まるようにマットＭの表示位置を調整（再設定）するようにしてもよい。例えば、マットＭの各頂点ａ１〜ａ４が画面内に位置するように調整する。
【００８７】
また、本実施形態では、マットＭの表示比率（マットＭの領域が画面に表示される割合）が所定比率以上になるように、マットＭの表示位置を調整するようにしてもよい。例えば、マットＭの表示比率（マットＭの全体の領域に対する画面に表示されるマットＭの領域）が、９０％以上になるように、マットＭの表示位置を調整するようにしてもよい。
【００８８】
（２）指示表示物の大きさを変更する手法
また、本実施形態では、マットＭの大きさを変更するようにしてもよい。例えば、プレーヤが初心者の場合であったり視力が劣る場合には、マットＭを拡大させた方が、マットＭに表示される指示内容を容易に認識できる。そこで、本実施形態では、図５に示すように、所定条件下で、マットＭを拡大させる処理を行う。例えば、コントローラ１６１から拡大表示用の入力情報を受け付けた場合には、マットＭの基準点Ｌを中心にマットＭを拡大させる処理を行う。
【００８９】
また、本実施形態では、図５に示すように、マットＭの拡大に応じて、ダンサーＤを縮小させて表示させるようにしてもよい。例えば、マットＭを２倍の大きさに拡大した場合には、ダンサーＤを所定の大きさよりも０．５倍の大きさに縮小する。通常、マットＭを拡大させる操作を行うプレーヤは初級レベルの技量であると考えられ、ダンサーＤの動作をあまり重視しない傾向にあるからである。
【００９０】
また、本実施形態では、図６に示すように、マットＭを縮小させるようにしてもよい。例えば、コントローラ１６１から縮小表示用の入力情報を受け付けた場合には、マットＭの基準点Ｌを中心に、マットＭを縮小させる処理を行う。このようにすれば、マットＭの存在を煩わしく感じるプレーヤの不満を軽減させることができる。
【００９１】
また、本実施形態では、図６に示すように、マットＭの縮小に応じて、ダンサーＤを拡大させて表示させるようにしてもよい。例えば、マットＭを０．５倍の大きさに縮小した場合には、ダンサーＤを２倍の大きさに拡大する。通常、マットＭを縮小させる操作を行う場合、プレーヤは上級レベルの技量であると考えられ、ダンサーＤの動作を重視し、マットＭをあまり重視しない傾向にあるからである。
【００９２】
（３）指示表示物の変更
また、本実施形態では、図７に示すように、マット型コントローラ１６３を背後から見た場合における指示内容を示すマットＭ´を表示させるようにしてもよい。例えば、コントローラ１６１から、マットＭからマットＭ´へ変更する入力情報を受け付けると、画面上においてマットＭに替えてマットＭ´を配置する処理を行う。
【００９３】
（４）指示表示物の向きを変更する手法
本実施形態では、指示表示物の向きを変更できるようにしてもよい。例えば、マットＭの基準点Ｌを基準に、マットＭを９０度回転させる処理を行うようにする。このようにすれば、例えば、好みの向きでマットＭに表示される入力の指示内容を容易に認識することができる。
【００９４】
（５）指示表示物の形状の変更
本実施形態では、指示表示物の形状を変更できるようにしてもよい。例えば、コントローラ１６１から形状変更用の入力情報を受け付けた場合に、画面上においてマットＭの各頂点ａ１〜ａ４の位置座標を変更できるようにしてもよい。
【００９５】
（６）指示表示物の設定タイミング
本実施形態では、ゲーム開始前や進行中のゲームを一時中断した場合に、表示制御用の入力情報を受け付け、受け付けた入力情報に基づいて指示表示物の位置、大きさ、向き、形状等を制御するようにしてもよい、また、ゲーム中の任意のタイミングで指示表示物を制御させるようにしてもよい。
【００９６】
４．画像生成処理
（１）仮想カメラの制御
ところで、本実施形態では、図８に示すように、オブジェクト空間（仮想３次元空間）において、仮想カメラから見た３次元オブジェクトのダンサーＤを含む３次元の画像（第１の画像）を生成し、生成された第１の画像と、２次元のマットＭの画像（第２の画像）とを合成して出力する画像を生成している。
【００９７】
したがって、本実施形態では、マットＭの表示位置が所定表示位置Ｐ１（Ｘ１，Ｙ１）から表示位置Ｐ２（Ｘ２，Ｙ２）に変更された場合には、ダンサーＤの表示位置を決定し、決定された表示位置に基づいて仮想カメラを制御してダンサーＤを含む第１の画像を生成する。そして、第１の画像と、表示位置Ｐ２に設定されたマットＭの画像とを合成する。このようにすれば、ダンサーＤのオブジェクト空間における位置は変わることがないので、自然な画像を生成することができる。
【００９８】
例えば、本実施形態では、図４に示すように、マットＭの表示位置が所定表示位置Ｐ１（Ｘ１，Ｙ１）からＰ２（Ｘ２，Ｙ２）に変更されると、マットＭの表示位置Ｐ２（Ｘ２，Ｙ２）に基づいて、ダンサーＤを表示位置（例えば、点Ｎ（Ｘ３，Ｙ３））を決定する。そして、ダンサーＤの表示位置Ｎ（Ｘ３，Ｙ３）に基づいて、仮想カメラの位置、向き、画角の少なくとも１つを制御し（変更し）、制御後の仮想カメラの位置、向き、画角に基づいて、ダンサーＤを含む第１の画像を生成する。
【００９９】
なお、本実施形態では、ダンサーＤの表示位置は、マットＭの表示位置に対応付けて予め定義付けるようにしてもよいし、マットＭの移動方向や大きさ、形状に基づいて決めてもよい。
【０１００】
また、本実施形態では、ダンサーＤの表示領域に対する重複領域（ダンサーＤの表示領域とマットＭの表示領域との重複領域）の比率が所定比率以下になるように、ダンサーＤの表示位置を決定するようにしてもよい。例えば、マットＭの表示位置が所定表示位置Ｐ１（Ｘ１，Ｙ１）からＰ２（Ｘ２，Ｙ２）に変更されると、マットＭの表示位置Ｐ２（Ｘ２，Ｙ２）と、ダンサーＤの表示領域に対する重複領域の比率が０．５（５０％）以下になるように、ダンサーＤの表示位置を決定するようにしてもよい。
【０１０１】
また、本実施形態では、ダンサーＤの部位に基づいて、ダンサーＤの表示位置を決定するようにしてもよい。例えば、ダンサーＤを構成する複数の部位（例えば、上半身、下半身）のうちマットＭとの重複表示を禁止する部位を決定し、決定された部位とマットＭとを重複して表示させないように、ダンサーＤの表示位置を決めるようにしてもよい。また、本実施形態では、ゲーム状況（例えば、ゲームプレイ時間、楽曲データの再生時間、スコアゲージｅ１、点数ｅ２、コンボ数ｅ３、難易度など）に応じてダンサーＤの各部位の表示優先度を決定し、各部位の表示優先度に基づいてダンサーＤの表示位置を決めるようにしてもよい。例えば、表示優先度が最も高い部位を、マットＭとの重複表示を禁止する部位として決定し、当該部位とマットＭとを重複して表示させないようにダンサーＤの表示位置を決定する。なお、ダンサーＤの各部位は、上半身、下半身というように２つのカテゴリに分類してもよい、頭、胴、腕、脚というように２以上のカテゴリに分類してもよい。
【０１０２】
また、本実施形態では、マットＭの移動方向に基づいて、仮想カメラの位置、向き、画角等を制御してもよい。例えば、図４に示すように、マットＭがＰ１（Ｘ１，Ｙ１）からＰ２（Ｘ２，Ｙ２）のように、スクリーンの上方向（Ｙ方向）に移動した場合には、図９（Ａ）に示すように、オブジェクト空間における仮想カメラＣの位置を、Ｒ１からＲ２に変更する処理を行う。つまり、図９（Ｂ）に示すように、仮想カメラＣの位置を、水平方向後方Ｋ６に移動させる（仮想カメラＣの位置を視点座標のマイナスＺ方向へ移動させる）。このようにすれば、図４に示すように、ダンサーＤが小さく上方に位置するようになり、ダンサーＤとマットＭとをバランスよく表示させることができる。
【０１０３】
また、本実施形態では、マットＭの大きさに基づいて、仮想カメラの位置、向き、画角等を制御してもよい。例えば、マットＭの大きさ（倍率、縮小率、拡大率）に基づいて仮想カメラの画角を大きくする。具体的には、図９（Ｅ）に示すように、マットＭが拡大する場合には、マットＭの拡大率に基づいて、仮想カメラＣの画角を広げる。例えば、マットＭの拡大率に基づいて、画角をＫ９からＫ１０に広げてズームアウトさせる。このようにすれば、例えば、図５に示すような画像を生成することができる。また、マットＭが縮小する場合には、マットＭの縮小率に基づいて、仮想カメラＣの画角を狭める。例えば、マットＭの縮小率に基づいて、画角をＫ１０からＫ９にズームインさせる。このようにすれば、例えば、図６に示すような画像を生成することができる。
【０１０４】
また、本実施形態では、マットＭの大きさに基づいて、仮想カメラＣの位置を、図９（Ｂ）に示す水平方向後方Ｋ６、水平方向前方Ｋ５に移動させるようにしてもよい。例えば、マットＭが拡大する場合には、マットＭの拡大率に基づいて、図９（Ａ）に示す仮想カメラＣの位置をＲ１からＲ２に移動させる。また、マットＭが縮小する場合には、マットＭの縮小率に基づいて、図９（Ａ）に示す仮想カメラＣの位置をＲ１からＲ３に移動させるようにしてもよい。
【０１０５】
また、本実施形態では、マットＭからマットＭ´へ変更する入力情報を受け付けた場合には、受け付けた入力情報に基づいて、仮想カメラＣの位置、向きを変化させるようにしてもよい。例えば、マットＭの向きが１８０度回転した場合には、図９（Ａ）に示すように、仮想カメラＣの位置をＲ１からＲ４に変更し、注視点がダンサーＤの位置Ｑ１になるように仮想カメラＣの向きを変化させる。このようにすれば、例えば、図７に示すような画像を生成することができる。
【０１０６】
なお、本実施形態では、マットＭの位置がスクリーンの左右方向に移動した場合には、仮想カメラＣの位置を図９（Ｂ）に示す水平左右方向Ｋ１、Ｋ２方向に移動させる制御（トラック）し、図９（Ｃ）に示すように、仮想カメラＣの向きを左右方向に回転させる制御（パン）するようにしてもよい。
【０１０７】
また、本実施形態では、マットＭの位置がスクリーンの上下方向に移動した場合には仮想カメラＣの位置を図９（Ｂ）に示すように、Ｋ３、Ｋ４方向に移動させる制御（クレーンアップ、クレーンダウン）し、図９（Ｄ）に示すように、仮想カメラＣの向きを垂直方向に変化させる制御（ティルト）するようにしてもよい。
【０１０８】
例えば、図１０に示すように、マットＭがスクリーンの上方向に移動した場合には、仮想カメラＣの位置をＲ１からＲ７に移動させたり、或いは、注視点をＱ１からＱ４になるように仮想カメラＣの向きを制御するようにしてもよい。このようにすれば、ダンサーＤが画面の下方に見えるようになる。逆に、マットＭがスクリーンの下方向に移動した場合には、仮想カメラＣの位置をＲ１からＲ８に移動させたり、或いは、注視点をＱ１からＱ５になるように仮想カメラＣの向きを制御するようにしてもよい。このようにすれば、ダンサーＤが画面の上方に見えるようになる。
【０１０９】
また、マットＭがスクリーンの右方向に移動した場合には、仮想カメラＣの位置をＲ１からＲ６に移動させたり、或いは、注視点をＱ１からＱ３になるように仮想カメラＣの向きを制御するようにしてもよい。このようにすれば、ダンサーＤが画面の左側に見えるようになる。逆に、マットＭがスクリーンの左方向に移動した場合には、仮想カメラＣの位置を図１０に示すＲ１からＲ５に移動させたり、或いは、注視点をＱ１からＱ２になるように仮想カメラＣの向きを制御するようにしてもよい。このようにすれば、ダンサーＤが画面の右側に見えるようになる。
【０１１０】
このように、マットＭの表示位置、マットＭの移動方向、マットＭの大きさに基づいて、仮想カメラＣの位置、向き、画角の少なくとも１つを制御することによって、ダンサーＤがダンスを行う様子を自然に表現したまま、マットＭを自由に設定することができる。
【０１１１】
なお、仮想カメラＣの位置、向き、画角それぞれを、ダンサーＤの表示位置、マットＭの表示位置の変化（移動方向）、マットＭの大きさに対応づけて予め決めておいてもよい。
【０１１２】
（２）半透明処理
また、本実施形態では、マットＭの色とダンサーＤとの色とを、α値に基づくαブレンディングを行い（例えば、線形合成して）画像を生成してもよい。例えば、仮想カメラから見たダンサーＤを含む画像（第１の画像）と、マットＭの画像（第２の画像）とを、α値（０≦α≦１）に基づいて合成するようにしてもよい。
【０１１３】
ここで、半透明処理（αブレンディング）は、表示物のα値に基づいて、例えば次式に示すような処理を行う。
Ｒ３＝（１−α）×Ｒ１＋α×Ｒ２    （１）
Ｇ３＝（１−α）×Ｇ１＋α×Ｇ２    （２）  
Ｂ３＝（１−α）×Ｂ１＋α×Ｂ２    （３）
ここで、Ｒ１、Ｇ１、Ｂ１はフレームバッファ（画像バッファ１７２）に既に描画されている元画像（第１の画像）の色（輝度）のＲ、Ｇ、Ｂ成分であり、Ｒ２、Ｇ２、Ｂ２は、元画像に対して重ね書きする描画画像（第２の画像）の色のＲ、Ｇ、Ｂ成分である。  
【０１１４】
このようにすれば、仮に、マットＭとダンサーＤとが重複して表示される場合であっても、プレーヤは、マットＭで表示される指示領域Ｂ１〜Ｂ８や、ダンサーＤの動作を確認することができる。
【０１１５】
（３）色制御
また、図１１に示すように、ダンサーＤとマットＭの色とが同系色の色になる場合には、いずれか一方の指示表示物の色の明度（輝度、彩度）を変化させるようにしてもよい。例えば、ダンサーＤの色とマットＭの色との明度が明るい場合（白系統の色である場合）には、マットＭの色、或いは、マットＭの指示領域Ｂ１〜Ｂ８の色の明度を下げる（黒系統の色にする）ようにしてもよい。例えば、図１２に示すように、マットＭの指示領域Ｂ１〜Ｂ８の色を予め設定された色（白色）から異なる色（黒色）に変化させるようにする。このようにすれば、プレーヤは、ダンサーＤとマットＭとを識別することが容易になる。
【０１１６】
５．所定領域
（１）所定領域内において指示表示物を設定する手法
本実施形態では、マットＭを設定できる画面上の領域を所定領域に制限するようにしてもよい。例えば、本実施形態では、マットＭの基準点Ｌが所定領域内に属するように制御したり、マットＭの頂点ａ１〜ａ４が所定領域内に属すように制御する。具体的には、図１３に示すように、所定領域Ｅ１に限って、プレーヤの入力情報に基づいてマットＭを自由に設定できる範囲を所定領域Ｅ１に制限するようにする。このようにすれば、プレーヤは、評価情報となる重要な表示物であるスコアゲージｅ１、点数ｅ２、コンボ数ｅ３などの配置状態を気にすることなく、マットＭを自由に配置させることができる。なお、本実施形態では、各指示表示物それぞれに所定領域を設定し、各指示表示物を、それぞれの所定領域内において設定できるように制御してもよい。
【０１１７】
（２）マルチプレーヤゲームの例
本実施形態では、複数のプレーヤが共通の表示部１９０を用いてダンスゲームをプレイすることができる。例えば、図１４に示すように、画面左側に第１のプレーヤ用のダンサーＤ１、マットＭ１などの指示表示物を配置させ、画面右側に第２のプレーヤ用のダンサーＤ２、マットＭ２などの指示表示物を配置させる。かかる場合に、本実施形態では、各プレーヤが、各ダンサーＤ１、Ｄ２、マットＭ１、Ｍ２を確実に見ることができるようにするために、各プレーヤに応じた所定領域Ｆ１、Ｆ２を決めて、各プレーヤが所定領域内でマットＭを設定できるようにしている。
【０１１８】
例えば、第１のプレーヤ用のコントローラ１６１＿１からの入力情報に基づいてマットＭ１の基準点Ｌ１が所定領域Ｆ１内に属するように制御したり、マットＭ１の頂点ａ１〜ａ４が所定領域Ｆ１内に属すように制御する。また、第２のプレーヤ用のコントローラ１６１＿２からの入力情報に基づいてマットＭ２の基準点Ｌ２が所定領域Ｆ２内に属するように制御したり、マットＭ２の頂点ｂ１〜ｂ４が所定領域Ｆ２内に属すように制御する。このようにすれば、マットＭ１とマットＭ２とが互いに重複しないように制御することができ、各プレーヤは、各自の指示表示物に示される指示内容を確認することができる。
【０１１９】
６．プログラムに基づいて、指示表示物を設定する手法
（１）セーブ情報に基づいて指示表示物を設定する手法
本実施形態では、プレーヤのセーブ用の入力情報に基づいて、画面構成をセーブする処理を行っている。つまり、プレーヤのセーブ用の入力情報を受け付けると、マットＭ、ダンサーＤなどの指示表示物の表示位置を画面構成記憶部１７６にセーブする処理を行う。そして、次回、ゲームが再開される場合には、セーブされた表示位置を取得し、取得した表示位置にマットＭを設定する処理を行う。このようにすれば、プレーヤは、毎回好みの表示態様でゲームすることができ、また、ゲームを行う度に設定し直す手間を省くことができる。なお、本実施形態では、仮想カメラの制御情報を画面構成記憶部１７６にセーブする処理を行うようにしてもよい。
【０１２０】
（２）難易度に基づいて、指示表示物を設定する手法
また、本実施形態では、ゲームの難易度に応じて指示表示物の設定を行うようにしてもよい。例えば、難易度が低い場合（初級者用レベルの場合）には、図５に示すようにに、拡大されたマットＭを中央に配置した画像を生成する。一方、難易度が高い場合（上級者用レベルの場合）には、図６に示すように、マットＭを縮小させ、ダンサーＤを中央に配置された画像を生成する。また、本実施形態では、難易度が最も高いレベルの場合には、マットＭを表示させない画像を生成してもよい。例えば、マルチプレーヤゲームの場合には、各プレーヤのレベルに応じて、各プレーヤのマットＭ１、Ｍ２の表示位置、大きさ、向きや、各プレーヤのダンサーＤ１、Ｄ２の表示位置、大きさ、向きを異ならせるようにしてもよい。以上のように、本実施形態では、難易度に応じた適切な画像を表示させることができ、プレーヤが満足するダンスゲームを実現することができる。
【０１２１】
７．フローチャート
本実施形態の処理について、図１５（Ａ）（Ｂ）を用いて説明する。はじめに、所与のプログラムがセーブされた情報に基づいて、指示表示物の表示位置を設定して画像を生成する処理の例について、図１５（Ａ）を用いて説明する。まず、指示表示物の表示位置がセーブされているか否かを判断する（ステップＳ１１）。次に、指示表示物の表示位置がセーブされている場合には（ステップＳ１１のＹ）、セーブされた表示位置に基づいて、マットＭを設定する（ステップＳ１２）。一方、指示表示物の表示位置がセーブされていない場合には（ステップＳ１１のＮ）、所定表示位置に基づいて、マットＭを設定する（ステップＳ１３）。そして、画像生成処理を行う（ステップＳ１４）。以上で処理を終了する。
【０１２２】
次に、プレーヤからの入力情報を受け付けて表示位置を設定する処理の流れについて図１５（Ｂ）を用いて説明する。まず、表示位置制御用の入力情報を受け付けたか否かを判断する（ステップＳ２１）。表示位置制御用の入力情報を受け付けた場合には（ステップＳ２１のＹ）、表示位置制御用の入力情報に基づいて、マットＭの表示位置を決定する（ステップＳ２２）。そして、決定されたマットＭの表示位置に基づいて、ダンサーＤの表示位置を決定する（ステップＳ２３）。そして、決定されたマットＭ、ダンサーＤの表示位置に基づいて、画像生成処理を行う（ステップＳ２４）。そして、マットＭ、ダンサーＤの表示位置をセーブする処理を行う（ステップＳ２５）。例えば、画面構成記憶部１７６に決定された表示位置をセーブする処理を行う。以上で処理を終了する。
【０１２３】
８．指示表示物の設定の応用例
本実施形態では、マットＭの表示位置にかかわらず、ダンサーＤを画面上の任意の位置に配置できるようにしてもよい。例えば、プレーヤの表示制御用の入力情報に基づいて、ダンサーＤの表示位置を決定する。そして、決定された表示位置に基づいて、仮想カメラの位置、向き、画角の少なくとも１つを制御し、制御された仮想カメラの位置、向き、画角に基づいて画像を生成する処理を行う。そして、ダンサーＤの表示位置に基づいて、マットＭの表示位置を決定するようにしてもよい。かかる場合には、表示比率等のダンサーＤとマットＭとの重なり度合いに基づいて、マットＭの表示位置を決めるようにしてもよい。
【０１２４】
９．音楽ゲームの応用例１
本実施形態では、種々の音楽ゲームに応用することができる。例えば、図１６に示すように、プレーヤが入力部１６０を用いてギターの模擬的な演奏を行うことが可能なゲームシステム（画像生成装置）に応用してもよい。例えば、このようなゲームシステムでは、楽曲データの再生に連動して、予め定義付けれた複数の基準タイミングと入力部１６０で検出された入力タイミングとを比較してプレーヤの入力を評価する処理を行う。そして、各基準タイミングに対応する指示マーク６０が、基準タイミングにおいて基準位置Ｏに達するように、各指示マーク６０を所定経路５０上で移動させる指示表示物Ｉ（指示画像、楽譜表示物）を含む画像を生成する処理を行う。
【０１２５】
本実施形態では、所定条件下で、指示表示物Ｉを所定表示位置とは異なる表示位置に設定するようにしてもよい。より具体的に説明すると、図１７に示すように、指示表示物Ｉを、画面の左側に移動させて設定するようにしてもよいし、図１８に示すように、指示表示物Ｉを画面の上側に移動させて設定するようにしてもよい。
【０１２６】
また、本実施形態では、所定条件下で、指示表示物Ｉの大きさを変更してもよい。例えば、縮小用の入力情報に基づいて、指示表示物Ｉの基準点（例えば、中心点）を中心に縮小したり、拡大用の入力情報に基づいて、指示表示物Ｉの基準点を中心に拡大させたりしてもよい。
【０１２７】
また、所定条件下で、指示表示物Ｉの向きを変更してもよい。例えば、向き変更用の入力情報に基づいて、指示表示物Ｉを９０度回転させるようにしてもよい。また、本実施形態では、所定条件下で、指示表示物Ｉの形状を変更するようにしてもよい。例えば、図１６では指示表示物Ｉが台形であるが、変形用の入力情報に基づいて、各頂点を移動させて指示表示物Ｉの形状を変形するようにしてもよい。
【０１２８】
１０．音楽ゲームの応用例２
本実施形態では、図１９に示すように、プレーヤが入力部１６０を用いて和太鼓の模擬的な演奏を行うことが可能なゲームシステム（画像生成装置）に応用してもよい。例えば、このようなゲームシステムでは、楽曲データの再生に連動して、予め定義付けれた複数の基準タイミングと入力部１６０で検出された入力タイミングとを比較してプレーヤの入力を評価する処理を行う。例えば、各基準タイミングに対応する指示マーク６０が、基準タイミングにおいて基準位置Ｏに達するように、各指示マーク６０を所定経路５０上で移動させる指示表示物Ｉ（指示画像、楽譜表示物）を含む画像を生成する。
【０１２９】
本実施形態では、図２０に示すように、指示表示物Ｉを、画面の下方向に移動させて設定するようにしてもよい。例えば、指示マーク６０、６１が所定経路５０上を移動方向ｖに移動する表示態様であるので、移動方向ｖに対して垂直な方向に指示表示物Ｉを移動させて設定するようにしてもよい。つまり、図１９に示すように、指示表示物Ｉが左右方向へ移動すると、指示表示物Ｉの一部が見えなくなってしまい難易度が増してしまう。そこで、指示表示物の表示態様が指示マーク６０を移動方向ｖにスクロール表示させるものである場合には、指示表示物Ｉを移動方向ｖに対して垂直方向に移動させることを可能している。つまり、図１９の例では、上下方向に指示表示物Ｉを移動させて設定する。このようにすれば、スクロール制御による表示態様に変化はないので、移動後においてプレーヤは違和感を感じることなく、プレーヤは好きな位置に、指示表示物Ｉを配置することができる。
【０１３０】
また、本実施形態では、図２１に示すように、所定条件下で、指示表示物Ｉの向きを変更してもよい。例えば、向き変更用の入力情報に基づいて、指示表示物Ｉを９０度回転させるようにしてもよい。かかる場合には、スクロールする移動方向ｖも指示表示物Ｉと同時に向きが変更されるので、移動方向ｖに対して垂直な方向（例えば、左右方向）に指示表示物Ｉを移動させることを可能とする。
【０１３１】
また、本実施形態では、所定条件下で、指示表示物Ｉの形状を変更するようにしてもよい。また、本実施形態では、所定条件下で、指示表示物Ｉの大きさを変更してもよい。例えば、縮小用の入力情報に基づいて、指示表示物Ｉの基準点（例えば、中心点）を中心に縮小したり、拡大用の入力情報に基づいて、指示表示物Ｉの基準点を中心に拡大させたりしてもよい。
【０１３２】
なお、本実施形態では、指示表示物Ｉの優先度が最も高くなるようにし、例えば、指示表示物Ｉと表示物７０が重複する場合には、優先度の高い指示表示物Ｉが指示表示物７０の上に上書きするように描画してもよい。また、複数のプレーヤがゲームを行うマルチプレイゲームの場合には、各プレーヤの指示表示物を設定し、各指示表示部が互いに重複しないように制御してもよい。
【符号の説明】
【０１３３】
１１１  受け付け部、１１２  再生部、１１３  設定部、１１４  評価部、
１１５  ゲーム演算部、１１６  セーブ処理部、
１２０  画像生成部、１３０  音生成部、
１６０  入力部、１６１  コントローラ、１６２  検出部、
１６３  マット型コントローラ、１６４  検出部、
１７０  記憶部、１７１  主記憶部、１７２  画像バッファ、
１７３  表示物データ記憶部、１７４  楽曲データ記憶部、
１７５  譜面データ記憶部、１７６  画面構成記憶部、
１７７  動作データ記憶部、１７８  所定表示位置記憶部、
１８０  情報記憶媒体、１９０  表示部、
１９２  音出力部、１９６  通信部
【図１】
2011101752.tif 000003
【図９】
2011101752.tif 000004
【図１０】
2011101752.tif 000005
【図１５】
2011101752.tif 000006
【図１６】
2011101752.tif 000007
【図１７】
2011101752.tif 000008
【図１８】
2011101752.tif 000009
【図１９】
2011101752.tif 000010
【図２０】
2011101752.tif 000011
【図２１】
2011101752.tif 000012
【図２２】
2011101752.tif 000013
【図２】
2011101752.tif 000014
【図３】
2011101752.tif 000015
【図４】
2011101752.tif 000016
【図５】
2011101752.tif 000017
【図６】
2011101752.tif 000018
【図７】
2011101752.tif 000019
【図８】
2011101752.tif 000020
【図１１】
2011101752.tif 000021
【図１２】
2011101752.tif 000022
【図１３】
2011101752.tif 000023
【図１４】
2011101752.tif 000024