説明

画像処理装置、画像処理方法、ならびに、プログラム

【課題】複数のキャラクターの位置の仮想空間内における配置の概要を容易に知得できる画像を生成する画像処理装置等を提供する。
【解決手段】画像処理装置201において、記憶部202には、仮想空間内を移動する複数のキャラクターの位置および形状ならびに環状オブジェクトの位置および形状が記憶され、決定部203は、記憶された複数のキャラクターの位置から、当該複数のキャラクターの位置を含む基準円の中心の位置および半径を、一意に決定し、更新部204は、記憶部202に記憶される環状オブジェクトの位置を、決定された中心の位置とし、当該環状オブジェクトの形状を、決定された半径の環とするように更新し、生成部205は、複数のキャラクター、ならびに、環状オブジェクトを、当該仮想空間内に配置された視点から当該仮想空間内に設定された方向に見た画像を生成する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、複数のキャラクターの位置の仮想空間内における配置の概要を容易に知得できる画像を生成するのに好適な画像処理装置、画像処理方法、ならびに、これらをコンピュータにて実現するプログラムに関する。
【背景技術】
【0002】
従来から、コンピュータゲーム等の分野では、たとえば特許文献1に開示されるように、仮想空間に配置されたキャラクターを囲む基準円を設け、基準円の円周からのずれによって数値を表現する環状のグラフを画面に表示することにより、当該キャラクターの周囲の数値情報をユーザに提示する技術が提案されている。
【0003】
一方で、たとえば非特許文献1に開示されるように、ある条件を満たす複数の点が与えられたときに、これらを囲む円のうち最小の円、すなわち、最小包含円(smallest enclosing circle)を求めるための幾何学的アルゴリズムが提案されている。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特許第4187748号公報
【非特許文献】
【0005】
【非特許文献1】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,2008年
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、仮想空間内には、複数のキャラクターが配置されていることがあり、コンピュータゲームにおいて自分が操作するキャラクターの味方のキャラクターが仮想空間内でどのような広がりをもって配置されているか等、複数のキャラクターの位置の概要を容易に知得できるようにしたい、との要望は強い。
【0007】
本発明は、上記のような課題を解決するもので、複数のキャラクターの位置の仮想空間内における配置の概要を容易に知得できる画像を生成するのに好適な画像処理装置、画像処理方法、ならびに、これらをコンピュータにて実現するプログラムを提供することを目的とする。
【課題を解決するための手段】
【0008】
以上の目的を達成するため、本発明の原理にしたがって、下記の発明を開示する。
【0009】
本発明の第1の観点に係る画像処理装置は、記憶部、決定部、更新部、生成部を備え、以下のように構成する。
【0010】
ここで、記憶部には、仮想空間内を移動する複数のキャラクターの位置および形状、ならびに、当該仮想空間に配置される環状オブジェクトの位置および形状が記憶される。
【0011】
キャラクターの形状は、複数のポリゴンの集合体、あるいは、制御点と重みから多項式を用いて定義されるBスプライン曲面等の有理多項式曲面等によって定義される。一方、環状オブジェクトは、円環状の形状とするのが一般的であるが、中央部分の透明度が高い円盤状の形状としても良い。
【0012】
さらに、決定部は、記憶された複数のキャラクターの位置から、当該複数のキャラクターの位置を含む基準円の中心の位置および半径を、一意に決定する。
【0013】
ここで、一意に決定する、とは、キャラクターの位置が同じであれば、基準円の中心の位置および半径も同じ位置および長さに決定される、ということである。包含円としては、上述の最小包含円のほか、後述するように、種々の円を採用することができる。
【0014】
さらに、更新部は、記憶部に記憶される環状オブジェクトの位置を決定された中心の位置とし、当該環状オブジェクトの形状を決定された半径の環とするように更新する。
【0015】
上記のように、キャラクターの位置によって一意に中心の位置および半径が決定されるので、環状オブジェクトの位置および形状も一意に決定される。
【0016】
そして、生成部は、複数のキャラクター、ならびに、環状オブジェクトを、当該仮想空間内に配置された視点から当該仮想空間内に設定された方向に見た画像を生成する。
【0017】
当該画像は、三次元グラフィックスの技術を用いて生成される。典型的には、複数のキャラクターのうち、いずれかのキャラクターに注目するように、視点および視線の方向が自動的に定められる。また、複数のキャラクターのすべてが画像内に含まれる必要はない。
【0018】
キャラクターが移動すると、そのキャラクターが、画像内に描画されていない場合であっても、その移動に応じて、画像内に描画される環状オブジェクトの位置や形状が変化するので、複数のキャラクターの配置の概要がわかる。また、画像内にキャラクターが描画されているにもかかわらず、環状オブジェクトが描画されていなければ、そのキャラクターは、仮想空間内のキャラクターの存在範囲の周縁ではなく中央寄りに配置されていることがわかる。
【0019】
このように、本発明によれば、複数のキャラクターの位置の仮想空間内における配置の概要が容易に知得できるようになる。
【0020】
また、本発明の画像処理装置において、決定部は、記憶された複数のキャラクターの位置を包含する最小包含円の中心の位置および半径を計算し、当該計算された位置を当該基準円の中心の位置として決定し、当該計算された半径に所定の定数を加算した値を、当該基準円の半径として決定するように構成することができる。
【0021】
本発明は上記発明の好適実施形態に係るもので、キャラクターの位置を包含する最小包含円の半径を所定の長さだけ大きくした円を基準円として採用するものである。
【0022】
本発明によれば、キャラクターと環状オブジェクトとは、所定の長さ以上離間することとなるので、両者が交差する可能性が極めて低くなり、画像により提供される情報が知得しやすくなる。
【0023】
また、本発明の画像処理装置において、決定部は、記憶された複数のキャラクターの位置の重心の位置を計算し、計算された位置を当該基準円の中心の位置として決定し、記憶された複数のキャラクターの位置のうち当該計算された位置から最も遠い位置と、の間の距離に所定の定数を加算した値を、当該基準円の半径として決定するように構成することができる。
【0024】
本発明は上記発明の好適実施形態に係るもので、基準円の中心位置を、キャラクターの位置の重心、すなわち、キャラクターの位置の平均に定め、当該重心から最も遠いキャラクターの位置を探し、当該最も遠い位置と、当該中心と、の距離を、所定の長さだけ大きくした円を基準円として採用するものである。
【0025】
本発明によれば、キャラクターと環状オブジェクトとは、所定の長さ以上離間することとなるので、両者が交差する可能性が極めて低くなり、画像により提供される情報が知得しやすくなるとともに、簡易な計算で基準円を定めることができるようになる。
【0026】
また、本発明の画像処理装置は、以下のように構成することができる。すなわち、更新部は、環状オブジェクトの形状を、決定された半径に対応付けられる太さの環とするように更新する。
【0027】
典型的には、半径が大きくなると、それに応じて環状オブジェクトの太さが細くなるように構成する。半径と太さが反比例するように構成すると、計算が簡易である。
【0028】
本発明によれば、環状オブジェクトの太さによって、キャラクターの配置の広がりが、容易に知得できるようになる。
【0029】
また、本発明の画像処理装置は、以下のように構成することができる。すなわち、記憶部には、複数のキャラクターのそれぞれに対応付けられるパラメータ値がさらに記憶され、更新部は、環状オブジェクトの形状を、複数のキャラクターのそれぞれに対応付けられるパラメータ値の総和に対応付けられる太さの環とするように更新する。
【0030】
本発明がゲーム装置に適用される場合には、体力パラメータをキャラクターのパラメータ値として採用するのが典型的である。すると、パラメータ値の総和は、キャラクターにより構成されるグループ全体の「体力」や「元気さ」を表すことになる。
【0031】
本発明によれば、環状オブジェクトの太さによって、キャラクター全体のパラメータ値の総和が、容易に知得できるようになる。
【0032】
また、本発明の画像処理装置において、更新部は、複数のキャラクターのそれぞれに対応付けられるパラメータ値、もしくは、当該基準円の半径が、所定の条件を満たした場合、または、ユーザの指示入力に基づいて、決定された中心の位置とし、決定された半径の環とする環状オブジェクトの位置および形状を記憶部から消去し、複数のキャラクターのそれぞれの位置を中心の位置とし、当該キャラクターのパラメータ値に対応付けられる太さの所定の半径の環を形状とする環状オブジェクトを記憶部に記憶させるように構成することができる。
【0033】
典型的には、パラメータ値の総和がある閾値よりも小さくなって、グループ全体の「体力」が減退している場合や、基準円の半径がある閾値よりも大きくなってグループ全体の「結合度」が低くなっている場合に、グループが解除される。また、ユーザの指示入力によって、グループを解除することとしても良い。
【0034】
このような場合には、グループ全体を囲む包含円を環状オブジェクトとして描画するのではなく、個々のキャラクターの周囲に、当該キャラクターのパラメータ値に応じた太さの環状オブジェクトを配置する。
【0035】
なお、本発明においては、キャラクター同士の距離がある値以下となった場合、典型的には、個々のキャラクターを囲む環状オブジェクトが接するような距離となった場合には、両キャラクターが同じグループを構成するようにするのが典型的である。
【0036】
本発明によれば、環状オブジェクトがキャラクター全体を囲むか、それとも、個々に囲むか、を見ることで、キャラクターがグループを構成しているか否か、ならびに、キャラクターのパラメータ値の概要を容易に知得することができるようになる。
【0037】
また、本発明の画像処理装置において、定期的に、もしくは、複数のキャラクターのいずれかが移動するごとに、決定部による決定と、更新部による更新と、生成部による生成と、が実行されるように構成することができる。
【0038】
本発明によれば、キャラクターの配置の変化が画像に反映されるので、当該画像を画面に表示した場合には、動画表示が可能となる。
【0039】
本発明のその他の観点に係る画像処理方法は、記憶部、決定部、更新部、生成部を備える画像処理装置が実行し、記憶部には、仮想空間内を移動する複数のキャラクターの位置および形状、ならびに、当該仮想空間に配置される環状オブジェクトの位置および形状が記憶され、当該画像処理方法は、決定工程、更新工程、生成工程を備え、以下のように構成する。
【0040】
ここで、決定工程では、決定部が、記憶された複数のキャラクターの位置から、当該複数のキャラクターの位置を含む基準円の中心の位置および半径を、一意に決定する。
【0041】
一方、更新工程では、更新部が、記憶部に記憶される環状オブジェクトの位置を決定された中心の位置とし、当該環状オブジェクトの形状を決定された半径の環とするように更新する。
【0042】
さらに、生成工程では、生成部が、複数のキャラクター、ならびに、環状オブジェクトを、当該仮想空間内に配置された視点から当該仮想空間内に設定された方向に見た画像を生成する。
【0043】
本発明のその他の観点に係るプログラムは、コンピュータを上記の画像処理装置の各部として機能させるように構成する。
【0044】
また、本発明のプログラムは、コンパクトディスク、フレキシブルディスク、ハードディスク、光磁気ディスク、ディジタルビデオディスク、磁気テープ、半導体メモリ等のコンピュータ読取可能な情報記憶媒体に記録することができる。
【0045】
上記プログラムは、プログラムが実行されるコンピュータとは独立して、コンピュータ通信網を介して配布・販売することができる。また、上記情報記憶媒体は、コンピュータとは独立して配布・販売することができる。
【発明の効果】
【0046】
本発明によれば、複数のキャラクターの位置の仮想空間内における配置の概要を容易に知得できる画像を生成するのに好適な画像処理装置、画像処理方法、ならびに、これらをコンピュータにて実現するプログラムを提供することができる。
【図面の簡単な説明】
【0047】
【図1】典型的な情報処理装置の概要構成を示す模式図である。
【図2】情報処理装置がROMカセットに記録されたプログラムを実行することにより実現される画像処理装置の概要構成を示す説明図である。
【図3】本実施形態に係る画像処理装置にて実行される処理の制御の流れを示すフローチャートである。
【図4】キャラクターが仮想空間内に配置される様子を示す平面図である。
【図5】キャラクターが仮想空間内に配置される様子を画面に表示した表示例を示す説明図である。
【図6】キャラクターが仮想空間内に配置される様子を示す平面図である。
【図7】キャラクターが仮想空間内に配置される様子を画面に表示した表示例を示す説明図である。
【図8】キャラクターが仮想空間内に配置される様子を示す平面図である。
【図9】キャラクターが仮想空間内に配置される様子を画面に表示した表示例を示す説明図である。
【図10】キャラクターが仮想空間内に配置される様子を示す平面図である。
【図11】キャラクターが仮想空間内に配置される様子を画面に表示した表示例を示す説明図である。
【図12】キャラクターが仮想空間内に配置される様子を示す平面図である。
【図13】キャラクターが仮想空間内に配置される様子を画面に表示した表示例を示す説明図である。
【発明を実施するための形態】
【0048】
以下に本発明の実施形態を説明する。以下では、理解を容易にするため、ゲーム用の情報処理装置を利用して本発明が実現される実施形態を説明するが、以下に説明する実施形態は説明のためのものであり、本願発明の範囲を制限するものではない。
【0049】
したがって、当業者であればこれらの各要素もしくは全要素をこれと均等なものに置換した実施形態を採用することが可能であるが、これらの実施形態も本発明の範囲に含まれる。
【実施例1】
【0050】
図1は、プログラムを実行することにより、本実施形態の画像処理装置として機能しうる典型的な情報処理装置の概要構成を示す模式図である。以下、本図を参照して説明する。
【0051】
本図に示す情報処理装置101は、携帯可能なマルチメディア端末であり、CPU(Central Processing Unit)102、RAM(Random Access Memory)103、ROM(Read Only Memory)104、入力装置105、画像処理部106、液晶ディスプレイ107、音声処理部108、ヘッドホン109、カセットリーダ110、ROMカセット111、外部メモリ112、RTC(Real Time Clock)113、無線LAN(Local Area Network)インターフェース114、カメラ115を備える。
【0052】
本実施形態に係るプログラムが記録されたROMカセット111を、情報処理装置101に装着することによって、本実施形態に係る画像処理装置が実現され、プレイヤーは情報処理装置101を利用して、CPU 102が所定のアルゴリズムで動作させるキャラクターとスタンドアローンで対戦したり、他のプレイヤーと協力する通信ゲームをしたりできるようになる。
【0053】
ここで、CPU 102は、情報処理装置101の各部を制御するとともに、各種の演算処理や判断処理を行う。
【0054】
情報処理装置101に電源が投入されると、CPU 102は、ROM 104に記録されたIPL(Initial Program Loader)を実行し、その処理の過程で、カセットリーダ110を介して接続されたROMカセット111に記録されたプログラムに処理を移行する。
【0055】
情報処理装置101で実行されるゲームプログラムやマルチメディア情報再生プログラムは、ROMカセット111によって提供されるのが一般的であるが、ROM 104内にあらかじめ用意しておくことも可能である。
【0056】
また、ROM 104内には、BIOS(Basic Input Output System)と呼ばれるプログラム群が用意されており、入力装置105や画像処理部106、音声処理部108の制御を行うことができる。
【0057】
RAM 103は、一時的な情報を記憶するための領域であり、外部メモリ112は、不揮発な情報を記憶するための領域である。外部メモリ112としては、ハードディスクなど、主として情報処理装置101に内蔵されるもののほか、各種のメモリカードなど、情報処理装置101に抜挿されるものを利用しても良い。
【0058】
入力装置105は、各種のボタンやキーボード、マウス、ジョイスティック等により実現されるのが一般的であるが、液晶ディスプレイ107と一体に形成されたタッチスクリーンを入力装置105として利用することも可能である。
【0059】
画像処理部106は、CPU 102の制御の下、各種の文字情報や画像情報を液晶ディスプレイ107に表示させるものであり、一般には、垂直同期割込周期(典型的には、30分の1秒や60分の1秒程度である。)ごとに、RAM 103内に用意されたフレームバッファに記憶された画素情報を液晶ディスプレイ107の各画素に反映させる。
【0060】
ユーザからの指示入力は、液晶ディスプレイ107に表示されたカーソルを入力装置105の移動ボタン操作により移動して、所望のメニュー項目にカーソルを合わせ、決定ボタン操作によって当該メニュー項目を選択するのが一般的であるが、タッチスクリーンを利用する場合にはカーソルは不要である。また、入力装置105の各ボタンに割り当てられる機能があらかじめ決まっている場合には、液晶ディスプレイ107に対する表示は、必ずしも必要ではない。
【0061】
音声処理部108は、RAM 103やROM 104、ROMカセット111、外部メモリ112に用意された音声データをヘッドホン109に出力する。音声データとしては、音声の波形データをディジタル化したPCM(Pulse Code Modulation)データや、PCMデータを圧縮してサイズを小さくしたMP3(MPeg audio layer-3)データ等を利用することが可能であるほか、MIDI(Music Instruction Data Interface)データのように、音高、音長、音量、音色の種類を定義するデータを用意し、これにしたがって、あらかじめ用意された音源波形データを適宜選択・変形して再生する手法を採用しても良い。
【0062】
RTC 113は、現在の日時を計測するもので、情報処理装置101を初めて利用する際に時刻合わせを行うのが一般的であるが、無線LANインターフェース114を介してNTP(Network Time Protocol)サーバに接続することで、自動的に時刻合わせを行うような態様を採用することも可能である。
【0063】
また、アラーム割込を発生させる機能を持つRTC 113もある。設定された時刻になるとアラーム割込が発生して、CPU 102は、現在実行中のプログラムを一時中断し、あらかじめ設定された割込ハンドラを実行してから、中断したプログラムを再開する。
【0064】
無線LANインターフェース114は、自宅や会社、街角に用意された無線LANアクセスポイントを介してインターネットに接続したり、近傍に配置された他の情報処理装置101と、アドホックに通信路を確立し、1対1で通信を行うなどが可能である。
【0065】
カメラ115は、情報処理装置101によってディジタルカメラの機能を実現するものであり、CCD(Charge Coupled Device)やCMOS(Complementary Metal Oxide Semiconductor)撮像素子などの技術を適用することが可能である。撮影された画像は、一時的にRAM 103に展開された後、外部メモリ112等に保存される。
【0066】
このほか、ビジネス用コンピュータ、携帯電話、PDA(Personal Data Assistant)、携帯ゲーム装置、多機能テレビジョン装置、DVD(Digital Versatile Disc)プレイヤー、携帯音楽プレイヤーなどを、本発明の画像処理装置が実現される情報処理装置101として採用することもできる。
【0067】
図2は、情報処理装置101がROMカセット111に記録されたプログラムを実行することにより実現される画像処理装置の概要構成を示す説明図である。以下、本図を参照して説明する。
【0068】
本実施形態に係る画像処理装置201は、記憶部202、決定部203、更新部204、生成部205を備える。以下、まず、画像処理装置201の各部の機能と情報処理装置101の各部の機能との対応関係について、概説する。
【0069】
記憶部202には、仮想空間内を移動する複数のキャラクターの位置および形状、ならびに、当該仮想空間に配置される環状オブジェクトの位置および形状が記憶される。本実施形態では、記憶部202は、RAM 103により実現される。
【0070】
一方、決定部203は、記憶された複数のキャラクターの位置から、当該複数のキャラクターの位置を含む基準円の中心の位置および半径を、一意に決定する。本実施形態では、決定部203は、RAM 103により実現される。
【0071】
さらに、更新部204は、記憶部202に記憶される環状オブジェクトの位置を、決定された中心の位置とし、当該環状オブジェクトの形状を、決定された半径の環とするように更新する。本実施形態では、更新部204は、CPU 102がRAM 103と共働することにより実現される。
【0072】
そして、生成部205は、複数のキャラクター、ならびに、環状オブジェクトを、当該仮想空間内に配置された視点から当該仮想空間内に設定された方向に見た画像を生成する。本実施形態では、CPU 102の制御の下、RAM 103に記憶された情報に基づいて、画像処理部106が機能することにより、生成部205が実現される。
【0073】
以下では、画像処理装置201の各部を実現するために、情報処理装置101の各部が実行する処理を、詳細に説明する。
【0074】
図3は、本実施形態に係る画像処理装置201にて実行される処理の制御の流れを示すフローチャートである。以下、本図を参照して説明する。
【0075】
本処理が開始されると、CPU 102は、ROMカセット111や外部メモリ112から各種の情報を読み出し、RAM 103の初期化を行う(ステップS301)。
【0076】
ここで、RAM 103には、以下のような情報が記憶される。
(a)当該画像処理装置201を操作するプレイヤーの操作指示に基づいて仮想空間内を移動するキャラクター(以下「自キャラクター」という。)の位置、形状、体力パラメータ。
(b)他のプレイヤーからの操作指示に基づいて、もしくは、CPU 102により計算される所定のアルゴリズムに基づいて、当該仮想空間内を移動するキャラクター(以下「他キャラクター」という。)の位置、形状、体力パラメータ。
(c)当該仮想空間内に配置される環状オブジェクトの位置、半径、太さ、および、当該環状オブジェクトに結び付けられるキャラクター。環状オブジェクトの数は、1つまたは複数である。
(d)当該仮想空間内に配置される視点の位置および視線の方向。
【0077】
ここで、キャラクターの形状は、複数のポリゴンの集合体、あるいは、制御点と重みから多項式を用いて定義されるBスプライン曲面等の有理多項式曲面等によって定義される。
【0078】
環状オブジェクトは、円環状の形状とするのが一般的であるが、中央部分の透明度が高い円盤状の形状としても良い。
【0079】
自キャラクターを移動させるための操作指示は、入力装置105を介して取得される。本画像処理装置201を通信対戦ゲームに適用する場合には、他のプレイヤーからの操作指示の情報は、無線LANインターフェース114を介して取得される。一方、スタンドアロン型のゲームに適用する場合には、CPU 102が、所定のアルゴリズムに従って、他キャラクターの位置を移動させる。なお、全キャラクターが自律的に移動するようなシミュレーションを行う場合には、すべてのキャラクターの移動を、CPU 102が司ることになる。
【0080】
また、環状オブジェクトと複数のキャラクターの結び付きは、一対多対応である。すなわち、1つの環状オブジェクトには、1つまたは複数のキャラクターが結び付けられ、各キャラクターは、いずれか1つの環状オブジェクトに結び付けられる。
【0081】
初期化の際には、キャラクターの数と同じだけの環状オブジェクトをRAM 103内に生成する。各環状オブジェクトは、いずれかのキャラクターに一対一に結び付けられ、その半径は、所定の定数値Rであり、環状オブジェクトの中心位置は、結び付けられたキャラクターの位置に設定しておく。
【0082】
本実施形態では、環状オブジェクトの太さは、結び付けられたキャラクターの体力パラメータにあらかじめ対応付けられる値に初期設定される。体力パラメータが大きくなればなるほど、太さも太くなるように対応付けるのが典型的である。
【0083】
なお、この太さを環状オブジェクトの半径に対応付けて変化させる手法を採用しても良い。典型的には、半径が大きくなればなるほど、太さがより細くなるように対応付ける。
【0084】
また、環状オブジェクトに結び付けられたキャラクターの体力パラメータの総和と、環状オブジェクトの半径と、を案分して、環状オブジェクトの太さを対応付けることとしても良い。たとえば、太さを、体力パラメータの総和を環状オブジェクトの半径で除算した値に比例させる、等の対応付けが考えられる。
【0085】
視点の位置および視線の方向は、自キャラクターの位置および向きに連動するように設定するのが典型的である。たとえば、自キャラクターに固定された座標系において、視点の位置および視線の方向が一定となるように連動させることで、自キャラクターをその背後上方から眺める「客観視点」の描画が実現される。
【0086】
初期化の後、CPU 102は、画像処理部106を機能させて、RAM 103に記憶されている情報に基づき、仮想空間内の様子を表す画像を生成する(ステップS302)。画像処理部106は、3次元グラフィックスの技術を適用して、RAM 103に記憶された視点の位置から、RAM 103に記憶された視線の方向へ、各キャラクターおよび環状オブジェクトを見た様子をあらわす画像を生成する。生成された画像は、一時的にRAM 103に記憶される。
【0087】
この後、CPU 102は、液晶ディスプレイ107の垂直同期割込が生じるまで待機する(ステップS303)。垂直同期割込は、液晶ディスプレイ107の表示が更新される時間間隔おきに生じる割込で、本実施形態の情報処理装置101では、60分の1秒ごとに生じる。この待機中には、他の処理をコルーチン的に実行することも可能である。
【0088】
垂直同期割込が生じたら、CPU 102は、RAM 103内に一時的に記憶された画像を、液晶ディスプレイ107に転送して表示させるように、画像処理部106を制御する(ステップS304)。このようなバッファリングの処理を行うことにより、動画像として画面表示を行う際に、ちらつきを防止することができるとともに、以下の処理を一定の時間間隔で実行することができるようになる。
【0089】
図4、図5は、キャラクターが仮想空間内に配置される初期状態の様子を表す平面図と、画像の表示例を示す説明図である。以下、本図を参照して説明する。
【0090】
水平面が桝目状に区切られた仮想空間411内には、自キャラクターA、ならびに、他キャラクターB、C、Dの4人のキャラクター402が配置されており、各キャラクター402の周囲には、共通する半径の環状オブジェクト404が配置されている。初期状態では、各キャラクター402と環状オブジェクト404とが、1対1に対応付けられているためである。
【0091】
画面401内には、キャラクター402が配置された自キャラクターAが画面のほぼ中央に表示されるような視点の位置および視線の方向が設定され、鳥瞰図の形式で表示されている。
【0092】
画面401には、自キャラクターAの背中側が表示されている。これは、自キャラクターAが仮想世界411を眺める向きと、プレイヤーが仮想世界411を眺める視線の向きと、を揃えているからである。したがって、プレイヤーが座っている側(手前側)は、自キャラクターAの後方に相当することになる。
【0093】
画面401内では、各環状オブジェクト404は、視点からの距離が異なるので、描画される大きさは異なっている。また、環状オブジェクト404は斜め上方から見られているので、楕円形に表示されている。
【0094】
ついで、CPU 102は、入力装置105の状況を調べて、プレイヤーからの操作指示に基づき、RAM 103に記憶される自キャラクターの位置や視点の位置、視線の方向を更新する(ステップS305)。
【0095】
さらに、CPU 102は、無線LANインターフェース114を介して他のプレイヤーからの指示情報を受け付け、もしくは、所定のキャラクター移動シミュレーションアルゴリズムに基づいて、他キャラクターの位置を更新する(ステップS306)。
【0096】
この後、CPU 102は、各キャラクターについて、以下の処理を繰り返す(ステップS307)。
【0097】
すなわち、当該キャラクター402に結び付けられていない環状オブジェクト404のうち、当該キャラクター402に最も近い位置にある環状オブジェクト404を探し(ステップS308)、発見された環状オブジェクト404の中心位置と、当該キャラクター402の位置と、の距離を計算する(ステップS309)。
【0098】
そして、ここで計算された距離が「発見された環状オブジェクト404の半径に定数Rを加算した値」以下であるか否か、すなわち、当該キャラクター402が発見された環状オブジェクト404に近接しているか否か、を判定する(ステップS310)。
【0099】
近接している場合(ステップS310;Yes)、当該キャラクター402、および、これと同じグループに属するキャラクター402、すなわち、当該キャラクター402が結び付けられている環状オブジェクト404に結び付けられている全キャラクター402を、発見された環状オブジェクト404に結び付けて、グループを結合する(ステップS312)。
【0100】
この処理によって、2つの環状オブジェクト404が1つの環状オブジェクト404にまとめられ、元の環状オブジェクト404は、RAM 103から消去される。
【0101】
全キャラクターについて、ステップS307〜S312の処理を実行したら(ステップS313)、CPU 102は、RAM 103内に残っている各環状オブジェクト404について、以下の処理を繰り返す(ステップS314)。
【0102】
まず、当該環状オブジェクト404に結び付けられているキャラクターの位置を包含するような包含円を求める(ステップS315)。このような包含円としては、以下の態様を採用することができる。
(a)最小包含円を採用する。最小包含円を求めるアルゴリズムそのものは公知であり、当該アルゴリズムは計算量が多いとされているが、キャラクターの数が少ない場合には、実用的である。
(b)キャラクターの位置の重心(平均)を中心とし、その中心から最も遠い位置にいるキャラクターまでの距離を半径とする円を採用する。計算に要する時間はキャラクターの数に比例するので、実用的である。
【0103】
なお、包含円に結び付けられているキャラクターの数が1人である場合には、包含円の半径は0となる。包含円に結び付けられているキャラクターの数が2人である場合には、包含円の直径はキャラクターの間の距離に一致する。
【0104】
包含円に結び付けられているキャラクターの数が3人である場合、当該キャラクターの位置を頂点とする三角形が鋭角三角形であれば、最小包含円は、当該頂点をすべて通過する円となり、手法(a)と手法(b)の結果は一致する。
【0105】
当該キャラクターの位置を頂点とする三角形が鈍角三角形であれば、最小包含円は、距離が最も遠い頂点同士を直径とする円となる。
【0106】
このように定めることで、当該複数のキャラクター402の位置を含む基準円(環状オブジェクト404の位置と半径を表す円。)の中心の位置および半径が、一意に決定される。すなわち、キャラクター402の位置が同じであれば、環状オブジェクト404の中心の位置および半径も同じ位置および長さに決定される。
【0107】
このように設定することで、キャラクター402と環状オブジェクト404とは、定数R以上離間することとなるので、両者は交差しなくなり、画像により提供される情報が知得しやすくなる。
【0108】
ついで、当該環状オブジェクト404の中心位置を包含円の中心位置に、環状オブジェクト404の中心位置を包含円の半径に定数Rを加算した値に、それぞれ更新する(ステップS316)。この際に、環状オブジェクト404の太さも、環状オブジェクト404の半径や結び付けられたキャラクターの体力パラメータの総和に応じて更新する。
【0109】
図6乃至図13は、仮想空間411内においてキャラクター402が近接することによってグループを形成し、元の環状オブジェクト404から、共通する新たな環状オブジェクトに囲まれるようになった様子を示す平面図および表示例を示す説明図である。以下、本図を参照して説明する。なお、これらの図においては、理解を容易にするため、適宜符号を省略している。
【0110】
図4に示す初期状態から、キャラクターA、Bが近付くほか、キャラクターC、Dが近付いて、各対ごとに、それぞれの周囲を囲んでいた環状オブジェクト404(本図では点線で示している。)が接したり交差したりする程度に状況を想定する。
【0111】
すると、図6の平面図ならびに図7の表示例の説明図に示すように、キャラクターA、Bを囲む2つの環状オブジェクト404が結合して、一つの環状オブジェクト501aになる。このほか、キャラクターC、Dを囲む2つの環状オブジェクト404が結合して、一つの環状オブジェクト501bになる。
【0112】
ここでは、自キャラクターA、他キャラクターBは、環状オブジェクト501aに結び付けられており、他キャラクターC、Dは、環状オブジェクト501bに結び付けられている。
【0113】
この後、さらに他キャラクターDが移動して、環状オブジェクト501aに近付いた場合を想定する。すると、図8の平面図ならびに図9の表示例の説明図に示すように、環状オブジェクト501a、501bが結合して、一つの環状オブジェクト601になる。
【0114】
この後、さらに、他キャラクターDが遠くに移動して、画面内に表示されないようになった状況を想定する。
【0115】
図10、図11に示すのは、キャラクターDが、自キャラクターAの右後方(プレイヤーから見て手前側)の遠くにいる状況を想定しているので、環状オブジェクト601も右に寄っている。
【0116】
図12、図13に示すのは、キャラクターDが、自キャラクターAの左後方(プレイヤーから見て手前側)の遠くにいる状況を想定しているので、環状オブジェクト601も左に寄っている。
【0117】
また、キャラクターDの遠さが異なるため、両図で環状オブジェクト601の半径も異なることとなっている。
【0118】
このように、キャラクター402が移動すると、そのキャラクター402が、画像内に描画されていない場合であっても、その移動に応じて、画像内に描画される環状オブジェクトの数や位置、形状が変化するので、複数のキャラクターの配置の概要がわかる。
【0119】
また、画像内にキャラクター402が描画されているにもかかわらず、環状オブジェクトが描画されていなければ、そのキャラクター402は、仮想空間411内のキャラクター402が属するグループの存在範囲の周縁ではなく中央寄りに配置されていることがわかる。
【0120】
したがって、プレイヤーは、複数のキャラクター402の位置の仮想空間411内における配置の概要が容易に知得できるようになる。
【0121】
全環状オブジェクトについて、ステップS314〜ステップS316の処理を繰り返した(ステップS317)後、CPU 102は、ゲームの規則にしたがって、各キャラクター402の体力パラメータを更新する(ステップS318)。この更新は、各プレイヤーからなされた操作指示や、CPU 102に定められた所定のパラメータ更新アルゴリズムに基づいて行われる。
【0122】
典型的には、敵キャラクター402との戦闘や時間の経過によって、体力パラメータが減少し、アイテムの発見や休憩によって、体力パラメータが増加するように構成する。
【0123】
さらに、CPU 102は、全環状オブジェクトについて、以下の処理を繰り返す(ステップS319)。
【0124】
すなわち、当該環状オブジェクトに結び付けられているキャラクターが複数であれば(ステップS320;Yes)、当該キャラクターからなるグループを解除するか否かを判定する(ステップS321)。判定の基準としては、以下のようなものが考えられる。
(a)環状オブジェクトの半径が、所定の上限値より大きくなった場合。当該所定の上限値は、定数Rよりも十分に大きくするのが典型的である。
(b)グループを形成するキャラクターの体力パラメータの総和が、所定の下限値未満となった場合。
(c)上記(a)(b)の組み合わせ。たとえば、体力パラメータの総和を半径で除算した値が、所定の定数未満となった場合。
(d)プレイヤーから、グループ解除の操作指示があった場合。
【0125】
グループを解除する場合(ステップS321;Yes)、必要な数だけ環状オブジェクトを生成して、各キャラクターに1対1に結び付け、体力パラメータの総和を各キャラクターに分配する(ステップS322)。
【0126】
各キャラクターの体力パラメータの分配は、たとえば、図7や図8に示す状態で、グループが解除されると、図4に示すように、各キャラクター402のそれぞれに環状オブジェクト404が1つ割り当てられる状態に戻ることになる。
【0127】
なお、体力パラメータの分配は、そのまま現在の値を維持する態様もありうるが、体力パラメータの総和をキャラクター数で割った値を、新たな体力パラメータとして平等、あるいは、適当な重み付けをして分配することとしても良い。
【0128】
これにより、グループを解除したとたん、体力パラメータが負になって、キャラクターが死亡するという状態を防止することができる。
【0129】
グループを解除しない場合には、ステップS325に進む。
【0130】
一方、結び付けられているキャラクター402が一人の場合(ステップS320;No)、当該キャラクター402の体力パラメータが正であるか否かを調べる(ステップS323)。正であれば、ステップS325に進む。
【0131】
正でなければ(ステップS323;No)、当該キャラクター402と、当該キャラクター402に結び付けられる環状オブジェクトと、の情報を、RAM 103から消去して(ステップS324)、ステップS325に進む。
【0132】
このような処理を採用することによって、ゲームが進行することによって、キャラクター402の体力パラメータが変化し、グループを形成している間は、グループ内で体力パラメータの貸し借りが行われる状況を実現することができる。
【0133】
全環状オブジェクトについて、ステップS319〜ステップS324の処理を行ったら(ステップS325)、ステップS302に戻る。
【0134】
このように、本実施形態によれば、プレイヤーは、環状オブジェクトの数や位置、形状によって、複数のキャラクター402の位置の仮想空間内における配置の概要を容易に知得できるようになる。
【0135】
また、近付いたキャラクター402同士が結び付いてグループを形成したり、グループが解除されたりする様子を自然に表現できるようになる。
【産業上の利用可能性】
【0136】
以上説明したように、本発明によれば、複数のキャラクターの位置の仮想空間内における配置の概要を容易に知得できる画像を生成するのに好適な画像処理装置、画像処理方法、ならびに、これらをコンピュータにて実現するプログラムを提供することができる。
【符号の説明】
【0137】
101 情報処理装置
102 CPU
103 RAM
104 ROM
105 入力装置
106 画像処理部
107 液晶ディスプレイ
108 音声処理部
109 ヘッドホン
110 カセットリーダ
111 ROMカセット
112 外部メモリ
113 RTC
114 無線LANインターフェース
115 カメラ
201 画像処理装置
202 記憶部
203 決定部
204 更新部
205 生成部
401 画面
402 キャラクター
404 環状オブジェクト
411 仮想空間
501 環状オブジェクト
601 環状オブジェクト

【特許請求の範囲】
【請求項1】
仮想空間内を移動する複数のキャラクターの位置および形状、ならびに、当該仮想空間に配置される環状オブジェクトの位置および形状が記憶される記憶部、
前記記憶された複数のキャラクターの位置から、当該複数のキャラクターの位置を含む基準円の中心の位置および半径を、一意に決定する決定部、
前記記憶部に記憶される環状オブジェクトの位置を前記決定された中心の位置とし、当該環状オブジェクトの形状を前記決定された半径の環とするように更新する更新部、
前記複数のキャラクター、ならびに、前記環状オブジェクトを、当該仮想空間内に配置された視点から当該仮想空間内に設定された方向に見た画像を生成する生成部
を備えることを特徴とする画像処理装置。
【請求項2】
請求項1に記載の画像処理装置であって、
前記決定部は、前記記憶された複数のキャラクターの位置を包含する最小包含円の中心の位置および半径を計算し、当該計算された位置を当該基準円の中心の位置として決定し、当該計算された半径に所定の定数を加算した値を、当該基準円の半径として決定する
ことを特徴とする画像処理装置。
【請求項3】
請求項1に記載の画像処理装置であって、
前記決定部は、前記記憶された複数のキャラクターの位置の重心の位置を計算し、前記計算された位置を当該基準円の中心の位置として決定し、前記記憶された複数のキャラクターの位置のうち当該計算された位置から最も遠い位置と、の間の距離に所定の定数を加算した値を、当該基準円の半径として決定する
ことを特徴とする画像処理装置。
【請求項4】
請求項1から3のいずれか1項に記載の画像処理装置であって、
前記更新部は、前記環状オブジェクトの形状を、前記決定された半径に対応付けられる太さの環とするように更新する
ことを特徴とする画像処理装置。
【請求項5】
請求項1に記載の画像処理装置であって、
前記記憶部には、前記複数のキャラクターのそれぞれに対応付けられるパラメータ値がさらに記憶され、
前記更新部は、前記環状オブジェクトの形状を、前記複数のキャラクターのそれぞれに対応付けられるパラメータ値の総和に対応付けられる太さの環とするように更新する
ことを特徴とする画像処理装置。
【請求項6】
請求項5に記載の画像処理装置であって、
前記更新部は、前記複数のキャラクターのそれぞれに対応付けられるパラメータ値、もしくは、当該基準円の半径が、所定の条件を満たした場合、または、ユーザの指示入力に基づいて、前記決定された中心の位置とし、前記決定された半径の環とする環状オブジェクトの位置および形状を前記記憶部から消去し、前記複数のキャラクターのそれぞれの位置を中心の位置とし、当該キャラクターのパラメータ値に対応付けられる太さの所定の半径の環を形状とする環状オブジェクトを前記記憶部に記憶させる
ことを特徴とする画像処理装置。
【請求項7】
請求項1から6のいずれか1項に記載の画像処理装置であって、
定期的に、もしくは、前記複数のキャラクターのいずれかが移動するごとに、前記決定部による決定と、前記更新部による更新と、前記生成部による生成と、が実行される
ことを特徴とする画像処理装置。
【請求項8】
記憶部、決定部、更新部、生成部を備える画像処理装置が実行する画像処理方法であって、
前記記憶部には、仮想空間内を移動する複数のキャラクターの位置および形状、ならびに、当該仮想空間に配置される環状オブジェクトの位置および形状が記憶され、
前記決定部が、前記記憶された複数のキャラクターの位置から、当該複数のキャラクターの位置を含む基準円の中心の位置および半径を、一意に決定する決定工程、
前記更新部が、前記記憶部に記憶される環状オブジェクトの位置を前記決定された中心の位置とし、当該環状オブジェクトの形状を前記決定された半径の環とするように更新する更新工程、
前記生成部が、前記複数のキャラクター、ならびに、前記環状オブジェクトを、当該仮想空間内に配置された視点から当該仮想空間内に設定された方向に見た画像を生成する生成工程
を備えることを特徴とする画像処理方法。
【請求項9】
コンピュータを、
仮想空間内を移動する複数のキャラクターの位置および形状、ならびに、当該仮想空間に配置される環状オブジェクトの位置および形状が記憶される記憶部、
前記記憶された複数のキャラクターの位置から、当該複数のキャラクターの位置を含む基準円の中心の位置および半径を、一意に決定する決定部、
前記記憶部に記憶される環状オブジェクトの位置を前記決定された中心の位置とし、当該環状オブジェクトの形状を前記決定された半径の環とするように更新する更新部、
前記複数のキャラクター、ならびに、前記環状オブジェクトを、当該仮想空間内に配置された視点から当該仮想空間内に設定された方向に見た画像を生成する生成部
として機能させることを特徴とするプログラム。

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

【図13】
image rotate


【公開番号】特開2010−277121(P2010−277121A)
【公開日】平成22年12月9日(2010.12.9)
【国際特許分類】
【出願番号】特願2009−126026(P2009−126026)
【出願日】平成21年5月26日(2009.5.26)
【出願人】(506113602)株式会社コナミデジタルエンタテインメント (1,441)
【Fターム(参考)】