説明

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

【課題】仮想空間内のキャラクターの周囲の環境パラメータの分布を見やすく表示する画像を生成する画像生成装置等を提供する。
【解決手段】画像生成装置201において、パラメータ取得部202は、キャラクターの周囲の環境パラメータを、キャラクターからの方向ごとに取得し、基準曲線設定部203は、キャラクターを囲む基準曲線を設定し、軌跡点設定部204は、基準曲線に含まれる基準点のそれぞれキャラクターから基準点の方向に対して取得された環境パラメータの値に対応付けられる移動量だけ、基準点から所定の方向へ移動した位置に軌跡点を設定し、画像生成部205は、設定された軌跡点を通過する軌跡曲線と、キャラクターと、を、仮想空間内に配置された視点から見た画像を生成する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、仮想空間内のキャラクターの周囲の環境パラメータの分布を見やすく表示する画像を生成するのに好適な画像生成装置、画像生成方法、ならびに、これらをコンピュータにて実現するプログラムに関する。
【背景技術】
【0002】
従来から、ゲームにおいて、各種のパラメータをプレイヤーに提示する手法が各種提案されており、そのような技術については、たとえば、以下の文献に開示されている。
【特許文献1】国際公開第03/090887号パンフレット
【0003】
ここで、[特許文献1]には、環境パラメータを検出した後に消費型パラメータに変換し、変換された消費型パラメータの量をメモリに格納するとともにディスプレイ上に表示する技術が開示されている。このほか、敵キャラクターがいる方向や、ゲーム内のミッションをクリアするためのアイテムが存在する方向に、矢印を表示するなどの手法も広く採用されている。
【発明の開示】
【発明が解決しようとする課題】
【0004】
しかしながら、環境パラメータがキャラクターの周囲でどのように分布・変化しているのかを、プレイヤーにわかりやすく提示したい、との要望は大きい。
【0005】
本発明は、以上のような課題を解決するものであって、仮想空間内のキャラクターの周囲の環境パラメータの分布を見やすく表示する画像を生成するのに好適な画像生成装置、画像生成方法、ならびに、これらをコンピュータにて実現するプログラムを提供することを目的とする。
【課題を解決するための手段】
【0006】
以上の目的を達成するため、本発明の原理にしたがって、下記の発明を開示する。
【0007】
本発明の第1の観点に係る画像生成装置は、パラメータ取得部、基準曲線設定部、軌跡点設定部、画像生成部を備え、以下のように構成する。
【0008】
すなわち、パラメータ取得部は、仮想空間に配置されたキャラクターの周囲の環境パラメータを、当該キャラクターからの方向ごとに取得する。
環境パラメータとして最も単純なものは、敵キャラクターや目的アイテムがいずれの位置に存在するか、であり、存在する場所の環境パラメータの数値を高くする手法である。この場合、キャラクターからの方向が当該敵キャラクターや目的アイテムが存在する方向に近ければ近いほど、当該方向の環境パラメータの数値が高くなる。
このほか、環境パラメータとして、他のキャラクターの存在する方向、その方向で生じている音声の音量、熱源から発せられる熱量や温度差、地面の傾斜や高低差、歩く際の地面の抵抗、他のキャラクターの緊張度、体力、攻撃力、防御力等、各種のパラメータを採用することができる。
【0009】
一方、基準曲線設定部は、当該キャラクターを囲む所定の曲線(以下「基準曲線」という。)を設定する。
典型的には、基準曲線としては、当該キャラクターを中心とし、地面や仮想世界の水平面に対して平行な円周を採用する。このほか、視線となす角が一定の値となるようにして、視点から見た様子が常に斜めに見えるようにしても良い。また、後述するように、円の中心位置や円の大きさを用いて、さらに多くの情報をユーザに提示することができる。
【0010】
さらに、軌跡点設定部は、設定された基準曲線に含まれる点のそれぞれ(以下「基準点」という。)について、当該キャラクターから当該基準点の方向に対して取得された環境パラメータの値に対応付けられる移動量だけ、当該基準点から所定の方向へ移動した位置の点(以下「軌跡点」という。)を設定する。
上記の例で説明すると、所定の方向としては、円に垂直な方向とし、移動量としては、環境パラメータの値に所定の定数を乗じたものを採用するのが典型的である。また、基準点同士の間隔は、典型的には、基準曲線を等間隔に切断するような間隔とするが、環境パラメータが急激に変化する方向では細かく、そうでない方向では荒く分布させることとしても良い。
【0011】
一方、画像生成部は、設定された軌跡点を通過する曲線(以下「軌跡曲線」という。)と、当該キャラクターと、を、当該仮想空間内に配置された視点から見た画像を生成する。
軌跡曲線を描く際には、単純に隣り合う基準点に対応する隣り合う軌跡点を線分で結ぶこととしても良いし、スプライン補間などの手法によって滑らかに曲線を描いても良い。このとき、さきに仮想空間内で軌跡点を結ぶ曲線を生成してからそれを三次元グラフィックス表示することとしても良いし、一旦三次元グラフィックス処理によって軌跡点の座標を画像内の2次元座標に変換してから、これらを結ぶ曲線を補間により求めても良い。
【0012】
本発明によれば、注目しているキャラクターの周囲の環境パラメータが、軌跡曲線によって、当該キャラクターの周囲に立体的にグラフ表示されるため、環境パラメータがキャラクターの周囲でどのように分布・変化しているのかを、ユーザは容易に把握できるようになる。
【0013】
また、本発明の画像生成装置において、パラメータ取得部は、当該キャラクターの位置の環境パラメータをさらに取得し、基準曲線設定部は、当該基準曲線の大きさを、取得された当該キャラクターの位置の環境パラメータの値に対応付けられる大きさに設定するように構成することができる。
キャラクター同士が対戦するようなゲーム(対戦相手は、他のプレイヤーでもコンピュータでも良い。)においては、上記発明によって、他のキャラクターの状況を観察することができるが、他のキャラクターから自分のキャラクターがどのように見えるか、を把握したいことも多い。
【0014】
そこで、典型的にはキャラクターの周囲の環境パラメータを求めるときと同じ手法によって、キャラクターがいる位置の環境パラメータ(これは、他のキャラクターから自分のキャラクターがどのように見えるか、に相当する情報である。)を求める。
そして、基準曲線の大きさを、当該環境パラメータによって定める。上記の例では、たとえば、自分のキャラクターの現在位置の環境パラメータに所定の定数を乗じた値を、円周の半径とする、などの手法を採用することができる。
【0015】
本発明によれば、新たなメーターやグラフを用意しなくとも、上記発明によって用意されたグラフによってキャラクターの現在位置の環境パラメータをユーザに提示することができ、ユーザは、容易にキャラクターの現在位置の環境パラメータを把握することができる。
【0016】
また、本発明の画像生成装置において、基準曲線設定部は、当該基準曲線の当該キャラクターに対する位置を、当該キャラクターの移動の速度および方向に対応付けられる位置に変更するように構成することができる。
たとえば、自分のキャラクターをそのキャラクターの背後に設定されたキャラクターが右や左に向きを変えたときであっても、視点から見るゲーム(常に背後にいるわけではなく、一定の慣性を持たせて、三次元グラフィックス酔いを防止するのが一般的である。)においては、キャラクター自身が移動している場合には、キャラクターの背景が移動することによってキャラクター自身の速度が表現されるとともに、その速度自体をユーザに提示する手法としては、速度計を別途設けるのが一般的である。
【0017】
一方、本発明では、上記発明で採用されたグラフそのものをキャラクターの周囲に配置することによって各種の情報を提供しており、当該グラフのキャラクターに対する位置をずらすことによって、キャラクター自身の速度や移動方向を表現する。
典型的には、キャラクターが移動している方向とは逆向きに、移動速度や移動加速度に比例して基準曲線をずらすことによって、キャラクターが移動している方向はキャラクターと基準曲線の間隔が狭くなるようにする。
【0018】
本発明によれば、プレイヤーは、キャラクターの周囲の環境パラメータを容易に把握できるほか、当該プレイヤー自身の移動の速度や移動の方向を容易に把握することができるようになる。
【0019】
また、本発明の画像生成装置において、当該基準曲線は円であり、当該所定の方向は当該円が含まれる平面に対する法線成分を有するように構成することができる。
本発明は、上記発明の好適実施形態に係るものであり、上述した通り、基準曲線として円(円周)を採用するものである。上記の例では、円を含む平面に直交した方向を「所定の方向」とすることにより、円柱の側面にグラフが描かれるような状況となっていた。
【0020】
このほか、法線成分を有するものとしては、当該円の中心から垂らした垂線の上に所定の収束点を設け、各基準点について、当該収束点から当該基準点へ進む方向を、所定の方向とするものや、当該収束点の位置をさらにずらすもの、等が考えられる。これは、円錐の側面にグラフが描かれる状況に相当する。
また、収束点を無限遠点に移動させたものが、上記の「円を含む平面に直交する方向を所定の方向とする」形態である。このほか、視線とのなす角が一定であるような方向を「所定の方向」とする手法もありうる。
【0021】
本発明は、上記発明の好適実施形態に係るもので、軌跡点が配置される場所を適切に構成することができ、キャラクターの周囲の環境パラメータを、ユーザに見やすく提示することができるようになる。
【0022】
本発明のその他の観点に係る画像生成方法は、パラメータ取得部、基準曲線設定部、軌跡点設定部、画像生成部を備える画像生成装置にて実行され、パラメータ取得工程、基準曲線設定工程、軌跡点設定工程、画像生成工程を備え、以下のように構成する。
【0023】
ここで、パラメータ取得工程では、パラメータ取得部が、仮想空間に配置されたキャラクターの周囲の環境パラメータを、当該キャラクターからの方向ごとに取得する。
【0024】
一方、基準曲線設定工程では、基準曲線設定部が、当該キャラクターを囲む所定の曲線(以下「基準曲線」という。)を設定する。
【0025】
さらに、軌跡点設定工程では、軌跡点設定部が、設定された基準曲線に含まれる点のそれぞれ(以下「基準点」という。)について、当該キャラクターから当該基準点の方向に対して取得された環境パラメータの値に対応付けられる移動量だけ、当該基準点から所定の方向へ移動した位置の点(以下「軌跡点」という。)を設定する。
【0026】
そして、画像生成工程では、画像生成部が、設定された軌跡点を通過する曲線(以下「軌跡曲線」という。)と、当該キャラクターと、を、当該仮想空間内に配置された視点から見た画像を生成する。
【0027】
本発明のその他の観点に係るプログラムは、コンピュータを上記の画像生成装置として機能させ、コンピュータに上記の画像生成方法を実行させるように構成する。
また、本発明のプログラムは、コンパクトディスク、フレキシブルディスク、ハードディスク、光磁気ディスク、ディジタルビデオディスク、磁気テープ、半導体メモリ等のコンピュータ読取可能な情報記憶媒体に記録することができる。
上記プログラムは、プログラムが実行されるコンピュータとは独立して、コンピュータ通信網を介して配布・販売することができる。また、上記情報記憶媒体は、コンピュータとは独立して配布・販売することができる。
【発明の効果】
【0028】
本発明によれば、仮想空間内のキャラクターの周囲の環境パラメータの分布を見やすく表示する画像を生成するのに好適な画像生成装置、画像生成方法、ならびに、これらをコンピュータにて実現するプログラムを提供することができる。
【発明を実施するための最良の形態】
【0029】
以下に本発明の実施形態を説明する。なお、以下に説明する実施形態は説明のためのものであり、本願発明の範囲を制限するものではない。したがって、当業者であればこれらの各要素もしくは全要素をこれと均等なものに置換した実施形態を採用することが可能であるが、これらの実施形態も本発明の範囲に含まれる。
【実施例1】
【0030】
図1は、プログラムを実行することにより、本発明の画像生成装置の機能を果たす典型的な情報処理装置の概要構成を示す模式図である。以下、本図を参照して説明する。
【0031】
情報処理装置100は、CPU(Central Processing Unit)101と、ROM 102と、RAM(Random Access Memory)103と、インターフェイス104と、コントローラ105と、外部メモリ106と、画像処理部107と、DVD−ROM(Digital Versatile Disc ROM)ドライブ108と、NIC(Network Interface Card)109と、音声処理部110と、マイク111と、を備える。
【0032】
ゲーム用のプログラムおよびデータを記憶したDVD−ROMをDVD−ROMドライブ108に装着して、情報処理装置100の電源を投入することにより、当該プログラムが実行され、本実施形態の画像生成装置が実現される。
【0033】
CPU 101は、情報処理装置100全体の動作を制御し、各構成要素と接続され制御信号やデータをやりとりする。また、CPU 101は、レジスタ(図示せず)という高速アクセスが可能な記憶域に対してALU(Arithmetic Logic Unit)(図示せず)を用いて加減乗除等の算術演算や、論理和、論理積、論理否定等の論理演算、ビット和、ビット積、ビット反転、ビットシフト、ビット回転等のビット演算などを行うことができる。さらに、マルチメディア処理対応のための加減乗除等の飽和演算や、三角関数等、ベクトル演算などを高速に行えるように、CPU 101自身が構成されているものや、コプロセッサを備えて実現するものがある。
【0034】
ROM 102には、電源投入直後に実行されるIPL(Initial Program Loader)が記録され、これが実行されることにより、DVD−ROMに記録されたプログラムをRAM 103に読み出してCPU 101による実行が開始される。また、ROM 102には、情報処理装置100全体の動作制御に必要なオペレーティングシステムのプログラムや各種のデータが記録される。
【0035】
RAM 103は、データやプログラムを一時的に記憶するためのもので、DVD−ROMから読み出したプログラムやデータ、その他ゲームの進行やチャット通信に必要なデータが保持される。また、CPU 101は、RAM 103に変数領域を設け、当該変数に格納された値に対して直接ALUを作用させて演算を行ったり、RAM 103に格納された値を一旦レジスタに格納してからレジスタに対して演算を行い、演算結果をメモリに書き戻す、などの処理を行う。
【0036】
インターフェイス104を介して接続されたコントローラ105は、ユーザがゲーム実行の際に行う操作入力を受け付ける。
【0037】
インターフェイス104を介して着脱自在に接続された外部メモリ106には、ゲーム等のプレイ状況(過去の成績等)を示すデータ、ゲームの進行状態を示すデータ、ネットワーク対戦の場合のチャット通信のログ(記録)のデータなどが書き換え可能に記憶される。ユーザは、コントローラ105を介して指示入力を行うことにより、これらのデータを適宜外部メモリ106に記録することができる。
【0038】
DVD−ROMドライブ108に装着されるDVD−ROMには、ゲームを実現するためのプログラムとゲームに付随する画像データや音声データが記録される。CPU 101の制御によって、DVD−ROMドライブ108は、これに装着されたDVD−ROMに対する読み出し処理を行って、必要なプログラムやデータを読み出し、これらはRAM 103等に一時的に記憶される。
【0039】
画像処理部107は、DVD−ROMから読み出されたデータをCPU 101や画像処理部107が備える画像演算プロセッサ(図示せず)によって加工処理した後、これを画像処理部107が備えるフレームメモリ(図示せず)に記録する。フレームメモリに記録された画像情報は、所定の同期タイミングでビデオ信号に変換され画像処理部107に接続されるモニタ(図示せず)へ出力される。これにより、各種の画像表示が可能となる。
【0040】
画像演算プロセッサは、2次元の画像の重ね合わせ演算やαブレンディング等の透過演算、各種の飽和演算を高速に実行できる。
【0041】
また、仮想3次元空間に配置され、各種のテクスチャ情報が付加されたポリゴン情報を、Zバッファ法によりレンダリングして、所定の視点位置から仮想3次元空間に配置されたポリゴンを所定の視線の方向へ俯瞰したレンダリング画像を得る演算の高速実行も可能である。
【0042】
さらに、CPU 101と画像演算プロセッサが協調動作することにより、文字の形状を定義するフォント情報にしたがって、文字列を2次元画像としてフレームメモリへ描画したり、各ポリゴン表面へ描画することが可能である。
【0043】
NIC 109は、情報処理装置100をインターネット等のコンピュータ通信網(図示せず)に接続するためのものであり、LAN(Local Area Network)を構成する際に用いられる10BASE−T/100BASE−T規格にしたがうものや、電話回線を用いてインターネットに接続するためのアナログモデム、ISDN(Integrated Services Digital Network)モデム、ADSL(Asymmetric Digital Subscriber Line)モデム、ケーブルテレビジョン回線を用いてインターネットに接続するためのケーブルモデム等と、これらとCPU 101との仲立ちを行うインターフェース(図示せず)により構成される。
【0044】
音声処理部110は、DVD−ROMから読み出した音声データをアナログ音声信号に変換し、これに接続されたスピーカ(図示せず)から出力させる。また、CPU 101の制御の下、ゲームの進行の中で発生させるべき効果音や楽曲データを生成し、これに対応した音声をスピーカから出力させる。
【0045】
音声処理部110では、DVD−ROMに記録された音声データがMIDIデータである場合には、これが有する音源データを参照して、MIDIデータをPCMデータに変換する。また、ADPCM形式やOgg Vorbis形式等の圧縮済音声データである場合には、これを展開してPCMデータに変換する。PCMデータは、そのサンプリング周波数に応じたタイミングでD/A(Digital/Analog)変換を行って、スピーカに出力することにより、音声出力が可能となる。
【0046】
さらに、情報処理装置100には、インターフェイス104を介してマイク111を接続することができる。この場合、マイク111からのアナログ信号に対しては、適当なサンプリング周波数でA/D変換を行い、PCM形式のディジタル信号として、音声処理部110でのミキシング等の処理ができるようにする。
【0047】
このほか、情報処理装置100は、ハードディスク等の大容量外部記憶装置を用いて、ROM 102、RAM 103、外部メモリ106、DVD−ROMドライブ108に装着されるDVD−ROM等と同じ機能を果たすように構成してもよい。
【0048】
以上で説明した情報処理装置100は、いわゆる「コンシューマ向けテレビゲーム装置」に相当するものであるが、音声処理や画像処理を行うことが可能であれば、本発明を実現することができる。したがって、携帯電話、携帯ゲーム機器、カラオケ装置、一般的なビジネス用コンピュータなど、種々の計算機上で本発明を実現することが可能である。
【0049】
たとえば、一般的なコンピュータは、上記情報処理装置100と同様に、CPU、RAM、ROM、DVD−ROMドライブ、NIC、音声入力用マイク、音声出力用スピーカ、を備え、情報処理装置100よりも簡易な機能を備えた画像処理部を備え、外部記憶装置としてハードディスクを有する他、フレキシブルディスク、光磁気ディスク、磁気テープ等が利用できるようになっている。また、コントローラ105ではなく、キーボードやマウスなどを入力装置として利用する。
【0050】
図2は、本発明の実施形態の一つにかかる画像生成装置の概要構成を示す模式図である。以下、本図を参照して説明する。
【0051】
本実施形態の画像生成装置201は、パラメータ取得部202、基準曲線設定部203、軌跡点設定部204、画像生成部205を備える。
【0052】
すなわち、パラメータ取得部202は、仮想空間に配置されたキャラクターの周囲の環境パラメータを、当該キャラクターからの方向ごとに取得する。
環境パラメータとして最も単純なものは、敵キャラクターや目的アイテムがいずれの位置に存在するか、であり、存在する場所の環境パラメータの数値を高くする手法である。この場合、キャラクターからの方向が当該敵キャラクターや目的アイテムが存在する方向に近ければ近いほど、当該方向の環境パラメータの数値が高くなる。
このほか、環境パラメータとして、他のキャラクターの存在する方向、その方向で生じている音声の音量、熱源から発せられる熱量や温度差、地面の傾斜や高低差、歩く際の地面の抵抗、他のキャラクターの緊張度、体力、攻撃力、防御力等、各種のパラメータを採用することができる。
【0053】
(環境パラメータの2次元分布)
図3は、仮想世界の中において、環境パラメータの分布の情報を管理する様子を示す説明図である。以下、本図を参照して説明する。
【0054】
本図に示すように、仮想世界の地面301は、x軸方向とy軸方向に分割された2次元の桝目302に区切られており、したがって、座標(p,q)の桝目302の環境パラメータの値ei,jは、2次元配列e[][]の要素e[p][q]に格納することとするのが典型的である。
【0055】
プレイヤーが注目しているキャラクターの位置を、座標(x,y)の桝目302とすると、キャラクターからある座標(p,q)への方向(x軸とのなす角θ)は、
θ = arctan〔(q-y)/(p-x)〕;あるいは
cosθ = (p-x)/〔(p-x)2 + (q-y)21/2
sinθ = (q-y)/〔(p-x)2 + (q-y)21/2
のように求めることができる。
【0056】
このような状況下で、敵キャラクターの存在する可能性がある場所を環境パラメータの2次元分布とする手法を考える。
【0057】
最も単純な方法は、座標(i,j)に敵キャラクターがいる場合は、環境パラメータの値ei,jを1とし、そうでない場合は環境パラメータの値ei,jを0とする、という手法である。
【0058】
しかしながら、ゲームによっては、敵キャラクターの所在をある程度の誤差をもって表現したい場合もある。たとえば、敵キャラクターの緊張感を鼓動のような振動で表現し、しかも、その鼓動による緊張感が、雰囲気として周囲に伝搬し、波紋に伝わるような態様を考える。
【0059】
このような態様としては、ある時刻tにおける座標(i,j)の環境パラメータの値ei,j(t)等から、次の時刻t+1における座標(i,j)の環境パラメータの値ei,j(t+1)を求める漸化式を採用する手法を採用することができる。
【0060】
tの時間単位は、たとえば、典型的な情報処理装置100における画面更新の間隔である垂直同期割り込みの間隔(約60分の1秒)とする。
【0061】
すなわち、時刻t+1において座標(i,j)に敵キャラクターkが存在しない場合は、伝搬定数α,β (0≦α,β,α+β≦1)を用いて、
ei,j(t+1) = αei,j(t)
+ (β/4)〔ei-1,j(t) + ei+1,j(t) + ei,j-1(t) + ei,j+1(t)〕
と設定する。なお、eの添字が所定の2次元配列の範囲外となったときは、その値は0とする。
【0062】
αは、環境パラメータのうち、外部に漏れ出ていかない割合、βは、環境パラメータのうち、外部に漏れ出ていく割合である。α>βとするのが典型的である。α+β = 1とすれば、一旦生じた波紋が外に出る(2次元配列の範囲外になる)まで生き残ることとなり、α+β < 1とすれば、次第に減衰していくこととなる。
【0063】
上記の漸化式は、現在位置とその上下左右の位置の環境パラメータの値が、次の瞬間の現在位置の環境パラメータの値を決定する、というものである。
【0064】
このほか、適宜係数を変更することによって、伝搬の方向に偏りを持たせたり、斜めの桝目からも所定の係数によって伝播がありうるような形態を採用しても良い。たとえば、伝搬定数α,β,γ (0≦α,β,γ,α+β+γ≦1)を用いて、
ei,j(t+1) = αei,j(t)
+ (β/4)〔ei-1,j(t) + ei+1,j(t) + ei,j-1(t) + ei,j+1(t)〕
+ (γ/4)〔ei-1,j-1(t) + ei-1,j+1(t) + ei+1,j-1(t) + ei+1,j+1(t)〕
とするような態様である。ここで、α>β>γとするのが典型的である。
【0065】
一方、時刻t+1において座標(i,j)に敵キャラクターkがいる場合は、当該敵キャラクターkの緊張度のパラメータPkと、所定の周期の定数Tとにより、
ei,j(t+1) = Pk〔1+sin((t+1)/T)〕
と設定し、人間の鼓動の周期は1秒に約1回であるから、Tとして60程度を採用すれば、このパラメータを、敵キャラクターの鼓動に対応させることができる。また、緊張度Pkが大きいほど、Tを小さくすることによって、緊張の度合をさらにリアルに表現することもできる。
【0066】
このほか、上記Pk〔1+sin((t+1)/T)〕をαei,j(t)のかわりに利用する、という態様をとることもできる。すなわち、時刻t+1において座標(i,j)に敵キャラクターkがいる場合は、
ei,j(t+1) = Pk〔1+sin((t+1)/T)〕
+ (β/4)〔ei-1,j(t) + ei+1,j(t) + ei,j-1(t) + ei,j+1(t)〕
あるいは
ei,j(t+1) = Pk〔1+sin((t+1)/T)〕
+ (β/4)〔ei-1,j(t) + ei+1,j(t) + ei,j-1(t) + ei,j+1(t)〕
+ (γ/4)〔ei-1,j-1(t) + ei-1,j+1(t) + ei+1,j-1(t) + ei+1,j+1(t)〕
とするような態様である。
【0067】
このほか、振動を表現するための関数として、
Pk〔1+sin((t+1)/T)〕
以外のものを採用することもできる。すなわち、周期Tの振動関数f(・)は、任意のtについて、
f(t + T) = f(t)
を満たすから、この条件を満たすような任意の関数を、上記の関数のかわりに利用することができる。
【0068】
また、上記の例では、振動の変位が負にならないように調整することによって、軌跡点407が基準点404より下になることはないようにしているが、基準点404を含む基準曲線の円周403の高さは適宜設定によって変更が可能であるから、振動の変位の正負に特段の制限はない。
【0069】
なお、時刻t = 0における初期値は、敵キャラクターがいなければ0等、所定の定数とすれば良い。
【0070】
このような環境パラメータの伝搬は、敵キャラクターの存在以外を理由とするものであっても良い。たとえば、「聖なるエネルギーを発するアイテム」「音を発生させる機械」「街のにぎやかさ」「匂い」などのパラメータを環境パラメータとして採用し、「波紋」の発生源として採用しても良い。
【0071】
なお、上記のように、環境パラメータを数値として見た場合に「鼓動」や「波紋」等として見ることができるようなものであっても、表示の際に、「鼓動」や「波紋」等として表現する必要は必ずしもなく、種々の表示手法を採用することができる。そのような表示手法の具体例については、後述する。
【0072】
(環境パラメータの方向に基づく観測)
このようにして時刻tにおける環境パラメータの2次元分布ei,j(t)が得られたら、この値を、今度は、位置(x,y)にいるキャラクターの周囲の方向θに基づく環境パラメータ分布fθ(t)を求める計算を行うこととなる。
【0073】
たとえば、電波源や重力源等の観測の場合を考えると、2次元分布の座標(p,q)における環境パラメータep,q(t)を、位置(x,y)から観測したときの値が、両者の距離の自乗に反比例する。また、音波や熱の観測の場合には、さらにこれを減衰させる係数を考慮する必要がある。
【0074】
いずれにせよ、距離が離れるにしたがって減衰する関数G(p,q,x,y)を考え、以下のような計算を行うのが、上記のような物理現象に即したシミュレーションとなる。まず、自乗に反比例する場合には、
G(p,q,x,y) = K/〔(p-x)2 + (q-y)2
とすれば、減衰項とすることができる。このほか、
G(p,q,x,y) = K exp(-〔(p-x)2 + (q-y)2〕/L)
などのような減衰項を採用しても良い。
【0075】
これを用いて、ある方向θに関する観測を行った場合の環境パラメータ分布fθ(t)は、たとえば、以下のように表現することができる。
fθ(t) = Σr=RSG(x+r cosθ,y+r sinθ,x,y)ex+r cosθ,y+r sinθ(t)
【0076】
これは、キャラクターがいる位置から見て、距離Rから距離Sまでに存在する環境パラメータを観測した総量に相当するもので、距離R,S (R < S)は、適宜ゲームの内容や情報処理装置100の処理能力に応じて変更することができる。また、x+r cosθ,y+r sinθの計算は、適宜切捨てや四捨五入などを行っても良いし、隣接する桝目同士で補間を行っても良い。
【0077】
(基準曲線の設定)
基準曲線設定部203は、当該キャラクターを囲む所定の曲線(以下「基準曲線」という。)を設定する。図4は、キャラクターと基準曲線等の位置関係を示す説明図である。以下、本図を参照して説明する。
【0078】
本図に示すように、本実施形態では、キャラクター401を中心とし、地面に対して平行、すなわち、キャラクター401の背骨の方向に対して垂直な円周403を基準曲線として採用する。
【0079】
仮想空間の様子を画面に表示する際には、キャラクター401を斜め上から見た様子を採用することも多い。このような場合には、かりに基準曲線を画面に投影したとすると、楕円状の図形の形状を呈することとなる。
【0080】
なお、キャラクター401の姿勢が地面に対して変化した場合や、視界が傾いた場合(仮想世界を見る視点、視線の姿勢が変化した場合)には、円周403の向きを地面に平行のままとしても良いし、キャラクター401の姿勢や視界の傾きに応じて変化させても良い。このほか、視線と基準曲線の円周403がなす角が一定の値となるようにして、視点から見た様子が常に斜めに見えるようにしても良い。
【0081】
基準曲線である円周403の上には、当該円周403を等間隔に分割する基準点404が配置されている。基準点404の数は、情報処理装置100の計算能力やゲームの内容などに応じて適宜定めることができる。
【0082】
基準曲線の円周403における基準点404の位置は、図3において地面に設定されたx軸の方向405と円周403から基準点404へ向かう半直線の方向406と、のなす角θによって決めることができる。
【0083】
基準点404には、時刻tにおいて、キャラクター401に対する方向θの基準点404に、環境パラメータの観測値fθ(t)が対応付けられることになる。
【0084】
さて、本実施形態では、方向θの基準点404と環境パラメータの観測値fθ(t)に基づいて、軌跡点407の位置を定める。
【0085】
すなわち、本実施形態では、軌跡点設定部204は、方向θの基準点404に対する軌跡点407の位置は、当該基準点404から上方(円周403に垂直な上方)に変位として値fθ(t)だけ移動した位置である。このようにして、各基準点404に対する軌跡点407の位置を求めるのである。
【0086】
軌跡点407は、キャラクター401の周囲の各方向の環境パラメータの観測値を、当該キャラクター401の周囲の円柱にプロットしたものに相当する。
【0087】
なお、基準点404の分布については、上記のように等間隔とするのが典型的であるが、たとえば、環境パラメータの観測地が急激に変化する方向では細かく、そうでない方向では荒く分布させる等、種々の手法を採用することができる。
【0088】
(画像生成)
画像生成部205は、設定された軌跡点407を通過する軌跡曲線408と、当該キャラクター401と、を、当該仮想空間内に配置された視点から見た画像を生成する。
【0089】
軌跡曲線408を描く際には、単純に隣り合う基準点404に対応する隣り合う軌跡点407を線分で結ぶこととしても良い。また、スプライン補間などの手法によって滑らかに曲線を描いても良い。図4に示す例では、軌跡曲線408は、隣り合う軌跡点407を線分で結んでいる。
【0090】
画像生成部205は、一般的な、三次元グラフィックスの技術を利用して、仮想空間の様子を所定の視点から見た画像を透視投影もしくは平行投影(透視投影で視点を無限遠点に配置したものに相当する。)により生成する。
【0091】
ここで、軌跡曲線408が描かれた画像を生成する際には、さきに仮想空間内で軌跡点407を結ぶ曲線オブジェクトを生成してからそれを三次元グラフィックス表示することとしても良いし、一旦三次元グラフィックス処理によって軌跡点407の座標を画像内の2次元座標に変換してから、これらを結ぶ曲線を補間により求めても良い。
【0092】
図5は、図4の例に対して生成された画像の様子を示す説明図である。本図に示すように、本実施形態では、画面501内で、注目しているキャラクター401の周囲の環境パラメータの観測値が、軌跡曲線408によって、当該キャラクターの周囲に立体的にグラフ表示されている。また、本図では、基準曲線の円周403を表示することによって、軌跡曲線408との差をユーザにわかりやすく提示している。
【0093】
したがって、環境パラメータがキャラクターの周囲でどのように分布・変化しているのかを、ユーザは容易に把握できるようになる。
【0094】
(制御の流れ)
図6は、本実施形態における画像生成処理の制御の流れを示すフローチャートである。画像生成処理の各工程の詳細については、上述した通りであるが、本フローチャートを参照して、各工程の処理の手順について、さらに説明する。
【0095】
まず、本処理が開始されると、CPU 101は、RAM 103などに確保された二次元配列をクリアして環境パラメータの初期化を行い(ステップS601)、その後に、環境パラメータの伝播の処理を行う(ステップS602)。
【0096】
ついで、CPU 101は、仮想空間内に配置されたキャラクター401の情報に基づいて(これらの情報も、RAM 103などに記憶されている。)、基準曲線の円周403と基準点404を設定する(ステップS603)。設定された円周403の形状、位置、姿勢や基準点404などの情報もまた、RAM 103に記憶される。したがって、CPU 101は、RAM 103等と共働して、基準曲線設定部203として機能する。
【0097】
さらに、CPU 101は、設定された基準点404のそれぞれについて、円周403の中心から見た基準点404の方向θにおける環境パラメータの観測値fθを計算し(ステップS604)、基準点404から当該fθだけ所定方向に移動した先に、軌跡点407を配置する(ステップS605)。軌跡点407の位置情報もまた、RAM 103に記憶される。したがって、CPU 101は、RAM 103等と共働して、パラメータ取得部202、および、軌跡点設定部204として機能する。
【0098】
さらに、CPU 101は、画像処理部107と共働して、キャラクター401と、軌跡点407を連結した軌跡曲線408を、仮想空間内に配置された視点から見た様子の画像を3次元グラフィックス技術により生成する(ステップS606)。
【0099】
したがって、CPU 101は、画像処理部107、RAM 103等と共働して、画像生成部205として機能する。
【0100】
なお、生成された画像は、典型的にはフレームバッファに転送され、所定のタイミングでディスプレイに更新表示される。
【0101】
そして、一定期間(次の垂直同期割り込みが発生するまで)待機し(ステップS607)、ステップS602に戻る。待機中には、コルーチン的に他の処理を行うことができる。逆に、本処理の繰返しの一単位を垂直同期割り込みの割り込みハンドラ内の処理として実現することとしても良い。
【0102】
本実施形態によれば、注目しているキャラクターの周囲の環境パラメータが、軌跡曲線の円周403等によって、当該キャラクター401の周囲に立体的にグラフ表示されるため、環境パラメータがキャラクター401の周囲でどのように分布・変化しているのかを、ユーザは容易に把握できるようになる。
【実施例2】
【0103】
上記実施形態では、基準曲線として所定の大きさのキャラクター401を中心とした円周403を採用していたが、本実施形態は、基準曲線自体の大きさによって、さらなる情報をユーザに提供するものである。
【0104】
すなわち、キャラクター同士が対戦するようなゲーム(対戦相手は、他のプレイヤーでもコンピュータでも良い。)においては、上記発明によって、他のキャラクターの状況を観察することができるが、他のキャラクターから自分のキャラクターがどのように見えるか、を把握したいことも多い。
【0105】
そこで、本実施形態では、キャラクターの周囲の環境パラメータを求めるときと同じ手法によって、キャラクターがいる位置の環境パラメータ(これは、他のキャラクターから自分のキャラクターがどのように見えるか、に相当する情報である。)を求める。すなわち、パラメータ取得部202は、当該キャラクターの位置の環境パラメータをさらに取得する。
【0106】
時刻tにおける当該キャラクター401の位置の環境パラメータそのものは、ex,y(t)として取得が可能である。この値をそのまま利用しても良いが、本実施形態では、キャラクター401の近傍における値を利用して、キャラクター401の位置の環境パラメータf0(t)を取得する。
【0107】
たとえば、0 < D < Rなる定数値Dを採用して、
f0(t) = Σm=-DD-1Σn=-DD-1 ex+m,y+n/(4D2)
とすると、キャラクター401のD-近傍における環境パラメータの平均値が、f0(t)になる。このほか、上記実施形態と同様に、適宜減衰係数を採用したりなどをすることができる。
【0108】
そして、基準曲線設定部203は、このようにして得られたf0(t)の値に応じて、基準曲線の円周403の半径を設定する。f0(t)の値をそのまま利用したり、f0(t)の値に所定の定数を加算したり、その際にf0(t)に所定の定数を乗算する等種々の手法が考えられるが、f0(t)が増加すると円周403の半径も増加するような態様を採用するのが典型的である。
【0109】
このように、基準曲線の大きさは、キャラクター401の近傍の環境パラメータによって定まる。上記実施形態では、敵キャラクターの緊張の度合が鼓動のように伝播する様子を表現していたが、本実施形態においては、自分のキャラクターの緊張の度合が、鼓動のように、グラフが大きくなったり小さくなったりする頻度や程度で表現されることになる。
【0110】
図7は、このように、基準曲線の円周403の半径が変化する様子を示す説明図である。以下、本図を参照して説明する。
【0111】
上記のように、円周403の半径は時間によって変化する。したがって、画面501には、ある瞬間においては円周403と軌跡曲線408が描かれる。また、別の瞬間においては、これよりも半径が少し大きい円周403'と軌跡曲線408'が描かれる。
【0112】
そして、基準曲線の円周403と円周403'、軌跡曲線408と軌跡曲線408'との半径の差(振動の幅)や、その変化(振動)の頻度によって、自分のキャラクターの緊張の度合を把握することができるのである。
【0113】
本実施形態によれば、新たなメーターやグラフを用意しなくとも、上記発明によって用意されたグラフによってキャラクターの現在位置の環境パラメータをユーザに提示することができ、ユーザは、容易にキャラクターの現在位置の環境パラメータを把握することができる。
【実施例3】
【0114】
上記実施形態では、基準曲線として円周403を採用し、キャラクター401をその中心に配置していた。本実施形態では、基準曲線の円周403の設定および軌跡点407や軌跡曲線408の生成の手法は上記実施形態と同様であるが、キャラクター401に対する相対的な位置をずらすことによって、さらなる情報をユーザに提供しようとするものである。
【0115】
すなわち、基準曲線設定部203は、当該基準曲線の円周403の当該キャラクター401に対する位置を、当該キャラクター401の移動の速度および方向に対応付けられる位置に変更する。
【0116】
もっとも、基準曲線の円周403そのものの位置を変更するのではなく、軌跡点407や軌跡曲線408の位置が上記態様にて定まった後に、これらの座標を適宜移動することとしても良い。
【0117】
これらの座標の移動量を(Δx,Δy)とし、キャラクター401の移動のパラメータ(速度や加速度など、種々のパラメータを採用することができる)のベクトルを(u,v)とし、円周403の半径をRとしたときに、所定の定数Hを用いて、
(1)Δx = Hu,Δy = Hv;
(2)Δx = (R - HR/(u+H))/√2,Δy = (R - HR/(v+H))/√2
などのように、各種設定することができる。
【0118】
例(1)は、u,vの上限値がある程度決まっている場合に好適で、速度や加速度の大きさおよび符号に応じて、移動量が決まる。例(2)は、u,vがどんなに大きくなっても、ずれの大きさが円周403の半径Rよりは大きくならならない、とするものである。
【0119】
図8は、このような場合の基準曲線または軌跡曲線408のキャラクター401に対するずれの様子を示す説明図である。以下、本図を参照して説明する。
【0120】
本図(a)では、キャラクター401が移動していない場合のキャラクター401と基準曲線の円周403(軌跡曲線408)の位置関係を、キャラクター401の頭頂方向から見た図を示す。キャラクター401は、円周403の中心に配置されている。
【0121】
本図(b)では、キャラクター401が移動している場合の様子をキャラクター401の頭頂方向から見た図を示す。キャラクター401の移動の速度ベクトル801は、本図(b)において上向きになっている。そこで、基準曲線の円周403を、速度ベクトル801とは逆向きにずらしている。これにより、キャラクター401が移動している方向について、キャラクター401と基準曲線の円周403(軌跡曲線408)との隙間が狭くなることになる。すると、慣性や空気抵抗によって軌跡曲線408が移動方向とは反対方向にずれるかのような印象をプレイヤーに与えることができる。
【0122】
このように、本実施形態によれば、プレイヤーは、キャラクターの周囲の環境パラメータを容易に把握できるほか、当該プレイヤー自身の移動の速度や移動の方向を容易に把握することができるようになる。
【実施例4】
【0123】
上記実施形態では、基準曲線として円周403を採用しており、上記の例では、円周403を含む平面に直交した方向を「所定の方向」とすることにより、円柱の側面にグラフが描かれるような状況となっていた。
【0124】
しかしながら、「所定の方向」としては、一般に、円周403を含む平面に直交する成分を持つような方向とすることができる。
【0125】
図9は、このような「所定の方向」の種々の決め方を説明する説明図である。以下、本図を参照して説明する。
【0126】
本図(a)には、円周403の中心から垂らした垂線内に所定の収束点701を設け、各基準点404について、当該収束点から当該基準点404へ進む方向を、所定の方向としている。したがって、軌跡曲線408は、円周403とあいまって王冠状の形状となる。
【0127】
また、上記実施形態で、円周403の位置をキャラクター401の移動速度等に応じてずらしたのと同様に、収束点701の位置を水平方向にずらしても良い。この様子を本図(b)に示す。
【0128】
このほか、本図(c)に示すように、円柱の傾き具合をずらしたりする手法を採用することもできる。なお、収束点を無限遠点に移動させたものが、上記の「円を含む平面に直交する方向を所定の方向とする」形態である。
【0129】
このほか、視線とのなす角が一定であるような方向を「所定の方向」とする手法もありうる。
【0130】
本実施形態によれば、軌跡点が配置される場所を様々に構成することができ、キャラクターの周囲の環境パラメータを、ユーザに見やすく提示することができるようになる。
【実施例5】
【0131】
上記実施形態においては、軌跡曲線408を直接描くことによって、キャラクターの周囲の環境パラメータの分布を表現していたが、軌跡曲線408を縁とするような図形、すなわち、軌跡曲線408が間接的に描かれるような図形によって、環境パラメータの分布を表現する手法もありうる。
【0132】
図10は、軌跡曲線408の他の表示手法を示す説明図である。以下、本図を参照して説明する。
【0133】
本図に示す表示例では、理解を容易にするため、軌跡曲線408と基準曲線403を明確な実線により描いており、これらの曲線に挟まれる領域に斜線を引いているが、実際に画面に表示する場合には、斜線を引いている領域を半透明に描き、軌跡曲線408と基準曲線403は、その半透明領域の縁として表現して、特段の強調表示はしないことも可能である。
【0134】
このような表現を採用すると、蜃気楼やオーロラのような図形によってキャラクターの周囲の環境パラメータの分布が波打つ様子を提示することができ、プレイヤーの興味を惹くことができるばかりでなく、把握しやすいグラフ表示を提供することができる。
【0135】
このように、軌跡曲線408の表現手法は、色をつけるか否か、半透明にするか、塗り潰しにするか、背景をネガポジ反転するような強調表示をするか、など、ゲームの分野はプレイヤーの習熟度等に応じて、適宜利用する手法を選択することが可能である。
【産業上の利用可能性】
【0136】
以上説明したように、本発明によれば、仮想空間内のキャラクターの周囲の環境パラメータの分布を見やすく表示する画像を生成するのに好適な画像生成装置、画像生成方法、ならびに、これらをコンピュータにて実現するプログラムを提供することができる。
【図面の簡単な説明】
【0137】
【図1】プログラムを実行することにより、本実施形態の画像生成装置として機能する典型的な情報処理装置の概要構成を示す模式図である。
【図2】本実施形態の画像生成装置の概要構成を示す模式図である。
【図3】仮想世界の中において、環境パラメータの分布の情報を管理する様子を示す説明図である。
【図4】キャラクターと基準曲線等の位置関係を示す説明図である。
【図5】生成された画像の様子を示す説明図である。
【図6】本実施形態における画像生成処理の制御の流れを示すフローチャートである。
【図7】基準曲線の大きさが変化する様子を示す説明図である。
【図8】基準曲線または軌跡曲線のキャラクターに対するずれの様子を示す説明図である。
【図9】「所定の方向」の種々の決め方を説明する説明図である。
【図10】軌跡曲線の他の表示手法を示す説明図である。
【符号の説明】
【0138】
100 情報処理装置
101 CPU
102 ROM
103 RAM
104 インターフェイス
105 コントローラ
106 外部メモリ
107 画像処理部
108 DVD−ROMドライブ
109 NIC
110 音声処理部
111 マイク
201 画像生成装置
202 パラメータ取得部
203 基準曲線設定部
204 軌跡点設定部
205 画像生成部
301 仮想世界の地面
302 桝目
401 キャラクター
403 円周
404 基準点
405 x軸の方向
406 基準点へ向かう半直線の方向
407 軌跡点
408 軌跡曲線
501 画面
701 収束点

【特許請求の範囲】
【請求項1】
仮想空間に配置されたキャラクターの周囲の環境パラメータを、当該キャラクターからの方向ごとに取得するパラメータ取得部、
当該キャラクターを囲む所定の曲線(以下「基準曲線」という。)を設定する基準曲線設定部、
前記設定された基準曲線に含まれる点のそれぞれ(以下「基準点」という。)について、当該キャラクターから当該基準点の方向に対して前記取得された環境パラメータの値に対応付けられる移動量だけ、当該基準点から所定の方向へ移動した位置の点(以下「軌跡点」という。)を設定する軌跡点設定部、
前記設定された軌跡点を通過する曲線(以下「軌跡曲線」という。)と、当該キャラクターと、を、当該仮想空間内に配置された視点から見た画像を生成する画像生成部
を備えることを特徴とする画像生成装置。
【請求項2】
請求項1に記載の画像生成装置であって、
前記パラメータ取得部は、当該キャラクターの位置の環境パラメータをさらに取得し、
前記基準曲線設定部は、当該基準曲線の大きさを、前記取得された当該キャラクターの位置の環境パラメータの値に対応付けられる大きさに設定する
ことを特徴とする画像生成装置。
【請求項3】
請求項1または2に記載の画像生成装置であって、
前記基準曲線設定部は、当該基準曲線の当該キャラクターに対する位置を、当該キャラクターの移動の速度および方向に対応付けられる位置に変更する
ことを特徴とする画像生成装置。
【請求項4】
請求項1から3のいずれか1項に記載の画像生成装置であって、
当該基準曲線は円であり、当該所定の方向は当該円が含まれる平面に対する法線成分を有する
ことを特徴とする画像生成装置。
【請求項5】
パラメータ取得部、基準曲線設定部、軌跡点設定部、画像生成部を備える画像生成装置にて実行される画像生成方法であって、
前記パラメータ取得部が、仮想空間に配置されたキャラクターの周囲の環境パラメータを、当該キャラクターからの方向ごとに取得するパラメータ取得工程、
前記基準曲線設定部が、当該キャラクターを囲む所定の曲線(以下「基準曲線」という。)を設定する基準曲線設定工程、
前記軌跡点設定部が、前記設定された基準曲線に含まれる点のそれぞれ(以下「基準点」という。)について、当該キャラクターから当該基準点の方向に対して前記取得された環境パラメータの値に対応付けられる移動量だけ、当該基準点から所定の方向へ移動した位置の点(以下「軌跡点」という。)を設定する軌跡点設定工程、
前記画像生成部が、前記設定された軌跡点を通過する曲線(以下「軌跡曲線」という。)と、当該キャラクターと、を、当該仮想空間内に配置された視点から見た画像を生成する画像生成工程
を備えることを特徴とする画像生成方法。
【請求項6】
コンピュータを、
仮想空間に配置されたキャラクターの周囲の環境パラメータを、当該キャラクターからの方向ごとに取得するパラメータ取得部、
当該キャラクターを囲む所定の曲線(以下「基準曲線」という。)を設定する基準曲線設定部、
前記設定された基準曲線に含まれる点のそれぞれ(以下「基準点」という。)について、当該キャラクターから当該基準点の方向に対して前記取得された環境パラメータの値に対応付けられる移動量だけ、当該基準点から所定の方向へ移動した位置の点(以下「軌跡点」という。)を設定する軌跡点設定部、
前記設定された軌跡点を通過する曲線(以下「軌跡曲線」という。)と、当該キャラクターと、を、当該仮想空間内に配置された視点から見た画像を生成する画像生成部
として機能させることを特徴とするプログラム。

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


【公開番号】特開2007−257262(P2007−257262A)
【公開日】平成19年10月4日(2007.10.4)
【国際特許分類】
【出願番号】特願2006−80401(P2006−80401)
【出願日】平成18年3月23日(2006.3.23)
【出願人】(506113602)株式会社コナミデジタルエンタテインメント (1,441)
【Fターム(参考)】