説明

プログラム、情報記憶媒体及び画像生成システム

【課題】プレーヤの目の負担を軽減しつつ立体視の飛び出し演出を行うことが可能なプログラム、情報記憶媒体及び画像生成システムを提供すること。
【解決手段】オブジェクトをオブジェクト空間内で移動させる制御を行う移動制御部と、前記オブジェクトが、前記オブジェクト空間内の基準面よりも視点から見て手前側のエリアに位置する場合に、前記オブジェクトをぼかすぼかし処理を行うぼかし処理部と、前記オブジェクトの立体視用画像を生成する画像生成部としてコンピュータを機能させ、前記基準面は、前記オブジェクト空間内の投影面よりも視点から見て手前側に位置する面であり、前記投影面は、前記投影面に位置するオブジェクトの画像の視差が無くなる面である。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、プログラム、情報記憶媒体及び画像生成システムに関する。
【背景技術】
【0002】
従来から、立体視を実現する画像生成システムが知られている(例えば、特許文献1)。例えば、2眼式の立体視画像生成システムでは、左眼用画像と右眼用画像を生成する。そして、立体視用の眼鏡や、視差バリア或いはレンチキュラ等の光学素子を用いて、プレーヤの左眼には左眼用画像のみが見え、右眼には右眼用画像のみが見えるようにすることで、立体視を実現する。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2004−126902号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
立体視画像生成システムでは、画面よりも奥側に引っ込んでいるように見える奥行き空間と、画面よりも手前側に飛び出しているように見える飛び出し空間とを再現することができ、このうちプレーヤが立体視感をより強く感じるのは飛び出し空間である。
【0005】
しかしながら、オブジェクトの飛び出し量が大きいと、プレーヤはオブジェクトを立体画像として見ることができずに、単に左右の画像がブレただけの画像として見てしまう可能性があり、また、プレーヤの目に負担を与える恐れがある。
【0006】
本発明は、以上のような課題に鑑みてなされたものであり、その目的とするところは、プレーヤの目の負担を軽減しつつ立体視の飛び出し演出を行うことが可能なプログラム、情報記憶媒体及び画像生成システムを提供することにある。
【課題を解決するための手段】
【0007】
(1)本発明に係るプログラムは、
オブジェクトをオブジェクト空間内で移動させる制御を行う移動制御部と、
前記オブジェクトが、前記オブジェクト空間内の基準面よりも視点から見て手前側のエリアに位置する場合に、前記オブジェクトをぼかすぼかし処理を行うぼかし処理部と、
前記オブジェクトの立体視用画像を生成する画像生成部としてコンピュータを機能させ、
前記基準面は、前記オブジェクト空間内の投影面よりも視点から見て手前側に位置する面であり、
前記投影面は、前記投影面に位置するオブジェクトの画像の視差が無くなる面であることを特徴とするプログラムに関する。
【0008】
また本発明は、コンピュータ読み取り可能な情報記憶媒体であって、上記各部としてコンピュータを機能させるためのプログラムを記憶した情報記憶媒体に関する。また本発明は、上記各部を含む画像生成システムに関する。
【0009】
本発明によれば、オブジェクトが基準面よりも手前側のエリアに位置する場合に、オブジェクトをぼかすための処理を行うことで、プレーヤの目の負担を軽減しつつ立体視の飛び出し演出を行うことができる。
【0010】
(2)また本発明に係るプログラム、情報記憶媒体及び画像生成システムでは、
前記ぼかし処理部は、
前記基準面よりも視点から見て奥側のエリアから前記手前側のエリアに向けて移動する前記オブジェクトが、前記基準面を通過した場合に、前記ぼかし処理を行うようにしてもよい。
【0011】
本発明によれば、プレーヤの目の負担を軽減しつつ立体視の飛び出し演出を行うことができる。
【0012】
(3)また本発明に係るプログラム、情報記憶媒体及び画像生成システムでは、
前記ぼかし処理部は、
前記基準面よりも視点から見て奥側のエリアから前記手前側のエリアに向けて移動する前記オブジェクトが、前記基準面と接触したか否かを判断し、接触したと判断した場合に、前記ぼかし処理を行うようにしてもよい。
【0013】
本発明によれば、プレーヤの目の負担を軽減しつつ立体視の飛び出し演出を行うことができる。
【0014】
(4)本発明に係るプログラムは、
オブジェクトをオブジェクト空間内で移動させる制御を行う移動制御部と、
前記オブジェクトに対する視差角に基づき、前記オブジェクトをぼかすぼかし処理を行うぼかし処理部と、
前記オブジェクトの立体視用画像を生成する画像生成部としてコンピュータを機能させることを特徴とするプログラムに関する。
【0015】
また本発明は、コンピュータ読み取り可能な情報記憶媒体であって、上記各部としてコンピュータを機能させるためのプログラムを記憶した情報記憶媒体に関する。また本発明は、上記各部を含む画像生成システムに関する。
【0016】
本発明によれば、オブジェクトに対する視差角に基づきオブジェクトをぼかすための処理を行うことで、プレーヤの目の負担を軽減しつつ立体視の飛び出し演出を行うことができる。
【0017】
(5)また本発明に係るプログラム、情報記憶媒体及び画像生成システムでは、
前記ぼかし処理は、被写界深度処理、モーションブラー処理、ブリンク処理及び半透明処理の少なくとも1つの処理であってもよい。
【図面の簡単な説明】
【0018】
【図1】本実施形態の画像生成システムの機能ブロック図の一例を示す図。
【図2】立体視用画像を生成する手法について説明するための図。
【図3】ゲーム画像の一例を示す図。
【図4】オブジェクトのぼかし処理について説明するための図。
【図5】図5(A)、図5(B)は、オブジェクトのぼかし処理について説明するための図。
【図6】オブジェクトの視差角について説明するための図。
【図7】図7(A)、図7(B)は、オブジェクトの視差角について説明するための図。
【図8】本実施形態の処理の流れを示すフローチャート図。
【発明を実施するための形態】
【0019】
以下、本実施形態について説明する。なお、以下に説明する本実施形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また本実施形態で説明される構成の全てが、本発明の必須構成要件であるとは限らない。
【0020】
1.機能ブロック図
図1に第1の実施の形態の画像生成システム(画像生成装置)の機能ブロック図の一例を示す。なお本実施形態の画像生成システムは図1の構成要素(各部)の一部を省略した構成としてもよい。
【0021】
操作部160は、プレーヤが操作情報(操作データ)を入力するためのものであり、ユーザの操作情報を処理部100に出力する。操作部160の機能は、ボタン、方向キー(十字キー)、方向入力可能なコントロールスティック(アナログキー)、レバー、キーボード、マウス、タッチパネル型ディスプレイ、加速度センサや傾きセンサ等を内蔵するコントローラなどのハードウェアにより実現することができる。
【0022】
記憶部170は、処理部100や通信部196などのワーク領域となるもので、その機能はRAM(VRAM)などにより実現できる。そして、本実施形態の記憶部170は、ワーク領域として使用される主記憶部172と、最終的な表示画像等が記憶される描画バッファ174と、オブジェクトのモデルデータが記憶されるオブジェクトデータ記憶部176と、各オブジェクトデータ用のテクスチャが記憶されるテクスチャ記憶部178と、オブジェクトの画像の生成処理時にZ値が記憶されるZバッファ179とを含む。なお、これらの一部を省略する構成としてもよい。
【0023】
情報記憶媒体180(コンピュータにより読み取り可能な媒体)は、プログラムやデータなどを格納するものであり、その機能は、光ディスク(CD、DVD)、光磁気ディスク(MO)、磁気ディスク、ハードディスク、磁気テープ、或いはメモリ(ROM)などにより実現できる。処理部100は、情報記憶媒体180に格納されるプログラム(データ)に基づいて本実施形態の種々の処理を行う。情報記憶媒体180には、本実施形態の処理部100の各部としてコンピュータを機能させるためのプログラム(各部の処理をコンピュータに実行させるためのプログラム)を記憶することができる。
【0024】
表示部190は、本実施形態により生成された画像(オブジェクト空間を所与の視点から見た画像)を出力するものであり、その機能は、CRT、LCD、或いはタッチパネル型ディスプレイなどにより実現できる。
【0025】
本実施形態の表示部190は、立体視画像を表示する。例えば、裸眼方式では、表示部190は、有限個の画素からなるLCDの前面又は背面に、パララックスバリアやレンチキュラ等の光学素子が配置される。例えば、垂直バリアまたは垂直レンチキュラによる2眼式の場合には、表示部190に、1枚(1フレーム)の左眼用画像を表示するための表示領域と、1枚の右眼用画像を表示するための表示領域とが、短冊状に左眼用短冊画像表示領域及び右眼用短冊画像表示領域として交互に配置されている。パララックスバリアが配置される場合、その隙間からは、プレーヤの左眼には左眼用短冊画像表示領域に表示される左眼用短冊画像、右眼には右眼用短冊画像表示領域に表示される右眼用短冊画像のみが見えるようになっている。また、レンチキュラが配置される場合、各短冊集合画像に対応したレンズの光屈折効果により、プレーヤの左眼には左眼用短冊画像表示領域に表示される左眼用短冊画像、右眼には右眼用短冊画像表示領域に表示される右眼用短冊画像のみが見えるようになっている。また、偏光眼鏡方式では、表示部190の奇数ラインと偶数ラインに偏光方向の異なる偏光フィルタ(例えば、左円偏光を透過する偏光フィルタと、右円偏光を透過する偏光フィルタ)が交互に配置され、表示部190の奇数ラインと偶数ラインに左眼用画像と右眼用画像を交互に表示し、これを偏光眼鏡(例えば、左眼に左円偏光を透過する偏光フィルタ、右眼に右円偏光を透過する偏光フィルタを付けた眼鏡)で見ることで立体視を実現する。また、ページフリップ方式では、表示部190に左眼用画像と右眼用画像を所定時間毎(例えば、1/120秒毎)に交互に表示する。そして、この表示の切り替えに連動して液晶シャッター付きの眼鏡の左眼、右眼の液晶シャッターを交互に開閉することで、立体視を実現する。
【0026】
通信部196は他の画像生成システムやサーバとの間で通信を行うための各種制御を行うものであり、その機能は、各種プロセッサ又は通信用ASICなどのハードウェアや、プログラムなどにより実現できる。
【0027】
なお、サーバが有する情報記憶媒体や記憶部に記憶されている本実施形態の各部としてコンピュータを機能させるためのプログラムやデータを、ネットワークを介して受信し、受信したプログラムやデータを情報記憶媒体180や記憶部170に記憶してもよい。このようにプログラムやデータを受信してゲームシステムを機能させる場合も本発明の範囲内に含む。
【0028】
処理部100(プロセッサ)は、操作部160からの操作データ、通信部196を介して受信したデータやプログラムなどに基づいて、ゲーム処理、画像生成処理、音生成処理などの処理を行う。ここで、ゲーム処理としては、ゲーム開始条件が満たされた場合にゲームを開始する処理、ゲームを進行させる処理、ゲーム結果を演算する処理、或いはゲーム終了条件が満たされた場合にゲームを終了する処理などがある。この処理部100は主記憶部172をワーク領域として各種処理を行う。処理部100の機能は各種プロセッサ(CPU、DSP等)、ASIC(ゲートアレイ等)などのハードウェアや、プログラムにより実現できる。
【0029】
処理部100は、オブジェクト空間設定部110、移動・動作処理部112、仮想カメラ制御部118、画像生成部120、音生成部130を含む。
【0030】
オブジェクト空間設定部110は、キャラクタ(プレーヤキャラクタ、ノンプレーヤキャラクタ)、建物、球場、車、樹木、柱、壁、マップ(地形)などの表示物を表す各種オブジェクト(ポリゴン、自由曲面又はサブディビジョンサーフェスなどのプリミティブで構成されるオブジェクト)をオブジェクト空間に配置設定する処理を行う。例えば、ワールド座標系でのオブジェクトの位置や回転角度(向き、方向と同義であり、例えば、ワールド座標系でのX、Y、Z軸の各軸の正方向からみて時計回りに回る場合における回転角度)を決定し、その位置(X、Y、Z)にその回転角度(X、Y、Z軸回りでの回転角度)でオブジェクトを配置する。
【0031】
移動・動作処理部112(移動制御部)は、オブジェクト(キャラクタ等)の移動・動作演算(移動・動作シミュレーション)を行う。すなわち操作部160によりプレーヤが入力した操作データや、プログラム(移動・動作アルゴリズム)や、各種データ(モーションデータ)、物理法則などに基づいて、オブジェクトをオブジェクト空間(ゲーム空間)内で移動させたり、オブジェクトを動作(モーション、アニメーション)させたりする処理を行う。具体的には、オブジェクトの移動情報(位置、回転角度、速度、或いは加速度)や動作情報(オブジェクトを構成する各パーツの位置、或いは回転角度)を、1フレーム(1/60秒又は1/30秒)毎に順次求めるシミュレーション処理を行う。なおフレームは、オブジェクトの移動・動作処理(シミュレーション処理)や画像生成処理を行う時間の単位である。また移動・動作処理部112は、ネットワークを介して接続された他の画像生成システム(ゲーム装置)から通信部196を介して受信したオブジェクト(他のプレーヤに対応するオブジェクト)の移動情報や動作情報に基づき当該オブジェクトの移動情報や動作情報を更新する処理を行うようにしてもよい。また移動・動作処理部112は、他のゲーム装置から通信部196を介して受信した操作データ等に基づき、当該オブジェクトの移動・動作演算を行うようにしてもよい。
【0032】
仮想カメラ制御部118は、オブジェクト空間内の所与(任意)の視点から見える画像を生成するための仮想カメラ(視点)の制御処理を行う。具体的には、操作部160によりプレーヤが入力した操作データ或いはプログラム(移動・動作アルゴリズム)等に基づいて、ワールド座標系における仮想カメラの位置(X、Y、Z)又は光軸の方向(例えば、X、Y、Z軸の各軸の正方向からみて時計回りに回る場合における回転角度等)を制御する処理を行う。要するに、視点位置、仮想カメラの向き、画角を制御する処理を行う。
【0033】
また、2眼式の立体視方式により立体視画像を表示する場合には、仮想カメラ制御部118は、左眼用仮想カメラ及び右眼用仮想カメラの位置、向き及び画角を制御する。また、仮想カメラ制御部118は、左眼用仮想カメラと右眼用仮想カメラを設定するための基準となる基準仮想カメラ(センターカメラ)の制御を行い、基準仮想カメラの位置、向き及び左眼用及び右眼用仮想カメラ間の距離情報に基づいて、左眼用及び右眼用仮想カメラの位置、向きを制御するようにしてもよい。
【0034】
処理部100で行われる種々の処理の結果に基づいて描画処理を行い、これにより画像を生成し、表示部190に出力する。
【0035】
いわゆる3次元画像を生成する場合には、まずオブジェクトの各頂点の頂点データ(頂点の位置座標、テクスチャ座標、色データ、法線ベクトル或いはα値等)を含むオブジェクトデータ(モデルデータ)が入力され、入力されたオブジェクトデータに含まれる頂点データに基づいて、頂点処理(頂点シェーダによるシェーディング)が行われる。なお頂点処理を行うに際して、必要に応じてポリゴンを再分割するための頂点生成処理(テッセレーション、曲面分割、ポリゴン分割)を行うようにしてもよい。
【0036】
頂点処理では、頂点処理プログラム(頂点シェーダプログラム、第1のシェーダプログラム)に従って、頂点の移動処理や、座標変換、例えばワールド座標変換、視野変換(カメラ座標変換)、クリッピング処理、射影変換(透視変換、投影変換)、ビューポート変換(スクリーン座標変換)、光源計算等のジオメトリ処理が行われ、その処理結果に基づいて、オブジェクトを構成する頂点群について与えられた頂点データを変更(更新、調整)する。ジオメトリ処理後のオブジェクトデータ(オブジェクトの頂点の位置座標、テクスチャ座標、色データ(輝度データ)、法線ベクトル、或いはα値等)は、オブジェクトデータ記憶部176に保存される。
【0037】
そして、頂点処理後の頂点データに基づいてラスタライズ(走査変換)が行われ、ポリゴン(プリミティブ)の面とピクセルとが対応づけられる。そしてラスタライズに続いて、画像を構成するピクセル(表示画面を構成するフラグメント)を描画するピクセル処理(ピクセルシェーダによるシェーディング、フラグメント処理)が行われる。
【0038】
ピクセル処理では、ピクセル処理プログラム(ピクセルシェーダプログラム、第2のシェーダプログラム)に従って、テクスチャの読出し(テクスチャマッピング)、色データの設定/変更、半透明合成、アンチエイリアス等の各種処理を行って、画像を構成するピクセルの最終的な描画色を決定し、透視変換されたオブジェクトの描画色を描画バッファ174(ピクセル単位で画像情報を記憶できるバッファ。VRAM)に出力(描画)する。すなわち、ピクセル処理では、画像情報(色、法線、輝度、α値等)をピクセル単位で設定あるいは変更するパーピクセル処理を行う。これにより、オブジェクト空間内において仮想カメラ(所与の視点)から見える画像が生成される。
【0039】
そして描画部120は、オブジェクトを描画する際に、テクスチャマッピング、隠面消去処理、αブレンディング等を行う。
【0040】
テクスチャマッピングは、記憶部170のテクスチャ記憶部178に記憶されるテクスチャ(テクセル値)をオブジェクトにマッピングするための処理である。具体的には、オブジェクトの頂点に設定(付与)されるテクスチャ座標等を用いて記憶部170のテクスチャ記憶部178からテクスチャ(色(RGB)、α値などの表面プロパティ)を読み出す。そして、2次元の画像であるテクスチャをオブジェクトにマッピングする。この場合に、ピクセルとテクセルとを対応づける処理や、テクセルの補間としてバイリニア補間などを行う。
【0041】
隠面消去処理としては、描画ピクセルのZ値(奥行き情報)が格納されるZバッファ179(奥行きバッファ)を用いたZバッファ法(奥行き比較法、Zテスト)による隠面消去処理を行うことができる。すなわちオブジェクトのプリミティブに対応する描画ピクセルを描画する際に、Zバッファ179に格納されるZ値を参照する。そして参照されたZバッファ179のZ値と、プリミティブの描画ピクセルでのZ値とを比較し、描画ピクセルでのZ値が、仮想カメラから見て手前側となるZ値(例えば小さなZ値)である場合には、その描画ピクセルの描画処理を行うとともにZバッファ179のZ値を新たなZ値に更新する。
【0042】
αブレンディング(α合成)は、α値(A値)に基づく半透明合成処理(通常αブレンディング、加算αブレンディング又は減算αブレンディング等)のことである。例えば、通常αブレンディングでは、α値を合成の強さとして線形補間を行うことにより2つの色を合成した色を求める処理を行う。なお、α値は、各ピクセル(テクセル、ドット)に関連づけて記憶できる情報であり、例えばRGBの各色成分の輝度を表す色情報以外のプラスアルファの情報である。α値は、マスク情報、半透明度(透明度、不透明度と等価)、バンプ情報などとして使用できる。
【0043】
特に本実施形態の画像生成部120は、立体視画像を表示部190に出力する。例えば、立体視方式が2眼式の場合であれば、画像生成部120は、左眼用画像生成部124と右眼用画像生成部126を含む。左眼用画像生成部124は、オブジェクト空間内において左眼用仮想カメラから見える画像である左眼用画像を生成し、右眼用画像生成部126は、オブジェクト空間内において右眼用仮想カメラから見える画像である右眼用画像を生成する。具体的には、左眼用画像生成部124は、オブジェクト空間内の投影面に対してオブジェクトを左眼用仮想カメラの視点で透視投影して描画することで左眼用画像を生成し、右眼用画像生成部126は、投影面に対してオブジェクトを右眼用仮想カメラの視点で透視投影して描画することで右眼用画像を生成する。
【0044】
画像生成部120は、ぼかし処理部122を含む。ぼかし処理部122は、前記オブジェクトが、前記オブジェクト空間内の基準面よりも視点から見て手前側のエリアに位置する場合に、前記オブジェクトをぼかすぼかし処理を行う。ここで、基準面とは、投影面よりも視点から見て手前側に位置する面である。また、投影面とは、前記投影面に位置するオブジェクトの画像の視差が無くなる面である。
【0045】
また、ぼかし処理部122は、前記ぼかし処理として、被写界深度処理、モーションブラー処理、ブリンク処理、又は半透明処理を行うようにしてもよい。すなわち、オブジェクトの画像が不明瞭となるようなぼかし処理であればどのような処理を採用してもよい。
【0046】
また、ぼかし処理部122は、前記基準面よりも視点から見て奥側のエリアから前記基準面よりも視点から見て前記手前側のエリアに向けて移動する前記オブジェクトが、前記基準面を通過した場合に、前記ぼかし処理を行うようにしてもよい。
【0047】
また、ぼかし処理部122は、前記基準面よりも視点から見て奥側のエリアから前記基準面よりも視点から見て前記手前側のエリアに向けて移動する前記オブジェクトが、前記基準面と接触したか否かを判断し、接触したと判断した場合に、前記ぼかし処理を行うようにしてもよい。
【0048】
また、ぼかし処理部122は、前記オブジェクトに対する視差角に基づいて、前記ぼかし処理を行うようにしてもよい。例えば、ぼかし処理部122は、前記オブジェクトに対する視差角が所定の視差角θ(θ<0)以下になった場合に、前記ぼかし処理を行うようにしてもよい。
【0049】
また、ぼかし処理部122は、前記オブジェクトの画像の視差角に基づき、前記オブジェクトが前記基準面よりも視点から見て前記手前側のエリアに位置するか否か(或いは、前記基準面よりも視点から見て奥側のエリアから前記基準面よりも視点から見て前記手前側のエリアに向けて移動する前記オブジェクトが前記基準面を通過したか否か)を判断して、前記基準面よりも視点から見て前記手前側のエリアに位置する(或いは、前記基準面を通過した)と判断した場合に、前記ぼかし処理を行うようにしてもよい。
【0050】
音生成部130は、処理部100で行われる種々の処理の結果に基づいて音処理を行い、BGM、効果音、又は音声などのゲーム音を生成し、音出力部192に出力する。
【0051】
また、音生成部130は、オブジェクトの位置に応じて音像定位が変化する音を生成してもよい。例えば、オブジェクトが前記第1のエリアに位置することで該オブジェクトが画面よりも手前側に飛び出して見える場合には、該オブジェクトに対応する音の音像定位を画面よりも手前側の位置に設定し、オブジェクトが前記第2のエリアに位置することで該オブジェクトが画面よりも奥側に引っ込んで見える場合には、該オブジェクトに対応する音の音像定位を画面よりも奥側の位置に設定してもよい。また、オブジェクトの移動に連動して音像定位の位置を移動させるようにしてもよい。
【0052】
なお、本実施形態の画像生成システムは、1人のプレーヤのみがプレイできるシングルプレーヤモード、或いは、複数のプレーヤがプレイできるマルチプレーヤモードでゲームプレイできるように制御してもよい。例えば、マルチプレーヤモードで制御する場合には、ネットワークを介して他の画像生成システム(ゲーム装置)とデータを送受信してゲーム処理を行うようにしてもよいし、1つの画像生成システムが、複数の操作部からの操作情報に基づいて処理を行うようにしてもよい。
【0053】
また、本実施形態の画像生成システムをサーバシステムとして構成してもよい。サーバシステムは、1又は複数のサーバ(認証サーバ、ゲーム処理サーバ、通信サーバ、課金サーバ、データベースサーバ等)により構成することができる。この場合には、サーバシステムは、ネットワークを介して接続された1又は複数の端末装置(例えば、据え置き型ゲーム装置、携帯型ゲーム装置、プログラム実行可能な携帯電話等)から送信された操作情報に基づき各種処理を行って、立体視用画像を生成するための画像生成用データを生成し、生成した画像生成用データを各端末装置に対して送信する。ここで、画像生成用データとは、本実施形態の手法により生成された立体視用画像を各端末装置において表示するためのデータであり、画像データそのものでもよいし、各端末装置が立体視用画像を生成するために用いる各種データ(オブジェクトデータ、ゲーム処理結果データ等)であってもよい。
【0054】
2.本実施形態の手法
次に本実施形態の手法について図面を用いて説明する。
【0055】
2−1.立体視用画像の生成手法
まず、立体視用画像を生成する手法について説明する。図2に示すように、2眼式の立体視方式では、プレーヤの両眼の幅に対応する距離だけ離れた左眼用仮想カメラVCLと右眼用仮想カメラVCRをオブジェクト空間に設定する。そして、左眼用仮想カメラVCLに対応して左眼用ビューボリュームVVLが設定され、右眼用仮想カメラVCRに対応して右眼用ビューボリュームVVRが設定される。
【0056】
左眼用、右眼用ビューボリュームVVL、VVRは、左眼用、右眼用仮想カメラVCL、VCRの位置、向き、画角及び投影面SPの位置によって上下左右の構成面が決定される視錐台の領域である。投影面SPは、表示部190の画面に対応する面であり、プレーヤの視点位置に相当する左眼用、右眼用仮想カメラVCL、VCRの位置及び向きと、プレーヤの視点位置と表示部190の画面との位置関係とに基づき設定される。なお、図2において、NPL、FPLは、それぞれ左眼用ビューボリュームVVLのニアクリップ面、ファークリップ面であり、NPR、FPRは、それぞれ右眼用ビューボリュームVVRのニアクリップ面、ファークリップ面である。
【0057】
左眼用仮想カメラVCLから見える画像である左眼用画像は、左眼用ビューボリュームVVL内に存在するオブジェクトを投影面SPに透視投影して描画することで生成される。同様に、右眼用仮想カメラVCRから見える画像である右眼用画像は、右眼用ビューボリュームVVR内に存在するオブジェクトを投影面SPに透視投影して描画することで生成される。
【0058】
ここで、オブジェクトが投影面SP上に位置する場合には、左眼用画像でのオブジェクトの描画位置と右眼用画像でのオブジェクトの描画位置は一致し、オブジェクトの画像の視差は無くなる。この場合、プレーヤからはオブジェクトが表示部190の画面上に存在するように見える。また、オブジェクトが、投影面SPよりも左眼用、右眼用仮想カメラVCL、VCRからみて手前側のエリア(投影面SPとニアクリップ面NPL、NPRに挟まれたエリア)である第1のエリアAR1に位置する場合には、図7(A)に示すように、左眼用画像でのオブジェクトOBLの描画位置は、右眼用画像でのオブジェクトOBRの描画位置に対して右側にずれ、プレーヤからはオブジェクトが表示部190の画面よりも手前側に飛び出しているように見える。また、オブジェクトが、投影面SPよりも左眼用、右眼用仮想カメラVCL、VCRからみて奥側のエリア(投影面SPとファークリップ面FPL、FPRに挟まれたエリア)である第2のエリアAR2に位置する場合には、図7(B)に示すように、左眼用画像でのオブジェクトOBLの描画位置は、右眼用画像でのオブジェクトOBRの描画位置に対して左側にずれ、プレーヤからはオブジェクトが表示部190の画面よりも奥側に引っ込んでいるように見える。
【0059】
本実施形態では、投影面SPよりも左眼用、右眼用仮想カメラVCL、VCRからみて手前側の位置(投影面SPとニアクリップ面NPL、NPR間の位置)に基準面RPを設定し、基準面RPよりも左眼用、右眼用仮想カメラVCL、VCRからみて手前側のエリア(基準面RPとニアクリップ面NPL、NPRに挟まれたエリア)である第3のエリアAR3にオブジェクトが位置する場合に、該オブジェクトに対してぼかし処理を施す。このようにすると、プレーヤの目の負担を軽減することが可能な立体視の飛び出し演出を行うことができる。
【0060】
2−2.ゲームの概要
本実施形態は、レーシングゲームのための立体視用画像生成処理に関するものである。図3は、本実施形態で生成されるゲーム画像GIの一例を示す図である。
【0061】
図3に示すように、プレーヤは、コースCS上を走行する自動車PCを背後から見たゲーム画像GIを見ながら操作部160を操作することで、自動車PC(プレーヤキャラクタ)をコース上CSで走行させて、他の自動車EC(他のプレーヤのプレーヤキャラクタ、或いはNPC(ノンプレーヤキャラクタ))と競うゲームを行うことができる。
【0062】
なお、ゲーム画像GIには、自動車同士の接触や自動車PCと壁等との接触により生じた火花を表すパーティクルオブジェクトPOが描画される。また、ゲーム画像GIには、コースCS上に点在するポールやガードレール、標識等を表すオブジェクトであって、走行中の自動車PCが跳ね飛ばすことが可能な破壊可能オブジェクトDOが描画される。パーティクルオブジェクトPOと破壊可能オブジェクトDOは、画面奥側(自動車PCの進行方向側)から画面手前側に向かって移動し、画面よりも手前側に飛び出して見えるように描画される。本実施形態では、このようなパーティクルオブジェクトPOと破壊可能オブジェクトDOとを、ぼかし処理の対象としている。
【0063】
2−3.オブジェクトのぼかし処理
図4は、破壊オブジェクトDOについてのぼかし処理について説明するための図である。
【0064】
図4に示すように、仮想カメラVC(左眼用、右眼用仮想カメラVCL、VCR)は自動車PCの背後に配置され、自動車PCの走行に追従して移動する。また、自動車PCは第2のエリアAR2に配置され、自動車PCが走行するコースCS上にはポールを表す破壊可能オブジェクトDOが配置されている。
【0065】
自動車PCが破壊可能オブジェクトDOと衝突すると、破壊可能オブジェクトDOは、第2のエリアAR2から第1のエリアAR1に向かう方向(−Z軸方向、仮想カメラVCに向かう方向)への移動を開始する。
【0066】
そして、第2のエリアAR2から第1のエリアAR1に向けて移動する破壊可能オブジェクトDOが基準面SPを通過して第3のエリアAR3に到達すると、この破壊可能オブジェクトDOをぼかすぼかし処理が行われる。図4においては、ぼかし処理が行われる破壊可能オブジェクトDOを点線で示している。
【0067】
ここで、移動する破壊可能オブジェクトDOが基準面RPを通過したか否かの判断は、破壊可能オブジェクトDOの座標値と基準面RPの座標値とに基づき判断することができる。また、第2のエリアAR2から第1のエリアARに向けて移動する破壊可能オブジェクトDOが、基準面RPと接触したか否かの判断(ヒットチェック)を行って、接触したと判断した場合にぼかし処理を行うようにしてもよい。
【0068】
破壊可能オブジェクトDOのぼかし処理は、被写界深度処理やモーションブラー処理、ブリンク処理、半透明処理などにより実現することができる。例えば、基準面RPよりも仮想カメラVCから見て奥側の領域を焦点が合う領域として設定し、基準面RPよりも手前側の第3のエリアAR3を焦点が合わない領域として設定して、ぼかしフィルタ(ブラーフィルタ)などを用いて、第3のエリアAR3に位置するオブジェクトの画像(第3のエリアAR3に相当するZ値を有するピクセル)をぼかす処理を行ってもよい。また、第3のエリアAR3に位置する破壊可能オブジェクトDOをモーションブラー処理によりぼかすようにしてもよい。例えば、1フレーム前の時間tから微小時間Δtだけ進めて破壊可能オブジェクトDOの画像を描画して合成する処理を繰り返すモーションブラー処理を行ってもよいし、破壊可能オブジェクトDOの各頂点を引き伸ばすモーションブラー処理を行ってもよい。また、第3のエリアAR3に位置する破壊可能オブジェクトDOの表示・非表示を所定期間毎に繰り返すブリンク処理(点滅処理)を行ってもよい。また、第3のエリアAR3に位置する破壊可能オブジェクトDOの各頂点のα値を変更して描画する半透明処理を行ってもよい。
【0069】
また、図5に示すように、ぼかし処理におけるぼかし量(透明度を含む)を、第3のエリアAR3において急激に大きくするようにしてもよいし、基準面RPからの距離に応じて徐々に大きくするようにしてもよい。
【0070】
なお、図3に示すパーティクルオブジェクトPOについても同様のぼかしを行う。すなわち、第2のエリアAR2にパーティクルの発生源を設定し、自動車同士の接触や自動車PCと壁等との接触といったイベントが発生した場合に、この発生源から、第2のエリアAR2から第1のエリアAR1に向かう方向に移動する複数のパーティクルオブジェクトPOを発生させる。そして、第2のエリアAR2から第1のエリアAR1に向かう方向に移動するパーティクルオブジェクトPOが基準面RPを通過して第3のエリアAR3に位置した場合に、該パーティクルオブジェクトPOをぼかすぼかし処理を行う。
【0071】
上述したように、オブジェクトが第1のエリアAR1に位置する場合には、オブジェクトが画面よりも手前側に飛び出して見える。しかしながら、オブジェクトが第1のエリアAR1内のニアクリップ面NPに近いところに位置する場合(オブジェクトの飛び出し量が大きい場合)、プレーヤが該オブジェクトを立体画像として見ることができずに、単に左右の画像がブレただけの画像として見てしまう可能性があり、また、プレーヤの目に負担を与える恐れがある。
【0072】
そこで、本実施形態では、第1のエリアAR1内の基準面RPよりも仮想カメラVCから見て手前側の第3のエリアAR3を設定し、第3のエリアAR3に位置するオブジェクトをぼかすぼかし処理を行っている。このようにすると、プレーヤの目に近い位置にあるものは焦点が合わずにぼやけて見える、というプレーヤの目に見える実際の映像に近い状態を作り出すことができ、飛び出し量の大きなオブジェクトについても違和感のない立体画像としてプレーヤに知覚させつつ、プレーヤの目の負担を軽減することができる。例えば、図3に示すゲーム画像GIにおいて、プレーヤの目の焦点が、画面より奥側に引っ込んで見える自動車PCにあるとすると、最も飛び出して見える第3のエリアAR3に位置するオブジェクト(破壊可能オブジェクトDOやパーティクルオブジェクトPO)については焦点が合っていないためぼやけて見えるはずである。従って、第3のエリアAR3に位置するオブジェクトに対してぼかし処理を施すことで、プレーヤの目に見える実際の映像に近い状態を作り出すことができる。
【0073】
また、オブジェクトが第3のエリアAR3に位置するときに、該オブジェクトの速度を速くする制御や、該オブジェクトの移動方向を該オブジェクトがビューボリューム外に出る方向へと変化させる制御を行うようにしてもよい。このようにしても、オブジェクトが第3のエリアAR3に滞在する時間を短くすることができ、プレーヤの目の負担を軽減することができる。
【0074】
また、第3のエリアAR3を、仮想カメラVCから見て奥側に位置する第3のエリアと、手前側に位置する第4のエリアとに分割し、オブジェクトが第3のエリアに位置する場合に、該オブジェクトをぼかすぼかし処理を行い、オブジェクトが第4のエリアに位置する場合に、該オブジェクトの速度を速くする制御や、該オブジェクトの移動方向を変化させる制御を行うようにしてもよい。このとき、オブジェクトが第3のエリアと第4のエリアとを隔てる面を通過した場合や接触したと判断した場合に、該オブジェクトの速度を速くする制御や、該オブジェクトの移動方向を変化させる制御を行うようにしてもよい。
【0075】
2−4.オブジェクトの視差角に基づく処理
なお、オブジェクト(破壊可能オブジェクトDOやパーティクルオブジェクトPO)の視差角に基づいて、該オブジェクトのぼかし処理を行うようにしてもよい。
【0076】
図6に示すように、左眼用、右眼用仮想カメラVCL、VCR(プレーヤの視点に相当)から投影面SP(表示部190の画面に相当)を見たときの輻輳角をαとし、左眼用、右眼用仮想カメラVCL、VCRからオブジェクトを見たときの輻輳角をβとすると、オブジェクトの視差角θは、θ=α−βで表すことができる。従って、オブジェクトが第1のエリアARに位置する場合(例えば、図中Aに位置する場合)には、α<βとなるため、オブジェクトの視差角θは負の値となり、オブジェクトが第2のエリアARに位置する場合(例えば、図中Bに位置する場合)には、α>βとなるため、オブジェクトの視差角θは正の値となる。
【0077】
そして、オブジェクトが基準面RP上に位置するときのオブジェクトの視差角をθ(θ<0)として、第2のエリアAR2から第1のエリアAR1に向かう方向に移動するオブジェクトの視差角θがθ<θ或いはθ≦θの条件を満たした場合に、該オブジェクトが第3のエリアR3に位置すると判断して、該オブジェクトをぼかすぼかし処理を行うようにしてもよい。
【0078】
また、オブジェクトの視差角θは、左眼用画像でのオブジェクトの描画位置と右眼用画像でのオブジェクトの描画位置とに基づいて求めることもできる。すなわち、図7(A)に示すように、左眼用画像でのオブジェクトOBLの描画位置が右眼用画像でのオブジェクトOBRの描画位置に対して右側にずれる場合には、オブジェクトが第1のエリアAR1に位置すると判断することができ、オブジェクトの視差角θが負の値であると判断することができる。例えば、描画位置を検出するための基準マーカをオブジェクトに設定しておき、左眼用画像での基準マーカMKLの描画位置と右眼用画像での基準マーカMKRの描画位置間の距離dと位置関係に基づいて、オブジェクトの視差角θを求め、求めた視差角θがθ<θ或いはθ≦θの条件を満たすか否かを判断してもよい。
【0079】
3.処理
次に、本実施形態の画像生成システムの処理の一例について図8のフローチャートを用いて説明する。
【0080】
まず、処理部100は、左眼用、右眼用仮想カメラVCL、VCRの位置、向きに基づき投影面SPと基準面RPを設定する(ステップS10)。これにより、投影面SPよりも手前側の第1のエリアAR1と、基準面SPよりも手前側の第3のエリアAR3が設定される。
【0081】
次に、移動・動作処理部112は、第2のエリアAR2から第1のエリアAR1に向けて移動するオブジェクト(破壊可能オブジェクトDOやパーティクルオブジェクトPO)の位置、向きを演算する移動演算を行う(ステップS12)。例えば、1フレーム前のオブジェクトの位置をPとすると、オブジェクトの速度Vとオブジェクトの位置Pを、
V=V+AΔt (1)
P=P+VΔt (2)
により演算する。ここでΔtは単位時間であり、1フレームの時間(例えば、1/60秒)である。
【0082】
次に、移動・動作処理部112は、オブジェクトが第3のエリアAR3に位置するか否かを判断する(ステップS14)。
【0083】
オブジェクトが第3のエリアAR3に位置しないと判断された場合(ステップS14のN)には、左眼用画像生成部124、右眼用画像生成部126は、投影面SPにオブジェクトを透視投影して描画することで、左眼用、右眼用仮想カメラVCL、VCRから見える左眼用画像、右眼用画像を生成する(ステップS16)。
【0084】
また、オブジェクトが第3のエリアAR3に位置すると判断された場合(ステップS14のY)には、ぼかし処理部122、左眼用画像生成部124、右眼用画像生成部126は、オブジェクトをぼかすばかし処理を行いつつ、投影面SPにオブジェクトを透視投影して描画することで、左眼用、右眼用仮想カメラVCL、VCRから見える左眼用画像、右眼用画像を生成する(ステップS18)。
【0085】
次に、処理部100は、処理を続けるか否かを判断し(ステップS20)、処理を続ける場合には、ステップS10の処理に戻り、ステップS10以降の処理を1フレーム毎に繰り返す。
【0086】
なお本発明は、上記実施形態で説明したものに限らず、種々の変形実施が可能である。例えば、明細書又は図面中の記載において広義や同義な用語として引用された用語は、明細書又は図面中の他の記載においても広義や同義な用語に置き換えることができる。
【符号の説明】
【0087】
100 処理部、110 オブジェクト空間設定部、112 移動・演算処理部(移動制御部)、118 仮想カメラ制御部、120 画像生成部、122 ぼかし処理部、124 左眼用画像生成部、126 右眼用画像生成部、130 音生成部、160 操作部、170 記憶部、180 情報記憶媒体、190 表示部、192、音出力部、196 通信部

【特許請求の範囲】
【請求項1】
オブジェクトをオブジェクト空間内で移動させる制御を行う移動制御部と、
前記オブジェクトが、前記オブジェクト空間内の基準面よりも視点から見て手前側のエリアに位置する場合に、前記オブジェクトをぼかすぼかし処理を行うぼかし処理部と、
前記オブジェクトの立体視用画像を生成する画像生成部としてコンピュータを機能させ、
前記基準面は、前記オブジェクト空間内の投影面よりも視点から見て手前側に位置する面であり、
前記投影面は、前記投影面に位置するオブジェクトの画像の視差が無くなる面であることを特徴とするプログラム。
【請求項2】
請求項1において、
前記ぼかし処理部は、
前記基準面よりも視点から見て奥側のエリアから前記手前側のエリアに向けて移動する前記オブジェクトが、前記基準面を通過した場合に、前記ぼかし処理を行うことを特徴とするプログラム。
【請求項3】
請求項1又は2において、
前記ぼかし処理部は、
前記基準面よりも視点から見て奥側のエリアから前記手前側のエリアに向けて移動する前記オブジェクトが、前記基準面と接触したか否かを判断し、接触したと判断した場合に、前記ぼかし処理を行うことを特徴とするプログラム。
【請求項4】
オブジェクトをオブジェクト空間内で移動させる制御を行う移動制御部と、
前記オブジェクトに対する視差角に基づき、前記オブジェクトをぼかすぼかし処理を行うぼかし処理部と、
前記オブジェクトの立体視用画像を生成する画像生成部としてコンピュータを機能させることを特徴とするプログラム。
【請求項5】
請求項1乃至4のいずれかにおいて、
前記ぼかし処理は、被写界深度処理、モーションブラー処理、ブリンク処理及び半透明処理の少なくとも1つの処理であることを特徴とするプログラム。
【請求項6】
コンピュータ読み取り可能な情報記憶媒体であって、請求項1乃至5のいずれかに記載のプログラムを記憶したことを特徴とする情報記憶媒体。
【請求項7】
オブジェクトをオブジェクト空間内で移動させる制御を行う移動制御部と、
前記オブジェクトが、前記オブジェクト空間内の基準面よりも視点から見て手前側のエリアに位置する場合に、前記オブジェクトをぼかすぼかし処理を行うぼかし処理部と、
前記オブジェクトの立体視用画像を生成する画像生成部とを含み、
前記基準面は、前記オブジェクト空間内の投影面よりも視点から見て手前側に位置する面であり、
前記投影面は、前記投影面に位置するオブジェクトの画像の視差が無くなる面であることを特徴とする画像生成システム。
【請求項8】
オブジェクトをオブジェクト空間内で移動させる制御を行う移動制御部と、
前記オブジェクトに対する視差角に基づき、前記オブジェクトをぼかすぼかし処理を行うぼかし処理部と、
前記オブジェクトの立体視用画像を生成する画像生成部とを含むことを特徴とする画像生成システム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate


【公開番号】特開2012−173821(P2012−173821A)
【公開日】平成24年9月10日(2012.9.10)
【国際特許分類】
【出願番号】特願2011−32669(P2011−32669)
【出願日】平成23年2月17日(2011.2.17)
【出願人】(000134855)株式会社バンダイナムコゲームス (1,157)
【Fターム(参考)】