説明

画像処理装置、画像処理プログラム、及び画像処理方法

【課題】表示対象となるキャラクタの個数を本来表示されるべきキャラクタの個数よりも少なくした場合であっても、プレーヤに違和感を与えることのない投影画像データを生成する画像処理装置等を提供する。
【解決手段】描画対象となるキャラクタC1〜C5のうち、他のキャラクタC1〜C4に対して突出して離れて位置しているキャラクタC5を考慮に入れず仮想カメラCMの画角を設定する。そして、固まって位置しているキャラクタC1〜C4のみが視界に入るように水平画角θhをθh=θ2から狭めてθh=θ1に設定する。こうすることで、レフト及びセンターの守備位置が視界から外れ、プレーヤに違和感を与えることを防止することができる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、仮想3次元空間に配置されたキャラクタを仮想スクリーンに投影する画像処理技術に関するものである。
【背景技術】
【0002】
近年、ビデオゲームでは、リアル性を高めるために3次元コンピュータアニメーションを用いてキャラクタを表示することが行われている。例えば、特許文献1では障害物が邪魔になってキャラクタが画面上に表示されなくなることを防止するために、視点とキャラクタとを結ぶ視線上に障害物がある場合、視線と障害物のキャラクタ側の面との交点に視点を設定するビデオゲーム装置が開示されている。
【0003】
また、このようなビデオゲームでは、プレーヤにゲームの概要を紹介するために、3次元コンピュータアニメーションを用いたデモシーンが表示されることが一般的である。
【0004】
ここで、デモシーンはゲームの実行中に表示される画像ではないため、データ量や処理量を極力抑制することが好ましい。そこで、例えば、野球ゲームのデモシーンにおいては、本来、9個の守備のキャラクタを表示対象のキャラクタとするべきところを、例えば5個のキャラクタを描画対象のキャラクタとして設定してデモシーンが作成されている。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2003−135844号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、このように描画対象のキャラクタを5個に絞ると、以下の問題が発生する。例えば5個のキャラクタを内野手のキャラクタとし、これら5個の内野手のキャラクタがベンチから移動している様子を、やや斜め上方から仮想カメラで撮影した場合を考察する。
【0007】
この場合、5個のキャラクタの全員が固まって移動していれば、仮想カメラの画角をそれほど広げる必要がないため問題はない。しかしながら、例えば1個のキャラクタが他の4個のキャラクタに対して突出して離れて移動している場合、全ての描画対象のキャラクタを仮想カメラの視界に収めようとすると仮想カメラの画角を広角に設定する必要がある。そうすると、外野のフィールドが仮想カメラの視界に入ってくるため、外野手のキャラクタを表示するべきであるが、外野手のキャラクタは描画対象のキャラクタではないため画面上に表示されず、プレーヤに違和感を与えてしまう。
【0008】
そのため、従来、デモシーンを担当するゲームデザイナーは、外野フィールドが視界に入るようなシーンを避けて、3個ないし5個のキャラクタが固まって移動するような内野におけるデモシーンをデザインしたり、或いは、描画対象から除外されたキャラクタが本来位置する場所が仮想カメラの視界に入らないように仮想カメラを配置したりというように、デモシーンのデザインに大きな制約が課されていた。
【0009】
本発明の目的は、描画対象となるキャラクタの個数を本来描画されるべきキャラクタの個数よりも少なくした場合であっても、プレーヤに違和感を与えることのない投影画像データを生成する画像処理装置等を提供することである。
【課題を解決するための手段】
【0010】
(1)本発明による画像処理装置は、仮想3次元空間に配置されたキャラクタを仮想スクリーンに投影する画像処理装置であって、前記仮想3次元空間は、一定数の物体がそれぞれ所定の位置に存在することが推定される3次元実空間を模擬したものであり、前記キャラクタは、前記物体を模擬したものであり、前記一定数よりも少ない所定の複数個のキャラクタを前記仮想3次元空間に配置するキャラクタ配置部と、前記キャラクタ配置部により配置された各キャラクタについて、他のキャラクタとの距離が規定値以下であるキャラクタを抽出するキャラクタ抽出部と、少なくとも前記キャラクタ抽出部により抽出されたキャラクタが、前記仮想3次元空間の所定の位置に配置された仮想カメラの視界内に入るように、前記仮想カメラの最小の水平画角を設定する画角設定部と、前記画角設定部により設定された水平画角に従って前記仮想スクリーンを設定し、前記視界内に位置するキャラクタを前記仮想スクリーンに投影し、2次元の投影画像データを生成する投影画像生成部とを備える。
【0011】
本発明による画像処理プログラムは、仮想3次元空間に配置されたキャラクタを仮想スクリーンに投影する画像処理プログラムであって、前記仮想3次元空間は、一定数の物体がそれぞれ所定の位置に存在することが推定される3次元実空間を模擬したものであり、前記キャラクタは、前記物体を模擬したものであり、前記一定数よりも少ない所定の複数個のキャラクタを前記仮想3次元空間に配置するキャラクタ配置部と、前記キャラクタ配置部により配置された各キャラクタについて、他のキャラクタとの距離が規定値以下であるキャラクタを抽出するキャラクタ抽出部と、少なくとも前記キャラクタ抽出部により抽出されたキャラクタが、前記仮想3次元空間の所定の位置に配置された仮想カメラの視界内に入るように、前記仮想カメラの最小の水平画角を設定する画角設定部と、前記画角設定部により設定された水平画角に従って前記仮想スクリーンを設定し、前記視界内に位置するキャラクタを前記仮想スクリーンに投影し、2次元の投影画像データを生成する投影画像生成部としてコンピュータを機能させる。
【0012】
本発明による画像処理方法は、仮想3次元空間に配置されたキャラクタを仮想スクリーンに投影する画像処理方法であって、前記仮想3次元空間は、一定数の物体がそれぞれ所定の位置に存在することが推定される3次元実空間を模擬したものであり、前記キャラクタは、前記物体を模擬したものであり、コンピュータが、前記一定数よりも少ない所定の複数個のキャラクタを前記仮想3次元空間に配置するキャラクタ配置ステップと、コンピュータが、前記キャラクタ配置ステップにより配置された各キャラクタについて、他のキャラクタとの距離が規定値以下であるキャラクタを抽出するキャラクタ抽出ステップと、コンピュータが、少なくとも前記キャラクタ抽出ステップにより抽出されたキャラクタが、前記仮想3次元空間の所定の位置に配置された仮想カメラの視界内に入るように、前記仮想カメラの最小の水平画角を設定する画角設定ステップと、コンピュータが、前記画角設定ステップにより設定された水平画角に従って前記仮想スクリーンを設定し、前記視界内に位置するキャラクタを前記仮想スクリーンに投影し、2次元の投影画像データを生成する投影画像生成ステップとを備える。
【0013】
これらの構成によれば、一定人数よりも少ない複数個のキャラクタが仮想3次元空間に配置される。そして、配置された各キャラクタについて他のキャラクタとの距離が求められ、この距離が規定値以下のキャラクタが抽出される。そして、抽出されたキャラクタが少なくとも仮想カメラの視界内に入るように仮想カメラの最小の水平画角が設定される。そして、設定された水平画角に従って仮想スクリーンが設定され、仮想スクリーンに視界内のキャラクタが投影され、投影画像データが生成される。
【0014】
ここで、一定人数とは、例えば野球ゲームにおいては、所定の守備位置に着く9個の守備のキャラクタが該当し、一定人数よりも少ない複数個とは、9個の守備のキャラクタから描画対象として絞られた例えば5個の守備キャラクタが該当する。
【0015】
この場合、固まって位置する多数のキャラクタに対して突出して離れて位置する数個のキャラクタを視界に含ませるために画角を不必要に大きくすると、描画対象から省いたキャラクタが本来位置すると推定される位置が視界内に入る虞がある。
【0016】
上記構成によれば、固まって位置するキャラクタに対して突出して離れて位置するようなキャラクタは表示対象のキャラクタからは排除され、固まって位置するキャラクタのみが選択されて仮想カメラの画角が設定される。その結果、画角が不必要に大きくされないので、描画対象から省かれたキャラクタ(例えば、モデル化された5個の守備キャラクタ以外の4個の守備キャラクタ)が本来存在することが推定される位置を視界に含ませないようにする可能性を高くすることができる。仮に、本来見えるべき守備キャラクタの欠落が生じたとしても、1個程度と欠落数を少なく抑制できるので、違和感を感じる表示にはならない。これにより、デモシーンのデザイナーは、画角や仮想カメラの視線についての制約が緩和され、デモシーンの対象を、例えば内野の選手のみに限定する必要はなく、外野も含めることができるので、デモシーンを自由にデザインすることができる。
【0017】
(2)前記キャラクタ抽出部は、各キャラクタについて、他のキャラクタとの距離の平均値を個別平均距離として求め、前記個別平均距離が前記規定値以下であるキャラクタを抽出することが好ましい。
【0018】
この構成によれば、他の各キャラクタとの距離の平均値である個別平均距離が求められ、この個別平均距離が規定値以下のキャラクタが抽出されている。そのため、固まって位置する多数のキャラクタと、これら多数のキャラクタに対して突出して離れて位置しているキャラクタとが存在する場合、多数のキャラクタのみを精度良く抽出することができる。
【0019】
(3)前記キャラクタ抽出部は、各キャラクタについて求めた前記個別平均距離の平均値を全体平均距離として求め、全体平均距離に応じた値を前記規定値として設定することが好ましい。
【0020】
この構成によれば、各キャラクタの個別平均距離の平均値である全体平均距離が求められ、この全体平均距離から規定値が設定される。そのため、仮想3次元空間に配置されるキャラクタ間の距離に応じて最適な規定値を設定することができる。
【0021】
(4)前記キャラクタ抽出部は、前記全体平均距離に1以上、1.5以下の係数を乗じた値を前記規定値として設定することが好ましい。
【0022】
キャラクタが2つのグループに分かれて位置している場合、個別平均距離の平均値である全体平均距離はキャラクタの多いグループの個別平均値に近い値を持つことになる。また、キャラクタの少ないグループの個別平均値はキャラクタの多いグループの個別平均値よりも小さい値を持つことになる。
【0023】
そのため、全体平均距離に1以上、1.5以下の係数を乗じて、規定値を全体平均距離より少し大きな値に設定することで、規定値をキャラクタの多いグループの個別平均距離よりも大きくキャラクタの少ないグループの個別平均距離よりも小さい値に設定することができる。その結果、キャラクタの多いグループのキャラクタのみを抽出することが可能となる。
【0024】
(5)前記複数個のキャラクタは、それぞれ、表示する際の重要度が予め定められ、前記画角設定部は、前記キャラクタ抽出部により抽出されたキャラクタのうち、前記重要度が最大のキャラクタが前記視界の中央に位置するように前記水平画角を設定することが好ましい。
【0025】
この構成によれば、デモシーンを担当するゲームデザイナーは、描画対象のキャラクタの重要度を予め設定しておくことで、視線をきめ細かく設定しなくても、重要度が最高のキャラクタを常に画面の中央に表示させることができる。なお、ここでの重要度とは、例えば野球ゲームの場合であれば、選手キャラクタや、選手キャラクタが対応する現実世界の選手の人気の大きさ、前回ゲームにおける選手キャラクタの活躍度(ファインプレーの有無等)、ポジション(野手よりも投手を重要とみなす等)、プレイヤがそのキャラクタに対して注目する可能性が高い要素についての優先順位である。
【0026】
(6)前記投影画像生成部は、前記キャラクタ配置部によって配置された複数個のキャラクタのうち、前記キャラクタ抽出部により抽出されなかったキャラクタであっても、前記視界内に位置するキャラクタは前記仮想スクリーンに投影することが好ましい。
【0027】
この構成によれば、他のキャラクタに対して突出して離れて位置するキャラクタであっても、仮想カメラの視界内に位置すれば描画処理が適用されて画面に表示されるため、キャラクタ配置部により配置されたキャラクタを余すことなく表示することができ、迫力のある画像を表示することができる。
【0028】
(7)前記仮想3次元空間は、団体競技が行われる競技場のフィールドを模擬したものであり、前記物体は、前記団体競技を行う人物であることが好ましい。
【0029】
この構成によれば、野球ゲームのような3次元コンピュータアニメーションを採用する団体競技を模擬したゲームのデモシーンを再現するうえで有用な画像処理装置を提供することができる。
【0030】
(8)前記視界は、前記水平画角の最小値を内角とする第1及び第2境界線によって規定され、前記画角設定部は、前記キャラクタ抽出部により抽出されたキャラクタのうち、前記水平画角の2等分線から前記第1境界線側への角度が最大となる場所に位置する第1キャラクタに接するように、又は前記第1キャラクタ及び前記第1境界線間の距離が一定の距離を保つように前記第1境界線を設定し、前記キャラクタ抽出部により抽出されたキャラクタのうち、前記2等分線から前記第2境界線側への角度が最大となる場所に位置する第2キャラクタに接するように、又は前記第2キャラクタ及び前記第2境界線間の距離が一定距離を保つように前記第2境界線を設定することが好ましい。
【0031】
この構成によれば、視界の両端のキャラクタが視界からはみ出ないように水平画角を設定することができる。
【発明の効果】
【0032】
本発明によれば、画角が不必要に大きくされず、描画対象から省いたキャラクタが本来位置することが推定される位置を視界に含ませないようにすることができる。これにより、デモシーンのデザイナーは、画角や仮想カメラの視線についての制約が緩和され、デモシーンを自由にデザインすることができる。
【図面の簡単な説明】
【0033】
【図1】本発明の実施の形態による画像処理装置を家庭用のゲーム装置に適用した場合のゲーム装置のブロック図を示している。
【図2】本発明の実施の形態による画像処理装置が実行する描画処理の概要を示した模式図である。
【図3】キャラクタの3次元モデルを模式的に示した図である。
【図4】図1に示すキャラクタ抽出部によるキャラクタ抽出処理の説明図である。
【図5】キャラクタが2つのグループに分かれて位置している場合のキャラクタ抽出処理の説明図である。
【図6】(A)は仮想3次元空間に設定された水平画角及び仮想スクリーンを示した図であり、(B)は投影画像データを示した図である。
【図7】(A)、(B)は画角設定部23による水平画角の設定処理を説明する図である。
【図8】図1に示す画角設定部がキャラクタの重要度を考慮に入れて水平画角を設定する処理を示す図である。
【図9】図1に示す投影画像生成部により投影変換対象とされるキャラクタを示した図である。
【図10】図1に示すゲーム装置がデモシーンに対して行う描画処理を示したフローチャートである。
【図11】キャラクタ抽出処理の詳細を示すフローチャートである。
【図12】本発明の実施の形態による描画処理により生成されたデモシーンの一例を示した図である。
【発明を実施するための形態】
【0034】
図1は、本発明の実施の形態による画像処理装置を家庭用のゲーム装置に適用した場合のゲーム装置のブロック図を示している。本画像処理装置は、仮想3次元空間に配置されたキャラクタを仮想スクリーンに投影する描画処理を行う。ここで、仮想3次元空間は、一定数の物体がそれぞれ所定の位置に存在することが推定される3次元実空間を模擬したものである。具体的には、仮想3次元空間は、団体競技が行われる競技場のフィールドを模擬したものである。以下、団体競技として野球を例に挙げて説明するため、競技場のフィールドは野球場のフィールドとなる。但し、本発明はこれに限定されず、団体競技として、野球以外のサッカー、ラグビー、アメリカンフットボール、ホッケー等の種々の団体競技を採用してもよい。
【0035】
野球は1チーム9名の選手から構成され、これら9名の選手がそれぞれの守備位置に着いて競技が行われるため、上記「一定数」としては、野球ゲームでは「9」を想定している。なお、これは一例に過ぎず、「一定数」には、9名の選手に加えてバッターボックスに立つ打者を含めてもよいし、審判を含めてもよいし、コーチボックスに立つランナーコーチを含めても良い。要するに、フィールド内において所定の位置に着くことが想定される選手が「一定数」となる。
【0036】
また、本ゲーム装置をサッカーゲームに適用した場合、22名の選手がフィールド内に位置するため、「一定数」としては22名となる。但し、これは一例であり、審判を含めても良い。
【0037】
また、キャラクタは、物体を模擬したものである。ここで、物体としては、例えば、団体競技を行う際に所定の位置に着くことが想定される選手や審判が該当する。したがって、キャラクタとしては、人物を模擬した3次元モデルを採用することができる。なお、物体として人物に限定されず、動物、自動車、自転車等を採用してもよい。
【0038】
図1に示すゲーム装置は、操作部10、制御部20、記憶部30、及び表示部40を備えている。操作部10は、プレーヤが操作指令を入力するために用いられる入力デバイスであり、いわゆる、ゲームコントローラである。具体的には、操作部10は、例えばスティック、十字キー、及びセレクトキー等を備えている。ここで、プレーヤの操作指令としては、例えば、キャラクタをゲーム空間内で移動させるための移動指令や、ゲームを開始するためのゲーム開始指令等が含まれる。
【0039】
制御部20は、CPU、ROM、RAM、及びGPU等から構成され、ゲーム装置全体を制御する。具体的には、制御部20は、キャラクタ配置部21、キャラクタ抽出部22、画角設定部23、及び投影画像生成部24を備えている。
【0040】
キャラクタ配置部21〜投影画像生成部24は、コンピュータをゲーム装置として機能させるためのゲーム制御プログラムをCPUが実行することで実現される。このゲーム制御プログラムには、本発明による画像制御プログラムが含まれている。ゲーム制御プログラムは、DVD−ROM等のコンピュータ読み取り可能な記録媒体に記録されて市場に流通されている。プレーヤはこの記録媒体を購入し、購入した記録媒体をゲーム装置が備える図略の記録媒体駆動装置に挿入することで、CPUにゲーム制御プログラムを実行させる。なお、ゲーム装置がインターネットに接続することが可能であれば、インターネット上のサーバからゲーム制御プログラムをダウンロードすることで、プレーヤにゲーム制御プログラムを取得させるようにしてもよい。
【0041】
本実施の形態では、ゲームとして例えば、野球ゲームを想定しているが、本発明はこれに限定されず、野球ゲーム以外の種々のゲームに適用可能である。つまり、本発明による画像処理装置は、仮想3次元空間内をキャラクタが移動するような3次元コンピュータアニメーションを用いるゲームであれば、どのようなゲームにも適用することができる。
【0042】
特に本画像処理装置が実行する描画処理は、野球ゲームのデモシーンに対して有効である。野球ゲームのデモシーンでは、全選手のキャラクタに対して描画処理を行うと、描画処理の負担が増大するため、描画処理の対象となるキャラクタの個数を絞り、そのキャラクタに対して描画処理が行われる場合が多い。このようなケースに対して本描画処理を適用すると、デモシーンのデザイナーは、画角や仮想カメラの視線についての制約が緩和されデモシーンを自由にデザインすることができる。
【0043】
図2は、本発明の実施の形態による画像処理装置が実行する描画処理の概要を示した模式図である。図2では、仮想3次元空間を真上から見た状況が示されている。図2の例では、キャラクタC1〜C5の5個のキャラクタが描画対象のキャラクタとされている。ここで、キャラクタC1〜C5は例えば内野手のキャラクタである。そして、図2の例では、外野手が守備位置に着いており、内野手がベンチから守備位置に向けて移動しているシーンを想定している。また、仮想カメラCMは視線がホームベースからレフトの守備位置に向くように配置されている。
【0044】
キャラクタC01,C02は描画対象とされなかったキャラクタであり、例えば、キャラクタC01がレフト、キャラクタC02がセンターのキャラクタであるとする。描画対象となるキャラクタC1〜C5を全て描画しようとすると、仮想カメラCMの水平画角θhを少なくともθ2に設定する必要がある。すると、レフトのキャラクタC01の守備位置とセンターのキャラクタC02の守備位置とが仮想カメラCMの視界に入る。
【0045】
しかしながら、キャラクタC01,C02は描画対象ではないため水平画角θh=θ2としてレンダリングした場合、得られる2次元の投影画像データにはキャラクタC01,C02が表示されない。よって、レフト及びセンターの守備位置に本来存在するはずのキャラクタC01,C02が表示されず、プレーヤに違和感を与えてしまう。
【0046】
そこで、本画像処理装置では、描画対象となるキャラクタC1〜C5のうち、他のキャラクタC1〜C4に対して突出して離れて位置しているキャラクタC5を考慮に入れず仮想カメラCMの水平画角θhを設定する。そして、固まって位置しているキャラクタC1〜C4のみが視界に入るように水平画角θhをθh=θ1から狭めてθh=θ1に設定する。こうすることで、レフト及びセンターの守備位置が視界から外れ、プレーヤに違和感を与えることを防止することができる。
【0047】
なお、本画像処理装置による描画処理は、ゲームに限定されず、例えばゲーム以外の一般的なコンピュータグラフィックスに適用してもよい。また、本実施の形態では、ゲーム装置は、仮想3次元空間内を移動するキャラクタを所定のフレームレート(例えば、1/60秒)でレンダリングする。
【0048】
図1に戻り、キャラクタ配置部21は、一定数よりも少ない所定の複数個のキャラクタを仮想3次元空間に配置する。野球ゲームにおいては、上述したように一定数として9名を想定しているため、複数個とは、9未満、2以上の値が採用される。野球ゲームのデモシーンにおいては、通常、3〜5個のキャラクタが描画対象とされるため、以下の説明では、複数個として5個を例に挙げて説明する。
【0049】
図3は、キャラクタCの3次元モデルを模式的に示した図である。図3に示すようにキャラクタCは、人間を模擬したスケルトンモデルである。スケルトンモデルは、複数のボーンBNと各ボーンBNを繋ぐノードNDとを含んでいる。各ボーンBNは、腕、足、胴体、顔等に相当する外皮SKで覆われている。
【0050】
水平面SFは仮想3次元空間内に設けられた平面であり、人間が歩く地表面を想定したものである。本実施の形態では、仮想3次元空間は、互いに直交するX,Y,Zの3軸の座標によって各位置が規定される。水平面SFは、Z=0、かつ、X−Y平面と平行な面に設定されている。
【0051】
キャラクタ配置部21は、野球ゲームのデモシーンを進行するうえで予め定められたキャラクタCのモーションパターンにしたがってキャラクタCの姿勢を設定する。ここで、モーションパターンとしては、例えば、フレーム毎にキャラクタCの姿勢を規定するデータが採用されている。具体的には、モーションパターンは、各ノードNDを中心とする各ボーンBNの回転量及び回転速度、並びに種々の拘束条件を含む。拘束条件としては、例えば、上腕のノードNDと下腕のノードNDとは所定度以上回転できない、キャラクタCは水平面SF上を移動する等が挙げられる。また、キャラクタ配置部21は、キャラクタCのみに対して規定されるローカル座標空間内でキャラクタCの姿勢を設定する。
【0052】
また、キャラクタ配置部21は、デモシーンを進行するうえで予め定められたキャラクタCの移動情報にしたがって、キャラクタCを仮想3次元空間であるグローバル座標空間内で移動させる。ここで、移動情報としては、例えば、キャラクタCのグローバル座標空間における初期の位置と、フレーム毎のキャラクタCの移動速度が含まれている。
【0053】
デモシーンが開始されると、キャラクタ配置部21は、まず、初期の位置K(i=0)にキャラクタCを配置する。そして、キャラクタ配置部21は、フレーム毎に規定された移動速度VC(i)にフレーム周期を乗じてキャラクタCの次フレームの位置K(i+1)を求め、その位置K(i+1)にキャラクタCを配置することでキャラクタCを移動させる。なお、移動速度VC(i)は、大きさと方向とを含むベクトルで規定されているため、キャラクタ配置部21は、現フレームの移動速度VC(i)にフレーム周期Tを乗じてキャラクタCの移動距離VD(i)を求め、現フレームのキャラクタCの位置K(i)から現フレームの移動速度VC(i)が規定する方向に移動距離VD(i)だけ離れた位置をキャラクタCの次フレームの位置K(i+1)として求めればよい。
【0054】
本実施の形態では、キャラクタCは水平面SF上を移動するため、グローバル座標空間におけるキャラクタCの位置としては、X成分とY成分とからなる2次元データが採用されている。
【0055】
そして、キャラクタ配置部21は、グローバル座標空間で求めたキャラクタCの位置にローカル座標空間で設定した姿勢のキャラクタCを配置する処理をフレーム毎に繰り返し実行し、仮想3次元空間内でキャラクタCを移動させていく。
【0056】
図1に戻り、キャラクタ抽出部22は、キャラクタ配置部21により配置された各キャラクタCについて、他のキャラクタとの距離の平均値を個別平均距離として求め、個別平均距離が規定値TH1以下であるキャラクタを抽出する。
【0057】
図4は、キャラクタ抽出部22によるキャラクタ抽出処理の説明図である。図4では、仮想3次元空間を真上から見たときの5個のキャラクタC1〜C5の位置が二重丸を用いて模式的に示されている。
【0058】
キャラクタ抽出部22は、まず、キャラクタC1を個別平均距離の算出対象のキャラクタとして特定する。そして、キャラクタC1について他の4個のキャラクタC2〜C5との距離d12,d13,d14,d15をそれぞれ求める。そして、距離d12〜d15の和を4で割り、距離d12〜d15の平均値を求め、この平均値をキャラクタC1の個別平均距離D1として算出する。他のキャラクタC2〜C5についてもキャラクタC1と同様にして、個別平均距離D2〜D4を求める。そして、キャラクタC1〜C5の個別平均距離D1〜D5の平均値を全体平均距離DTとして求める。そして、全体平均距離DTに所定の係数k1を乗じ、規定値TH1(=k1・DT)を設定する。
【0059】
ここで、係数k1としては、例えば、突出して離れて位置するキャラクタCと固まって位置するキャラクタCとを精度良く区別することができるような規定値TH1を設定することができる値を採用することが好ましい。具体的には、係数k1としては、例えば1≦k1≦1.5を採用することが好ましく、より好ましくは1.1≦k1≦1.4であり、更に好ましくはk=1.2である。但し、これらの値は一例にすぎず、係数k1として、1未満、或いは、1.5より大きい値を採用してもよい。
【0060】
そして、キャラクタ抽出部22は、個別平均距離D1〜D5が規定値TH1以下のキャラクタCを仮想カメラCMの視界に含めるキャラクタCとして抽出する。例えば、図4の例において、個別平均距離D1〜D4がそれぞれ規定値TH1以下であり、個別平均距離D5が規定値TH1より大きかったとすると、キャラクタC1〜C4が抽出される。
【0061】
このようなキャラクタ抽出処理を用いることで、突出して離れているキャラクタを精度よく抽出することが可能となる。例えば、図4に示すように1個のキャラクタC5のみが突出して離れている場合、その個別平均距離D5は、規定値TH1より大きくなるため、キャラクタC5を抽出対象から除外することができる。
【0062】
また、キャラクタC1〜C5が固まって位置しており、且つ、互いの個別平均距離D1〜D5がほぼ同一の場合、上記のように係数k1の影響により、規定値TH1は、TH1>個別平均距離D1〜D5となり、キャラクタC1〜C5が全て抽出されることになる。つまり、固まって位置するキャラクタが全て抽出される。
【0063】
但し、5個のキャラクタC1〜C5の互いの距離が長距離である場合、且つ、互いの距離がほぼ同一の場合、つまり、キャラクタC1〜C5が野球場のフィールド内で点在している場合であっても、キャラクタC1〜C5が全て抽出されてしまう。この場合、野球場のフィールドの全域が仮想カメラCMの視界に入ることになり、キャラクタCが位置することが推定される守備位置にキャラクタCが存在していないため、本画像処理装置の目的を達成できない虞がある。しかしながら、本画像処理装置は、デモシーンを想定しており、そもそも、キャラクタC1〜C5が野球場のフィールド内に広く点在するようなデモシーンをデザインするようなケースは稀であるため、キャラクタCが広く点在しているような場合については本発明の対象外とすればよい。
【0064】
また、図5に示すように2個のキャラクタC4,C5が固まって位置するグループG1と、3個のキャラクタC1〜C3が固まっているグループG2とに分かれて5個のキャラクタC1〜C5が配置される場合も想定される。この場合、グループG2の方がグループG1よりもキャラクタCの個数が多いため、全体平均距離DTは、グループG1のキャラクタCの個別平均値よりも、グループG2のキャラクタCの個別平均値に近い値を持つと考えられる。また、グループG1のキャラクタCはグループG2のキャラクタCに対して離れて位置しているため、グループG2のキャラクタCの個別平均値は、グループG1のキャラクタCの個別平均値よりも小さくなると考えられる。したがって、k1=1.2程度の値に設定すると、規定値TH1は、全体平均距離DTより少し大きな値を持つことになり、グループG1のキャラクタCの個別平均値とグループG2のキャラクタCの個別平均値との中間程度の値を持つことができる。よって、個別平均値が規定値TH1以下のキャラクタCを抽出する処理を実行すると、グループG2のキャラクタCのみが抽出される可能性を高めることができる。
【0065】
一方、係数k1を大きくし過ぎると、グループG1のキャラクタCの個別平均値も規定値TH1以下となってしまい、グループG1のキャラクタCも抽出される可能性が高まってしまう。したがって、係数k1としては1.2程度の値を採用することが好ましい。なお、グループG1とグループG2との間の距離が大きいほど、グループG1,G2間の個別平均値の差がより顕著となるため、個別平均値が規定値TH1以下のキャラクタCを抽出する処理を実行することで、グループG2のキャラクタCのみを抽出できる可能性が高くなる。
【0066】
図2に戻り、画角設定部23は、少なくともキャラクタ抽出部22により抽出されたキャラクタCが、仮想3次元空間の所定の位置に配置された仮想カメラCMの視界内に入るように、仮想カメラCMの最小の水平画角θhを設定する。
【0067】
図6(A)は、仮想3次元空間に設定された水平画角θh及び仮想スクリーンSCを示した図である。図6(B)は投影画像データを示した図である。
【0068】
図3(A)に示すように、画角は、仮想カメラCMを中心に仮想スクリーンSCの左端から右端までの画角である水平画角θhと、仮想カメラCMを中心に仮想スクリーンSCの上端から下端までの画角である垂直画角θvとによって規定される。
【0069】
ここで、画角設定部23は、水平画角θhと垂直画角θvとの比が、仮想スクリーンSCの水平方向の辺H1と鉛直方向の辺H2の比と同じになるように水平画角θhと垂直画角θvとを設定する。辺H1と辺H2との比としては、通常のテレビモニタの比を採用することができる。また、辺H1は水平面SFと平行になるように設定される。
【0070】
したがって、仮想カメラCMを頂点とし、水平画角θhと垂直画角θvとによって規定される四角錐状の領域が仮想カメラCMの視界となる。つまり、視界は、仮想カメラCMと仮想スクリーンSCの左上の頂点U1とを繋ぐ直線L1と、仮想カメラCMと仮想スクリーンSCの右上の頂点U2とを繋ぐ直線L2と、仮想カメラCMと仮想スクリーンSCの左下の頂点U3とを繋ぐ直線L3と、仮想カメラCMと仮想スクリーンSCの右下の頂点U4とを繋ぐ直線L4とによって囲まれる領域である。
【0071】
本実施の形態では、画角設定部23は、まず、水平画角θhを設定し、その後で、辺H1と辺H2との比にしたがって、垂直画角θvを設定するものとする。
【0072】
また、本実施の形態では、仮想カメラCMは視線LEが仮想スクリーンSCの中心Pに位置するように配置されているため、直線L1〜L4は仮想カメラCMから仮想スクリーンSCの対応する頂点U1〜U4までの距離が同一となる。以下、直線L1,L3を視界の左側の境界を定める境界線BD1(第1境界線の一例)と定義し、直線L2,L4を視界の右側の境界を定める境界線BD2(第2境界線の一例)と定義する。
【0073】
図7(A)、(B)は画角設定部23による水平画角の設定処理を説明する図である。なお、図7(A)、(B)は仮想3次元空間を真上から見た状態を示している。図7(A)は両端に位置するキャラクタC1,C4に接するように境界線BD1,BD2を設定した場合を示し、図7(B)は両端に位置するキャラクタC1,C4が境界線BD1,BD2から一定の距離を保つように境界線BD1,BD2を設定した場合を示している。また、図7の例では、キャラクタC1〜C5のうちキャラクタC1〜C4がキャラクタ抽出部22により抽出されたものとする。
【0074】
図7(A)に示すように、画角設定部23は、キャラクタ抽出部22により抽出されたキャラクタC1〜C4のうち、水平画角θhの2等分線BD3から境界線BD1側への角度が最大となる場所に位置するキャラクタC1を左端に位置するキャラクタとして特定する。また、画角設定部23は、キャラクタ抽出部22により抽出されたキャラクタC1〜C4のうち、2等分線BD3から境界線BD2側への角度が最大となる場所に位置するキャラクタC4を左端に位置するキャラクタとして特定する。
【0075】
そして、画角設定部23は、左端に位置するキャラクタC1に接するように境界線BD1を設定すると共に、右端に位置するキャラクタC4に接するように境界線BD2を設定する。本実施の形態では、キャラクタC1の位置K1は水平面SF上で定義され、その位置K1の垂線上にキャラクタの重心に位置するようにキャラクタC1が配置される。したがって、境界線BD1の水平面SFへの投影線が位置K1を通るように境界線BD1を設定すると、キャラクタC1の一部が視界からはみ出てしまう。
【0076】
そこで、画角設定部23は、キャラクタC1の水平面SFへの投影領域が境界線BD1の水平面SFへの投影線と接するように境界線BD1を設定することが好ましい。また、画角設定部23は、境界線BD2についても境界線BD1と同様、キャラクタC4の水平面SFへの投影領域が境界線BD2の水平面SFへの投影線と接するように設定することが好ましい。こうすることで、両端のキャラクタC1,C4の一部が視界からはみ出ることを防止することができる。
【0077】
ここで、図7(A)のように境界線BD1,BD2を設定すると、両端のキャラクタC1,C4が表示画面の左右の両端に接して表示されてしまう。
【0078】
これを避けるために、画角設定部23は、図7(A)に代えて図7(B)に示すように境界線BD1,BD2を設定してもよい。すなわち、画角設定部23は、左端に位置するキャラクタC1及び境界線BD1間の距離が一定の距離α1を保つように境界線BD1を設定してもよい。具体的には、距離α1は、キャラクタC1の水平面SFへの投影領域から境界線BD1までの距離である。ここで、距離α1としては、距離α1の弧AR1に対する比が一定の比(例えば2%、5%等)となる値を採用すればよい。なお、弧AR1は、仮想カメラCMから位置K1までを半径とし、中心角が水平画角θhの弧である。
【0079】
また、画角設定部23は、境界線BD2についても境界線BD1と同様、キャラクタC4の水平面SFへの投影領域が境界線BD2の水平面SFへの投影線に対して距離α1離れるように設定することが好ましい。
【0080】
こうすることで、両端のキャラクタC1,C4を表示画面の左右の両端から少し間隔を空けて表示させることができる。
【0081】
図7(A)、(B)に示すように境界線BD1,BD2を設定することで、画角設定部23は、キャラクタ抽出部22により抽出されたキャラクタC1〜C4が少なくとも仮想カメラCMの視界に入るような最小の角度で水平画角θhを設定することができる。
【0082】
図2に戻り、画角設定部23は、キャラクタ抽出部22により抽出されたキャラクタのうち、重要度が最大のキャラクタが視界の中央に位置するように水平画角θhを設定してもよい。ここで、重要度は描画対象のキャラクタC1〜C5のそれぞれに対して予め定められており、重要度記憶部32に記憶されているものとする。ここで、重要度とは、例えば選手キャラクタや、選手キャラクタが対応する現実世界の選手の人気の大きさ、前回ゲームにおける選手キャラクタの活躍度(ファインプレーの有無等)、ポジション(野手よりも投手を重要とみなす等)、プレイヤがそのキャラクタに対して注目する可能性が高い要素についての優先順位である。
【0083】
図8は、画角設定部23がキャラクタCの重要度を考慮に入れて水平画角θhを設定する処理を示す図である。図8の例では、キャラクタ抽出部22によりキャラクタC1〜C4が抽出され、キャラクタC1〜C5の順で重要度が高く設定されている。したがって、画角設定部23は、水平画角θhの2等分線BD3の水平面SFへの投影線が、キャラクタC1の位置K1を通るように2等分線BD3を設定する。
【0084】
そして、この2等分線BD3から境界線BD1側への角度が最大となる左端のキャラクタC2と、2等分線BD3から境界線BD2側への角度が最大となる右端のキャラクタC3とを特定する。そして、左端のキャラクタC2と2等分線BD3との角度β1と右端のキャラクタC3と2等分線BD3との角度β2とを求める。
【0085】
そして、角度β1と角度β2とを比較し、大きい方の角度β1に対応するキャラクタC2に対して、図7(A)又は(B)の手法を用いて境界線BD1を設定する。そして、境界線BD2と2等分線BD3とのなす角度が境界線BD1と2等分線BD3とのなす角度θh/2となるように境界線BD2を設定する。
【0086】
以上により、重要度が最大のキャラクタを画面の中央に表示することができる。つまり、デモシーンのデザイナーは、各キャラクタCの重要度を予め設定しておくことで、キャラクタ抽出処理によって抽出されたキャラクタCのうち重要度が最高のキャラクタが常に画面の中央に表示させることができる。
【0087】
図2に戻り、投影画像生成部24は、画角設定部23により設定された水平画角θhに従って仮想スクリーンSCを設定し、仮想カメラCMの視界内に位置するキャラクタCを仮想スクリーンSCに投影変換し、2次元の投影画像データを生成する。
【0088】
ここで、投影画像生成部24は、図6(A)に示すように、画角設定部23により設定された水平画角θhと垂直画角θvとによって規定される四角錐の断面が仮想スクリーンSCの面積として予め定められた一定面積となる位置に仮想スクリーンSCを設定する。そして、仮想カメラCMから仮想スクリーンSCの中心Pを通る直線を視線LEとして設定する。
【0089】
そして、投影画像生成部24は、設定した仮想スクリーンSCに視界内に位置するキャラクタCを投影変換することで2次元の投影画像データを生成する。ここで、投影画像生成部24は、仮想3次元空間にキャラクタCの背景となる野球場の3次元モデルも仮想スクリーンSCに投影変換する。このとき、投影画像生成部24は、シェーディング処理、テクスチャマッピング処理、及び隠面消去処理等も併せて行う。これにより、キャラクタCが仮想スクリーンSCにレンダリングされ、図6(B)に示すような投影画像データが生成される。
【0090】
そして、投影画像生成部24は、生成した投影画像データを所定のフレームレートで表示部40に表示させる。これにより、3次元コンピュータアニメーションが実現される。図6(B)に示すように投影画像データの中心Pが仮想スクリーンSCと視線LEとの交点となっていることが分かる。
【0091】
図9は、投影画像生成部24により投影変換対象とされるキャラクタを示した図である。図9の例では、キャラクタC1〜C4がキャラクタ抽出処理により抽出されたキャラクタである。キャラクタC5はキャラクタ抽出処理により抽出されなかったキャラクタである。この場合、画角設定部23は、キャラクタC1〜C4のみ考慮に入れ、キャラクタC5を考慮することなく境界線BD1,BD2を設定し、水平画角θhを設定する。
【0092】
しかしながら、仮想カメラCMとキャラクタC5との位置関係によっては、仮想カメラCMの視界内にキャラクタC5が入るケースも発生する。
【0093】
この場合、投影画像生成部24は、キャラクタ抽出部22により抽出されなかったキャラクタC5であっても、キャラクタC5が視界内に位置すれば、キャラクタC5を仮想スクリーンSCに投影変換する。
【0094】
こうすることで、他のキャラクタC1〜C4に対して突出して離れて位置するキャラクタC5であっても、仮想カメラCMの視界内に位置すれば描画処理が適用されて画面に表示されるため、キャラクタ配置部21により配置されたキャラクタを余すことなく表示することができ、迫力のある画像を表示することができる。
【0095】
図2に戻り、記憶部30は、例えば、ROM、RAM、ハードディスク等の記憶装置から構成され、キャラクタ情報記憶部31、重要度記憶部32、及びフィールド情報記憶部33を備えている。これらの記憶部は、CPUがゲーム制御プログラムを実行することで実現される。
【0096】
キャラクタ情報記憶部31は、描画対象となる複数個のキャラクタCのそれぞれに対するモーションパターン及び移動情報を記憶する。重要度記憶部32は、描画対象となる複数個のキャラクタCのそれぞれの重要度を記憶している。この重要度は、デモシーンのデザイナーがデモシーンを生成する際に予め設定したものである。フィールド情報記憶部33は、キャラクタCの背景となる野球場の3次元モデルを記憶する。
【0097】
図10は、図1に示すゲーム装置がデモシーンに対して行う描画処理を示したフローチャートである。このフローチャートの1ループは1フレームに対応している。まず、キャラクタ配置部21は、キャラクタC1〜C5のそれぞれに対して予め設定された移動情報にしたがって仮想3次元空間におけるキャラクタC1〜C5の位置を求め、その位置にキャラクタC1〜C5を配置する(ステップS1)。このとき、キャラクタ配置部21は、キャラクタC1〜C5のそれぞれに対して予め設定されたモーションパターンにしたがってキャラクタC1〜C5の姿勢を設定する。
【0098】
次に、キャラクタ抽出部22は、キャラクタ抽出処理を実行し、固まって位置しているキャラクタを抽出する(ステップS2)。ここでは、図4に示すように、キャラクタC1〜C4が固まって位置しており、キャラクタC5がキャラクタC1〜C4に対して離れて位置していたため、キャラクタC1〜C4が抽出されたものとする。
【0099】
次に、画角設定部23は、抽出したキャラクタC1〜C4のうち、重要度が最大のキャラクタCを特定する(ステップS3)。ここでは、キャラクタC1〜C4のうち、キャラクタC1の重要度が最も高かったとする。
【0100】
次に、画角設定部23は、図8に示すように、キャラクタC1を通るように2等分線BD3を設定する(ステップS4)。次に、画角設定部23は、図8に示すように、2等分線BD3から境界線BD1側への角度β1が最大となる左端に位置するキャラクタC2を特定し、かつ、2等分線BD3から境界線BD2側への角度β2が最大となる右端に位置するキャラクタC3を特定する(ステップS5)。
【0101】
次に、画角設定部23は、図8に示すように、角度β1と角度β2とを比較し、角度β1≧角度β2の場合(ステップS6でYES)、左端のキャラクタC2を基準に境界線BD1を設定する(ステップS7)。次に、画角設定部23は、境界線BD1と2等分線BD3との角度をθh/2とし、境界線BD2と2等分線BD3とのなす角度がθh/2となるように、2等分線BD3を挟んで境界線BD1とは反対側に境界線BD2を設定する(ステップS8)。
【0102】
一方、画角設定部23は、角度β1<角度β2の場合(ステップS6でNO)、図8に示すように、右端のキャラクタC3を基準に境界線BD2を設定する(ステップS9)。次に、画角設定部23は、境界線BD2と2等分線BD3との角度をθh/2とし、境界線BD1と2等分線BD3とのなす角度がθh/2となるように、2等分線BD3を挟んで境界線BD2の反対側に境界線BD1を設定する(ステップS10)。
【0103】
次に、画角設定部23は、境界線BD1,BD2とのなす角度を水平画角θhとして設定する(ステップS11)。次に、画角設定部23は、θh:θv=H1:H2となるように垂直画角θvを設定する(ステップS12)。
【0104】
次に、投影画像生成部24は、水平画角θhと垂直画角θvとによって規定される四角錐状の断面が一定面積となる位置に仮想スクリーンSCを設定する(ステップS13)。次に、投影画像生成部24は、視界内に位置するキャラクタC1〜C4及び野球場の3次元モデルを仮想スクリーンに投影し、投影画像データを生成する(ステップS14)。次に、投影画像生成部24は、生成した投影画像データをフレームバッファに描画し、投影画像データを表示部40に表示する(ステップS15)。そして、処理がステップS1に戻され、次フレームに対する描画処理が行われる。
【0105】
図11は、キャラクタ抽出処理の詳細を示すフローチャートである。まず、キャラクタ抽出部22は、個別平均距離Diの算出対象となる1個のキャラクタCiを特定する(ステップS21)。ここでは、キャラクタC1〜C5の順でキャラクタCが特定されるものとする。
【0106】
次に、キャラクタ抽出部22は、キャラクタCiと他の4個のキャラクタCとのそれぞれの距離dijを求める(ステップS22)。但し、i=1〜5、j=1〜5、i≠jであり、iは1個のキャラクタを特定するためのインデックスであり、jは他の1個のキャラクタを特定するためにインデックスである。次に、キャラクタ抽出部22は、距離dijの平均値を算出し、キャラクタCiの個別平均距離Diを算出する(ステップS23)。
【0107】
次に、キャラクタ抽出部22は、全キャラクタC1〜C5についての個別平均距離D1〜D5の算出が終了した場合(ステップS24でYES)、処理をステップS25に進め、終了していない場合(ステップS24でNO)、処理をステップS21に戻し、次のキャラクタCiに対して個別平均距離Diを算出する。
【0108】
ステップS25において、キャラクタ抽出部22は、個別平均距離D1〜D5の平均を全体平均距離DTとして算出する。次に、キャラクタ抽出部22は、全体平均距離DTに係数k1を乗じ、規定値TH1を設定する(ステップS26)。
【0109】
次に、キャラクタ抽出部22は、個別平均距離Diが規定値TH1以下のキャラクタCを抽出し(ステップS27)、処理を図10のステップS3にリターンさせる。
【0110】
図12は、本発明の実施の形態による描画処理により生成されたデモシーンの一例を示した図である。図12に示すデモシーンは、例えばキャラクタC1〜C3が自身の守備位置に向かってベンチから移動しているシーンを示している。ここで、図12では隠れているが、キャラクタC4,C5も描画対象のキャラクタとされている。すなわち、キャラクタC4,C5はキャラクタC1〜C5に対して離れて位置しており、個別平均距離D4,D5が規定値TH1以下であった。そのため、少なくともキャラクタC1〜C3が仮想カメラCMの視界に入るように画角が設定された。また、キャラクタC4,C5は設定された画角によって規定される仮想カメラCMの視界に入っていなかった。その結果、キャラクタC1〜C3のみが表示され、キャラクタC4,C5が表示されないたデモシーンが生成された。
【符号の説明】
【0111】
10 操作部
20 制御部
21 キャラクタ配置部
22 キャラクタ抽出部
23 画角設定部
24 投影画像生成部
30 記憶部
31 キャラクタ情報記憶部
32 重要度記憶部
33 フィールド情報記憶部
40 表示部
BD1 境界線(第1境界線)
BD2 境界線(第2境界線)
BD3 2等分線
C1〜C5 Ci キャラクタ
CM 仮想カメラ
SC 仮想スクリーン
TH1 規定値
θh 水平画角

【特許請求の範囲】
【請求項1】
仮想3次元空間に配置されたキャラクタを仮想スクリーンに投影する画像処理装置であって、
前記仮想3次元空間は、一定数の物体がそれぞれ所定の位置に存在することが推定される3次元実空間を模擬したものであり、
前記キャラクタは、前記物体を模擬したものであり、
前記一定数よりも少ない所定の複数個のキャラクタを前記仮想3次元空間に配置するキャラクタ配置部と、
前記キャラクタ配置部により配置された各キャラクタについて、他のキャラクタとの距離が規定値以下であるキャラクタを抽出するキャラクタ抽出部と、
少なくとも前記キャラクタ抽出部により抽出されたキャラクタが、前記仮想3次元空間の所定の位置に配置された仮想カメラの視界内に入るように、前記仮想カメラの最小の水平画角を設定する画角設定部と、
前記画角設定部により設定された水平画角に従って前記仮想スクリーンを設定し、前記視界内に位置するキャラクタを前記仮想スクリーンに投影し、2次元の投影画像データを生成する投影画像生成部とを備える画像処理装置。
【請求項2】
前記キャラクタ抽出部は、各キャラクタについて、他のキャラクタとの距離の平均値を個別平均距離として求め、前記個別平均距離が前記規定値以下であるキャラクタを抽出する請求項1記載の画像処理装置。
【請求項3】
前記キャラクタ抽出部は、各キャラクタについて求めた前記個別平均距離の平均値を全体平均距離として求め、全体平均距離に応じた値を前記規定値として設定する請求項1又は2記載の画像処理装置。
【請求項4】
前記キャラクタ抽出部は、前記全体平均距離に1以上、1.5以下の係数を乗じた値を前記規定値として設定する請求項3記載の画像処理装置。
【請求項5】
前記複数個のキャラクタは、それぞれ、表示する際の重要度が予め定められ、
前記画角設定部は、前記キャラクタ抽出部により抽出されたキャラクタのうち、前記重要度が最大のキャラクタが前記視界の中央に位置するように前記水平画角を設定する請求項1〜4のいずれかに記載の画像処理装置。
【請求項6】
前記投影画像生成部は、前記キャラクタ配置部によって配置された複数個のキャラクタのうち、前記キャラクタ抽出部により抽出されなかったキャラクタであっても、前記視界内に位置するキャラクタは前記仮想スクリーンに投影する請求項1〜5のいずれかに記載の画像処理装置。
【請求項7】
前記仮想3次元空間は、団体競技が行われる競技場のフィールドを模擬したものであり、
前記物体は、前記団体競技を行う人物である請求項1〜6のいずれかに記載の画像処理装置。
【請求項8】
前記視界は、前記水平画角の最小値を内角とする第1及び第2境界線によって規定され、
前記画角設定部は、前記キャラクタ抽出部により抽出されたキャラクタのうち、前記水平画角の2等分線から前記第1境界線側への角度が最大となる場所に位置する第1キャラクタに接するように、又は前記第1キャラクタ及び前記第1境界線間の距離が一定の距離を保つように前記第1境界線を設定し、前記キャラクタ抽出部により抽出されたキャラクタのうち、前記2等分線から前記第2境界線側への角度が最大となる場所に位置する第2キャラクタに接するように、又は前記第2キャラクタ及び前記第2境界線間の距離が一定距離を保つように前記第2境界線を設定する請求項1〜7のいずれかに記載の画像処理装置。
【請求項9】
仮想3次元空間に配置されたキャラクタを仮想スクリーンに投影する画像処理プログラムであって、
前記仮想3次元空間は、一定数の物体がそれぞれ所定の位置に存在することが推定される3次元実空間を模擬したものであり、
前記キャラクタは、前記物体を模擬したものであり、
前記一定数よりも少ない所定の複数個のキャラクタを前記仮想3次元空間に配置するキャラクタ配置部と、
前記キャラクタ配置部により配置された各キャラクタについて、他のキャラクタとの距離が規定値以下であるキャラクタを抽出するキャラクタ抽出部と、
少なくとも前記キャラクタ抽出部により抽出されたキャラクタが、前記仮想3次元空間の所定の位置に配置された仮想カメラの視界内に入るように、前記仮想カメラの最小の水平画角を設定する画角設定部と、
前記画角設定部により設定された水平画角に従って前記仮想スクリーンを設定し、前記視界内に位置するキャラクタを前記仮想スクリーンに投影し、2次元の投影画像データを生成する投影画像生成部としてコンピュータを機能させる画像処理プログラム。
【請求項10】
仮想3次元空間に配置されたキャラクタを仮想スクリーンに投影する画像処理方法であって、
前記仮想3次元空間は、一定数の物体がそれぞれ所定の位置に存在することが推定される3次元実空間を模擬したものであり、
前記キャラクタは、前記物体を模擬したものであり、
コンピュータが、前記一定数よりも少ない所定の複数個のキャラクタを前記仮想3次元空間に配置するキャラクタ配置ステップと、
コンピュータが、前記キャラクタ配置ステップにより配置された各キャラクタについて、他のキャラクタとの距離が規定値以下であるキャラクタを抽出するキャラクタ抽出ステップと、
コンピュータが、少なくとも前記キャラクタ抽出ステップにより抽出されたキャラクタが、前記仮想3次元空間の所定の位置に配置された仮想カメラの視界内に入るように、前記仮想カメラの最小の水平画角を設定する画角設定ステップと、
コンピュータが、前記画角設定ステップにより設定された水平画角に従って前記仮想スクリーンを設定し、前記視界内に位置するキャラクタを前記仮想スクリーンに投影し、2次元の投影画像データを生成する投影画像生成ステップとを備える画像処理方法。

【図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


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