(57)【特許請求の範囲】
【請求項１】
仮想３次元空間に配置されたキャラクタを仮想スクリーンに投影する画像処理装置であって、
前記仮想３次元空間は、一定数の物体がそれぞれ所定の位置に存在することが推定される３次元実空間を模擬したものであり、
前記キャラクタは、前記物体を模擬したものであり、
前記一定数よりも少ない所定の複数個のキャラクタを前記仮想３次元空間に配置するキャラクタ配置部と、
前記キャラクタ配置部により配置された各キャラクタについて、他のキャラクタとの距離が規定値以下であるキャラクタを抽出するキャラクタ抽出部と、
少なくとも前記キャラクタ抽出部により抽出されたキャラクタが、前記仮想３次元空間の所定の位置に配置された仮想カメラの視界内に入るように、前記仮想カメラの最小の水平画角を設定する画角設定部と、
前記画角設定部により設定された水平画角に従って前記仮想スクリーンを設定し、前記視界内に位置するキャラクタを前記仮想スクリーンに投影し、２次元の投影画像データを生成する投影画像生成部とを備える画像処理装置。
【請求項２】
前記キャラクタ抽出部は、各キャラクタについて、他のキャラクタとの距離の平均値を個別平均距離として求め、前記個別平均距離が前記規定値以下であるキャラクタを抽出する請求項１記載の画像処理装置。
【請求項３】
仮想３次元空間に配置されたキャラクタを仮想スクリーンに投影する画像処理プログラムであって、
前記仮想３次元空間は、一定数の物体がそれぞれ所定の位置に存在することが推定される３次元実空間を模擬したものであり、
前記キャラクタは、前記物体を模擬したものであり、
前記一定数よりも少ない所定の複数個のキャラクタを前記仮想３次元空間に配置するキャラクタ配置部と、
前記キャラクタ配置部により配置された各キャラクタについて、他のキャラクタとの距離が規定値以下であるキャラクタを抽出するキャラクタ抽出部と、
少なくとも前記キャラクタ抽出部により抽出されたキャラクタが、前記仮想３次元空間の所定の位置に配置された仮想カメラの視界内に入るように、前記仮想カメラの最小の水平画角を設定する画角設定部と、
前記画角設定部により設定された水平画角に従って前記仮想スクリーンを設定し、前記視界内に位置するキャラクタを前記仮想スクリーンに投影し、２次元の投影画像データを生成する投影画像生成部としてコンピュータを機能させる画像処理プログラム。
【請求項４】
仮想３次元空間に配置されたキャラクタを仮想スクリーンに投影する画像処理方法であって、
前記仮想３次元空間は、一定数の物体がそれぞれ所定の位置に存在することが推定される３次元実空間を模擬したものであり、
前記キャラクタは、前記物体を模擬したものであり、
コンピュータが、前記一定数よりも少ない所定の複数個のキャラクタを前記仮想３次元空間に配置するキャラクタ配置ステップと、
コンピュータが、前記キャラクタ配置ステップにより配置された各キャラクタについて、他のキャラクタとの距離が規定値以下であるキャラクタを抽出するキャラクタ抽出ステップと、
コンピュータが、少なくとも前記キャラクタ抽出ステップにより抽出されたキャラクタが、前記仮想３次元空間の所定の位置に配置された仮想カメラの視界内に入るように、前記仮想カメラの最小の水平画角を設定する画角設定ステップと、
コンピュータが、前記画角設定ステップにより設定された水平画角に従って前記仮想スクリーンを設定し、前記視界内に位置するキャラクタを前記仮想スクリーンに投影し、２次元の投影画像データを生成する投影画像生成ステップとを備える画像処理方法。 
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、仮想３次元空間に配置されたキャラクタを仮想スクリーンに投影する画像処理技術に関するものである。
【背景技術】
【０００２】
近年、ビデオゲームでは、リアル性を高めるために３次元コンピュータアニメーションを用いてキャラクタを表示することが行われている。例えば、特許文献１では障害物が邪魔になってキャラクタが画面上に表示されなくなることを防止するために、視点とキャラクタとを結ぶ視線上に障害物がある場合、視線と障害物のキャラクタ側の面との交点に視点を設定するビデオゲーム装置が開示されている。
【０００３】
また、このようなビデオゲームでは、プレーヤにゲームの概要を紹介するために、３次元コンピュータアニメーションを用いたデモシーンが表示されることが一般的である。
【０００４】
ここで、デモシーンはゲームの実行中に表示される画像ではないため、データ量や処理量を極力抑制することが好ましい。そこで、例えば、野球ゲームのデモシーンにおいては、本来、９個の守備のキャラクタを表示対象のキャラクタとするべきところを、例えば５個のキャラクタを描画対象のキャラクタとして設定してデモシーンが作成されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００３−１３５８４４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、このように描画対象のキャラクタを５個に絞ると、以下の問題が発生する。例えば５個のキャラクタを内野手のキャラクタとし、これら５個の内野手のキャラクタがベンチから移動している様子を、やや斜め上方から仮想カメラで撮影した場合を考察する。
【０００７】
この場合、５個のキャラクタの全員が固まって移動していれば、仮想カメラの画角をそれほど広げる必要がないため問題はない。しかしながら、例えば１個のキャラクタが他の４個のキャラクタに対して突出して離れて移動している場合、全ての描画対象のキャラクタを仮想カメラの視界に収めようとすると仮想カメラの画角を広角に設定する必要がある。そうすると、外野のフィールドが仮想カメラの視界に入ってくるため、外野手のキャラクタを表示するべきであるが、外野手のキャラクタは描画対象のキャラクタではないため画面上に表示されず、プレーヤに違和感を与えてしまう。
【０００８】
そのため、従来、デモシーンを担当するゲームデザイナーは、外野フィールドが視界に入るようなシーンを避けて、３個ないし５個のキャラクタが固まって移動するような内野におけるデモシーンをデザインしたり、或いは、描画対象から除外されたキャラクタが本来位置する場所が仮想カメラの視界に入らないように仮想カメラを配置したりというように、デモシーンのデザインに大きな制約が課されていた。
【０００９】
本発明の目的は、描画対象となるキャラクタの個数を本来描画されるべきキャラクタの個数よりも少なくした場合であっても、プレーヤに違和感を与えることのない投影画像データを生成する画像処理装置等を提供することである。
【課題を解決するための手段】
【００１０】
（１）本発明による画像処理装置は、仮想３次元空間に配置されたキャラクタを仮想スクリーンに投影する画像処理装置であって、前記仮想３次元空間は、一定数の物体がそれぞれ所定の位置に存在することが推定される３次元実空間を模擬したものであり、前記キャラクタは、前記物体を模擬したものであり、前記一定数よりも少ない所定の複数個のキャラクタを前記仮想３次元空間に配置するキャラクタ配置部と、前記キャラクタ配置部により配置された各キャラクタについて、他のキャラクタとの距離が規定値以下であるキャラクタを抽出するキャラクタ抽出部と、少なくとも前記キャラクタ抽出部により抽出されたキャラクタが、前記仮想３次元空間の所定の位置に配置された仮想カメラの視界内に入るように、前記仮想カメラの最小の水平画角を設定する画角設定部と、前記画角設定部により設定された水平画角に従って前記仮想スクリーンを設定し、前記視界内に位置するキャラクタを前記仮想スクリーンに投影し、２次元の投影画像データを生成する投影画像生成部とを備える。
【００１１】
本発明による画像処理プログラムは、仮想３次元空間に配置されたキャラクタを仮想スクリーンに投影する画像処理プログラムであって、前記仮想３次元空間は、一定数の物体がそれぞれ所定の位置に存在することが推定される３次元実空間を模擬したものであり、前記キャラクタは、前記物体を模擬したものであり、前記一定数よりも少ない所定の複数個のキャラクタを前記仮想３次元空間に配置するキャラクタ配置部と、前記キャラクタ配置部により配置された各キャラクタについて、他のキャラクタとの距離が規定値以下であるキャラクタを抽出するキャラクタ抽出部と、少なくとも前記キャラクタ抽出部により抽出されたキャラクタが、前記仮想３次元空間の所定の位置に配置された仮想カメラの視界内に入るように、前記仮想カメラの最小の水平画角を設定する画角設定部と、前記画角設定部により設定された水平画角に従って前記仮想スクリーンを設定し、前記視界内に位置するキャラクタを前記仮想スクリーンに投影し、２次元の投影画像データを生成する投影画像生成部としてコンピュータを機能させる。
【００１２】
本発明による画像処理方法は、仮想３次元空間に配置されたキャラクタを仮想スクリーンに投影する画像処理方法であって、前記仮想３次元空間は、一定数の物体がそれぞれ所定の位置に存在することが推定される３次元実空間を模擬したものであり、前記キャラクタは、前記物体を模擬したものであり、コンピュータが、前記一定数よりも少ない所定の複数個のキャラクタを前記仮想３次元空間に配置するキャラクタ配置ステップと、コンピュータが、前記キャラクタ配置ステップにより配置された各キャラクタについて、他のキャラクタとの距離が規定値以下であるキャラクタを抽出するキャラクタ抽出ステップと、コンピュータが、少なくとも前記キャラクタ抽出ステップにより抽出されたキャラクタが、前記仮想３次元空間の所定の位置に配置された仮想カメラの視界内に入るように、前記仮想カメラの最小の水平画角を設定する画角設定ステップと、コンピュータが、前記画角設定ステップにより設定された水平画角に従って前記仮想スクリーンを設定し、前記視界内に位置するキャラクタを前記仮想スクリーンに投影し、２次元の投影画像データを生成する投影画像生成ステップとを備える。
【００１３】
これらの構成によれば、一定人数よりも少ない複数個のキャラクタが仮想３次元空間に配置される。そして、配置された各キャラクタについて他のキャラクタとの距離が求められ、この距離が規定値以下のキャラクタが抽出される。そして、抽出されたキャラクタが少なくとも仮想カメラの視界内に入るように仮想カメラの最小の水平画角が設定される。そして、設定された水平画角に従って仮想スクリーンが設定され、仮想スクリーンに視界内のキャラクタが投影され、投影画像データが生成される。
【００１４】
ここで、一定人数とは、例えば野球ゲームにおいては、所定の守備位置に着く９個の守備のキャラクタが該当し、一定人数よりも少ない複数個とは、９個の守備のキャラクタから描画対象として絞られた例えば５個の守備キャラクタが該当する。
【００１５】
この場合、固まって位置する多数のキャラクタに対して突出して離れて位置する数個のキャラクタを視界に含ませるために画角を不必要に大きくすると、描画対象から省いたキャラクタが本来位置すると推定される位置が視界内に入る虞がある。
【００１６】
上記構成によれば、固まって位置するキャラクタに対して突出して離れて位置するようなキャラクタは表示対象のキャラクタからは排除され、固まって位置するキャラクタのみが選択されて仮想カメラの画角が設定される。その結果、画角が不必要に大きくされないので、描画対象から省かれたキャラクタ（例えば、モデル化された５個の守備キャラクタ以外の４個の守備キャラクタ）が本来存在することが推定される位置を視界に含ませないようにする可能性を高くすることができる。仮に、本来見えるべき守備キャラクタの欠落が生じたとしても、１個程度と欠落数を少なく抑制できるので、違和感を感じる表示にはならない。これにより、デモシーンのデザイナーは、画角や仮想カメラの視線についての制約が緩和され、デモシーンの対象を、例えば内野の選手のみに限定する必要はなく、外野も含めることができるので、デモシーンを自由にデザインすることができる。
【００１７】
（２）前記キャラクタ抽出部は、各キャラクタについて、他のキャラクタとの距離の平均値を個別平均距離として求め、前記個別平均距離が前記規定値以下であるキャラクタを抽出することが好ましい。
【００１８】
この構成によれば、他の各キャラクタとの距離の平均値である個別平均距離が求められ、この個別平均距離が規定値以下のキャラクタが抽出されている。そのため、固まって位置する多数のキャラクタと、これら多数のキャラクタに対して突出して離れて位置しているキャラクタとが存在する場合、多数のキャラクタのみを精度良く抽出することができる。
【００１９】
（３）前記キャラクタ抽出部は、各キャラクタについて求めた前記個別平均距離の平均値を全体平均距離として求め、全体平均距離に応じた値を前記規定値として設定することが好ましい。
【００２０】
この構成によれば、各キャラクタの個別平均距離の平均値である全体平均距離が求められ、この全体平均距離から規定値が設定される。そのため、仮想３次元空間に配置されるキャラクタ間の距離に応じて最適な規定値を設定することができる。
【００２１】
（４）前記キャラクタ抽出部は、前記全体平均距離に１以上、１．５以下の係数を乗じた値を前記規定値として設定することが好ましい。
【００２２】
キャラクタが２つのグループに分かれて位置している場合、個別平均距離の平均値である全体平均距離はキャラクタの多いグループの個別平均値に近い値を持つことになる。また、キャラクタの少ないグループの個別平均値はキャラクタの多いグループの個別平均値よりも小さい値を持つことになる。
【００２３】
そのため、全体平均距離に１以上、１．５以下の係数を乗じて、規定値を全体平均距離より少し大きな値に設定することで、規定値をキャラクタの多いグループの個別平均距離よりも大きくキャラクタの少ないグループの個別平均距離よりも小さい値に設定することができる。その結果、キャラクタの多いグループのキャラクタのみを抽出することが可能となる。
【００２４】
（５）前記複数個のキャラクタは、それぞれ、表示する際の重要度が予め定められ、前記画角設定部は、前記キャラクタ抽出部により抽出されたキャラクタのうち、前記重要度が最大のキャラクタが前記視界の中央に位置するように前記水平画角を設定することが好ましい。
【００２５】
この構成によれば、デモシーンを担当するゲームデザイナーは、描画対象のキャラクタの重要度を予め設定しておくことで、視線をきめ細かく設定しなくても、重要度が最高のキャラクタを常に画面の中央に表示させることができる。なお、ここでの重要度とは、例えば野球ゲームの場合であれば、選手キャラクタや、選手キャラクタが対応する現実世界の選手の人気の大きさ、前回ゲームにおける選手キャラクタの活躍度（ファインプレーの有無等）、ポジション（野手よりも投手を重要とみなす等）、プレイヤがそのキャラクタに対して注目する可能性が高い要素についての優先順位である。
【００２６】
（６）前記投影画像生成部は、前記キャラクタ配置部によって配置された複数個のキャラクタのうち、前記キャラクタ抽出部により抽出されなかったキャラクタであっても、前記視界内に位置するキャラクタは前記仮想スクリーンに投影することが好ましい。
【００２７】
この構成によれば、他のキャラクタに対して突出して離れて位置するキャラクタであっても、仮想カメラの視界内に位置すれば描画処理が適用されて画面に表示されるため、キャラクタ配置部により配置されたキャラクタを余すことなく表示することができ、迫力のある画像を表示することができる。
【００２８】
（７）前記仮想３次元空間は、団体競技が行われる競技場のフィールドを模擬したものであり、前記物体は、前記団体競技を行う人物であることが好ましい。
【００２９】
この構成によれば、野球ゲームのような３次元コンピュータアニメーションを採用する団体競技を模擬したゲームのデモシーンを再現するうえで有用な画像処理装置を提供することができる。
【００３０】
（８）前記視界は、前記水平画角の最小値を内角とする第１及び第２境界線によって規定され、前記画角設定部は、前記キャラクタ抽出部により抽出されたキャラクタのうち、前記水平画角の２等分線から前記第１境界線側への角度が最大となる場所に位置する第１キャラクタに接するように、又は前記第１キャラクタ及び前記第１境界線間の距離が一定の距離を保つように前記第１境界線を設定し、前記キャラクタ抽出部により抽出されたキャラクタのうち、前記２等分線から前記第２境界線側への角度が最大となる場所に位置する第２キャラクタに接するように、又は前記第２キャラクタ及び前記第２境界線間の距離が一定距離を保つように前記第２境界線を設定することが好ましい。
【００３１】
この構成によれば、視界の両端のキャラクタが視界からはみ出ないように水平画角を設定することができる。
【発明の効果】
【００３２】
本発明によれば、画角が不必要に大きくされず、描画対象から省いたキャラクタが本来位置することが推定される位置を視界に含ませないようにすることができる。これにより、デモシーンのデザイナーは、画角や仮想カメラの視線についての制約が緩和され、デモシーンを自由にデザインすることができる。
【図面の簡単な説明】
【００３３】
【図１】本発明の実施の形態による画像処理装置を家庭用のゲーム装置に適用した場合のゲーム装置のブロック図を示している。
【図２】本発明の実施の形態による画像処理装置が実行する描画処理の概要を示した模式図である。
【図３】キャラクタの３次元モデルを模式的に示した図である。
【図４】図１に示すキャラクタ抽出部によるキャラクタ抽出処理の説明図である。
【図５】キャラクタが２つのグループに分かれて位置している場合のキャラクタ抽出処理の説明図である。
【図６】（Ａ）は仮想３次元空間に設定された水平画角及び仮想スクリーンを示した図であり、（Ｂ）は投影画像データを示した図である。
【図７】（Ａ）、（Ｂ）は画角設定部２３による水平画角の設定処理を説明する図である。
【図８】図１に示す画角設定部がキャラクタの重要度を考慮に入れて水平画角を設定する処理を示す図である。
【図９】図１に示す投影画像生成部により投影変換対象とされるキャラクタを示した図である。
【図１０】図１に示すゲーム装置がデモシーンに対して行う描画処理を示したフローチャートである。
【図１１】キャラクタ抽出処理の詳細を示すフローチャートである。
【図１２】本発明の実施の形態による描画処理により生成されたデモシーンの一例を示した図である。
【発明を実施するための形態】
【００３４】
図１は、本発明の実施の形態による画像処理装置を家庭用のゲーム装置に適用した場合のゲーム装置のブロック図を示している。本画像処理装置は、仮想３次元空間に配置されたキャラクタを仮想スクリーンに投影する描画処理を行う。ここで、仮想３次元空間は、一定数の物体がそれぞれ所定の位置に存在することが推定される３次元実空間を模擬したものである。具体的には、仮想３次元空間は、団体競技が行われる競技場のフィールドを模擬したものである。以下、団体競技として野球を例に挙げて説明するため、競技場のフィールドは野球場のフィールドとなる。但し、本発明はこれに限定されず、団体競技として、野球以外のサッカー、ラグビー、アメリカンフットボール、ホッケー等の種々の団体競技を採用してもよい。
【００３５】
野球は１チーム９名の選手から構成され、これら９名の選手がそれぞれの守備位置に着いて競技が行われるため、上記「一定数」としては、野球ゲームでは「９」を想定している。なお、これは一例に過ぎず、「一定数」には、９名の選手に加えてバッターボックスに立つ打者を含めてもよいし、審判を含めてもよいし、コーチボックスに立つランナーコーチを含めても良い。要するに、フィールド内において所定の位置に着くことが想定される選手が「一定数」となる。
【００３６】
また、本ゲーム装置をサッカーゲームに適用した場合、２２名の選手がフィールド内に位置するため、「一定数」としては２２名となる。但し、これは一例であり、審判を含めても良い。
【００３７】
また、キャラクタは、物体を模擬したものである。ここで、物体としては、例えば、団体競技を行う際に所定の位置に着くことが想定される選手や審判が該当する。したがって、キャラクタとしては、人物を模擬した３次元モデルを採用することができる。なお、物体として人物に限定されず、動物、自動車、自転車等を採用してもよい。
【００３８】
図１に示すゲーム装置は、操作部１０、制御部２０、記憶部３０、及び表示部４０を備えている。操作部１０は、プレーヤが操作指令を入力するために用いられる入力デバイスであり、いわゆる、ゲームコントローラである。具体的には、操作部１０は、例えばスティック、十字キー、及びセレクトキー等を備えている。ここで、プレーヤの操作指令としては、例えば、キャラクタをゲーム空間内で移動させるための移動指令や、ゲームを開始するためのゲーム開始指令等が含まれる。
【００３９】
制御部２０は、ＣＰＵ、ＲＯＭ、ＲＡＭ、及びＧＰＵ等から構成され、ゲーム装置全体を制御する。具体的には、制御部２０は、キャラクタ配置部２１、キャラクタ抽出部２２、画角設定部２３、及び投影画像生成部２４を備えている。
【００４０】
キャラクタ配置部２１〜投影画像生成部２４は、コンピュータをゲーム装置として機能させるためのゲーム制御プログラムをＣＰＵが実行することで実現される。このゲーム制御プログラムには、本発明による画像制御プログラムが含まれている。ゲーム制御プログラムは、ＤＶＤ−ＲＯＭ等のコンピュータ読み取り可能な記録媒体に記録されて市場に流通されている。プレーヤはこの記録媒体を購入し、購入した記録媒体をゲーム装置が備える図略の記録媒体駆動装置に挿入することで、ＣＰＵにゲーム制御プログラムを実行させる。なお、ゲーム装置がインターネットに接続することが可能であれば、インターネット上のサーバからゲーム制御プログラムをダウンロードすることで、プレーヤにゲーム制御プログラムを取得させるようにしてもよい。
【００４１】
本実施の形態では、ゲームとして例えば、野球ゲームを想定しているが、本発明はこれに限定されず、野球ゲーム以外の種々のゲームに適用可能である。つまり、本発明による画像処理装置は、仮想３次元空間内をキャラクタが移動するような３次元コンピュータアニメーションを用いるゲームであれば、どのようなゲームにも適用することができる。
【００４２】
特に本画像処理装置が実行する描画処理は、野球ゲームのデモシーンに対して有効である。野球ゲームのデモシーンでは、全選手のキャラクタに対して描画処理を行うと、描画処理の負担が増大するため、描画処理の対象となるキャラクタの個数を絞り、そのキャラクタに対して描画処理が行われる場合が多い。このようなケースに対して本描画処理を適用すると、デモシーンのデザイナーは、画角や仮想カメラの視線についての制約が緩和されデモシーンを自由にデザインすることができる。
【００４３】
図２は、本発明の実施の形態による画像処理装置が実行する描画処理の概要を示した模式図である。図２では、仮想３次元空間を真上から見た状況が示されている。図２の例では、キャラクタＣ１〜Ｃ５の５個のキャラクタが描画対象のキャラクタとされている。ここで、キャラクタＣ１〜Ｃ５は例えば内野手のキャラクタである。そして、図２の例では、外野手が守備位置に着いており、内野手がベンチから守備位置に向けて移動しているシーンを想定している。また、仮想カメラＣＭは視線がホームベースからレフトの守備位置に向くように配置されている。
【００４４】
キャラクタＣ０１，Ｃ０２は描画対象とされなかったキャラクタであり、例えば、キャラクタＣ０１がレフト、キャラクタＣ０２がセンターのキャラクタであるとする。描画対象となるキャラクタＣ１〜Ｃ５を全て描画しようとすると、仮想カメラＣＭの水平画角θｈを少なくともθ２に設定する必要がある。すると、レフトのキャラクタＣ０１の守備位置とセンターのキャラクタＣ０２の守備位置とが仮想カメラＣＭの視界に入る。
【００４５】
しかしながら、キャラクタＣ０１，Ｃ０２は描画対象ではないため水平画角θｈ＝θ２としてレンダリングした場合、得られる２次元の投影画像データにはキャラクタＣ０１，Ｃ０２が表示されない。よって、レフト及びセンターの守備位置に本来存在するはずのキャラクタＣ０１，Ｃ０２が表示されず、プレーヤに違和感を与えてしまう。
【００４６】
そこで、本画像処理装置では、描画対象となるキャラクタＣ１〜Ｃ５のうち、他のキャラクタＣ１〜Ｃ４に対して突出して離れて位置しているキャラクタＣ５を考慮に入れず仮想カメラＣＭの水平画角θｈを設定する。そして、固まって位置しているキャラクタＣ１〜Ｃ４のみが視界に入るように水平画角θｈをθｈ＝θ１から狭めてθｈ＝θ１に設定する。こうすることで、レフト及びセンターの守備位置が視界から外れ、プレーヤに違和感を与えることを防止することができる。
【００４７】
なお、本画像処理装置による描画処理は、ゲームに限定されず、例えばゲーム以外の一般的なコンピュータグラフィックスに適用してもよい。また、本実施の形態では、ゲーム装置は、仮想３次元空間内を移動するキャラクタを所定のフレームレート（例えば、１／６０秒）でレンダリングする。
【００４８】
図１に戻り、キャラクタ配置部２１は、一定数よりも少ない所定の複数個のキャラクタを仮想３次元空間に配置する。野球ゲームにおいては、上述したように一定数として９名を想定しているため、複数個とは、９未満、２以上の値が採用される。野球ゲームのデモシーンにおいては、通常、３〜５個のキャラクタが描画対象とされるため、以下の説明では、複数個として５個を例に挙げて説明する。
【００４９】
図３は、キャラクタＣの３次元モデルを模式的に示した図である。図３に示すようにキャラクタＣは、人間を模擬したスケルトンモデルである。スケルトンモデルは、複数のボーンＢＮと各ボーンＢＮを繋ぐノードＮＤとを含んでいる。各ボーンＢＮは、腕、足、胴体、顔等に相当する外皮ＳＫで覆われている。
【００５０】
水平面ＳＦは仮想３次元空間内に設けられた平面であり、人間が歩く地表面を想定したものである。本実施の形態では、仮想３次元空間は、互いに直交するＸ，Ｙ，Ｚの３軸の座標によって各位置が規定される。水平面ＳＦは、Ｚ＝０、かつ、Ｘ−Ｙ平面と平行な面に設定されている。
【００５１】
キャラクタ配置部２１は、野球ゲームのデモシーンを進行するうえで予め定められたキャラクタＣのモーションパターンにしたがってキャラクタＣの姿勢を設定する。ここで、モーションパターンとしては、例えば、フレーム毎にキャラクタＣの姿勢を規定するデータが採用されている。具体的には、モーションパターンは、各ノードＮＤを中心とする各ボーンＢＮの回転量及び回転速度、並びに種々の拘束条件を含む。拘束条件としては、例えば、上腕のノードＮＤと下腕のノードＮＤとは所定度以上回転できない、キャラクタＣは水平面ＳＦ上を移動する等が挙げられる。また、キャラクタ配置部２１は、キャラクタＣのみに対して規定されるローカル座標空間内でキャラクタＣの姿勢を設定する。
【００５２】
また、キャラクタ配置部２１は、デモシーンを進行するうえで予め定められたキャラクタＣの移動情報にしたがって、キャラクタＣを仮想３次元空間であるグローバル座標空間内で移動させる。ここで、移動情報としては、例えば、キャラクタＣのグローバル座標空間における初期の位置と、フレーム毎のキャラクタＣの移動速度が含まれている。
【００５３】
デモシーンが開始されると、キャラクタ配置部２１は、まず、初期の位置Ｋ（ｉ＝０）にキャラクタＣを配置する。そして、キャラクタ配置部２１は、フレーム毎に規定された移動速度ＶＣ（ｉ）にフレーム周期を乗じてキャラクタＣの次フレームの位置Ｋ（ｉ＋１）を求め、その位置Ｋ（ｉ＋１）にキャラクタＣを配置することでキャラクタＣを移動させる。なお、移動速度ＶＣ（ｉ）は、大きさと方向とを含むベクトルで規定されているため、キャラクタ配置部２１は、現フレームの移動速度ＶＣ（ｉ）にフレーム周期Ｔを乗じてキャラクタＣの移動距離ＶＤ（ｉ）を求め、現フレームのキャラクタＣの位置Ｋ（ｉ）から現フレームの移動速度ＶＣ（ｉ）が規定する方向に移動距離ＶＤ（ｉ）だけ離れた位置をキャラクタＣの次フレームの位置Ｋ（ｉ＋１）として求めればよい。
【００５４】
本実施の形態では、キャラクタＣは水平面ＳＦ上を移動するため、グローバル座標空間におけるキャラクタＣの位置としては、Ｘ成分とＹ成分とからなる２次元データが採用されている。
【００５５】
そして、キャラクタ配置部２１は、グローバル座標空間で求めたキャラクタＣの位置にローカル座標空間で設定した姿勢のキャラクタＣを配置する処理をフレーム毎に繰り返し実行し、仮想３次元空間内でキャラクタＣを移動させていく。
【００５６】
図１に戻り、キャラクタ抽出部２２は、キャラクタ配置部２１により配置された各キャラクタＣについて、他のキャラクタとの距離の平均値を個別平均距離として求め、個別平均距離が規定値ＴＨ１以下であるキャラクタを抽出する。
【００５７】
図４は、キャラクタ抽出部２２によるキャラクタ抽出処理の説明図である。図４では、仮想３次元空間を真上から見たときの５個のキャラクタＣ１〜Ｃ５の位置が二重丸を用いて模式的に示されている。
【００５８】
キャラクタ抽出部２２は、まず、キャラクタＣ１を個別平均距離の算出対象のキャラクタとして特定する。そして、キャラクタＣ１について他の４個のキャラクタＣ２〜Ｃ５との距離ｄ１２，ｄ１３，ｄ１４，ｄ１５をそれぞれ求める。そして、距離ｄ１２〜ｄ１５の和を４で割り、距離ｄ１２〜ｄ１５の平均値を求め、この平均値をキャラクタＣ１の個別平均距離Ｄ１として算出する。他のキャラクタＣ２〜Ｃ５についてもキャラクタＣ１と同様にして、個別平均距離Ｄ２〜Ｄ４を求める。そして、キャラクタＣ１〜Ｃ５の個別平均距離Ｄ１〜Ｄ５の平均値を全体平均距離ＤＴとして求める。そして、全体平均距離ＤＴに所定の係数ｋ１を乗じ、規定値ＴＨ１（＝ｋ１・ＤＴ）を設定する。
【００５９】
ここで、係数ｋ１としては、例えば、突出して離れて位置するキャラクタＣと固まって位置するキャラクタＣとを精度良く区別することができるような規定値ＴＨ１を設定することができる値を採用することが好ましい。具体的には、係数ｋ１としては、例えば１≦ｋ１≦１．５を採用することが好ましく、より好ましくは１．１≦ｋ１≦１．４であり、更に好ましくはｋ＝１．２である。但し、これらの値は一例にすぎず、係数ｋ１として、１未満、或いは、１．５より大きい値を採用してもよい。
【００６０】
そして、キャラクタ抽出部２２は、個別平均距離Ｄ１〜Ｄ５が規定値ＴＨ１以下のキャラクタＣを仮想カメラＣＭの視界に含めるキャラクタＣとして抽出する。例えば、図４の例において、個別平均距離Ｄ１〜Ｄ４がそれぞれ規定値ＴＨ１以下であり、個別平均距離Ｄ５が規定値ＴＨ１より大きかったとすると、キャラクタＣ１〜Ｃ４が抽出される。
【００６１】
このようなキャラクタ抽出処理を用いることで、突出して離れているキャラクタを精度よく抽出することが可能となる。例えば、図４に示すように１個のキャラクタＣ５のみが突出して離れている場合、その個別平均距離Ｄ５は、規定値ＴＨ１より大きくなるため、キャラクタＣ５を抽出対象から除外することができる。
【００６２】
また、キャラクタＣ１〜Ｃ５が固まって位置しており、且つ、互いの個別平均距離Ｄ１〜Ｄ５がほぼ同一の場合、上記のように係数ｋ１の影響により、規定値ＴＨ１は、ＴＨ１＞個別平均距離Ｄ１〜Ｄ５となり、キャラクタＣ１〜Ｃ５が全て抽出されることになる。つまり、固まって位置するキャラクタが全て抽出される。
【００６３】
但し、５個のキャラクタＣ１〜Ｃ５の互いの距離が長距離である場合、且つ、互いの距離がほぼ同一の場合、つまり、キャラクタＣ１〜Ｃ５が野球場のフィールド内で点在している場合であっても、キャラクタＣ１〜Ｃ５が全て抽出されてしまう。この場合、野球場のフィールドの全域が仮想カメラＣＭの視界に入ることになり、キャラクタＣが位置することが推定される守備位置にキャラクタＣが存在していないため、本画像処理装置の目的を達成できない虞がある。しかしながら、本画像処理装置は、デモシーンを想定しており、そもそも、キャラクタＣ１〜Ｃ５が野球場のフィールド内に広く点在するようなデモシーンをデザインするようなケースは稀であるため、キャラクタＣが広く点在しているような場合については本発明の対象外とすればよい。
【００６４】
また、図５に示すように２個のキャラクタＣ４，Ｃ５が固まって位置するグループＧ１と、３個のキャラクタＣ１〜Ｃ３が固まっているグループＧ２とに分かれて５個のキャラクタＣ１〜Ｃ５が配置される場合も想定される。この場合、グループＧ２の方がグループＧ１よりもキャラクタＣの個数が多いため、全体平均距離ＤＴは、グループＧ１のキャラクタＣの個別平均値よりも、グループＧ２のキャラクタＣの個別平均値に近い値を持つと考えられる。また、グループＧ１のキャラクタＣはグループＧ２のキャラクタＣに対して離れて位置しているため、グループＧ２のキャラクタＣの個別平均値は、グループＧ１のキャラクタＣの個別平均値よりも小さくなると考えられる。したがって、ｋ１＝１．２程度の値に設定すると、規定値ＴＨ１は、全体平均距離ＤＴより少し大きな値を持つことになり、グループＧ１のキャラクタＣの個別平均値とグループＧ２のキャラクタＣの個別平均値との中間程度の値を持つことができる。よって、個別平均値が規定値ＴＨ１以下のキャラクタＣを抽出する処理を実行すると、グループＧ２のキャラクタＣのみが抽出される可能性を高めることができる。
【００６５】
一方、係数ｋ１を大きくし過ぎると、グループＧ１のキャラクタＣの個別平均値も規定値ＴＨ１以下となってしまい、グループＧ１のキャラクタＣも抽出される可能性が高まってしまう。したがって、係数ｋ１としては１．２程度の値を採用することが好ましい。なお、グループＧ１とグループＧ２との間の距離が大きいほど、グループＧ１，Ｇ２間の個別平均値の差がより顕著となるため、個別平均値が規定値ＴＨ１以下のキャラクタＣを抽出する処理を実行することで、グループＧ２のキャラクタＣのみを抽出できる可能性が高くなる。
【００６６】
図２に戻り、画角設定部２３は、少なくともキャラクタ抽出部２２により抽出されたキャラクタＣが、仮想３次元空間の所定の位置に配置された仮想カメラＣＭの視界内に入るように、仮想カメラＣＭの最小の水平画角θｈを設定する。
【００６７】
図６（Ａ）は、仮想３次元空間に設定された水平画角θｈ及び仮想スクリーンＳＣを示した図である。図６（Ｂ）は投影画像データを示した図である。
【００６８】
図３（Ａ）に示すように、画角は、仮想カメラＣＭを中心に仮想スクリーンＳＣの左端から右端までの画角である水平画角θｈと、仮想カメラＣＭを中心に仮想スクリーンＳＣの上端から下端までの画角である垂直画角θｖとによって規定される。
【００６９】
ここで、画角設定部２３は、水平画角θｈと垂直画角θｖとの比が、仮想スクリーンＳＣの水平方向の辺Ｈ１と鉛直方向の辺Ｈ２の比と同じになるように水平画角θｈと垂直画角θｖとを設定する。辺Ｈ１と辺Ｈ２との比としては、通常のテレビモニタの比を採用することができる。また、辺Ｈ１は水平面ＳＦと平行になるように設定される。
【００７０】
したがって、仮想カメラＣＭを頂点とし、水平画角θｈと垂直画角θｖとによって規定される四角錐状の領域が仮想カメラＣＭの視界となる。つまり、視界は、仮想カメラＣＭと仮想スクリーンＳＣの左上の頂点Ｕ１とを繋ぐ直線Ｌ１と、仮想カメラＣＭと仮想スクリーンＳＣの右上の頂点Ｕ２とを繋ぐ直線Ｌ２と、仮想カメラＣＭと仮想スクリーンＳＣの左下の頂点Ｕ３とを繋ぐ直線Ｌ３と、仮想カメラＣＭと仮想スクリーンＳＣの右下の頂点Ｕ４とを繋ぐ直線Ｌ４とによって囲まれる領域である。
【００７１】
本実施の形態では、画角設定部２３は、まず、水平画角θｈを設定し、その後で、辺Ｈ１と辺Ｈ２との比にしたがって、垂直画角θｖを設定するものとする。
【００７２】
また、本実施の形態では、仮想カメラＣＭは視線ＬＥが仮想スクリーンＳＣの中心Ｐに位置するように配置されているため、直線Ｌ１〜Ｌ４は仮想カメラＣＭから仮想スクリーンＳＣの対応する頂点Ｕ１〜Ｕ４までの距離が同一となる。以下、直線Ｌ１，Ｌ３を視界の左側の境界を定める境界線ＢＤ１（第１境界線の一例）と定義し、直線Ｌ２，Ｌ４を視界の右側の境界を定める境界線ＢＤ２（第２境界線の一例）と定義する。
【００７３】
図７（Ａ）、（Ｂ）は画角設定部２３による水平画角の設定処理を説明する図である。なお、図７（Ａ）、（Ｂ）は仮想３次元空間を真上から見た状態を示している。図７（Ａ）は両端に位置するキャラクタＣ１，Ｃ４に接するように境界線ＢＤ１，ＢＤ２を設定した場合を示し、図７（Ｂ）は両端に位置するキャラクタＣ１，Ｃ４が境界線ＢＤ１，ＢＤ２から一定の距離を保つように境界線ＢＤ１，ＢＤ２を設定した場合を示している。また、図７の例では、キャラクタＣ１〜Ｃ５のうちキャラクタＣ１〜Ｃ４がキャラクタ抽出部２２により抽出されたものとする。
【００７４】
図７（Ａ）に示すように、画角設定部２３は、キャラクタ抽出部２２により抽出されたキャラクタＣ１〜Ｃ４のうち、水平画角θｈの２等分線ＢＤ３から境界線ＢＤ１側への角度が最大となる場所に位置するキャラクタＣ１を左端に位置するキャラクタとして特定する。また、画角設定部２３は、キャラクタ抽出部２２により抽出されたキャラクタＣ１〜Ｃ４のうち、２等分線ＢＤ３から境界線ＢＤ２側への角度が最大となる場所に位置するキャラクタＣ４を左端に位置するキャラクタとして特定する。
【００７５】
そして、画角設定部２３は、左端に位置するキャラクタＣ１に接するように境界線ＢＤ１を設定すると共に、右端に位置するキャラクタＣ４に接するように境界線ＢＤ２を設定する。本実施の形態では、キャラクタＣ１の位置Ｋ１は水平面ＳＦ上で定義され、その位置Ｋ１の垂線上にキャラクタの重心に位置するようにキャラクタＣ１が配置される。したがって、境界線ＢＤ１の水平面ＳＦへの投影線が位置Ｋ１を通るように境界線ＢＤ１を設定すると、キャラクタＣ１の一部が視界からはみ出てしまう。
【００７６】
そこで、画角設定部２３は、キャラクタＣ１の水平面ＳＦへの投影領域が境界線ＢＤ１の水平面ＳＦへの投影線と接するように境界線ＢＤ１を設定することが好ましい。また、画角設定部２３は、境界線ＢＤ２についても境界線ＢＤ１と同様、キャラクタＣ４の水平面ＳＦへの投影領域が境界線ＢＤ２の水平面ＳＦへの投影線と接するように設定することが好ましい。こうすることで、両端のキャラクタＣ１，Ｃ４の一部が視界からはみ出ることを防止することができる。
【００７７】
ここで、図７（Ａ）のように境界線ＢＤ１，ＢＤ２を設定すると、両端のキャラクタＣ１，Ｃ４が表示画面の左右の両端に接して表示されてしまう。
【００７８】
これを避けるために、画角設定部２３は、図７（Ａ）に代えて図７（Ｂ）に示すように境界線ＢＤ１，ＢＤ２を設定してもよい。すなわち、画角設定部２３は、左端に位置するキャラクタＣ１及び境界線ＢＤ１間の距離が一定の距離α１を保つように境界線ＢＤ１を設定してもよい。具体的には、距離α１は、キャラクタＣ１の水平面ＳＦへの投影領域から境界線ＢＤ１までの距離である。ここで、距離α１としては、距離α１の弧ＡＲ１に対する比が一定の比（例えば２％、５％等）となる値を採用すればよい。なお、弧ＡＲ１は、仮想カメラＣＭから位置Ｋ１までを半径とし、中心角が水平画角θｈの弧である。
【００７９】
また、画角設定部２３は、境界線ＢＤ２についても境界線ＢＤ１と同様、キャラクタＣ４の水平面ＳＦへの投影領域が境界線ＢＤ２の水平面ＳＦへの投影線に対して距離α１離れるように設定することが好ましい。
【００８０】
こうすることで、両端のキャラクタＣ１，Ｃ４を表示画面の左右の両端から少し間隔を空けて表示させることができる。
【００８１】
図７（Ａ）、（Ｂ）に示すように境界線ＢＤ１，ＢＤ２を設定することで、画角設定部２３は、キャラクタ抽出部２２により抽出されたキャラクタＣ１〜Ｃ４が少なくとも仮想カメラＣＭの視界に入るような最小の角度で水平画角θｈを設定することができる。
【００８２】
図２に戻り、画角設定部２３は、キャラクタ抽出部２２により抽出されたキャラクタのうち、重要度が最大のキャラクタが視界の中央に位置するように水平画角θｈを設定してもよい。ここで、重要度は描画対象のキャラクタＣ１〜Ｃ５のそれぞれに対して予め定められており、重要度記憶部３２に記憶されているものとする。ここで、重要度とは、例えば選手キャラクタや、選手キャラクタが対応する現実世界の選手の人気の大きさ、前回ゲームにおける選手キャラクタの活躍度（ファインプレーの有無等）、ポジション（野手よりも投手を重要とみなす等）、プレイヤがそのキャラクタに対して注目する可能性が高い要素についての優先順位である。
【００８３】
図８は、画角設定部２３がキャラクタＣの重要度を考慮に入れて水平画角θｈを設定する処理を示す図である。図８の例では、キャラクタ抽出部２２によりキャラクタＣ１〜Ｃ４が抽出され、キャラクタＣ１〜Ｃ５の順で重要度が高く設定されている。したがって、画角設定部２３は、水平画角θｈの２等分線ＢＤ３の水平面ＳＦへの投影線が、キャラクタＣ１の位置Ｋ１を通るように２等分線ＢＤ３を設定する。
【００８４】
そして、この２等分線ＢＤ３から境界線ＢＤ１側への角度が最大となる左端のキャラクタＣ２と、２等分線ＢＤ３から境界線ＢＤ２側への角度が最大となる右端のキャラクタＣ３とを特定する。そして、左端のキャラクタＣ２と２等分線ＢＤ３との角度β１と右端のキャラクタＣ３と２等分線ＢＤ３との角度β２とを求める。
【００８５】
そして、角度β１と角度β２とを比較し、大きい方の角度β１に対応するキャラクタＣ２に対して、図７（Ａ）又は（Ｂ）の手法を用いて境界線ＢＤ１を設定する。そして、境界線ＢＤ２と２等分線ＢＤ３とのなす角度が境界線ＢＤ１と２等分線ＢＤ３とのなす角度θｈ／２となるように境界線ＢＤ２を設定する。
【００８６】
以上により、重要度が最大のキャラクタを画面の中央に表示することができる。つまり、デモシーンのデザイナーは、各キャラクタＣの重要度を予め設定しておくことで、キャラクタ抽出処理によって抽出されたキャラクタＣのうち重要度が最高のキャラクタが常に画面の中央に表示させることができる。
【００８７】
図２に戻り、投影画像生成部２４は、画角設定部２３により設定された水平画角θｈに従って仮想スクリーンＳＣを設定し、仮想カメラＣＭの視界内に位置するキャラクタＣを仮想スクリーンＳＣに投影変換し、２次元の投影画像データを生成する。
【００８８】
ここで、投影画像生成部２４は、図６（Ａ）に示すように、画角設定部２３により設定された水平画角θｈと垂直画角θｖとによって規定される四角錐の断面が仮想スクリーンＳＣの面積として予め定められた一定面積となる位置に仮想スクリーンＳＣを設定する。そして、仮想カメラＣＭから仮想スクリーンＳＣの中心Ｐを通る直線を視線ＬＥとして設定する。
【００８９】
そして、投影画像生成部２４は、設定した仮想スクリーンＳＣに視界内に位置するキャラクタＣを投影変換することで２次元の投影画像データを生成する。ここで、投影画像生成部２４は、仮想３次元空間にキャラクタＣの背景となる野球場の３次元モデルも仮想スクリーンＳＣに投影変換する。このとき、投影画像生成部２４は、シェーディング処理、テクスチャマッピング処理、及び隠面消去処理等も併せて行う。これにより、キャラクタＣが仮想スクリーンＳＣにレンダリングされ、図６（Ｂ）に示すような投影画像データが生成される。
【００９０】
そして、投影画像生成部２４は、生成した投影画像データを所定のフレームレートで表示部４０に表示させる。これにより、３次元コンピュータアニメーションが実現される。図６（Ｂ）に示すように投影画像データの中心Ｐが仮想スクリーンＳＣと視線ＬＥとの交点となっていることが分かる。
【００９１】
図９は、投影画像生成部２４により投影変換対象とされるキャラクタを示した図である。図９の例では、キャラクタＣ１〜Ｃ４がキャラクタ抽出処理により抽出されたキャラクタである。キャラクタＣ５はキャラクタ抽出処理により抽出されなかったキャラクタである。この場合、画角設定部２３は、キャラクタＣ１〜Ｃ４のみ考慮に入れ、キャラクタＣ５を考慮することなく境界線ＢＤ１，ＢＤ２を設定し、水平画角θｈを設定する。
【００９２】
しかしながら、仮想カメラＣＭとキャラクタＣ５との位置関係によっては、仮想カメラＣＭの視界内にキャラクタＣ５が入るケースも発生する。
【００９３】
この場合、投影画像生成部２４は、キャラクタ抽出部２２により抽出されなかったキャラクタＣ５であっても、キャラクタＣ５が視界内に位置すれば、キャラクタＣ５を仮想スクリーンＳＣに投影変換する。
【００９４】
こうすることで、他のキャラクタＣ１〜Ｃ４に対して突出して離れて位置するキャラクタＣ５であっても、仮想カメラＣＭの視界内に位置すれば描画処理が適用されて画面に表示されるため、キャラクタ配置部２１により配置されたキャラクタを余すことなく表示することができ、迫力のある画像を表示することができる。
【００９５】
図２に戻り、記憶部３０は、例えば、ＲＯＭ、ＲＡＭ、ハードディスク等の記憶装置から構成され、キャラクタ情報記憶部３１、重要度記憶部３２、及びフィールド情報記憶部３３を備えている。これらの記憶部は、ＣＰＵがゲーム制御プログラムを実行することで実現される。
【００９６】
キャラクタ情報記憶部３１は、描画対象となる複数個のキャラクタＣのそれぞれに対するモーションパターン及び移動情報を記憶する。重要度記憶部３２は、描画対象となる複数個のキャラクタＣのそれぞれの重要度を記憶している。この重要度は、デモシーンのデザイナーがデモシーンを生成する際に予め設定したものである。フィールド情報記憶部３３は、キャラクタＣの背景となる野球場の３次元モデルを記憶する。
【００９７】
図１０は、図１に示すゲーム装置がデモシーンに対して行う描画処理を示したフローチャートである。このフローチャートの１ループは１フレームに対応している。まず、キャラクタ配置部２１は、キャラクタＣ１〜Ｃ５のそれぞれに対して予め設定された移動情報にしたがって仮想３次元空間におけるキャラクタＣ１〜Ｃ５の位置を求め、その位置にキャラクタＣ１〜Ｃ５を配置する（ステップＳ１）。このとき、キャラクタ配置部２１は、キャラクタＣ１〜Ｃ５のそれぞれに対して予め設定されたモーションパターンにしたがってキャラクタＣ１〜Ｃ５の姿勢を設定する。
【００９８】
次に、キャラクタ抽出部２２は、キャラクタ抽出処理を実行し、固まって位置しているキャラクタを抽出する（ステップＳ２）。ここでは、図４に示すように、キャラクタＣ１〜Ｃ４が固まって位置しており、キャラクタＣ５がキャラクタＣ１〜Ｃ４に対して離れて位置していたため、キャラクタＣ１〜Ｃ４が抽出されたものとする。
【００９９】
次に、画角設定部２３は、抽出したキャラクタＣ１〜Ｃ４のうち、重要度が最大のキャラクタＣを特定する（ステップＳ３）。ここでは、キャラクタＣ１〜Ｃ４のうち、キャラクタＣ１の重要度が最も高かったとする。
【０１００】
次に、画角設定部２３は、図８に示すように、キャラクタＣ１を通るように２等分線ＢＤ３を設定する（ステップＳ４）。次に、画角設定部２３は、図８に示すように、２等分線ＢＤ３から境界線ＢＤ１側への角度β１が最大となる左端に位置するキャラクタＣ２を特定し、かつ、２等分線ＢＤ３から境界線ＢＤ２側への角度β２が最大となる右端に位置するキャラクタＣ３を特定する（ステップＳ５）。
【０１０１】
次に、画角設定部２３は、図８に示すように、角度β１と角度β２とを比較し、角度β１≧角度β２の場合（ステップＳ６でＹＥＳ）、左端のキャラクタＣ２を基準に境界線ＢＤ１を設定する（ステップＳ７）。次に、画角設定部２３は、境界線ＢＤ１と２等分線ＢＤ３との角度をθｈ／２とし、境界線ＢＤ２と２等分線ＢＤ３とのなす角度がθｈ／２となるように、２等分線ＢＤ３を挟んで境界線ＢＤ１とは反対側に境界線ＢＤ２を設定する（ステップＳ８）。
【０１０２】
一方、画角設定部２３は、角度β１＜角度β２の場合（ステップＳ６でＮＯ）、図８に示すように、右端のキャラクタＣ３を基準に境界線ＢＤ２を設定する（ステップＳ９）。次に、画角設定部２３は、境界線ＢＤ２と２等分線ＢＤ３との角度をθｈ／２とし、境界線ＢＤ１と２等分線ＢＤ３とのなす角度がθｈ／２となるように、２等分線ＢＤ３を挟んで境界線ＢＤ２の反対側に境界線ＢＤ１を設定する（ステップＳ１０）。
【０１０３】
次に、画角設定部２３は、境界線ＢＤ１，ＢＤ２とのなす角度を水平画角θｈとして設定する（ステップＳ１１）。次に、画角設定部２３は、θｈ：θｖ＝Ｈ１：Ｈ２となるように垂直画角θｖを設定する（ステップＳ１２）。
【０１０４】
次に、投影画像生成部２４は、水平画角θｈと垂直画角θｖとによって規定される四角錐状の断面が一定面積となる位置に仮想スクリーンＳＣを設定する（ステップＳ１３）。次に、投影画像生成部２４は、視界内に位置するキャラクタＣ１〜Ｃ４及び野球場の３次元モデルを仮想スクリーンに投影し、投影画像データを生成する（ステップＳ１４）。次に、投影画像生成部２４は、生成した投影画像データをフレームバッファに描画し、投影画像データを表示部４０に表示する（ステップＳ１５）。そして、処理がステップＳ１に戻され、次フレームに対する描画処理が行われる。
【０１０５】
図１１は、キャラクタ抽出処理の詳細を示すフローチャートである。まず、キャラクタ抽出部２２は、個別平均距離Ｄｉの算出対象となる１個のキャラクタＣｉを特定する（ステップＳ２１）。ここでは、キャラクタＣ１〜Ｃ５の順でキャラクタＣが特定されるものとする。
【０１０６】
次に、キャラクタ抽出部２２は、キャラクタＣｉと他の４個のキャラクタＣとのそれぞれの距離ｄｉｊを求める（ステップＳ２２）。但し、ｉ＝１〜５、ｊ＝１〜５、ｉ≠ｊであり、ｉは１個のキャラクタを特定するためのインデックスであり、ｊは他の１個のキャラクタを特定するためにインデックスである。次に、キャラクタ抽出部２２は、距離ｄｉｊの平均値を算出し、キャラクタＣｉの個別平均距離Ｄｉを算出する（ステップＳ２３）。
【０１０７】
次に、キャラクタ抽出部２２は、全キャラクタＣ１〜Ｃ５についての個別平均距離Ｄ１〜Ｄ５の算出が終了した場合（ステップＳ２４でＹＥＳ）、処理をステップＳ２５に進め、終了していない場合（ステップＳ２４でＮＯ）、処理をステップＳ２１に戻し、次のキャラクタＣｉに対して個別平均距離Ｄｉを算出する。
【０１０８】
ステップＳ２５において、キャラクタ抽出部２２は、個別平均距離Ｄ１〜Ｄ５の平均を全体平均距離ＤＴとして算出する。次に、キャラクタ抽出部２２は、全体平均距離ＤＴに係数ｋ１を乗じ、規定値ＴＨ１を設定する（ステップＳ２６）。
【０１０９】
次に、キャラクタ抽出部２２は、個別平均距離Ｄｉが規定値ＴＨ１以下のキャラクタＣを抽出し（ステップＳ２７）、処理を図１０のステップＳ３にリターンさせる。
【０１１０】
図１２は、本発明の実施の形態による描画処理により生成されたデモシーンの一例を示した図である。図１２に示すデモシーンは、例えばキャラクタＣ１〜Ｃ３が自身の守備位置に向かってベンチから移動しているシーンを示している。ここで、図１２では隠れているが、キャラクタＣ４，Ｃ５も描画対象のキャラクタとされている。すなわち、キャラクタＣ４，Ｃ５はキャラクタＣ１〜Ｃ５に対して離れて位置しており、個別平均距離Ｄ４，Ｄ５が規定値ＴＨ１以下であった。そのため、少なくともキャラクタＣ１〜Ｃ３が仮想カメラＣＭの視界に入るように画角が設定された。また、キャラクタＣ４，Ｃ５は設定された画角によって規定される仮想カメラＣＭの視界に入っていなかった。その結果、キャラクタＣ１〜Ｃ３のみが表示され、キャラクタＣ４，Ｃ５が表示されないたデモシーンが生成された。
【符号の説明】
【０１１１】
１０  操作部
２０  制御部
２１  キャラクタ配置部
２２  キャラクタ抽出部
２３  画角設定部
２４  投影画像生成部
３０  記憶部
３１  キャラクタ情報記憶部
３２  重要度記憶部
３３  フィールド情報記憶部
４０  表示部
ＢＤ１  境界線（第１境界線）
ＢＤ２  境界線（第２境界線）
ＢＤ３  ２等分線
Ｃ１〜Ｃ５  Ｃｉ  キャラクタ
ＣＭ  仮想カメラ
ＳＣ  仮想スクリーン
ＴＨ１  規定値
θｈ  水平画角
【図１】
0005420518.tif 000002
【図２】
0005420518.tif 000003
【図３】
0005420518.tif 000004
【図４】
0005420518.tif 000005
【図５】
0005420518.tif 000006
【図６】
0005420518.tif 000007
【図７】
0005420518.tif 000008
【図８】
0005420518.tif 000009
【図９】
0005420518.tif 000010
【図１０】
0005420518.tif 000011
【図１１】
0005420518.tif 000012
【図１２】
0005420518.tif 000013