(57)【要約】【課題】オブジェクトを移動させる指示に応じて、仮想３次元空間に設定された環境情報の影響を反映した空間画像を表示させる場合に、必要な演算量を低減できる画像表示制御装置を提供する。【解決手段】仮想３次元空間内に配置された操作対象オブジェクトを移動させる指示に応じて、所定の視点位置及び視線方向を変化させるとともに、当該仮想３次元空間の環境を示す環境情報に含まれる位置又は方向を、視点位置及び視線方向の変化に応じて変化させ、変化した環境情報を用いて仮想３次元空間内に配置された１又は複数のオブジェクトの位置又は色情報を更新し、更新されたオブジェクトを変化した視点位置及び視線方向から見た空間画像を生成し、表示装置に表示させる画像表示制御装置である。【選択図】図３
2008041013.tif 000002
【特許請求の範囲】
【請求項１】
仮想３次元空間内に設定された位置又は方向の情報を含み、当該仮想３次元空間の環境を示す環境情報を用いて、当該仮想３次元空間内に配置された１又は複数のオブジェクトの位置又は色情報を更新するオブジェクト情報更新手段と、
前記更新された１又は複数のオブジェクトを前記仮想３次元空間内の所定の視点位置及び視線方向から見た空間画像を生成し、表示装置に表示させる表示制御手段と、
を含む画像表示制御装置であって、
前記１又は複数のオブジェクトのうちユーザによる操作の対象となる操作対象オブジェクトを移動させる指示に応じて、前記視点位置及び視線方向を変化させるとともに、前記環境情報に含まれる位置又は方向を、前記視点位置及び視線方向の変化に応じて変化させる環境情報変更手段をさらに含み、
前記オブジェクト情報更新手段は、前記変化した環境情報を用いて前記１又は複数のオブジェクトの位置又は色情報を更新し、
前記表示制御手段は、前記変化した視点位置及び視線方向から見た空間画像を前記表示装置に表示させる
ことを特徴とする画像表示制御装置。
【請求項２】
請求項１に記載の画像表示制御装置において、
前記環境情報は、前記仮想３次元空間内における光源位置又は光線方向を含み、
前記オブジェクト情報更新手段は、前記光源位置又は光線方向に応じて前記１又は複数のオブジェクトの色情報を更新して、前記１又は複数のオブジェクトの表面に陰影を生じさせる
ことを特徴とする画像表示制御装置。
【請求項３】
請求項１又は２に記載の画像表示制御装置において、
前記環境情報は、前記仮想３次元空間内における重力方向を含み、
前記オブジェクト情報更新手段は、前記重力方向によって示される重力による、前記操作対象オブジェクトとは異なる周辺オブジェクトの移動量及び移動方向を算出し、当該算出された移動量及び移動方向に応じて前記周辺オブジェクトの位置を更新する
ことを特徴とする画像表示制御装置。
【請求項４】
仮想３次元空間内に設定された位置又は方向の情報を含み、当該仮想３次元空間の環境を示す環境情報を用いて、当該仮想３次元空間内に配置された１又は複数のオブジェクトの位置又は色情報を更新するオブジェクト情報更新ステップと、
前記更新された１又は複数のオブジェクトを前記仮想３次元空間内の所定の視点位置及び視線方向から見た空間画像を生成し、表示装置に表示させる表示ステップと、
を含む画像表示方法であって、
前記１又は複数のオブジェクトのうちユーザによる操作の対象となる操作対象オブジェクトを移動させる指示に応じて、前記視点位置及び視線方向を変化させるとともに、前記環境情報に含まれる位置又は方向を、前記視点位置及び視線方向の変化に応じて変化させる環境情報変更ステップをさらに含み、
前記オブジェクト情報更新ステップは、前記変化した環境情報を用いて前記１又は複数のオブジェクトの位置又は色情報を更新し、
前記表示制御ステップは、前記変化した視点位置及び視線方向から見た空間画像を前記表示装置に表示させる
ことを特徴とする画像表示方法。
【請求項５】
仮想３次元空間内に設定された位置又は方向の情報を含み、当該仮想３次元空間の環境を示す環境情報を用いて、当該仮想３次元空間内に配置された１又は複数のオブジェクトの位置又は色情報を更新するオブジェクト情報更新手段、
前記更新された１又は複数のオブジェクトを前記仮想３次元空間内の所定の視点位置及び視線方向から見た空間画像を生成し、表示装置に表示させる表示制御手段、及び
前記１又は複数のオブジェクトのうちユーザによる操作の対象となる操作対象オブジェクトを移動させる指示に応じて、前記視点位置及び視線方向を変化させるとともに、前記環境情報に含まれる位置又は方向を、前記視点位置及び視線方向の変化に応じて変化させる環境情報変更手段、
としてコンピュータを機能させ、
前記オブジェクト情報更新手段は、前記変化した環境情報を用いて前記１又は複数のオブジェクトの位置又は色情報を更新し、
前記表示制御手段は、前記変化した視点位置及び視線方向から見た空間画像を前記表示装置に表示させる
プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、仮想３次元空間内に配置されたオブジェクトを示す空間画像を表示装置に表示させる画像表示制御装置、画像表示方法及びプログラムに関する。
【背景技術】
【０００２】
仮想３次元空間内に配置された１又は複数のオブジェクトを、所定の視点位置及び視線方向から見た空間画像を生成し、表示装置に表示させる画像表示制御装置がある。このような画像表示制御装置を用いて例えばコンピュータゲーム等を実現する場合、画像表示制御装置は、ユーザによる操作の対象となる操作対象オブジェクトを移動させる指示に応じて、操作対象オブジェクトの仮想３次元空間内における新たな位置を演算によって決定する。そして、決定された新たな位置に応じて各オブジェクトを示す空間画像を生成し、表示装置に表示させる。このような処理を繰り返すことにより、ユーザは仮想３次元空間内に配置されたオブジェクトを操作することができる。
【０００３】
また、この仮想３次元空間をより現実味のあるものにするなどの目的で、当該仮想３次元空間の環境（例えば仮想３次元空間に配置された光源や、重力など）を示す環境情報が設定される場合がある。この場合、画像表示制御装置は、ユーザからの操作対象オブジェクトを移動させる指示に応じて操作対象オブジェクトの新たな位置を算出するとともに、環境情報によって各オブジェクトに生じる影響（例えば光源によってオブジェクトの表面に生じる陰影や、重力によるオブジェクトの移動など）を演算し、当該演算結果を反映した空間画像を生成する。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
上記従来例において、例えば仮想３次元空間内に配置された操作対象オブジェクトが複雑な形状をしている場合、操作対象オブジェクトを移動させるためには、操作対象オブジェクトの各頂点の移動後の位置座標を算出する必要があり、必要な演算量が多くなる。
【０００５】
また、仮想３次元空間内に複数のオブジェクトが配置されている場合、ユーザの操作対象オブジェクトを移動させる指示によって操作対象オブジェクトを移動させるとともに、さらに当該操作対象オブジェクトの移動による影響を考慮して他のオブジェクトを移動させる必要がある。さらに、このように他のオブジェクトが移動することによって、既に位置を移動させる処理を終えた他のオブジェクトの位置や色情報などに影響を及ぼす場合もある。このため、相互に影響しあう複数のオブジェクトの１つを移動させる指示がなされた場合、各オブジェクトに対して環境情報による影響を反映させた空間画像を生成する処理は、多くの演算量を必要とするものとなる。その結果、例えばリアルタイムでユーザの指示に応じて空間画像を更新する場合、演算処理が間に合わなかったり、処理タイミングがずれてしまったりして、正しく環境情報による影響を反映した空間画像を表示できなくなることがあり得る。
【０００６】
本発明は上記実情に鑑みてなされたものであって、その目的の一つは、オブジェクトを移動させる指示に応じて、仮想３次元空間に設定された環境情報の影響を反映した空間画像を表示させる場合に、必要な演算量を低減できる画像表示制御装置、画像表示方法及びプログラムを提供することにある。
【課題を解決するための手段】
【０００７】
上記課題を解決するための本発明に係る画像表示制御装置は、仮想３次元空間内に設定された位置又は方向の情報を含み、当該仮想３次元空間の環境を示す環境情報を用いて、当該仮想３次元空間内に配置された１又は複数のオブジェクトの位置又は色情報を更新するオブジェクト情報更新手段と、前記更新された１又は複数のオブジェクトを前記仮想３次元空間内の所定の視点位置及び視線方向から見た空間画像を生成し、表示装置に表示させる表示制御手段と、を含む画像表示制御装置であって、前記１又は複数のオブジェクトのうちユーザによる操作の対象となる操作対象オブジェクトを移動させる指示に応じて、前記視点位置及び視線方向を変化させるとともに、前記環境情報に含まれる位置又は方向を、前記視点位置及び視線方向の変化に応じて変化させる環境情報変更手段をさらに含み、前記オブジェクト情報更新手段は、前記変化した環境情報を用いて前記１又は複数のオブジェクトの位置又は色情報を更新し、前記表示制御手段は、前記変化した視点位置及び視線方向から見た空間画像を前記表示装置に表示させることを特徴とする。
【０００８】
また、上記画像表示制御装置において、前記環境情報は、前記仮想３次元空間内における光源位置又は光線方向を含み、前記オブジェクト情報更新手段は、前記光源位置又は光線方向に応じて前記１又は複数のオブジェクトの色情報を更新して、前記１又は複数のオブジェクトの表面に陰影を生じさせることとしてもよい。
【０００９】
また、上記画像表示制御装置において、前記環境情報は、前記仮想３次元空間内における重力方向を含み、前記オブジェクト情報更新手段は、前記重力方向によって示される重力による、前記操作対象オブジェクトとは異なる周辺オブジェクトの移動量及び移動方向を算出し、当該算出された移動量及び移動方向に応じて前記周辺オブジェクトの位置を更新することとしてもよい。
【００１０】
また、本発明に係る画像表示方法は、仮想３次元空間内に設定された位置又は方向の情報を含み、当該仮想３次元空間の環境を示す環境情報を用いて、当該仮想３次元空間内に配置された１又は複数のオブジェクトの位置又は色情報を更新するオブジェクト情報更新ステップと、前記更新された１又は複数のオブジェクトを前記仮想３次元空間内の所定の視点位置及び視線方向から見た空間画像を生成し、表示装置に表示させる表示ステップと、を含む画像表示方法であって、前記１又は複数のオブジェクトのうちユーザによる操作の対象となる操作対象オブジェクトを移動させる指示に応じて、前記視点位置及び視線方向を変化させるとともに、前記環境情報に含まれる位置又は方向を、前記視点位置及び視線方向の変化に応じて変化させる環境情報変更ステップをさらに含み、前記オブジェクト情報更新ステップは、前記変化した環境情報を用いて前記１又は複数のオブジェクトの位置又は色情報を更新し、前記表示制御ステップは、前記変化した視点位置及び視線方向から見た空間画像を前記表示装置に表示させることを特徴とする。
【００１１】
また、本発明に係るプログラムは、仮想３次元空間内に設定された位置又は方向の情報を含み、当該仮想３次元空間の環境を示す環境情報を用いて、当該仮想３次元空間内に配置された１又は複数のオブジェクトの位置又は色情報を更新するオブジェクト情報更新手段、前記更新された１又は複数のオブジェクトを前記仮想３次元空間内の所定の視点位置及び視線方向から見た空間画像を生成し、表示装置に表示させる表示制御手段、及び前記１又は複数のオブジェクトのうちユーザによる操作の対象となる操作対象オブジェクトを移動させる指示に応じて、前記視点位置及び視線方向を変化させるとともに、前記環境情報に含まれる位置又は方向を、前記視点位置及び視線方向の変化に応じて変化させる環境情報変更手段、としてコンピュータを機能させ、前記オブジェクト情報更新手段は、前記変化した環境情報を用いて前記１又は複数のオブジェクトの位置又は色情報を更新し、前記表示制御手段は、前記変化した視点位置及び視線方向から見た空間画像を前記表示装置に表示させるプログラムである。
【発明を実施するための最良の形態】
【００１２】
図１は、本実施形態に係る画像表示制御装置を含むエンタテインメントシステムのハードウェア構成を示す図である。同図に示すように、エンタテインメントシステム１０は、ＭＰＵ（Micro Processing Unit）１１と、メインメモリ２０と、画像処理部２４と、モニタ２６と、入出力処理部２８と、音声処理部３０と、スピーカ３２と、光ディスク読み取り部３４と、光ディスク３６と、ハードディスク３８と、インタフェース（Ｉ／Ｆ）４０，４４と、コントローラ４２と、カメラユニット４６と、ネットワークインタフェース４８と、を含んで構成されるコンピュータシステムである。
【００１３】
図２は、ＭＰＵ１１の構成を示す図である。同図に示すように、ＭＰＵ１１は、メインプロセッサ１２と、サブプロセッサ１４ａ，１４ｂ，１４ｃ，１４ｄ，１４ｅ，１４ｆ，１４ｇ，１４ｈと、バス１６と、メモリコントローラ１８と、インタフェース（Ｉ／Ｆ）２２と、を含んで構成される。
【００１４】
メインプロセッサ１２は、図示しないＲＯＭ（Read Only Memory）に記憶されるオペレーティングシステム、例えばＤＶＤ（Digital Versatile Disk）−ＲＯＭ等の光ディスク３６から読み出されるプログラム及びデータや、通信ネットワークを介して供給されるプログラム及びデータ等に基づいて、各種情報処理を行ったり、サブプロセッサ１４ａ乃至１４ｈに対する制御を行ったりする。
【００１５】
サブプロセッサ１４ａ乃至１４ｈは、メインプロセッサ１２からの指示に従って、各種情報処理を行ったり、エンタテインメントシステム１０の各部を、例えばＤＶＤ−ＲＯＭ等の光ディスク３６から読み出されるプログラム及びデータや、通信ネットワークを介して供給されるプログラム及びデータ等に基づいて制御したりする。
【００１６】
バス１６は、アドレス及びデータをエンタテインメントシステム１０の各部でやり取りするためのものである。メインプロセッサ１２、サブプロセッサ１４ａ乃至１４ｈ、メモリコントローラ１８、インタフェース２２は、バス１６を介して相互にデータ授受可能に接続される。
【００１７】
メモリコントローラ１８は、メインプロセッサ１２及びサブプロセッサ１４ａ乃至１４ｈからの指示に従って、メインメモリ２０へのアクセスを行う。メインメモリ２０には、光ディスク３６やハードディスク３８から読み出されたプログラム及びデータや、通信ネットワークを介して供給されたプログラム及びデータが必要に応じて書き込まれる。メインメモリ２０はメインプロセッサ１２やサブプロセッサ１４ａ乃至１４ｈの作業用としても用いられる。
【００１８】
インタフェース２２には画像処理部２４及び入出力処理部２８が接続される。メインプロセッサ１２及びサブプロセッサ１４ａ乃至１４ｈと、画像処理部２４又は入出力処理部２８と、の間のデータ授受はインタフェース２２を介して行われる。
【００１９】
画像処理部２４は、ＧＰＵ（Graphical Processing Unit）とフレームバッファとを含んで構成される。ＧＰＵは、メインプロセッサ１２やサブプロセッサ１４ａ乃至１４ｈから供給される画像データに基づいてフレームバッファに各種画面を描画する。フレームバッファに形成された画面は、所定のタイミングでビデオ信号に変換されてモニタ２６に出力される。なお、モニタ２６には例えば家庭用テレビ受像機が用いられる。
【００２０】
入出力処理部２８には、音声処理部３０、光ディスク読み取り部３４、ハードディスク３８、インタフェース４０及び４４が接続される。入出力処理部２８は、メインプロセッサ１２及びサブプロセッサ１４ａ乃至１４ｈと、音声処理部３０、光ディスク読み取り部３４、ハードディスク３８、インタフェース４０及び４４、ネットワークインタフェース４８と、の間のデータ授受を制御する。
【００２１】
音声処理部３０は、ＳＰＵ（Sound Processing Unit）とサウンドバッファとを含んで構成される。サウンドバッファには、光ディスク３６やハードディスク３８から読み出されたゲーム音楽、ゲーム効果音やメッセージなどの各種音声データが記憶される。ＳＰＵは、これらの各種音声データを再生してスピーカ３２から出力させる。なお、スピーカ３２には例えば家庭用テレビ受像機の内蔵スピーカが用いられる。
【００２２】
光ディスク読み取り部３４は、メインプロセッサ１２及びサブプロセッサ１４ａ乃至１４ｈからの指示に従って、光ディスク３６に記憶されたプログラムやデータを読み取る。なお、エンタテインメントシステム１０は、光ディスク３６以外の他のコンピュータ読み取り可能な情報記憶媒体に記憶されたプログラムやデータを読み取り可能に構成してもよい。
【００２３】
光ディスク３６は例えばＤＶＤ−ＲＯＭ等の一般的な光ディスク（コンピュータ読み取り可能な情報記憶媒体）である。また、ハードディスク３８は一般的なハードディスク装置である。光ディスク３６やハードディスク３８には各種プログラムやデータがコンピュータ読み取り可能に記憶される。
【００２４】
インタフェース（Ｉ／Ｆ）４０，４４は、コントローラ４２やカメラユニット４６等の各種周辺機器を接続するためのインタフェースである。このようなインタフェースとしては、例えばＵＳＢ（Universal Serial Bus）インタフェースが用いられる。また、例えばBluetooth（登録商標）インタフェースなどの無線通信インタフェースが用いられてもよい。
【００２５】
コントローラ４２は汎用操作入力手段であり、ユーザが各種操作（例えばゲーム操作）を入力するために用いられる。入出力処理部２８は、所定時間（例えば１／６０秒）ごとにコントローラ４２の各部の状態をスキャンし、その結果を表す操作信号をメインプロセッサ１２やサブプロセッサ１４ａ乃至１４ｈに供給する。メインプロセッサ１２やサブプロセッサ１４ａ乃至１４ｈは、ユーザによって行われた操作の内容をその操作信号に基づいて判断する。なお、エンタテインメントシステム１０は複数のコントローラ４２を接続可能に構成されており、各コントローラ４２から入力される操作信号に基づいて、メインプロセッサ１２やサブプロセッサ１４ａ乃至１４ｈが各種処理を実行するようになっている。
【００２６】
また、コントローラ４２は、当該コントローラ４２自身の状態に関する情報を検知し、出力するセンサを備えてもよい。これにより、ユーザが例えばコントローラ４２の姿勢を変えるなどコントローラ４２の状態を変化させることで、メインプロセッサ１２やサブプロセッサ１４ａ乃至１４ｈは当該コントローラ４２の状態に応じた処理を実行できる。
【００２７】
具体的に、本実施形態においてコントローラ４２は、３軸加速度センサ及びジャイロセンサを備えていることとする。３軸加速度センサは、コントローラ４２に設定された３つの基準軸のそれぞれに対して生じる加速度に応じた出力値を出力する。例えばユーザがコントローラ４２を傾けると、これにより基準軸のいずれかに対して重力加速度の変化が生じる。これにより、３軸加速度センサの出力値によってエンタテインメントシステム１０はコントローラ４２の傾きを検知することができる。また、ジャイロセンサは、コントローラ４２の所定の基準軸を中心とした回転を検知し、当該回転の角速度に応じた出力値を出力する。この出力値を積分することで、エンタテインメントシステム１０はコントローラ４２の基準軸に対する回転の変位量を取得できる。
【００２８】
カメラユニット４６は、例えば公知のデジタルカメラを含んで構成され、白黒、グレイスケール又はカラーの撮影画像を所定時間（例えば１／６０秒）ごとに入力する。本実施の形態におけるカメラユニット４６は、撮影画像をＪＰＥＧ（Joint Photographic Experts Group）形式の画像データとして入力するようになっている。また、カメラユニット４６は、例えばレンズをプレイヤに向けた状態でモニタ２６の上に設置され、ケーブルを介してインタフェース４４に接続される。ネットワークインタフェース４８は入出力処理部２８と通信ネットワークとに接続されており、エンタテインメントシステム１０が通信ネットワークを介して他のエンタテインメントシステム１０とデータ通信するのを中継するようになっている。
【００２９】
以下では、以上のハードウェア構成を有するエンタテインメントシステム１０が、仮想３次元空間を示す空間画像を生成し、表示装置に表示させる場合に実現する機能について、説明する。なお、本実施形態においては、モニタ２６が表示装置に相当する。
【００３０】
まず、本実施形態に係るエンタテインメントシステム１０上に構築される仮想３次元空間について説明する。図３は、仮想３次元空間の一例を示す説明図である。図３の例においては、仮想３次元空間内に板オブジェクトＯａ及びボールオブジェクトＯｂが配置されている。また、仮想３次元空間内には基準視点位置Ｐｖ及び基準視線方向Ｄｖが設定されている。
【００３１】
さらに、仮想３次元空間内には、当該仮想３次元空間の環境を示す、位置又は方向の情報を含んだ環境情報が設定されている。具体的に、ここでは環境情報として、基準光源位置Ｐｌ及び基準重力方向Ｄｇが設定されていることとする。
【００３２】
ここで、板オブジェクトＯａは薄い直方体状の形状をしており、ユーザの指示操作に応じて仮想３次元空間内における向きを変化させる。すなわち、本実施形態においては、この板オブジェクトＯａがユーザによる操作の対象となる操作対象オブジェクトとなる。なお、図３に示されるような、重力方向に対して水平な向きを、板オブジェクトＯａの基準姿勢とする。また、ボールオブジェクトＯｂは板オブジェクトＯａ上に配置された球体のオブジェクトであって、板オブジェクトＯａの向きの変化と仮想３次元空間内に設定された重力の作用とによって板オブジェクトＯａ上を移動する。
【００３３】
次に、本実施形態においてエンタテインメントシステム１０が実現する機能について、説明する。エンタテインメントシステム１０は、機能的に、図４に示すように、オブジェクト移動指示取得部５１と、環境情報変更部５２と、オブジェクト情報更新部５３と、画像表示制御部５４と、を含んで構成されている。これらの機能は、例えばＭＰＵ１１と画像処理部２４に含まれるＧＰＵとが、メインメモリ２０に格納されるプログラムに従って動作することにより、実現できる。このプログラムは、インターネット等の通信ネットワークを介して提供されるものであってもよいし、ＣＤ−ＲＯＭやＤＶＤ−ＲＯＭ等のコンピュータで読み取り可能な各種情報記録媒体に格納されて提供されるものであってもよい。
【００３４】
オブジェクト移動指示取得部５１は、仮想３次元空間に配置されたオブジェクトを移動させるユーザからの指示を表す指示情報を取得する。本実施形態においては、オブジェクト移動指示取得部５１は、ユーザによるコントローラ４２に対する操作に基づいて、仮想３次元空間内に配置された板オブジェクトＯａの向きを変化させる回転指示の指示情報を取得することとする。
【００３５】
具体例として、オブジェクト移動指示取得部５１は、コントローラ４２を傾けるユーザの動作によって、コントローラ４２に内蔵された３軸加速度センサが出力する重力加速度に関する値を取得する。そして、取得した３軸加速度センサの出力値に基づいて、板オブジェクトＯａを傾ける傾き方向及び傾き量を、指示情報として取得する。
【００３６】
ここでオブジェクト移動指示取得部５１は、入出力処理部２８により一定時間ごとにサンプリングされた３軸加速度センサの出力値に応じて、一定時間ごとに指示情報を取得することとする。この場合において、オブジェクト移動指示取得部５１は、ある時点においてサンプリングされた３軸加速度センサの出力値に基づいて算出されたコントローラ４２の傾きを示す値（コントローラ傾き量）を、そのまま当該時点における指示情報として用いるのではなく、当該時点より以前のサンプリングによって得られたコントローラ傾き量に基づいて補正したコントローラ傾き量（補正傾き量）を、当該時点のサンプリングに応じた指示情報として取得してもよい。
【００３７】
具体例として、オブジェクト移動指示取得部５１は、３軸加速度センサの所定軸に関する出力値に基づいて得られたコントローラ傾き量Ｖ（ｎ）と、前回サンプリング時のコントローラ傾き量に基づいて得られた補正傾き量と、に基づいて、例えば以下の式により補正傾き量Ｔ（ｎ）を算出する。
Ｔ（ｎ）＝Ｔ（ｎ−１）＋（Ｖ（ｎ）−Ｔ（ｎ−１））／Ｃ
ここで、Ｔ（ｎ−１）は、前回サンプリング時のコントローラ傾き量Ｖ（ｎ−１）に対して算出された前回の補正傾き量である。また、Ｃは所定の定数である。オブジェクト移動指示取得部５１は、算出された補正傾き量を、板オブジェクトＯａに対する指示情報として取得する。ここで、定数Ｃの値を増減させることによって、コントローラ傾き量の変化に対する補正傾き量の変化の反応速度を変えることができる。すなわち、Ｃが小さい値（例えば１０）であれば、補正傾き量Ｔ（ｎ）は比較的コントローラ傾き量Ｖ（ｎ）の変化に近い変化を示す。一方、Ｃが大きい値(例えば３０)になると、補正傾き量Ｔ（ｎ）はＶ（ｎ）の変化に比べて緩やかな変化を示すこととなり、急激な変化を示しにくくなる。これにより、Ｃの値を変更することで、ユーザの操作に対する板オブジェクトＯａの変化の反応速度を調整することができる。
【００３８】
なお、上述した補正傾き量を算出する処理に代えて、オブジェクト移動指示取得部５１は、コントローラ４２の出力値そのものを以前のサンプリング時の出力値を用いて補正することとしてもよい。この場合、補正された出力値に基づいて板オブジェクトＯａの傾き量を示す指示情報を算出することにより、上述した補正傾き量を算出する処理を実行する場合と同様の効果を得ることができる。
【００３９】
環境情報変更部５２は、オブジェクト移動指示取得部５１が取得したオブジェクトを移動させる指示に応じて、仮想３次元空間内に設定されている視点位置及び視線方向を変化させるとともに、環境情報に含まれる位置又は方向を、視点位置及び視線方向の変化に応じて変化させる。ここでは具体的に、環境情報変更部５２は、仮想３次元空間内における光源位置及び重力方向を変化させることとする。
【００４０】
具体例として、環境情報変更部５２は、オブジェクト移動指示取得部５１が取得した指示情報に基づいて、板オブジェクトＯａの基準姿勢に対する傾き方向及び傾き量を決定する。そして、板オブジェクトＯａを基準姿勢に対して決定した傾き方向及び傾き量で傾ける回転を示す回転行列Ｍｒを決定する。
【００４１】
さらに環境情報変更部５２は、決定した回転行列Ｍｒの逆行列Ｍｒ-1を算出する。この逆行列Ｍｒ-1を、基準視点位置Ｐｖ及び基準光源位置Ｐｌの位置座標並びに基準視線方向Ｄｖ及び基準重力方向Ｄｇを示すベクトルに対して乗算することにより、みかけの視点位置Ｐｖ′、みかけの視線方向Ｄｖ′、みかけの光源位置Ｐｌ′及びみかけの重力方向Ｄｇ′を算出する。これにより、視点位置及び視線方向の変化に応じて、環境情報に含まれる光源位置及び重力方向をみかけの光源位置Ｐｌ′及びみかけの重力方向Ｄｇ′に変化させたこととなる。
【００４２】
なお、この場合において、板オブジェクトＯａの基準姿勢における重心位置（板オブジェクトＯａが回転する際の回転の基準位置）は、仮想３次元空間内の位置座標を示すワールド座標系の原点位置に一致しているものとする。このことにより、Ｐｖ，Ｄｖ，Ｐｌ及びＤｇのそれぞれを示すワールド座標系の位置座標又はベクトルに対して、単に回転行列Ｍｒの逆行列Ｍｒ-1を乗算することにより、Ｐｖ′，Ｄｖ′，Ｐｌ′及びＤｇ′を示す位置座標又はベクトルを算出できる。
【００４３】
また、板オブジェクトＯａの重心位置がワールド座標系の原点位置に一致しない場合には、以下のような処理を行うこととしてもよい。すなわち、環境情報変更部５２は、板オブジェクトＯａの重心位置を原点位置とする板オブジェクトＯａのローカル座標系における、Ｐｖ及びＰｌの位置座標を算出する。そして、上述した例と同様にして、当該ローカル座標系の位置座標に対して逆行列Ｍｒ-1を乗算することにより、ローカル座標系におけるＰｖ′及びＰｌ′を示す位置座標を算出する。さらに、算出されたＰｖ′及びＰｌ′の位置座標を、ワールド座標系における板オブジェクトＯａの重心位置の情報を用いて、ワールド座標系における位置座標に変換する。こうすれば、板オブジェクトＯａの重心位置がワールド座標系の原点位置に一致しない場合であっても、Ｐｖ′及びＰｌ′のワールド座標系における位置座標を算出できる。なお、Ｄｖ′及びＤｇ′を示すベクトルについては、上述した例と同様にして算出できる。
【００４４】
一例として、ユーザがコントローラ４２を向かって右方向に傾けることにより、図３に示される基準姿勢にある板オブジェクトＯａを、仮想３次元空間において視線方向に向かって右方向に傾ける指示情報が得られたとする。この場合、環境情報変更部５２は、指示情報によって示される回転量と同じ量だけ、視点位置及び視線方向とともに、光源位置及び重力方向を指示情報によって示される回転方向と逆方向に回転させる。これにより、図５（ａ）に例示されるように、みかけの視点位置Ｐｖ′、みかけの視線方向Ｄｖ′、みかけの光源位置Ｐｌ′及びみかけの重力方向Ｄｇ′が設定される。なお、図５（ａ）において破線の矢印は板オブジェクトＯａの向きを変える指示の方向を示している。
【００４５】
本実施形態においては、この指示に応じて板オブジェクトＯａの仮想３次元空間内における位置は変化しない。しかしながら、図５（ａ）に示すようにＰｖ′、Ｄｖ′、Ｐｌ′及びＤｇ′が設定されることにより、みかけの視点位置Ｐｖ′からみかけの視線方向Ｄｖ′に向かって板オブジェクトＯａを見た画像は、図５（ｂ）に示すように、視線方向に向かって右方向に傾いたものになる。
【００４６】
また、逆にユーザがコントローラ４２を向かって左方向に傾けた場合、同様にして、図６（ａ）に例示されるような位置及び向きに、みかけの視点位置Ｐｖ′、みかけの視線方向Ｄｖ′、みかけの光源位置Ｐｌ′及びみかけの重力方向Ｄｇ′が設定される。なお、図５（ａ）と同様に破線の矢印は板オブジェクトＯａの向きを変える指示の方向を示している。この場合においても、図６（ｂ）に示すように、みかけの視点位置Ｐｖ′からみかけの視線方向Ｄｖ′に向かって板オブジェクトＯａを見た画像は、視線方向に向かって左方向に傾いたものとなる。
【００４７】
オブジェクト情報更新部５３は、環境情報変更部５２によって得られたみかけの光源位置Ｐｌ′及びみかけの重力方向Ｄｇ′を用いて、仮想３次元空間内に配置されたオブジェクトの位置又は色情報を更新する。すなわち、オブジェクト情報更新部５３は、環境情報によって示される仮想３次元空間内の環境によって生じる、オブジェクトへの影響の結果を算出する。
【００４８】
具体的に、まずオブジェクト情報更新部５３は、みかけの重力方向Ｄｇ′によって示される重力によるボールオブジェクトＯｂの移動量及び移動方向を算出し、当該算出された移動量及び移動方向に応じてボールオブジェクトＯｂの位置を更新する。なお、ここでは重力の作用は板オブジェクトＯａには働かないこととし、オブジェクト情報更新部５３は、重力制御の対象となるボールオブジェクトＯｂに対して選択的に重力の作用による移動量及び移動方向の算出を行う。
【００４９】
この場合において、オブジェクト情報更新部５３は、ボールオブジェクトＯｂの移動量及び移動方向を決定する際に、板オブジェクトＯａとの衝突判定を行う必要がある。板を突き抜けてボールが転がることはないからである。ここで、本実施形態においては、ユーザによるオブジェクト移動指示に対して板オブジェクトＯａは実際には移動しないため、常に板オブジェクトＯａの位置を示す位置座標は変化しない。これにより、オブジェクト情報更新部５３は、板オブジェクトＯａを移動させる処理のタイミングを考慮することなく、ボールオブジェクトＯｂの衝突判定を行い、重力によるボールオブジェクトＯｂの移動量及び移動方向を算出できる。
【００５０】
なお、オブジェクト情報更新部５３は、ボールオブジェクトＯｂの移動方向及び移動量を算出する際に、ボールオブジェクトＯｂに対して補正力が働くものとして、当該補正力に基づいて移動量を算出してもよい。ここで、この補正力の向き及び量は、例えば仮想３次元空間内における各オブジェクトの位置や、各種の物理量を示すパラメタなどに基づいて決定されることとする。
【００５１】
例えば、仮想３次元空間内において板オブジェクトＯａの向きが変化した場合、ボールオブジェクトＯｂの位置が板オブジェクトＯａの回転の基準位置（ここでは、板オブジェクトＯａの重心位置）から離れていると、ボールオブジェクトＯｂには板オブジェクトＯａの移動に伴って遠心力が働くはずである。しかし、本実施形態においては、板オブジェクトＯａの仮想３次元空間内の位置は変化しないため、このような遠心力による効果を再現するために、ボールオブジェクトＯｂに対して補正力を加えることとする。具体的に、オジェクト情報更新部５３は、みかけの重力方向Ｄｇ′に基づいて決定したボールオブジェクトＯｂの移動方向に対して、ボールオブジェクトＯｂの板オブジェクトＯａに対する相対位置に基づいて算出される補正力が働いているものとして、当該補正力及びみかけの重力に基づいてボールオブジェクトＯｂの加速度を算出する。そして、算出された加速度に基づいて、ボールオブジェクトＯｂの移動量を算出する。こうすれば、板オブジェクトＯａの位置を変化させずに、板オブジェクトＯａの位置が変化した場合のボールオブジェクトＯｂの動きを、より現実の動きに近い値として演算できる。また、この補正力の向き及び量は、板オブジェクトＯａとボールオブジェクトＯｂとの間の摩擦係数に基づいて決定されることとしてもよい。
【００５２】
さらにオブジェクト情報更新部５３は、みかけの光源位置Ｐｌ′に応じて板オブジェクトＯａ及びボールオブジェクトＯｂの色情報を更新して、各オブジェクトの表面に光源からの光による陰影を生じさせる。この処理は、公知のシェーディング処理等により実現できる。このようにみかけの光源位置Ｐｌ′に基づいて色情報の更新を行うことにより、板オブジェクトＯａの位置は変化していないにもかかわらず、板オブジェクトＯａの位置が変化した場合に光源によって生じる陰影の効果を算出できる。
【００５３】
画像表示制御部５４は、オブジェクト情報更新部５３によって位置又は色情報が更新されたオブジェクトを仮想３次元空間内の視点位置及び視線方向から見た空間画像を生成し、モニタ２６に表示させる。ここで、視点位置及び視線方向としては、環境情報変更部５２によって得られるみかけの視点位置Ｐｖ′及びみかけの視線方向Ｄｖ′を用いる。
【００５４】
具体例として、画像表示制御部５４は、みかけの視点位置Ｐｖ′及びみかけの視線方向Ｄｖ′を用いて、仮想３次元空間内の各オブジェクトの頂点の位置座標を、視点座標系における位置座標に変換する。そして、視点座標系に変換された位置座標を用いて、視野範囲に応じたクリッピング処理を実行することにより、各オブジェクトを視点位置から視線方向に向けて見た空間画像を生成する。この場合において、板オブジェクトＯａの仮想３次元空間内における位置は変化していないが、みかけの視点位置Ｐｖ′及びみかけの視線方向Ｄｖ′に基づいて空間画像が生成されることにより、空間画像内の板オブジェクトＯａはユーザの指示に応じて移動しているように見える。
【００５５】
ここで、画像表示制御部５４は、所定の背景オブジェクトが仮想３次元空間内に配置されている場合、以下のような処理により空間画像を生成してもよい。すなわち、まず画像表示制御部５４は、基準視点位置Ｐｖ及び基準視線方向Ｄｖから当該背景オブジェクトを見た背景画像を生成する。次に、ユーザの操作により影響を受ける板オブジェクトＯａ及びボールオブジェクトＯｂの空間画像内における位置を、上述したようにみかけの視点位置Ｐｖ′及びみかけの視線方向Ｄｖ′に基づいて算出する。そして、背景画像中の当該算出した位置に、板オブジェクトＯａ及びボールオブジェクトＯｂを示す画像を重ね合わせることにより、空間画像を生成する。
【００５６】
こうすれば、ユーザによる操作の対象となる板オブジェクトＯａの移動による影響を受けない背景オブジェクトが仮想３次元空間に配置されている場合、画像表示制御部５４は、このような背景オブジェクトと板オブジェクトＯａやボールオブジェクトＯｂとが正しい位置関係にある空間画像を生成することができる。なお、この場合において、背景オブジェクトを含む背景画像は、基本的に基準視点位置Ｐｖ又は基準視線方向Ｄｖが変化しない限り、変化しない。従って、画像表示制御部５４は、予め基準視点位置Ｐｖ及び基準視線方向に基づいて生成され、メインメモリ２０に保持されている背景画像を用いて、空間画像を生成することとしてもよい。
【００５７】
さらに画像表示制御部５４は、生成された空間画像を画像処理部２４に含まれるフレームバッファに出力する。これにより、エンタテインメントシステム１０は生成された空間画像をモニタ２６の画面上に表示させる。
【００５８】
次に、本実施形態においてエンタテインメントシステム１０が実行する処理の流れの一例について、図７のフロー図に基づいて説明する。以下に説明する処理は、例えば所定の時間間隔で繰り返し実行される。
【００５９】
まずオブジェクト移動指示取得部５１が、入出力処理部２８がサンプリングしたコントローラ４２内の３軸加速度センサの出力値を取得する（Ｓ１）。そして、Ｓ１で取得した出力値に応じて、ユーザの板オブジェクトＯａを移動させる指示を表す指示情報を取得する（Ｓ２）。
【００６０】
次に環境情報変更部５２が、Ｓ２で取得した指示情報と、仮想３次元空間内に設定されている基準視点位置Ｐｖ、基準視線方向Ｄｖ、基準光源位置Ｐｌ及び基準重力方向Ｄｇとに基づいて、みかけの視点位置Ｐｖ′、みかけの視線方向Ｄｖ′、みかけの光源位置Ｐｌ′及びみかけの重力方向Ｄｇ′を算出する（Ｓ３）。
【００６１】
続いて、オブジェクト情報更新部５３が、Ｓ３で算出されたみかけの重力方向Ｄｇ′に基づいて、重力制御の対象となるボールオブジェクトＯｂの移動量及び移動方向を算出し、算出された移動量及び移動方向によりボールオブジェクトＯｂの位置を更新する（Ｓ４）。さらにオブジェクト情報更新部５３は、板オブジェクトＯａ及びＳ４によって移動したボールオブジェクトＯｂの表面に生じる陰影を表す色情報を、みかけの光源位置Ｐｌ′に基づいて算出し、各オブジェクトの表面の色情報を更新する（Ｓ５）。
【００６２】
次に画像表示制御部５４が、Ｓ４及びＳ５の処理によって位置又は色情報が更新された各オブジェクトをみかけの視点位置Ｐｖ′及びみかけの視線方向Ｄｖ′から見た空間画像を生成する（Ｓ６）。そして、Ｓ６で生成された空間画像をモニタ２６の画面上に表示させる（Ｓ７）。
【００６３】
以上説明した一連の処理を所定時間おきに繰り返すことによって、エンタテインメントシステム１０は、ユーザによるオブジェクト移動指示の対象となる板オブジェクトＯａの仮想３次元空間内における位置を固定したままで、板オブジェクトＯａがユーザの指示に応じて移動する様子を示す画像をモニタ２６に表示させることができる。これにより、移動指示の対象となるオブジェクトを実際に仮想３次元空間内で移動させる場合と比較して、各オブジェクトに対する仮想３次元空間に設定された環境による影響の結果を算出する場合に必要な演算量を減らすことができる。
【００６４】
なお、本発明の実施の形態は、以上説明したようなものに限られない。例えばユーザの指示による移動対象となる操作対象オブジェクトや、重力制御の対象となる周辺オブジェクトは、仮想３次元空間に配置された任意のオブジェクトであってよい。また、ユーザによるオブジェクト移動指示は、コントローラ４２に備えられたボタン等の操作によるものであってもよい。
【００６５】
また、上述した例においては、ユーザによる指示は移動対象となるオブジェクトを回転させるものであるとしたが、ユーザの指示はこれ以外のものであってもよい。例えばユーザの指示がオブジェクトを平行移動させるものである場合であっても、この指示情報に応じて視点位置を変化させるとともに、環境情報に含まれる光源位置などの位置を視点位置の変化に応じて変化させることによって、オブジェクトの仮想３次元空間内における位置を変化させずに、オブジェクトが移動する様子を示す画像を表示させることができる。
【００６６】
また、上述した例においては光源位置から照射される光によって各オブジェクトの表面に陰影が生じることとしたが、このような光源位置に代えて、一定の向きで仮想３次元空間全体を照射する光線方向が環境情報として設定されることとしてもよい。また、光源位置だけでなく、この光源位置から照射される光の照射方向及び照射範囲がベクトル情報によって設定されることとしてもよい。このような場合であっても、視線方向の変化に応じて、光線方向や光源位置からの光の照射方向及び照射範囲を変化させることによって、上述した例と同様の処理が実現できる。さらに、環境情報は以上説明したものに限られず、仮想３次元空間に配置されたオブジェクトの見え方に影響を与える種々の位置又は方向の情報を含んでもよい。
【図面の簡単な説明】
【００６７】
【図１】本発明の実施の形態に係るエンタテインメントシステムのハードウェア構成図である。
【図２】ＭＰＵの詳細構成図である。
【図３】仮想３次元空間に配置されるオブジェクトの一例を示す図である。
【図４】本発明の実施の形態に係るエンタテインメントシステムの機能例を示す機能ブロック図である。
【図５】仮想３次元空間内の環境情報の変化の一例を示す図である。
【図６】仮想３次元空間内の環境情報の変化の別の一例を示す図である。
【図７】本発明の実施の形態に係るエンタテインメントシステムによって実行される処理の一例を示すフロー図である。
【符号の説明】
【００６８】
１０  エンタテインメントシステム、１１  ＭＰＵ、１２  メインプロセッサ、１４ａ〜１４ｈ  サブプロセッサ、１６  バス、１８  メモリコントローラ、２０  メインメモリ、２２，４０，４４  インタフェース、２４  画像処理部、２６  モニタ、２８  入出力処理部、３０  音声処理部、３２  スピーカ、３４  光ディスク読み取り部、３６  光ディスク、３８  ハードディスク、４２  コントローラ、４６  カメラユニット、４８  ネットワークインタフェース、５１  オブジェクト移動指示取得部、５２  環境情報変更部、５３  オブジェクト情報更新部、５４  画像表示制御部。
【図１】
2008041013.tif 000003
【図２】
2008041013.tif 000004
【図３】
2008041013.tif 000005
【図４】
2008041013.tif 000006
【図５】
2008041013.tif 000007
【図６】
2008041013.tif 000008
【図７】
2008041013.tif 000009