説明

画像表示制御装置、画像表示方法及びプログラム

【課題】オブジェクトを移動させる指示に応じて、仮想3次元空間に設定された環境情報の影響を反映した空間画像を表示させる場合に、必要な演算量を低減できる画像表示制御装置を提供する。
【解決手段】仮想3次元空間内に配置された操作対象オブジェクトを移動させる指示に応じて、所定の視点位置及び視線方向を変化させるとともに、当該仮想3次元空間の環境を示す環境情報に含まれる位置又は方向を、視点位置及び視線方向の変化に応じて変化させ、変化した環境情報を用いて仮想3次元空間内に配置された1又は複数のオブジェクトの位置又は色情報を更新し、更新されたオブジェクトを変化した視点位置及び視線方向から見た空間画像を生成し、表示装置に表示させる画像表示制御装置である。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、仮想3次元空間内に配置されたオブジェクトを示す空間画像を表示装置に表示させる画像表示制御装置、画像表示方法及びプログラムに関する。
【背景技術】
【0002】
仮想3次元空間内に配置された1又は複数のオブジェクトを、所定の視点位置及び視線方向から見た空間画像を生成し、表示装置に表示させる画像表示制御装置がある。このような画像表示制御装置を用いて例えばコンピュータゲーム等を実現する場合、画像表示制御装置は、ユーザによる操作の対象となる操作対象オブジェクトを移動させる指示に応じて、操作対象オブジェクトの仮想3次元空間内における新たな位置を演算によって決定する。そして、決定された新たな位置に応じて各オブジェクトを示す空間画像を生成し、表示装置に表示させる。このような処理を繰り返すことにより、ユーザは仮想3次元空間内に配置されたオブジェクトを操作することができる。
【0003】
また、この仮想3次元空間をより現実味のあるものにするなどの目的で、当該仮想3次元空間の環境(例えば仮想3次元空間に配置された光源や、重力など)を示す環境情報が設定される場合がある。この場合、画像表示制御装置は、ユーザからの操作対象オブジェクトを移動させる指示に応じて操作対象オブジェクトの新たな位置を算出するとともに、環境情報によって各オブジェクトに生じる影響(例えば光源によってオブジェクトの表面に生じる陰影や、重力によるオブジェクトの移動など)を演算し、当該演算結果を反映した空間画像を生成する。
【発明の開示】
【発明が解決しようとする課題】
【0004】
上記従来例において、例えば仮想3次元空間内に配置された操作対象オブジェクトが複雑な形状をしている場合、操作対象オブジェクトを移動させるためには、操作対象オブジェクトの各頂点の移動後の位置座標を算出する必要があり、必要な演算量が多くなる。
【0005】
また、仮想3次元空間内に複数のオブジェクトが配置されている場合、ユーザの操作対象オブジェクトを移動させる指示によって操作対象オブジェクトを移動させるとともに、さらに当該操作対象オブジェクトの移動による影響を考慮して他のオブジェクトを移動させる必要がある。さらに、このように他のオブジェクトが移動することによって、既に位置を移動させる処理を終えた他のオブジェクトの位置や色情報などに影響を及ぼす場合もある。このため、相互に影響しあう複数のオブジェクトの1つを移動させる指示がなされた場合、各オブジェクトに対して環境情報による影響を反映させた空間画像を生成する処理は、多くの演算量を必要とするものとなる。その結果、例えばリアルタイムでユーザの指示に応じて空間画像を更新する場合、演算処理が間に合わなかったり、処理タイミングがずれてしまったりして、正しく環境情報による影響を反映した空間画像を表示できなくなることがあり得る。
【0006】
本発明は上記実情に鑑みてなされたものであって、その目的の一つは、オブジェクトを移動させる指示に応じて、仮想3次元空間に設定された環境情報の影響を反映した空間画像を表示させる場合に、必要な演算量を低減できる画像表示制御装置、画像表示方法及びプログラムを提供することにある。
【課題を解決するための手段】
【0007】
上記課題を解決するための本発明に係る画像表示制御装置は、仮想3次元空間内に設定された位置又は方向の情報を含み、当該仮想3次元空間の環境を示す環境情報を用いて、当該仮想3次元空間内に配置された1又は複数のオブジェクトの位置又は色情報を更新するオブジェクト情報更新手段と、前記更新された1又は複数のオブジェクトを前記仮想3次元空間内の所定の視点位置及び視線方向から見た空間画像を生成し、表示装置に表示させる表示制御手段と、を含む画像表示制御装置であって、前記1又は複数のオブジェクトのうちユーザによる操作の対象となる操作対象オブジェクトを移動させる指示に応じて、前記視点位置及び視線方向を変化させるとともに、前記環境情報に含まれる位置又は方向を、前記視点位置及び視線方向の変化に応じて変化させる環境情報変更手段をさらに含み、前記オブジェクト情報更新手段は、前記変化した環境情報を用いて前記1又は複数のオブジェクトの位置又は色情報を更新し、前記表示制御手段は、前記変化した視点位置及び視線方向から見た空間画像を前記表示装置に表示させることを特徴とする。
【0008】
また、上記画像表示制御装置において、前記環境情報は、前記仮想3次元空間内における光源位置又は光線方向を含み、前記オブジェクト情報更新手段は、前記光源位置又は光線方向に応じて前記1又は複数のオブジェクトの色情報を更新して、前記1又は複数のオブジェクトの表面に陰影を生じさせることとしてもよい。
【0009】
また、上記画像表示制御装置において、前記環境情報は、前記仮想3次元空間内における重力方向を含み、前記オブジェクト情報更新手段は、前記重力方向によって示される重力による、前記操作対象オブジェクトとは異なる周辺オブジェクトの移動量及び移動方向を算出し、当該算出された移動量及び移動方向に応じて前記周辺オブジェクトの位置を更新することとしてもよい。
【0010】
また、本発明に係る画像表示方法は、仮想3次元空間内に設定された位置又は方向の情報を含み、当該仮想3次元空間の環境を示す環境情報を用いて、当該仮想3次元空間内に配置された1又は複数のオブジェクトの位置又は色情報を更新するオブジェクト情報更新ステップと、前記更新された1又は複数のオブジェクトを前記仮想3次元空間内の所定の視点位置及び視線方向から見た空間画像を生成し、表示装置に表示させる表示ステップと、を含む画像表示方法であって、前記1又は複数のオブジェクトのうちユーザによる操作の対象となる操作対象オブジェクトを移動させる指示に応じて、前記視点位置及び視線方向を変化させるとともに、前記環境情報に含まれる位置又は方向を、前記視点位置及び視線方向の変化に応じて変化させる環境情報変更ステップをさらに含み、前記オブジェクト情報更新ステップは、前記変化した環境情報を用いて前記1又は複数のオブジェクトの位置又は色情報を更新し、前記表示制御ステップは、前記変化した視点位置及び視線方向から見た空間画像を前記表示装置に表示させることを特徴とする。
【0011】
また、本発明に係るプログラムは、仮想3次元空間内に設定された位置又は方向の情報を含み、当該仮想3次元空間の環境を示す環境情報を用いて、当該仮想3次元空間内に配置された1又は複数のオブジェクトの位置又は色情報を更新するオブジェクト情報更新手段、前記更新された1又は複数のオブジェクトを前記仮想3次元空間内の所定の視点位置及び視線方向から見た空間画像を生成し、表示装置に表示させる表示制御手段、及び前記1又は複数のオブジェクトのうちユーザによる操作の対象となる操作対象オブジェクトを移動させる指示に応じて、前記視点位置及び視線方向を変化させるとともに、前記環境情報に含まれる位置又は方向を、前記視点位置及び視線方向の変化に応じて変化させる環境情報変更手段、としてコンピュータを機能させ、前記オブジェクト情報更新手段は、前記変化した環境情報を用いて前記1又は複数のオブジェクトの位置又は色情報を更新し、前記表示制御手段は、前記変化した視点位置及び視線方向から見た空間画像を前記表示装置に表示させるプログラムである。
【発明を実施するための最良の形態】
【0012】
図1は、本実施形態に係る画像表示制御装置を含むエンタテインメントシステムのハードウェア構成を示す図である。同図に示すように、エンタテインメントシステム10は、MPU(Micro Processing Unit)11と、メインメモリ20と、画像処理部24と、モニタ26と、入出力処理部28と、音声処理部30と、スピーカ32と、光ディスク読み取り部34と、光ディスク36と、ハードディスク38と、インタフェース(I/F)40,44と、コントローラ42と、カメラユニット46と、ネットワークインタフェース48と、を含んで構成されるコンピュータシステムである。
【0013】
図2は、MPU11の構成を示す図である。同図に示すように、MPU11は、メインプロセッサ12と、サブプロセッサ14a,14b,14c,14d,14e,14f,14g,14hと、バス16と、メモリコントローラ18と、インタフェース(I/F)22と、を含んで構成される。
【0014】
メインプロセッサ12は、図示しないROM(Read Only Memory)に記憶されるオペレーティングシステム、例えばDVD(Digital Versatile Disk)−ROM等の光ディスク36から読み出されるプログラム及びデータや、通信ネットワークを介して供給されるプログラム及びデータ等に基づいて、各種情報処理を行ったり、サブプロセッサ14a乃至14hに対する制御を行ったりする。
【0015】
サブプロセッサ14a乃至14hは、メインプロセッサ12からの指示に従って、各種情報処理を行ったり、エンタテインメントシステム10の各部を、例えばDVD−ROM等の光ディスク36から読み出されるプログラム及びデータや、通信ネットワークを介して供給されるプログラム及びデータ等に基づいて制御したりする。
【0016】
バス16は、アドレス及びデータをエンタテインメントシステム10の各部でやり取りするためのものである。メインプロセッサ12、サブプロセッサ14a乃至14h、メモリコントローラ18、インタフェース22は、バス16を介して相互にデータ授受可能に接続される。
【0017】
メモリコントローラ18は、メインプロセッサ12及びサブプロセッサ14a乃至14hからの指示に従って、メインメモリ20へのアクセスを行う。メインメモリ20には、光ディスク36やハードディスク38から読み出されたプログラム及びデータや、通信ネットワークを介して供給されたプログラム及びデータが必要に応じて書き込まれる。メインメモリ20はメインプロセッサ12やサブプロセッサ14a乃至14hの作業用としても用いられる。
【0018】
インタフェース22には画像処理部24及び入出力処理部28が接続される。メインプロセッサ12及びサブプロセッサ14a乃至14hと、画像処理部24又は入出力処理部28と、の間のデータ授受はインタフェース22を介して行われる。
【0019】
画像処理部24は、GPU(Graphical Processing Unit)とフレームバッファとを含んで構成される。GPUは、メインプロセッサ12やサブプロセッサ14a乃至14hから供給される画像データに基づいてフレームバッファに各種画面を描画する。フレームバッファに形成された画面は、所定のタイミングでビデオ信号に変換されてモニタ26に出力される。なお、モニタ26には例えば家庭用テレビ受像機が用いられる。
【0020】
入出力処理部28には、音声処理部30、光ディスク読み取り部34、ハードディスク38、インタフェース40及び44が接続される。入出力処理部28は、メインプロセッサ12及びサブプロセッサ14a乃至14hと、音声処理部30、光ディスク読み取り部34、ハードディスク38、インタフェース40及び44、ネットワークインタフェース48と、の間のデータ授受を制御する。
【0021】
音声処理部30は、SPU(Sound Processing Unit)とサウンドバッファとを含んで構成される。サウンドバッファには、光ディスク36やハードディスク38から読み出されたゲーム音楽、ゲーム効果音やメッセージなどの各種音声データが記憶される。SPUは、これらの各種音声データを再生してスピーカ32から出力させる。なお、スピーカ32には例えば家庭用テレビ受像機の内蔵スピーカが用いられる。
【0022】
光ディスク読み取り部34は、メインプロセッサ12及びサブプロセッサ14a乃至14hからの指示に従って、光ディスク36に記憶されたプログラムやデータを読み取る。なお、エンタテインメントシステム10は、光ディスク36以外の他のコンピュータ読み取り可能な情報記憶媒体に記憶されたプログラムやデータを読み取り可能に構成してもよい。
【0023】
光ディスク36は例えばDVD−ROM等の一般的な光ディスク(コンピュータ読み取り可能な情報記憶媒体)である。また、ハードディスク38は一般的なハードディスク装置である。光ディスク36やハードディスク38には各種プログラムやデータがコンピュータ読み取り可能に記憶される。
【0024】
インタフェース(I/F)40,44は、コントローラ42やカメラユニット46等の各種周辺機器を接続するためのインタフェースである。このようなインタフェースとしては、例えばUSB(Universal Serial Bus)インタフェースが用いられる。また、例えばBluetooth(登録商標)インタフェースなどの無線通信インタフェースが用いられてもよい。
【0025】
コントローラ42は汎用操作入力手段であり、ユーザが各種操作(例えばゲーム操作)を入力するために用いられる。入出力処理部28は、所定時間(例えば1/60秒)ごとにコントローラ42の各部の状態をスキャンし、その結果を表す操作信号をメインプロセッサ12やサブプロセッサ14a乃至14hに供給する。メインプロセッサ12やサブプロセッサ14a乃至14hは、ユーザによって行われた操作の内容をその操作信号に基づいて判断する。なお、エンタテインメントシステム10は複数のコントローラ42を接続可能に構成されており、各コントローラ42から入力される操作信号に基づいて、メインプロセッサ12やサブプロセッサ14a乃至14hが各種処理を実行するようになっている。
【0026】
また、コントローラ42は、当該コントローラ42自身の状態に関する情報を検知し、出力するセンサを備えてもよい。これにより、ユーザが例えばコントローラ42の姿勢を変えるなどコントローラ42の状態を変化させることで、メインプロセッサ12やサブプロセッサ14a乃至14hは当該コントローラ42の状態に応じた処理を実行できる。
【0027】
具体的に、本実施形態においてコントローラ42は、3軸加速度センサ及びジャイロセンサを備えていることとする。3軸加速度センサは、コントローラ42に設定された3つの基準軸のそれぞれに対して生じる加速度に応じた出力値を出力する。例えばユーザがコントローラ42を傾けると、これにより基準軸のいずれかに対して重力加速度の変化が生じる。これにより、3軸加速度センサの出力値によってエンタテインメントシステム10はコントローラ42の傾きを検知することができる。また、ジャイロセンサは、コントローラ42の所定の基準軸を中心とした回転を検知し、当該回転の角速度に応じた出力値を出力する。この出力値を積分することで、エンタテインメントシステム10はコントローラ42の基準軸に対する回転の変位量を取得できる。
【0028】
カメラユニット46は、例えば公知のデジタルカメラを含んで構成され、白黒、グレイスケール又はカラーの撮影画像を所定時間(例えば1/60秒)ごとに入力する。本実施の形態におけるカメラユニット46は、撮影画像をJPEG(Joint Photographic Experts Group)形式の画像データとして入力するようになっている。また、カメラユニット46は、例えばレンズをプレイヤに向けた状態でモニタ26の上に設置され、ケーブルを介してインタフェース44に接続される。ネットワークインタフェース48は入出力処理部28と通信ネットワークとに接続されており、エンタテインメントシステム10が通信ネットワークを介して他のエンタテインメントシステム10とデータ通信するのを中継するようになっている。
【0029】
以下では、以上のハードウェア構成を有するエンタテインメントシステム10が、仮想3次元空間を示す空間画像を生成し、表示装置に表示させる場合に実現する機能について、説明する。なお、本実施形態においては、モニタ26が表示装置に相当する。
【0030】
まず、本実施形態に係るエンタテインメントシステム10上に構築される仮想3次元空間について説明する。図3は、仮想3次元空間の一例を示す説明図である。図3の例においては、仮想3次元空間内に板オブジェクトOa及びボールオブジェクトObが配置されている。また、仮想3次元空間内には基準視点位置Pv及び基準視線方向Dvが設定されている。
【0031】
さらに、仮想3次元空間内には、当該仮想3次元空間の環境を示す、位置又は方向の情報を含んだ環境情報が設定されている。具体的に、ここでは環境情報として、基準光源位置Pl及び基準重力方向Dgが設定されていることとする。
【0032】
ここで、板オブジェクトOaは薄い直方体状の形状をしており、ユーザの指示操作に応じて仮想3次元空間内における向きを変化させる。すなわち、本実施形態においては、この板オブジェクトOaがユーザによる操作の対象となる操作対象オブジェクトとなる。なお、図3に示されるような、重力方向に対して水平な向きを、板オブジェクトOaの基準姿勢とする。また、ボールオブジェクトObは板オブジェクトOa上に配置された球体のオブジェクトであって、板オブジェクトOaの向きの変化と仮想3次元空間内に設定された重力の作用とによって板オブジェクトOa上を移動する。
【0033】
次に、本実施形態においてエンタテインメントシステム10が実現する機能について、説明する。エンタテインメントシステム10は、機能的に、図4に示すように、オブジェクト移動指示取得部51と、環境情報変更部52と、オブジェクト情報更新部53と、画像表示制御部54と、を含んで構成されている。これらの機能は、例えばMPU11と画像処理部24に含まれるGPUとが、メインメモリ20に格納されるプログラムに従って動作することにより、実現できる。このプログラムは、インターネット等の通信ネットワークを介して提供されるものであってもよいし、CD−ROMやDVD−ROM等のコンピュータで読み取り可能な各種情報記録媒体に格納されて提供されるものであってもよい。
【0034】
オブジェクト移動指示取得部51は、仮想3次元空間に配置されたオブジェクトを移動させるユーザからの指示を表す指示情報を取得する。本実施形態においては、オブジェクト移動指示取得部51は、ユーザによるコントローラ42に対する操作に基づいて、仮想3次元空間内に配置された板オブジェクトOaの向きを変化させる回転指示の指示情報を取得することとする。
【0035】
具体例として、オブジェクト移動指示取得部51は、コントローラ42を傾けるユーザの動作によって、コントローラ42に内蔵された3軸加速度センサが出力する重力加速度に関する値を取得する。そして、取得した3軸加速度センサの出力値に基づいて、板オブジェクトOaを傾ける傾き方向及び傾き量を、指示情報として取得する。
【0036】
ここでオブジェクト移動指示取得部51は、入出力処理部28により一定時間ごとにサンプリングされた3軸加速度センサの出力値に応じて、一定時間ごとに指示情報を取得することとする。この場合において、オブジェクト移動指示取得部51は、ある時点においてサンプリングされた3軸加速度センサの出力値に基づいて算出されたコントローラ42の傾きを示す値(コントローラ傾き量)を、そのまま当該時点における指示情報として用いるのではなく、当該時点より以前のサンプリングによって得られたコントローラ傾き量に基づいて補正したコントローラ傾き量(補正傾き量)を、当該時点のサンプリングに応じた指示情報として取得してもよい。
【0037】
具体例として、オブジェクト移動指示取得部51は、3軸加速度センサの所定軸に関する出力値に基づいて得られたコントローラ傾き量V(n)と、前回サンプリング時のコントローラ傾き量に基づいて得られた補正傾き量と、に基づいて、例えば以下の式により補正傾き量T(n)を算出する。
T(n)=T(n−1)+(V(n)−T(n−1))/C
ここで、T(n−1)は、前回サンプリング時のコントローラ傾き量V(n−1)に対して算出された前回の補正傾き量である。また、Cは所定の定数である。オブジェクト移動指示取得部51は、算出された補正傾き量を、板オブジェクトOaに対する指示情報として取得する。ここで、定数Cの値を増減させることによって、コントローラ傾き量の変化に対する補正傾き量の変化の反応速度を変えることができる。すなわち、Cが小さい値(例えば10)であれば、補正傾き量T(n)は比較的コントローラ傾き量V(n)の変化に近い変化を示す。一方、Cが大きい値(例えば30)になると、補正傾き量T(n)はV(n)の変化に比べて緩やかな変化を示すこととなり、急激な変化を示しにくくなる。これにより、Cの値を変更することで、ユーザの操作に対する板オブジェクトOaの変化の反応速度を調整することができる。
【0038】
なお、上述した補正傾き量を算出する処理に代えて、オブジェクト移動指示取得部51は、コントローラ42の出力値そのものを以前のサンプリング時の出力値を用いて補正することとしてもよい。この場合、補正された出力値に基づいて板オブジェクトOaの傾き量を示す指示情報を算出することにより、上述した補正傾き量を算出する処理を実行する場合と同様の効果を得ることができる。
【0039】
環境情報変更部52は、オブジェクト移動指示取得部51が取得したオブジェクトを移動させる指示に応じて、仮想3次元空間内に設定されている視点位置及び視線方向を変化させるとともに、環境情報に含まれる位置又は方向を、視点位置及び視線方向の変化に応じて変化させる。ここでは具体的に、環境情報変更部52は、仮想3次元空間内における光源位置及び重力方向を変化させることとする。
【0040】
具体例として、環境情報変更部52は、オブジェクト移動指示取得部51が取得した指示情報に基づいて、板オブジェクトOaの基準姿勢に対する傾き方向及び傾き量を決定する。そして、板オブジェクトOaを基準姿勢に対して決定した傾き方向及び傾き量で傾ける回転を示す回転行列Mrを決定する。
【0041】
さらに環境情報変更部52は、決定した回転行列Mrの逆行列Mr-1を算出する。この逆行列Mr-1を、基準視点位置Pv及び基準光源位置Plの位置座標並びに基準視線方向Dv及び基準重力方向Dgを示すベクトルに対して乗算することにより、みかけの視点位置Pv′、みかけの視線方向Dv′、みかけの光源位置Pl′及びみかけの重力方向Dg′を算出する。これにより、視点位置及び視線方向の変化に応じて、環境情報に含まれる光源位置及び重力方向をみかけの光源位置Pl′及びみかけの重力方向Dg′に変化させたこととなる。
【0042】
なお、この場合において、板オブジェクトOaの基準姿勢における重心位置(板オブジェクトOaが回転する際の回転の基準位置)は、仮想3次元空間内の位置座標を示すワールド座標系の原点位置に一致しているものとする。このことにより、Pv,Dv,Pl及びDgのそれぞれを示すワールド座標系の位置座標又はベクトルに対して、単に回転行列Mrの逆行列Mr-1を乗算することにより、Pv′,Dv′,Pl′及びDg′を示す位置座標又はベクトルを算出できる。
【0043】
また、板オブジェクトOaの重心位置がワールド座標系の原点位置に一致しない場合には、以下のような処理を行うこととしてもよい。すなわち、環境情報変更部52は、板オブジェクトOaの重心位置を原点位置とする板オブジェクトOaのローカル座標系における、Pv及びPlの位置座標を算出する。そして、上述した例と同様にして、当該ローカル座標系の位置座標に対して逆行列Mr-1を乗算することにより、ローカル座標系におけるPv′及びPl′を示す位置座標を算出する。さらに、算出されたPv′及びPl′の位置座標を、ワールド座標系における板オブジェクトOaの重心位置の情報を用いて、ワールド座標系における位置座標に変換する。こうすれば、板オブジェクトOaの重心位置がワールド座標系の原点位置に一致しない場合であっても、Pv′及びPl′のワールド座標系における位置座標を算出できる。なお、Dv′及びDg′を示すベクトルについては、上述した例と同様にして算出できる。
【0044】
一例として、ユーザがコントローラ42を向かって右方向に傾けることにより、図3に示される基準姿勢にある板オブジェクトOaを、仮想3次元空間において視線方向に向かって右方向に傾ける指示情報が得られたとする。この場合、環境情報変更部52は、指示情報によって示される回転量と同じ量だけ、視点位置及び視線方向とともに、光源位置及び重力方向を指示情報によって示される回転方向と逆方向に回転させる。これにより、図5(a)に例示されるように、みかけの視点位置Pv′、みかけの視線方向Dv′、みかけの光源位置Pl′及びみかけの重力方向Dg′が設定される。なお、図5(a)において破線の矢印は板オブジェクトOaの向きを変える指示の方向を示している。
【0045】
本実施形態においては、この指示に応じて板オブジェクトOaの仮想3次元空間内における位置は変化しない。しかしながら、図5(a)に示すようにPv′、Dv′、Pl′及びDg′が設定されることにより、みかけの視点位置Pv′からみかけの視線方向Dv′に向かって板オブジェクトOaを見た画像は、図5(b)に示すように、視線方向に向かって右方向に傾いたものになる。
【0046】
また、逆にユーザがコントローラ42を向かって左方向に傾けた場合、同様にして、図6(a)に例示されるような位置及び向きに、みかけの視点位置Pv′、みかけの視線方向Dv′、みかけの光源位置Pl′及びみかけの重力方向Dg′が設定される。なお、図5(a)と同様に破線の矢印は板オブジェクトOaの向きを変える指示の方向を示している。この場合においても、図6(b)に示すように、みかけの視点位置Pv′からみかけの視線方向Dv′に向かって板オブジェクトOaを見た画像は、視線方向に向かって左方向に傾いたものとなる。
【0047】
オブジェクト情報更新部53は、環境情報変更部52によって得られたみかけの光源位置Pl′及びみかけの重力方向Dg′を用いて、仮想3次元空間内に配置されたオブジェクトの位置又は色情報を更新する。すなわち、オブジェクト情報更新部53は、環境情報によって示される仮想3次元空間内の環境によって生じる、オブジェクトへの影響の結果を算出する。
【0048】
具体的に、まずオブジェクト情報更新部53は、みかけの重力方向Dg′によって示される重力によるボールオブジェクトObの移動量及び移動方向を算出し、当該算出された移動量及び移動方向に応じてボールオブジェクトObの位置を更新する。なお、ここでは重力の作用は板オブジェクトOaには働かないこととし、オブジェクト情報更新部53は、重力制御の対象となるボールオブジェクトObに対して選択的に重力の作用による移動量及び移動方向の算出を行う。
【0049】
この場合において、オブジェクト情報更新部53は、ボールオブジェクトObの移動量及び移動方向を決定する際に、板オブジェクトOaとの衝突判定を行う必要がある。板を突き抜けてボールが転がることはないからである。ここで、本実施形態においては、ユーザによるオブジェクト移動指示に対して板オブジェクトOaは実際には移動しないため、常に板オブジェクトOaの位置を示す位置座標は変化しない。これにより、オブジェクト情報更新部53は、板オブジェクトOaを移動させる処理のタイミングを考慮することなく、ボールオブジェクトObの衝突判定を行い、重力によるボールオブジェクトObの移動量及び移動方向を算出できる。
【0050】
なお、オブジェクト情報更新部53は、ボールオブジェクトObの移動方向及び移動量を算出する際に、ボールオブジェクトObに対して補正力が働くものとして、当該補正力に基づいて移動量を算出してもよい。ここで、この補正力の向き及び量は、例えば仮想3次元空間内における各オブジェクトの位置や、各種の物理量を示すパラメタなどに基づいて決定されることとする。
【0051】
例えば、仮想3次元空間内において板オブジェクトOaの向きが変化した場合、ボールオブジェクトObの位置が板オブジェクトOaの回転の基準位置(ここでは、板オブジェクトOaの重心位置)から離れていると、ボールオブジェクトObには板オブジェクトOaの移動に伴って遠心力が働くはずである。しかし、本実施形態においては、板オブジェクトOaの仮想3次元空間内の位置は変化しないため、このような遠心力による効果を再現するために、ボールオブジェクトObに対して補正力を加えることとする。具体的に、オジェクト情報更新部53は、みかけの重力方向Dg′に基づいて決定したボールオブジェクトObの移動方向に対して、ボールオブジェクトObの板オブジェクトOaに対する相対位置に基づいて算出される補正力が働いているものとして、当該補正力及びみかけの重力に基づいてボールオブジェクトObの加速度を算出する。そして、算出された加速度に基づいて、ボールオブジェクトObの移動量を算出する。こうすれば、板オブジェクトOaの位置を変化させずに、板オブジェクトOaの位置が変化した場合のボールオブジェクトObの動きを、より現実の動きに近い値として演算できる。また、この補正力の向き及び量は、板オブジェクトOaとボールオブジェクトObとの間の摩擦係数に基づいて決定されることとしてもよい。
【0052】
さらにオブジェクト情報更新部53は、みかけの光源位置Pl′に応じて板オブジェクトOa及びボールオブジェクトObの色情報を更新して、各オブジェクトの表面に光源からの光による陰影を生じさせる。この処理は、公知のシェーディング処理等により実現できる。このようにみかけの光源位置Pl′に基づいて色情報の更新を行うことにより、板オブジェクトOaの位置は変化していないにもかかわらず、板オブジェクトOaの位置が変化した場合に光源によって生じる陰影の効果を算出できる。
【0053】
画像表示制御部54は、オブジェクト情報更新部53によって位置又は色情報が更新されたオブジェクトを仮想3次元空間内の視点位置及び視線方向から見た空間画像を生成し、モニタ26に表示させる。ここで、視点位置及び視線方向としては、環境情報変更部52によって得られるみかけの視点位置Pv′及びみかけの視線方向Dv′を用いる。
【0054】
具体例として、画像表示制御部54は、みかけの視点位置Pv′及びみかけの視線方向Dv′を用いて、仮想3次元空間内の各オブジェクトの頂点の位置座標を、視点座標系における位置座標に変換する。そして、視点座標系に変換された位置座標を用いて、視野範囲に応じたクリッピング処理を実行することにより、各オブジェクトを視点位置から視線方向に向けて見た空間画像を生成する。この場合において、板オブジェクトOaの仮想3次元空間内における位置は変化していないが、みかけの視点位置Pv′及びみかけの視線方向Dv′に基づいて空間画像が生成されることにより、空間画像内の板オブジェクトOaはユーザの指示に応じて移動しているように見える。
【0055】
ここで、画像表示制御部54は、所定の背景オブジェクトが仮想3次元空間内に配置されている場合、以下のような処理により空間画像を生成してもよい。すなわち、まず画像表示制御部54は、基準視点位置Pv及び基準視線方向Dvから当該背景オブジェクトを見た背景画像を生成する。次に、ユーザの操作により影響を受ける板オブジェクトOa及びボールオブジェクトObの空間画像内における位置を、上述したようにみかけの視点位置Pv′及びみかけの視線方向Dv′に基づいて算出する。そして、背景画像中の当該算出した位置に、板オブジェクトOa及びボールオブジェクトObを示す画像を重ね合わせることにより、空間画像を生成する。
【0056】
こうすれば、ユーザによる操作の対象となる板オブジェクトOaの移動による影響を受けない背景オブジェクトが仮想3次元空間に配置されている場合、画像表示制御部54は、このような背景オブジェクトと板オブジェクトOaやボールオブジェクトObとが正しい位置関係にある空間画像を生成することができる。なお、この場合において、背景オブジェクトを含む背景画像は、基本的に基準視点位置Pv又は基準視線方向Dvが変化しない限り、変化しない。従って、画像表示制御部54は、予め基準視点位置Pv及び基準視線方向に基づいて生成され、メインメモリ20に保持されている背景画像を用いて、空間画像を生成することとしてもよい。
【0057】
さらに画像表示制御部54は、生成された空間画像を画像処理部24に含まれるフレームバッファに出力する。これにより、エンタテインメントシステム10は生成された空間画像をモニタ26の画面上に表示させる。
【0058】
次に、本実施形態においてエンタテインメントシステム10が実行する処理の流れの一例について、図7のフロー図に基づいて説明する。以下に説明する処理は、例えば所定の時間間隔で繰り返し実行される。
【0059】
まずオブジェクト移動指示取得部51が、入出力処理部28がサンプリングしたコントローラ42内の3軸加速度センサの出力値を取得する(S1)。そして、S1で取得した出力値に応じて、ユーザの板オブジェクトOaを移動させる指示を表す指示情報を取得する(S2)。
【0060】
次に環境情報変更部52が、S2で取得した指示情報と、仮想3次元空間内に設定されている基準視点位置Pv、基準視線方向Dv、基準光源位置Pl及び基準重力方向Dgとに基づいて、みかけの視点位置Pv′、みかけの視線方向Dv′、みかけの光源位置Pl′及びみかけの重力方向Dg′を算出する(S3)。
【0061】
続いて、オブジェクト情報更新部53が、S3で算出されたみかけの重力方向Dg′に基づいて、重力制御の対象となるボールオブジェクトObの移動量及び移動方向を算出し、算出された移動量及び移動方向によりボールオブジェクトObの位置を更新する(S4)。さらにオブジェクト情報更新部53は、板オブジェクトOa及びS4によって移動したボールオブジェクトObの表面に生じる陰影を表す色情報を、みかけの光源位置Pl′に基づいて算出し、各オブジェクトの表面の色情報を更新する(S5)。
【0062】
次に画像表示制御部54が、S4及びS5の処理によって位置又は色情報が更新された各オブジェクトをみかけの視点位置Pv′及びみかけの視線方向Dv′から見た空間画像を生成する(S6)。そして、S6で生成された空間画像をモニタ26の画面上に表示させる(S7)。
【0063】
以上説明した一連の処理を所定時間おきに繰り返すことによって、エンタテインメントシステム10は、ユーザによるオブジェクト移動指示の対象となる板オブジェクトOaの仮想3次元空間内における位置を固定したままで、板オブジェクトOaがユーザの指示に応じて移動する様子を示す画像をモニタ26に表示させることができる。これにより、移動指示の対象となるオブジェクトを実際に仮想3次元空間内で移動させる場合と比較して、各オブジェクトに対する仮想3次元空間に設定された環境による影響の結果を算出する場合に必要な演算量を減らすことができる。
【0064】
なお、本発明の実施の形態は、以上説明したようなものに限られない。例えばユーザの指示による移動対象となる操作対象オブジェクトや、重力制御の対象となる周辺オブジェクトは、仮想3次元空間に配置された任意のオブジェクトであってよい。また、ユーザによるオブジェクト移動指示は、コントローラ42に備えられたボタン等の操作によるものであってもよい。
【0065】
また、上述した例においては、ユーザによる指示は移動対象となるオブジェクトを回転させるものであるとしたが、ユーザの指示はこれ以外のものであってもよい。例えばユーザの指示がオブジェクトを平行移動させるものである場合であっても、この指示情報に応じて視点位置を変化させるとともに、環境情報に含まれる光源位置などの位置を視点位置の変化に応じて変化させることによって、オブジェクトの仮想3次元空間内における位置を変化させずに、オブジェクトが移動する様子を示す画像を表示させることができる。
【0066】
また、上述した例においては光源位置から照射される光によって各オブジェクトの表面に陰影が生じることとしたが、このような光源位置に代えて、一定の向きで仮想3次元空間全体を照射する光線方向が環境情報として設定されることとしてもよい。また、光源位置だけでなく、この光源位置から照射される光の照射方向及び照射範囲がベクトル情報によって設定されることとしてもよい。このような場合であっても、視線方向の変化に応じて、光線方向や光源位置からの光の照射方向及び照射範囲を変化させることによって、上述した例と同様の処理が実現できる。さらに、環境情報は以上説明したものに限られず、仮想3次元空間に配置されたオブジェクトの見え方に影響を与える種々の位置又は方向の情報を含んでもよい。
【図面の簡単な説明】
【0067】
【図1】本発明の実施の形態に係るエンタテインメントシステムのハードウェア構成図である。
【図2】MPUの詳細構成図である。
【図3】仮想3次元空間に配置されるオブジェクトの一例を示す図である。
【図4】本発明の実施の形態に係るエンタテインメントシステムの機能例を示す機能ブロック図である。
【図5】仮想3次元空間内の環境情報の変化の一例を示す図である。
【図6】仮想3次元空間内の環境情報の変化の別の一例を示す図である。
【図7】本発明の実施の形態に係るエンタテインメントシステムによって実行される処理の一例を示すフロー図である。
【符号の説明】
【0068】
10 エンタテインメントシステム、11 MPU、12 メインプロセッサ、14a〜14h サブプロセッサ、16 バス、18 メモリコントローラ、20 メインメモリ、22,40,44 インタフェース、24 画像処理部、26 モニタ、28 入出力処理部、30 音声処理部、32 スピーカ、34 光ディスク読み取り部、36 光ディスク、38 ハードディスク、42 コントローラ、46 カメラユニット、48 ネットワークインタフェース、51 オブジェクト移動指示取得部、52 環境情報変更部、53 オブジェクト情報更新部、54 画像表示制御部。

【特許請求の範囲】
【請求項1】
仮想3次元空間内に設定された位置又は方向の情報を含み、当該仮想3次元空間の環境を示す環境情報を用いて、当該仮想3次元空間内に配置された1又は複数のオブジェクトの位置又は色情報を更新するオブジェクト情報更新手段と、
前記更新された1又は複数のオブジェクトを前記仮想3次元空間内の所定の視点位置及び視線方向から見た空間画像を生成し、表示装置に表示させる表示制御手段と、
を含む画像表示制御装置であって、
前記1又は複数のオブジェクトのうちユーザによる操作の対象となる操作対象オブジェクトを移動させる指示に応じて、前記視点位置及び視線方向を変化させるとともに、前記環境情報に含まれる位置又は方向を、前記視点位置及び視線方向の変化に応じて変化させる環境情報変更手段をさらに含み、
前記オブジェクト情報更新手段は、前記変化した環境情報を用いて前記1又は複数のオブジェクトの位置又は色情報を更新し、
前記表示制御手段は、前記変化した視点位置及び視線方向から見た空間画像を前記表示装置に表示させる
ことを特徴とする画像表示制御装置。
【請求項2】
請求項1に記載の画像表示制御装置において、
前記環境情報は、前記仮想3次元空間内における光源位置又は光線方向を含み、
前記オブジェクト情報更新手段は、前記光源位置又は光線方向に応じて前記1又は複数のオブジェクトの色情報を更新して、前記1又は複数のオブジェクトの表面に陰影を生じさせる
ことを特徴とする画像表示制御装置。
【請求項3】
請求項1又は2に記載の画像表示制御装置において、
前記環境情報は、前記仮想3次元空間内における重力方向を含み、
前記オブジェクト情報更新手段は、前記重力方向によって示される重力による、前記操作対象オブジェクトとは異なる周辺オブジェクトの移動量及び移動方向を算出し、当該算出された移動量及び移動方向に応じて前記周辺オブジェクトの位置を更新する
ことを特徴とする画像表示制御装置。
【請求項4】
仮想3次元空間内に設定された位置又は方向の情報を含み、当該仮想3次元空間の環境を示す環境情報を用いて、当該仮想3次元空間内に配置された1又は複数のオブジェクトの位置又は色情報を更新するオブジェクト情報更新ステップと、
前記更新された1又は複数のオブジェクトを前記仮想3次元空間内の所定の視点位置及び視線方向から見た空間画像を生成し、表示装置に表示させる表示ステップと、
を含む画像表示方法であって、
前記1又は複数のオブジェクトのうちユーザによる操作の対象となる操作対象オブジェクトを移動させる指示に応じて、前記視点位置及び視線方向を変化させるとともに、前記環境情報に含まれる位置又は方向を、前記視点位置及び視線方向の変化に応じて変化させる環境情報変更ステップをさらに含み、
前記オブジェクト情報更新ステップは、前記変化した環境情報を用いて前記1又は複数のオブジェクトの位置又は色情報を更新し、
前記表示制御ステップは、前記変化した視点位置及び視線方向から見た空間画像を前記表示装置に表示させる
ことを特徴とする画像表示方法。
【請求項5】
仮想3次元空間内に設定された位置又は方向の情報を含み、当該仮想3次元空間の環境を示す環境情報を用いて、当該仮想3次元空間内に配置された1又は複数のオブジェクトの位置又は色情報を更新するオブジェクト情報更新手段、
前記更新された1又は複数のオブジェクトを前記仮想3次元空間内の所定の視点位置及び視線方向から見た空間画像を生成し、表示装置に表示させる表示制御手段、及び
前記1又は複数のオブジェクトのうちユーザによる操作の対象となる操作対象オブジェクトを移動させる指示に応じて、前記視点位置及び視線方向を変化させるとともに、前記環境情報に含まれる位置又は方向を、前記視点位置及び視線方向の変化に応じて変化させる環境情報変更手段、
としてコンピュータを機能させ、
前記オブジェクト情報更新手段は、前記変化した環境情報を用いて前記1又は複数のオブジェクトの位置又は色情報を更新し、
前記表示制御手段は、前記変化した視点位置及び視線方向から見た空間画像を前記表示装置に表示させる
プログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate


【公開番号】特開2008−41013(P2008−41013A)
【公開日】平成20年2月21日(2008.2.21)
【国際特許分類】
【出願番号】特願2006−217817(P2006−217817)
【出願日】平成18年8月10日(2006.8.10)
【出願人】(395015319)株式会社ソニー・コンピュータエンタテインメント (871)
【Fターム(参考)】