(57)【要約】 【課題】複数のキャラクターの位置の仮想空間内における配置の概要を容易に知得できる画像を生成する画像処理装置等を提供する。【解決手段】画像処理装置２０１において、記憶部２０２には、仮想空間内を移動する複数のキャラクターの位置および形状ならびに環状オブジェクトの位置および形状が記憶され、決定部２０３は、記憶された複数のキャラクターの位置から、当該複数のキャラクターの位置を含む基準円の中心の位置および半径を、一意に決定し、更新部２０４は、記憶部２０２に記憶される環状オブジェクトの位置を、決定された中心の位置とし、当該環状オブジェクトの形状を、決定された半径の環とするように更新し、生成部２０５は、複数のキャラクター、ならびに、環状オブジェクトを、当該仮想空間内に配置された視点から当該仮想空間内に設定された方向に見た画像を生成する。【選択図】図２
2010277121.tif 000002
【特許請求の範囲】
【請求項１】
仮想空間内を移動する複数のキャラクターの位置および形状、ならびに、当該仮想空間に配置される環状オブジェクトの位置および形状が記憶される記憶部、
前記記憶された複数のキャラクターの位置から、当該複数のキャラクターの位置を含む基準円の中心の位置および半径を、一意に決定する決定部、
前記記憶部に記憶される環状オブジェクトの位置を前記決定された中心の位置とし、当該環状オブジェクトの形状を前記決定された半径の環とするように更新する更新部、
前記複数のキャラクター、ならびに、前記環状オブジェクトを、当該仮想空間内に配置された視点から当該仮想空間内に設定された方向に見た画像を生成する生成部
を備えることを特徴とする画像処理装置。
【請求項２】
請求項１に記載の画像処理装置であって、
前記決定部は、前記記憶された複数のキャラクターの位置を包含する最小包含円の中心の位置および半径を計算し、当該計算された位置を当該基準円の中心の位置として決定し、当該計算された半径に所定の定数を加算した値を、当該基準円の半径として決定する
ことを特徴とする画像処理装置。
【請求項３】
請求項１に記載の画像処理装置であって、
前記決定部は、前記記憶された複数のキャラクターの位置の重心の位置を計算し、前記計算された位置を当該基準円の中心の位置として決定し、前記記憶された複数のキャラクターの位置のうち当該計算された位置から最も遠い位置と、の間の距離に所定の定数を加算した値を、当該基準円の半径として決定する
ことを特徴とする画像処理装置。
【請求項４】
請求項１から３のいずれか１項に記載の画像処理装置であって、
前記更新部は、前記環状オブジェクトの形状を、前記決定された半径に対応付けられる太さの環とするように更新する
ことを特徴とする画像処理装置。
【請求項５】
請求項１に記載の画像処理装置であって、
前記記憶部には、前記複数のキャラクターのそれぞれに対応付けられるパラメータ値がさらに記憶され、
前記更新部は、前記環状オブジェクトの形状を、前記複数のキャラクターのそれぞれに対応付けられるパラメータ値の総和に対応付けられる太さの環とするように更新する
ことを特徴とする画像処理装置。
【請求項６】
請求項５に記載の画像処理装置であって、
前記更新部は、前記複数のキャラクターのそれぞれに対応付けられるパラメータ値、もしくは、当該基準円の半径が、所定の条件を満たした場合、または、ユーザの指示入力に基づいて、前記決定された中心の位置とし、前記決定された半径の環とする環状オブジェクトの位置および形状を前記記憶部から消去し、前記複数のキャラクターのそれぞれの位置を中心の位置とし、当該キャラクターのパラメータ値に対応付けられる太さの所定の半径の環を形状とする環状オブジェクトを前記記憶部に記憶させる
ことを特徴とする画像処理装置。
【請求項７】
請求項１から６のいずれか１項に記載の画像処理装置であって、
定期的に、もしくは、前記複数のキャラクターのいずれかが移動するごとに、前記決定部による決定と、前記更新部による更新と、前記生成部による生成と、が実行される
ことを特徴とする画像処理装置。
【請求項８】
記憶部、決定部、更新部、生成部を備える画像処理装置が実行する画像処理方法であって、
前記記憶部には、仮想空間内を移動する複数のキャラクターの位置および形状、ならびに、当該仮想空間に配置される環状オブジェクトの位置および形状が記憶され、
前記決定部が、前記記憶された複数のキャラクターの位置から、当該複数のキャラクターの位置を含む基準円の中心の位置および半径を、一意に決定する決定工程、
前記更新部が、前記記憶部に記憶される環状オブジェクトの位置を前記決定された中心の位置とし、当該環状オブジェクトの形状を前記決定された半径の環とするように更新する更新工程、
前記生成部が、前記複数のキャラクター、ならびに、前記環状オブジェクトを、当該仮想空間内に配置された視点から当該仮想空間内に設定された方向に見た画像を生成する生成工程
を備えることを特徴とする画像処理方法。
【請求項９】
コンピュータを、
仮想空間内を移動する複数のキャラクターの位置および形状、ならびに、当該仮想空間に配置される環状オブジェクトの位置および形状が記憶される記憶部、
前記記憶された複数のキャラクターの位置から、当該複数のキャラクターの位置を含む基準円の中心の位置および半径を、一意に決定する決定部、
前記記憶部に記憶される環状オブジェクトの位置を前記決定された中心の位置とし、当該環状オブジェクトの形状を前記決定された半径の環とするように更新する更新部、
前記複数のキャラクター、ならびに、前記環状オブジェクトを、当該仮想空間内に配置された視点から当該仮想空間内に設定された方向に見た画像を生成する生成部
として機能させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のキャラクターの位置の仮想空間内における配置の概要を容易に知得できる画像を生成するのに好適な画像処理装置、画像処理方法、ならびに、これらをコンピュータにて実現するプログラムに関する。
【背景技術】
【０００２】
従来から、コンピュータゲーム等の分野では、たとえば特許文献１に開示されるように、仮想空間に配置されたキャラクターを囲む基準円を設け、基準円の円周からのずれによって数値を表現する環状のグラフを画面に表示することにより、当該キャラクターの周囲の数値情報をユーザに提示する技術が提案されている。
【０００３】
一方で、たとえば非特許文献１に開示されるように、ある条件を満たす複数の点が与えられたときに、これらを囲む円のうち最小の円、すなわち、最小包含円（smallest enclosing circle）を求めるための幾何学的アルゴリズムが提案されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特許第４１８７７４８号公報
【非特許文献】
【０００５】
【非特許文献１】A.Karmarkar，Sasanka Roy，Sandip Das，Fast computation of smallest enclosing circle with center on a query line segment，Information Processing Letters，Volume 108，Issue 6 (November 2008)，Pages 343-346，ISSN:0020-0190，２００８年
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、仮想空間内には、複数のキャラクターが配置されていることがあり、コンピュータゲームにおいて自分が操作するキャラクターの味方のキャラクターが仮想空間内でどのような広がりをもって配置されているか等、複数のキャラクターの位置の概要を容易に知得できるようにしたい、との要望は強い。
【０００７】
本発明は、上記のような課題を解決するもので、複数のキャラクターの位置の仮想空間内における配置の概要を容易に知得できる画像を生成するのに好適な画像処理装置、画像処理方法、ならびに、これらをコンピュータにて実現するプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
以上の目的を達成するため、本発明の原理にしたがって、下記の発明を開示する。
【０００９】
本発明の第１の観点に係る画像処理装置は、記憶部、決定部、更新部、生成部を備え、以下のように構成する。
【００１０】
ここで、記憶部には、仮想空間内を移動する複数のキャラクターの位置および形状、ならびに、当該仮想空間に配置される環状オブジェクトの位置および形状が記憶される。
【００１１】
キャラクターの形状は、複数のポリゴンの集合体、あるいは、制御点と重みから多項式を用いて定義されるＢスプライン曲面等の有理多項式曲面等によって定義される。一方、環状オブジェクトは、円環状の形状とするのが一般的であるが、中央部分の透明度が高い円盤状の形状としても良い。
【００１２】
さらに、決定部は、記憶された複数のキャラクターの位置から、当該複数のキャラクターの位置を含む基準円の中心の位置および半径を、一意に決定する。
【００１３】
ここで、一意に決定する、とは、キャラクターの位置が同じであれば、基準円の中心の位置および半径も同じ位置および長さに決定される、ということである。包含円としては、上述の最小包含円のほか、後述するように、種々の円を採用することができる。
【００１４】
さらに、更新部は、記憶部に記憶される環状オブジェクトの位置を決定された中心の位置とし、当該環状オブジェクトの形状を決定された半径の環とするように更新する。
【００１５】
上記のように、キャラクターの位置によって一意に中心の位置および半径が決定されるので、環状オブジェクトの位置および形状も一意に決定される。
【００１６】
そして、生成部は、複数のキャラクター、ならびに、環状オブジェクトを、当該仮想空間内に配置された視点から当該仮想空間内に設定された方向に見た画像を生成する。
【００１７】
当該画像は、三次元グラフィックスの技術を用いて生成される。典型的には、複数のキャラクターのうち、いずれかのキャラクターに注目するように、視点および視線の方向が自動的に定められる。また、複数のキャラクターのすべてが画像内に含まれる必要はない。
【００１８】
キャラクターが移動すると、そのキャラクターが、画像内に描画されていない場合であっても、その移動に応じて、画像内に描画される環状オブジェクトの位置や形状が変化するので、複数のキャラクターの配置の概要がわかる。また、画像内にキャラクターが描画されているにもかかわらず、環状オブジェクトが描画されていなければ、そのキャラクターは、仮想空間内のキャラクターの存在範囲の周縁ではなく中央寄りに配置されていることがわかる。
【００１９】
このように、本発明によれば、複数のキャラクターの位置の仮想空間内における配置の概要が容易に知得できるようになる。
【００２０】
また、本発明の画像処理装置において、決定部は、記憶された複数のキャラクターの位置を包含する最小包含円の中心の位置および半径を計算し、当該計算された位置を当該基準円の中心の位置として決定し、当該計算された半径に所定の定数を加算した値を、当該基準円の半径として決定するように構成することができる。
【００２１】
本発明は上記発明の好適実施形態に係るもので、キャラクターの位置を包含する最小包含円の半径を所定の長さだけ大きくした円を基準円として採用するものである。
【００２２】
本発明によれば、キャラクターと環状オブジェクトとは、所定の長さ以上離間することとなるので、両者が交差する可能性が極めて低くなり、画像により提供される情報が知得しやすくなる。
【００２３】
また、本発明の画像処理装置において、決定部は、記憶された複数のキャラクターの位置の重心の位置を計算し、計算された位置を当該基準円の中心の位置として決定し、記憶された複数のキャラクターの位置のうち当該計算された位置から最も遠い位置と、の間の距離に所定の定数を加算した値を、当該基準円の半径として決定するように構成することができる。
【００２４】
本発明は上記発明の好適実施形態に係るもので、基準円の中心位置を、キャラクターの位置の重心、すなわち、キャラクターの位置の平均に定め、当該重心から最も遠いキャラクターの位置を探し、当該最も遠い位置と、当該中心と、の距離を、所定の長さだけ大きくした円を基準円として採用するものである。
【００２５】
本発明によれば、キャラクターと環状オブジェクトとは、所定の長さ以上離間することとなるので、両者が交差する可能性が極めて低くなり、画像により提供される情報が知得しやすくなるとともに、簡易な計算で基準円を定めることができるようになる。
【００２６】
また、本発明の画像処理装置は、以下のように構成することができる。すなわち、更新部は、環状オブジェクトの形状を、決定された半径に対応付けられる太さの環とするように更新する。
【００２７】
典型的には、半径が大きくなると、それに応じて環状オブジェクトの太さが細くなるように構成する。半径と太さが反比例するように構成すると、計算が簡易である。
【００２８】
本発明によれば、環状オブジェクトの太さによって、キャラクターの配置の広がりが、容易に知得できるようになる。
【００２９】
また、本発明の画像処理装置は、以下のように構成することができる。すなわち、記憶部には、複数のキャラクターのそれぞれに対応付けられるパラメータ値がさらに記憶され、更新部は、環状オブジェクトの形状を、複数のキャラクターのそれぞれに対応付けられるパラメータ値の総和に対応付けられる太さの環とするように更新する。
【００３０】
本発明がゲーム装置に適用される場合には、体力パラメータをキャラクターのパラメータ値として採用するのが典型的である。すると、パラメータ値の総和は、キャラクターにより構成されるグループ全体の「体力」や「元気さ」を表すことになる。
【００３１】
本発明によれば、環状オブジェクトの太さによって、キャラクター全体のパラメータ値の総和が、容易に知得できるようになる。
【００３２】
また、本発明の画像処理装置において、更新部は、複数のキャラクターのそれぞれに対応付けられるパラメータ値、もしくは、当該基準円の半径が、所定の条件を満たした場合、または、ユーザの指示入力に基づいて、決定された中心の位置とし、決定された半径の環とする環状オブジェクトの位置および形状を記憶部から消去し、複数のキャラクターのそれぞれの位置を中心の位置とし、当該キャラクターのパラメータ値に対応付けられる太さの所定の半径の環を形状とする環状オブジェクトを記憶部に記憶させるように構成することができる。
【００３３】
典型的には、パラメータ値の総和がある閾値よりも小さくなって、グループ全体の「体力」が減退している場合や、基準円の半径がある閾値よりも大きくなってグループ全体の「結合度」が低くなっている場合に、グループが解除される。また、ユーザの指示入力によって、グループを解除することとしても良い。
【００３４】
このような場合には、グループ全体を囲む包含円を環状オブジェクトとして描画するのではなく、個々のキャラクターの周囲に、当該キャラクターのパラメータ値に応じた太さの環状オブジェクトを配置する。
【００３５】
なお、本発明においては、キャラクター同士の距離がある値以下となった場合、典型的には、個々のキャラクターを囲む環状オブジェクトが接するような距離となった場合には、両キャラクターが同じグループを構成するようにするのが典型的である。
【００３６】
本発明によれば、環状オブジェクトがキャラクター全体を囲むか、それとも、個々に囲むか、を見ることで、キャラクターがグループを構成しているか否か、ならびに、キャラクターのパラメータ値の概要を容易に知得することができるようになる。
【００３７】
また、本発明の画像処理装置において、定期的に、もしくは、複数のキャラクターのいずれかが移動するごとに、決定部による決定と、更新部による更新と、生成部による生成と、が実行されるように構成することができる。
【００３８】
本発明によれば、キャラクターの配置の変化が画像に反映されるので、当該画像を画面に表示した場合には、動画表示が可能となる。
【００３９】
本発明のその他の観点に係る画像処理方法は、記憶部、決定部、更新部、生成部を備える画像処理装置が実行し、記憶部には、仮想空間内を移動する複数のキャラクターの位置および形状、ならびに、当該仮想空間に配置される環状オブジェクトの位置および形状が記憶され、当該画像処理方法は、決定工程、更新工程、生成工程を備え、以下のように構成する。
【００４０】
ここで、決定工程では、決定部が、記憶された複数のキャラクターの位置から、当該複数のキャラクターの位置を含む基準円の中心の位置および半径を、一意に決定する。
【００４１】
一方、更新工程では、更新部が、記憶部に記憶される環状オブジェクトの位置を決定された中心の位置とし、当該環状オブジェクトの形状を決定された半径の環とするように更新する。
【００４２】
さらに、生成工程では、生成部が、複数のキャラクター、ならびに、環状オブジェクトを、当該仮想空間内に配置された視点から当該仮想空間内に設定された方向に見た画像を生成する。
【００４３】
本発明のその他の観点に係るプログラムは、コンピュータを上記の画像処理装置の各部として機能させるように構成する。
【００４４】
また、本発明のプログラムは、コンパクトディスク、フレキシブルディスク、ハードディスク、光磁気ディスク、ディジタルビデオディスク、磁気テープ、半導体メモリ等のコンピュータ読取可能な情報記憶媒体に記録することができる。
【００４５】
上記プログラムは、プログラムが実行されるコンピュータとは独立して、コンピュータ通信網を介して配布・販売することができる。また、上記情報記憶媒体は、コンピュータとは独立して配布・販売することができる。
【発明の効果】
【００４６】
本発明によれば、複数のキャラクターの位置の仮想空間内における配置の概要を容易に知得できる画像を生成するのに好適な画像処理装置、画像処理方法、ならびに、これらをコンピュータにて実現するプログラムを提供することができる。
【図面の簡単な説明】
【００４７】
【図１】典型的な情報処理装置の概要構成を示す模式図である。
【図２】情報処理装置がＲＯＭカセットに記録されたプログラムを実行することにより実現される画像処理装置の概要構成を示す説明図である。
【図３】本実施形態に係る画像処理装置にて実行される処理の制御の流れを示すフローチャートである。
【図４】キャラクターが仮想空間内に配置される様子を示す平面図である。
【図５】キャラクターが仮想空間内に配置される様子を画面に表示した表示例を示す説明図である。
【図６】キャラクターが仮想空間内に配置される様子を示す平面図である。
【図７】キャラクターが仮想空間内に配置される様子を画面に表示した表示例を示す説明図である。
【図８】キャラクターが仮想空間内に配置される様子を示す平面図である。
【図９】キャラクターが仮想空間内に配置される様子を画面に表示した表示例を示す説明図である。
【図１０】キャラクターが仮想空間内に配置される様子を示す平面図である。
【図１１】キャラクターが仮想空間内に配置される様子を画面に表示した表示例を示す説明図である。
【図１２】キャラクターが仮想空間内に配置される様子を示す平面図である。
【図１３】キャラクターが仮想空間内に配置される様子を画面に表示した表示例を示す説明図である。
【発明を実施するための形態】
【００４８】
以下に本発明の実施形態を説明する。以下では、理解を容易にするため、ゲーム用の情報処理装置を利用して本発明が実現される実施形態を説明するが、以下に説明する実施形態は説明のためのものであり、本願発明の範囲を制限するものではない。
【００４９】
したがって、当業者であればこれらの各要素もしくは全要素をこれと均等なものに置換した実施形態を採用することが可能であるが、これらの実施形態も本発明の範囲に含まれる。
【実施例１】
【００５０】
図１は、プログラムを実行することにより、本実施形態の画像処理装置として機能しうる典型的な情報処理装置の概要構成を示す模式図である。以下、本図を参照して説明する。
【００５１】
本図に示す情報処理装置１０１は、携帯可能なマルチメディア端末であり、ＣＰＵ（Central Processing Unit）１０２、ＲＡＭ（Random Access Memory）１０３、ＲＯＭ（Read Only Memory）１０４、入力装置１０５、画像処理部１０６、液晶ディスプレイ１０７、音声処理部１０８、ヘッドホン１０９、カセットリーダ１１０、ＲＯＭカセット１１１、外部メモリ１１２、ＲＴＣ（Real Time Clock）１１３、無線ＬＡＮ（Local Area Network）インターフェース１１４、カメラ１１５を備える。
【００５２】
本実施形態に係るプログラムが記録されたＲＯＭカセット１１１を、情報処理装置１０１に装着することによって、本実施形態に係る画像処理装置が実現され、プレイヤーは情報処理装置１０１を利用して、ＣＰＵ  １０２が所定のアルゴリズムで動作させるキャラクターとスタンドアローンで対戦したり、他のプレイヤーと協力する通信ゲームをしたりできるようになる。
【００５３】
ここで、ＣＰＵ  １０２は、情報処理装置１０１の各部を制御するとともに、各種の演算処理や判断処理を行う。
【００５４】
情報処理装置１０１に電源が投入されると、ＣＰＵ  １０２は、ＲＯＭ  １０４に記録されたＩＰＬ（Initial Program Loader）を実行し、その処理の過程で、カセットリーダ１１０を介して接続されたＲＯＭカセット１１１に記録されたプログラムに処理を移行する。
【００５５】
情報処理装置１０１で実行されるゲームプログラムやマルチメディア情報再生プログラムは、ＲＯＭカセット１１１によって提供されるのが一般的であるが、ＲＯＭ  １０４内にあらかじめ用意しておくことも可能である。
【００５６】
また、ＲＯＭ  １０４内には、ＢＩＯＳ（Basic Input Output System）と呼ばれるプログラム群が用意されており、入力装置１０５や画像処理部１０６、音声処理部１０８の制御を行うことができる。
【００５７】
ＲＡＭ  １０３は、一時的な情報を記憶するための領域であり、外部メモリ１１２は、不揮発な情報を記憶するための領域である。外部メモリ１１２としては、ハードディスクなど、主として情報処理装置１０１に内蔵されるもののほか、各種のメモリカードなど、情報処理装置１０１に抜挿されるものを利用しても良い。
【００５８】
入力装置１０５は、各種のボタンやキーボード、マウス、ジョイスティック等により実現されるのが一般的であるが、液晶ディスプレイ１０７と一体に形成されたタッチスクリーンを入力装置１０５として利用することも可能である。
【００５９】
画像処理部１０６は、ＣＰＵ  １０２の制御の下、各種の文字情報や画像情報を液晶ディスプレイ１０７に表示させるものであり、一般には、垂直同期割込周期（典型的には、３０分の１秒や６０分の１秒程度である。）ごとに、ＲＡＭ  １０３内に用意されたフレームバッファに記憶された画素情報を液晶ディスプレイ１０７の各画素に反映させる。
【００６０】
ユーザからの指示入力は、液晶ディスプレイ１０７に表示されたカーソルを入力装置１０５の移動ボタン操作により移動して、所望のメニュー項目にカーソルを合わせ、決定ボタン操作によって当該メニュー項目を選択するのが一般的であるが、タッチスクリーンを利用する場合にはカーソルは不要である。また、入力装置１０５の各ボタンに割り当てられる機能があらかじめ決まっている場合には、液晶ディスプレイ１０７に対する表示は、必ずしも必要ではない。
【００６１】
音声処理部１０８は、ＲＡＭ  １０３やＲＯＭ  １０４、ＲＯＭカセット１１１、外部メモリ１１２に用意された音声データをヘッドホン１０９に出力する。音声データとしては、音声の波形データをディジタル化したＰＣＭ（Pulse Code Modulation）データや、ＰＣＭデータを圧縮してサイズを小さくしたＭＰ３（MPeg audio layer-3）データ等を利用することが可能であるほか、ＭＩＤＩ（Music Instruction Data Interface）データのように、音高、音長、音量、音色の種類を定義するデータを用意し、これにしたがって、あらかじめ用意された音源波形データを適宜選択・変形して再生する手法を採用しても良い。
【００６２】
ＲＴＣ  １１３は、現在の日時を計測するもので、情報処理装置１０１を初めて利用する際に時刻合わせを行うのが一般的であるが、無線ＬＡＮインターフェース１１４を介してＮＴＰ（Network Time Protocol）サーバに接続することで、自動的に時刻合わせを行うような態様を採用することも可能である。
【００６３】
また、アラーム割込を発生させる機能を持つＲＴＣ  １１３もある。設定された時刻になるとアラーム割込が発生して、ＣＰＵ  １０２は、現在実行中のプログラムを一時中断し、あらかじめ設定された割込ハンドラを実行してから、中断したプログラムを再開する。
【００６４】
無線ＬＡＮインターフェース１１４は、自宅や会社、街角に用意された無線ＬＡＮアクセスポイントを介してインターネットに接続したり、近傍に配置された他の情報処理装置１０１と、アドホックに通信路を確立し、１対１で通信を行うなどが可能である。
【００６５】
カメラ１１５は、情報処理装置１０１によってディジタルカメラの機能を実現するものであり、ＣＣＤ（Charge Coupled Device）やＣＭＯＳ（Complementary Metal Oxide Semiconductor）撮像素子などの技術を適用することが可能である。撮影された画像は、一時的にＲＡＭ  １０３に展開された後、外部メモリ１１２等に保存される。
【００６６】
このほか、ビジネス用コンピュータ、携帯電話、ＰＤＡ（Personal Data Assistant）、携帯ゲーム装置、多機能テレビジョン装置、ＤＶＤ（Digital Versatile Disc）プレイヤー、携帯音楽プレイヤーなどを、本発明の画像処理装置が実現される情報処理装置１０１として採用することもできる。
【００６７】
図２は、情報処理装置１０１がＲＯＭカセット１１１に記録されたプログラムを実行することにより実現される画像処理装置の概要構成を示す説明図である。以下、本図を参照して説明する。
【００６８】
本実施形態に係る画像処理装置２０１は、記憶部２０２、決定部２０３、更新部２０４、生成部２０５を備える。以下、まず、画像処理装置２０１の各部の機能と情報処理装置１０１の各部の機能との対応関係について、概説する。
【００６９】
記憶部２０２には、仮想空間内を移動する複数のキャラクターの位置および形状、ならびに、当該仮想空間に配置される環状オブジェクトの位置および形状が記憶される。本実施形態では、記憶部２０２は、ＲＡＭ  １０３により実現される。
【００７０】
一方、決定部２０３は、記憶された複数のキャラクターの位置から、当該複数のキャラクターの位置を含む基準円の中心の位置および半径を、一意に決定する。本実施形態では、決定部２０３は、ＲＡＭ  １０３により実現される。
【００７１】
さらに、更新部２０４は、記憶部２０２に記憶される環状オブジェクトの位置を、決定された中心の位置とし、当該環状オブジェクトの形状を、決定された半径の環とするように更新する。本実施形態では、更新部２０４は、ＣＰＵ  １０２がＲＡＭ  １０３と共働することにより実現される。
【００７２】
そして、生成部２０５は、複数のキャラクター、ならびに、環状オブジェクトを、当該仮想空間内に配置された視点から当該仮想空間内に設定された方向に見た画像を生成する。本実施形態では、ＣＰＵ  １０２の制御の下、ＲＡＭ  １０３に記憶された情報に基づいて、画像処理部１０６が機能することにより、生成部２０５が実現される。
【００７３】
以下では、画像処理装置２０１の各部を実現するために、情報処理装置１０１の各部が実行する処理を、詳細に説明する。
【００７４】
図３は、本実施形態に係る画像処理装置２０１にて実行される処理の制御の流れを示すフローチャートである。以下、本図を参照して説明する。
【００７５】
本処理が開始されると、ＣＰＵ  １０２は、ＲＯＭカセット１１１や外部メモリ１１２から各種の情報を読み出し、ＲＡＭ  １０３の初期化を行う（ステップＳ３０１）。
【００７６】
ここで、ＲＡＭ  １０３には、以下のような情報が記憶される。
（ａ）当該画像処理装置２０１を操作するプレイヤーの操作指示に基づいて仮想空間内を移動するキャラクター（以下「自キャラクター」という。）の位置、形状、体力パラメータ。
（ｂ）他のプレイヤーからの操作指示に基づいて、もしくは、ＣＰＵ  １０２により計算される所定のアルゴリズムに基づいて、当該仮想空間内を移動するキャラクター（以下「他キャラクター」という。）の位置、形状、体力パラメータ。
（ｃ）当該仮想空間内に配置される環状オブジェクトの位置、半径、太さ、および、当該環状オブジェクトに結び付けられるキャラクター。環状オブジェクトの数は、１つまたは複数である。
（ｄ）当該仮想空間内に配置される視点の位置および視線の方向。
【００７７】
ここで、キャラクターの形状は、複数のポリゴンの集合体、あるいは、制御点と重みから多項式を用いて定義されるＢスプライン曲面等の有理多項式曲面等によって定義される。
【００７８】
環状オブジェクトは、円環状の形状とするのが一般的であるが、中央部分の透明度が高い円盤状の形状としても良い。
【００７９】
自キャラクターを移動させるための操作指示は、入力装置１０５を介して取得される。本画像処理装置２０１を通信対戦ゲームに適用する場合には、他のプレイヤーからの操作指示の情報は、無線ＬＡＮインターフェース１１４を介して取得される。一方、スタンドアロン型のゲームに適用する場合には、ＣＰＵ  １０２が、所定のアルゴリズムに従って、他キャラクターの位置を移動させる。なお、全キャラクターが自律的に移動するようなシミュレーションを行う場合には、すべてのキャラクターの移動を、ＣＰＵ  １０２が司ることになる。
【００８０】
また、環状オブジェクトと複数のキャラクターの結び付きは、一対多対応である。すなわち、１つの環状オブジェクトには、１つまたは複数のキャラクターが結び付けられ、各キャラクターは、いずれか１つの環状オブジェクトに結び付けられる。
【００８１】
初期化の際には、キャラクターの数と同じだけの環状オブジェクトをＲＡＭ  １０３内に生成する。各環状オブジェクトは、いずれかのキャラクターに一対一に結び付けられ、その半径は、所定の定数値Rであり、環状オブジェクトの中心位置は、結び付けられたキャラクターの位置に設定しておく。
【００８２】
本実施形態では、環状オブジェクトの太さは、結び付けられたキャラクターの体力パラメータにあらかじめ対応付けられる値に初期設定される。体力パラメータが大きくなればなるほど、太さも太くなるように対応付けるのが典型的である。
【００８３】
なお、この太さを環状オブジェクトの半径に対応付けて変化させる手法を採用しても良い。典型的には、半径が大きくなればなるほど、太さがより細くなるように対応付ける。
【００８４】
また、環状オブジェクトに結び付けられたキャラクターの体力パラメータの総和と、環状オブジェクトの半径と、を案分して、環状オブジェクトの太さを対応付けることとしても良い。たとえば、太さを、体力パラメータの総和を環状オブジェクトの半径で除算した値に比例させる、等の対応付けが考えられる。
【００８５】
視点の位置および視線の方向は、自キャラクターの位置および向きに連動するように設定するのが典型的である。たとえば、自キャラクターに固定された座標系において、視点の位置および視線の方向が一定となるように連動させることで、自キャラクターをその背後上方から眺める「客観視点」の描画が実現される。
【００８６】
初期化の後、ＣＰＵ  １０２は、画像処理部１０６を機能させて、ＲＡＭ  １０３に記憶されている情報に基づき、仮想空間内の様子を表す画像を生成する（ステップＳ３０２）。画像処理部１０６は、３次元グラフィックスの技術を適用して、ＲＡＭ  １０３に記憶された視点の位置から、ＲＡＭ  １０３に記憶された視線の方向へ、各キャラクターおよび環状オブジェクトを見た様子をあらわす画像を生成する。生成された画像は、一時的にＲＡＭ  １０３に記憶される。
【００８７】
この後、ＣＰＵ  １０２は、液晶ディスプレイ１０７の垂直同期割込が生じるまで待機する（ステップＳ３０３）。垂直同期割込は、液晶ディスプレイ１０７の表示が更新される時間間隔おきに生じる割込で、本実施形態の情報処理装置１０１では、６０分の１秒ごとに生じる。この待機中には、他の処理をコルーチン的に実行することも可能である。
【００８８】
垂直同期割込が生じたら、ＣＰＵ  １０２は、ＲＡＭ  １０３内に一時的に記憶された画像を、液晶ディスプレイ１０７に転送して表示させるように、画像処理部１０６を制御する（ステップＳ３０４）。このようなバッファリングの処理を行うことにより、動画像として画面表示を行う際に、ちらつきを防止することができるとともに、以下の処理を一定の時間間隔で実行することができるようになる。
【００８９】
図４、図５は、キャラクターが仮想空間内に配置される初期状態の様子を表す平面図と、画像の表示例を示す説明図である。以下、本図を参照して説明する。
【００９０】
水平面が桝目状に区切られた仮想空間４１１内には、自キャラクターＡ、ならびに、他キャラクターＢ、Ｃ、Ｄの４人のキャラクター４０２が配置されており、各キャラクター４０２の周囲には、共通する半径の環状オブジェクト４０４が配置されている。初期状態では、各キャラクター４０２と環状オブジェクト４０４とが、１対１に対応付けられているためである。
【００９１】
画面４０１内には、キャラクター４０２が配置された自キャラクターＡが画面のほぼ中央に表示されるような視点の位置および視線の方向が設定され、鳥瞰図の形式で表示されている。
【００９２】
画面４０１には、自キャラクターＡの背中側が表示されている。これは、自キャラクターＡが仮想世界４１１を眺める向きと、プレイヤーが仮想世界４１１を眺める視線の向きと、を揃えているからである。したがって、プレイヤーが座っている側（手前側）は、自キャラクターＡの後方に相当することになる。
【００９３】
画面４０１内では、各環状オブジェクト４０４は、視点からの距離が異なるので、描画される大きさは異なっている。また、環状オブジェクト４０４は斜め上方から見られているので、楕円形に表示されている。
【００９４】
ついで、ＣＰＵ  １０２は、入力装置１０５の状況を調べて、プレイヤーからの操作指示に基づき、ＲＡＭ  １０３に記憶される自キャラクターの位置や視点の位置、視線の方向を更新する（ステップＳ３０５）。
【００９５】
さらに、ＣＰＵ  １０２は、無線ＬＡＮインターフェース１１４を介して他のプレイヤーからの指示情報を受け付け、もしくは、所定のキャラクター移動シミュレーションアルゴリズムに基づいて、他キャラクターの位置を更新する（ステップＳ３０６）。
【００９６】
この後、ＣＰＵ  １０２は、各キャラクターについて、以下の処理を繰り返す（ステップＳ３０７）。
【００９７】
すなわち、当該キャラクター４０２に結び付けられていない環状オブジェクト４０４のうち、当該キャラクター４０２に最も近い位置にある環状オブジェクト４０４を探し（ステップＳ３０８）、発見された環状オブジェクト４０４の中心位置と、当該キャラクター４０２の位置と、の距離を計算する（ステップＳ３０９）。
【００９８】
そして、ここで計算された距離が「発見された環状オブジェクト４０４の半径に定数Rを加算した値」以下であるか否か、すなわち、当該キャラクター４０２が発見された環状オブジェクト４０４に近接しているか否か、を判定する（ステップＳ３１０）。
【００９９】
近接している場合（ステップＳ３１０；Ｙｅｓ）、当該キャラクター４０２、および、これと同じグループに属するキャラクター４０２、すなわち、当該キャラクター４０２が結び付けられている環状オブジェクト４０４に結び付けられている全キャラクター４０２を、発見された環状オブジェクト４０４に結び付けて、グループを結合する（ステップＳ３１２）。
【０１００】
この処理によって、２つの環状オブジェクト４０４が１つの環状オブジェクト４０４にまとめられ、元の環状オブジェクト４０４は、ＲＡＭ  １０３から消去される。
【０１０１】
全キャラクターについて、ステップＳ３０７〜Ｓ３１２の処理を実行したら（ステップＳ３１３）、ＣＰＵ  １０２は、ＲＡＭ  １０３内に残っている各環状オブジェクト４０４について、以下の処理を繰り返す（ステップＳ３１４）。
【０１０２】
まず、当該環状オブジェクト４０４に結び付けられているキャラクターの位置を包含するような包含円を求める（ステップＳ３１５）。このような包含円としては、以下の態様を採用することができる。
（ａ）最小包含円を採用する。最小包含円を求めるアルゴリズムそのものは公知であり、当該アルゴリズムは計算量が多いとされているが、キャラクターの数が少ない場合には、実用的である。
（ｂ）キャラクターの位置の重心（平均）を中心とし、その中心から最も遠い位置にいるキャラクターまでの距離を半径とする円を採用する。計算に要する時間はキャラクターの数に比例するので、実用的である。
【０１０３】
なお、包含円に結び付けられているキャラクターの数が１人である場合には、包含円の半径は０となる。包含円に結び付けられているキャラクターの数が２人である場合には、包含円の直径はキャラクターの間の距離に一致する。
【０１０４】
包含円に結び付けられているキャラクターの数が３人である場合、当該キャラクターの位置を頂点とする三角形が鋭角三角形であれば、最小包含円は、当該頂点をすべて通過する円となり、手法（ａ）と手法（ｂ）の結果は一致する。
【０１０５】
当該キャラクターの位置を頂点とする三角形が鈍角三角形であれば、最小包含円は、距離が最も遠い頂点同士を直径とする円となる。
【０１０６】
このように定めることで、当該複数のキャラクター４０２の位置を含む基準円（環状オブジェクト４０４の位置と半径を表す円。）の中心の位置および半径が、一意に決定される。すなわち、キャラクター４０２の位置が同じであれば、環状オブジェクト４０４の中心の位置および半径も同じ位置および長さに決定される。
【０１０７】
このように設定することで、キャラクター４０２と環状オブジェクト４０４とは、定数R以上離間することとなるので、両者は交差しなくなり、画像により提供される情報が知得しやすくなる。
【０１０８】
ついで、当該環状オブジェクト４０４の中心位置を包含円の中心位置に、環状オブジェクト４０４の中心位置を包含円の半径に定数Rを加算した値に、それぞれ更新する（ステップＳ３１６）。この際に、環状オブジェクト４０４の太さも、環状オブジェクト４０４の半径や結び付けられたキャラクターの体力パラメータの総和に応じて更新する。
【０１０９】
図６乃至図１３は、仮想空間４１１内においてキャラクター４０２が近接することによってグループを形成し、元の環状オブジェクト４０４から、共通する新たな環状オブジェクトに囲まれるようになった様子を示す平面図および表示例を示す説明図である。以下、本図を参照して説明する。なお、これらの図においては、理解を容易にするため、適宜符号を省略している。
【０１１０】
図４に示す初期状態から、キャラクターＡ、Ｂが近付くほか、キャラクターＣ、Ｄが近付いて、各対ごとに、それぞれの周囲を囲んでいた環状オブジェクト４０４（本図では点線で示している。）が接したり交差したりする程度に状況を想定する。
【０１１１】
すると、図６の平面図ならびに図７の表示例の説明図に示すように、キャラクターＡ、Ｂを囲む２つの環状オブジェクト４０４が結合して、一つの環状オブジェクト５０１ａになる。このほか、キャラクターＣ、Ｄを囲む２つの環状オブジェクト４０４が結合して、一つの環状オブジェクト５０１ｂになる。
【０１１２】
ここでは、自キャラクターＡ、他キャラクターＢは、環状オブジェクト５０１ａに結び付けられており、他キャラクターＣ、Ｄは、環状オブジェクト５０１ｂに結び付けられている。
【０１１３】
この後、さらに他キャラクターＤが移動して、環状オブジェクト５０１ａに近付いた場合を想定する。すると、図８の平面図ならびに図９の表示例の説明図に示すように、環状オブジェクト５０１ａ、５０１ｂが結合して、一つの環状オブジェクト６０１になる。
【０１１４】
この後、さらに、他キャラクターＤが遠くに移動して、画面内に表示されないようになった状況を想定する。
【０１１５】
図１０、図１１に示すのは、キャラクターＤが、自キャラクターＡの右後方（プレイヤーから見て手前側）の遠くにいる状況を想定しているので、環状オブジェクト６０１も右に寄っている。
【０１１６】
図１２、図１３に示すのは、キャラクターＤが、自キャラクターＡの左後方（プレイヤーから見て手前側）の遠くにいる状況を想定しているので、環状オブジェクト６０１も左に寄っている。
【０１１７】
また、キャラクターＤの遠さが異なるため、両図で環状オブジェクト６０１の半径も異なることとなっている。
【０１１８】
このように、キャラクター４０２が移動すると、そのキャラクター４０２が、画像内に描画されていない場合であっても、その移動に応じて、画像内に描画される環状オブジェクトの数や位置、形状が変化するので、複数のキャラクターの配置の概要がわかる。
【０１１９】
また、画像内にキャラクター４０２が描画されているにもかかわらず、環状オブジェクトが描画されていなければ、そのキャラクター４０２は、仮想空間４１１内のキャラクター４０２が属するグループの存在範囲の周縁ではなく中央寄りに配置されていることがわかる。
【０１２０】
したがって、プレイヤーは、複数のキャラクター４０２の位置の仮想空間４１１内における配置の概要が容易に知得できるようになる。
【０１２１】
全環状オブジェクトについて、ステップＳ３１４〜ステップＳ３１６の処理を繰り返した（ステップＳ３１７）後、ＣＰＵ  １０２は、ゲームの規則にしたがって、各キャラクター４０２の体力パラメータを更新する（ステップＳ３１８）。この更新は、各プレイヤーからなされた操作指示や、ＣＰＵ  １０２に定められた所定のパラメータ更新アルゴリズムに基づいて行われる。
【０１２２】
典型的には、敵キャラクター４０２との戦闘や時間の経過によって、体力パラメータが減少し、アイテムの発見や休憩によって、体力パラメータが増加するように構成する。
【０１２３】
さらに、ＣＰＵ  １０２は、全環状オブジェクトについて、以下の処理を繰り返す（ステップＳ３１９）。
【０１２４】
すなわち、当該環状オブジェクトに結び付けられているキャラクターが複数であれば（ステップＳ３２０；Ｙｅｓ）、当該キャラクターからなるグループを解除するか否かを判定する（ステップＳ３２１）。判定の基準としては、以下のようなものが考えられる。
（ａ）環状オブジェクトの半径が、所定の上限値より大きくなった場合。当該所定の上限値は、定数Rよりも十分に大きくするのが典型的である。
（ｂ）グループを形成するキャラクターの体力パラメータの総和が、所定の下限値未満となった場合。
（ｃ）上記（ａ）（ｂ）の組み合わせ。たとえば、体力パラメータの総和を半径で除算した値が、所定の定数未満となった場合。
（ｄ）プレイヤーから、グループ解除の操作指示があった場合。
【０１２５】
グループを解除する場合（ステップＳ３２１；Ｙｅｓ）、必要な数だけ環状オブジェクトを生成して、各キャラクターに１対１に結び付け、体力パラメータの総和を各キャラクターに分配する（ステップＳ３２２）。
【０１２６】
各キャラクターの体力パラメータの分配は、たとえば、図７や図８に示す状態で、グループが解除されると、図４に示すように、各キャラクター４０２のそれぞれに環状オブジェクト４０４が１つ割り当てられる状態に戻ることになる。
【０１２７】
なお、体力パラメータの分配は、そのまま現在の値を維持する態様もありうるが、体力パラメータの総和をキャラクター数で割った値を、新たな体力パラメータとして平等、あるいは、適当な重み付けをして分配することとしても良い。
【０１２８】
これにより、グループを解除したとたん、体力パラメータが負になって、キャラクターが死亡するという状態を防止することができる。
【０１２９】
グループを解除しない場合には、ステップＳ３２５に進む。
【０１３０】
一方、結び付けられているキャラクター４０２が一人の場合（ステップＳ３２０；Ｎｏ）、当該キャラクター４０２の体力パラメータが正であるか否かを調べる（ステップＳ３２３）。正であれば、ステップＳ３２５に進む。
【０１３１】
正でなければ（ステップＳ３２３；Ｎｏ）、当該キャラクター４０２と、当該キャラクター４０２に結び付けられる環状オブジェクトと、の情報を、ＲＡＭ  １０３から消去して（ステップＳ３２４）、ステップＳ３２５に進む。
【０１３２】
このような処理を採用することによって、ゲームが進行することによって、キャラクター４０２の体力パラメータが変化し、グループを形成している間は、グループ内で体力パラメータの貸し借りが行われる状況を実現することができる。
【０１３３】
全環状オブジェクトについて、ステップＳ３１９〜ステップＳ３２４の処理を行ったら（ステップＳ３２５）、ステップＳ３０２に戻る。
【０１３４】
このように、本実施形態によれば、プレイヤーは、環状オブジェクトの数や位置、形状によって、複数のキャラクター４０２の位置の仮想空間内における配置の概要を容易に知得できるようになる。
【０１３５】
また、近付いたキャラクター４０２同士が結び付いてグループを形成したり、グループが解除されたりする様子を自然に表現できるようになる。
【産業上の利用可能性】
【０１３６】
以上説明したように、本発明によれば、複数のキャラクターの位置の仮想空間内における配置の概要を容易に知得できる画像を生成するのに好適な画像処理装置、画像処理方法、ならびに、これらをコンピュータにて実現するプログラムを提供することができる。
【符号の説明】
【０１３７】
１０１  情報処理装置
１０２  ＣＰＵ
１０３  ＲＡＭ
１０４  ＲＯＭ
１０５  入力装置
１０６  画像処理部
１０７  液晶ディスプレイ
１０８  音声処理部
１０９  ヘッドホン
１１０  カセットリーダ
１１１  ＲＯＭカセット
１１２  外部メモリ
１１３  ＲＴＣ
１１４  無線ＬＡＮインターフェース
１１５  カメラ
２０１  画像処理装置
２０２  記憶部
２０３  決定部
２０４  更新部
２０５  生成部
４０１  画面
４０２  キャラクター
４０４  環状オブジェクト
４１１  仮想空間
５０１  環状オブジェクト
６０１  環状オブジェクト
【図１】
2010277121.tif 000003
【図２】
2010277121.tif 000004
【図３】
2010277121.tif 000005
【図４】
2010277121.tif 000006
【図５】
2010277121.tif 000007
【図６】
2010277121.tif 000008
【図７】
2010277121.tif 000009
【図８】
2010277121.tif 000010
【図９】
2010277121.tif 000011
【図１０】
2010277121.tif 000012
【図１１】
2010277121.tif 000013
【図１２】
2010277121.tif 000014
【図１３】
2010277121.tif 000015