(58)【調査した分野】(Int.Cl.,DB名)
複数の2次元画像のパーツを含む画像群を使用し、該画像群に含まれる各パーツに移動及び変形の少なくともいずれかを行うことで、該画像群により示されるオブジェクトの3次元的表現に係る描画画像であって、両眼立体視用の左眼用及び右眼用の描画画像を生成可能な1以上のコンピュータに、
前記描画画像において前記オブジェクトが描画される描画方向を順次決定する処理と、
前記決定する処理において順次決定された前記描画方向の遷移により定まる移動方向を判定する処理と、
前記描画画像の生成に使用する前記画像群のうちの少なくとも一部のパーツを異なるパーツに変更する前記描画方向を、前記判定する処理において判定された移動方向に応じて異ならせる処理と、
前記異ならせる処理の結果に基づいて前記描画画像の生成に使用する前記画像群に含まれる複数のパーツを変更する処理と、
を実行させ、
前記変更する処理は、前記左眼用の描画画像に使用される前記画像群に含まれるパーツと前記右眼用の描画画像に使用される前記画像群に含まれるパーツとが異なる場合に、一方の描画画像に使用される前記画像群に含まれるパーツを他方の描画画像に使用される前記画像群に含まれるパーツと同一になるように変更することを特徴とするプログラム。
前記異ならせる処理は、前記少なくとも一部のパーツを異なるパーツに変更する描画方向を、第1の移動方向と該第1の移動方向と対向する方向として予め定められた第2の移動方向とで異ならせることを特徴とする請求項1に記載のプログラム。
前記少なくとも一部のパーツを異なるパーツに変更する描画方向は、前記画像群に含まれる複数のパーツのうちのいずれかのパーツが遮蔽されるか否かに応じて定められることを特徴とする請求項1乃至3のいずれか1項に記載のプログラム。
前記少なくとも一部のパーツを異なるパーツに変更する描画方向は、前記画像群に含まれないパーツを前記描画画像の生成に使用する必要があるか否かに応じて定められることを特徴とする請求項1乃至4のいずれか1項に記載のプログラム。
前記変更する処理は、前記少なくとも一部のパーツを異なるパーツに変更する描画方向が、前記左眼用の描画画像における前記オブジェクトの描画方向と前記右眼用の描画画像における前記オブジェクトの描画方向との間に存在する場合に、前記画像群に含まれるパーツが同一になるように変更することを特徴とする請求項1乃至6のいずれか1項に記載のプログラム。
【発明を実施するための形態】
【0014】
[実施形態1]
以下、本発明の例示的な実施形態について、図面を参照して詳細に説明する。なお、以下に説明する一実施形態は、情報処理装置の一例としての、複数の2次元画像のパーツを含む画像群を使用し、該画像群に含まれる各パーツに移動及び変形の少なくともいずれかを行うことで、該画像群により示されるキャラクタの3次元的表現に係るゲーム画像の出力を行うゲームプログラムを実行可能なPCに、本発明を適用した例を説明する。しかし、本発明は、複数の2次元画像のパーツを含む画像群を使用し、該画像群に含まれる各パーツに移動及び変形の少なくともいずれかを行うことで、該画像群により示されるオブジェクトの3次元的表現に係る描画画像を生成することが可能な任意の機器に適用可能である。
【0015】
また、本明細書において「描画方向」とは、キャラクタの3次元的表現を提示するゲーム画像、即ち表示装置に表示される画像において、該キャラクタが描画される方向を指すものとする。ゲーム画像におけるキャラクタが描画される方向は、描画の基準となる視点の移動だけでなく、該キャラクタの移動や回転等によっても変化するものであるため、本明細書ではこれらに起因して変化し得る、キャラクタの描画される方向を包括的に定義するため、「描画方向」との文言を用いて説明を行う。即ち、「描画方向」とは、描画において定義される視点方向と、キャラクタについて予め定められた方向(例えばキャラクタの正面方向)との相対的な関係について定義される概念である。
【0016】
また、本明細書において「移動方向」とは、順次生成されるゲーム画像における描画方向の遷移に基づいて定義される、キャラクタについて予め定められた方向に基づいて相対的に定められる、該キャラクタの描画の基準となる視点の移動方向である。上述したように本明細書において描画方向は視点の移動に限らず、キャラクタの移動及び回転によっても変化するものであるため、ゲーム画像の描画に際し定められた視点が固定であったとしても、キャラクタによる移動が発生した場合には、キャラクタ基準の座標系で考えれば、相対的に視点の移動が発生したことになる。本明細書ではこのような描画方向の遷移に基づく、視点移動の方向を「移動方向」として定義する。
【0017】
従って、例えば順次生成されるゲーム画像において、正面を向いていたキャラクタが鉛直軸を中心とするヨー回転によりキャラクタ右方向に旋回した(ゲーム画像の左方向に向いた)場合、描画方向は「正面から描画される方向」から「左前方から描画される方向」となり、移動方向はキャラクタの鉛直軸を中心として右方向、あるいは左手系における正の回転方向(反時計回り方向)として判定される。
【0018】
《PC100の構成》
図1は、本発明の実施形態に係るPC100の機能構成を示すブロック図である。
【0019】
制御部101は、例えばCPU等の制御装置であり、PC100が有する各ブロックの動作を制御する。具体的には制御部101は、記憶媒体102に格納されているオペレーティングシステムに係るプログラムや、後述のゲームアプリケーションに係るゲームプログラム等を読み出し、メモリ103に展開して実行することにより、各ブロックの動作を制御する。
【0020】
記憶媒体102は、例えば書き換え可能なROM等の不揮発性メモリや、PC100に着脱可能に接続されたHDD等の記憶装置である。また、記憶媒体102は、例えば光学ドライブ等の所定の読み書き可能なインタフェースを介してアクセス可能なゲームプログラムを記録したディスク等の記録媒体を含んでいてもよい。記憶媒体102は、上述したゲームプログラム等だけでなく、各ブロックの動作において必要なパラメータ等の情報、ゲーム画像の生成に用いられる各種データ等を記憶する。ゲーム画像の生成に用いられる各種データには、ゲームアプリケーションにおいて3次元的表現として描画されるパーツに係る情報(パーツ情報)や、各パーツに係る2次元画像等が含まれる。
【0021】
メモリ103は、例えばRAM等の揮発性メモリであってよい。メモリ103は、記憶媒体102から読み出されたプログラム等を展開する展開領域としてだけでなく、各ブロックの動作において出力された中間データ等を記憶する格納領域としても用いられる。
【0022】
移動方向判定部104は、後述の表示部107に表示させる各フレームに係るゲーム画像に係る描画方向の遷移の情報に基づいて、移動方向がいずれの方向であるかを判定する。本実施形態では各フレームに係るゲーム画像に係る描画方向は、例えばキャラクタが視野中心に描画される場合は、描画の基準となる視点からキャラクタの基準位置に向かうベクトルとキャラクタの正面方向として予め定められた方向ベクトルとがなす角度として算出されてよく、例えば予め定められたフレーム数の分、メモリ103に保持されていればよい。移動方向判定部104は、該予め定められたフレーム数分の描画方向の情報(角度)を参照し、移動方向の判定を行う。なお、キャラクタが視野中心に描画されない場合には、さらに視点から視野中心(注視点)に向かうベクトルと視点からキャラクタの基準位置に向かうベクトルとがなす角度を考慮し、描画方向は算出されるものであってもよい。
【0023】
描画部105は、例えばGPU等の描画装置である。描画部105は、描画方向について定まるパーツ情報に基づく2次元画像群に基づくキャラクタの3次元的表現を含む、ゲーム画像の生成に係る描画処理を行う。描画部105の描画処理により生成されたゲーム画像は、表示メモリ106に格納される。
【0024】
表示部107は、例えばPC100の筐体内に内蔵された、あるいはPC100に外部接続されたLCD等の表示装置である。表示部107は、描画部105により表示メモリ106に格納されたゲーム画像を、フレームレートに従った所定のタイミングで表示領域に表示する。
【0025】
《パーツ情報及び使用する2次元画像群の決定の概要》
ここで、上述した記憶媒体102に格納されるパーツ情報、及び該パーツ情報に基づく使用する2次元画像群の決定の概要について説明する。
【0026】
パーツ情報は、例えば目、鼻、口、眉、輪郭、耳、毛髪、首、胴体、腕等、キャラクタの2次元画像を部位ごとに細分化し、各々についての各種情報を有して構成される。本実施形態ではパーツ情報は、予め定められた複数種類の描画方向(基準描画方向)の各々について、キャラクタの3次元的表現の描画に使用するパーツ部位及び該パーツ部位として使用する2次元画像(パーツ画像)の情報を定める。パーツ情報は、各基準描画方向について定められたパーツ画像群を使用してキャラクタの3次元的表現を描画する、例えば基準描画方向を中心とするような所定の描画方向の範囲(表現可能範囲、可動範囲)を含んで構成される。またパーツ情報は、3次元的表現の描画のために、各パーツ画像が適用される3次元的形状の情報や、可動範囲内で特定の動作を行う場合の、各パーツ画像に適用する移動及び変形の少なくともいずれかの時間遷移要素に係る情報を含む。時間遷移要素に係る情報は、特定の描画方向に対応する角度で特定の位置への移動や特定の形状への変形が断続的になされるものではなく、描画方向に対応する角度の変化に応じて予め定められた複数の移動及び変形の情報を補間等することにより、連続的にあるいは流動的にそれらの移動及び変形がなされるよう制御するための情報であってよい。各パーツ画像に適用する移動及び変形の少なくともいずれかの情報は、例えばモーションデザイナ等により動作ごとに予め定められるものであってもよいし、所定の移動・変形関数等により定められる、あるいはパターンの組み合わせ等によって生成されるものであってもよい。
【0027】
また、上述したように本実施形態のパーツ情報は、複数種類の基準描画方向の各々について、同一のパーツ画像群を使用してキャラクタの3次元表現を描画する表現可能範囲が設定されているが、例えばキャラクタの周囲に基準描画方向が定められている場合、隣り合う基準描画方向について定められる表現可能範囲は、
図2に示されるように重複を有するように構成されている。
図2(a)の例では、キャラクタ頭部の中心に視線方向でいう注視点が設定された場合に予め定められた基準描画方向201乃至208を示している。
図2(a)では基準方向201乃至208の各々は、キャラクタ頭部の中心を通る鉛直方向を回転軸とし、キャラクタの正面に対応する方向(キャラクタの向いている方向)を基準とした場合に、該基準となる方向から反時計回りになす角度により識別されている。
【0028】
このとき、50度に対応する基準描画方向について予め定められたパーツ画像群を用いて描画される3次元的表現(パターンA)は、
図2(b)に示されるように15度から80度に対応する描画方向が表現可能範囲として設定されている。一方で、90度に対応する基準描画方向について予め定められたパーツ画像群を用いて描画される3次元的表現(パターンB)は、
図2(c)に示されるように70度から100度に対応する範囲が表現可能範囲として設定されている。従って、50度に対応する基準描画方向について予め用意されたパーツ画像群を用いてパターンAの3次元的表現がなされる範囲と、90度に対応する基準描画方向について予め用意されたパーツ画像群を用いてパターンBの3次元的表現がなされる範囲とは、70度から80度に対応する範囲(重複範囲)において重複している。これは、該範囲のキャラクタの3次元的表現を行う際には、パターンAに係るパーツ画像群かパターンBに係るパーツ画像群のいずれかを用いて3次元的表現がなされることを示している。
【0029】
本実施形態のPC100では、描画方向の遷移により定義される移動方向がパターンA→Bにパーツ画像群を変更する方向である場合と、パターンB→Aに変更する方向である場合とで、パーツ画像群を変更する方向(角度)の閾値を異ならせている。具体的には、キャラクタの3次元的表現の描画に使用するパーツ画像群を、パターンAに係るパーツ画像群からパターンBに係るパーツ画像群に変更する際、つまり各パターンの基準描画方向に対応する角度が増大する移動方向を示す際の角度閾値は、重複範囲の最大角度=80度に設定される。一方、キャラクタの3次元的表現の描画に使用するパーツ画像群を、パターンBに係るパーツ画像群からパターンAに係るパーツ画像群に変更する際、つまり各パターンの基準描画方向に対応する角度が減少する移動方向を示す際の角度閾値は、重複範囲の最小角度=70度に設定される。より具体的には、重複範囲においていずれのパーツ画像群が描画に使用されるかは、このように設定された閾値と、例えば直前のフレームのキャラクタの3次元的表現の描画において使用されたパーツ画像群とに応じて判定される。
【0030】
例えば直前のフレームにおいてパターンAの3次元的表現が使用されていた場合、キャラクタの動作や視点の移動により重複範囲に含まれる描画方向が設定される際には、パターンAに係るパーツ画像群が使用される。一方、パターンAに係る表現可能範囲を越えて例えば82度に対応する描画方向が設定される、即ち描画方向に対応する角度が増大するような移動方向を示す際には、角度閾値である重複範囲の最大角度を超えるため、パターンBに係るパーツ画像群が使用される。そして、その後のフレームにおいてキャラクタの動作や視点の移動により重複範囲に含まれる描画方向が設定される、即ち描画方向に対応する角度が減少するような移動方向を示す際には、角度閾値が重複範囲の最小角度に変更されるため、今度はパターンAに係るパーツ画像群ではなく、前のフレームにおいて使用されていたパターンBに係るパーツ画像群が使用される。
【0031】
このように動作させることで、3次元的表現に使用されるパーツ画像群が異なるパターン(A→B)のものに切り替わった後に重複範囲に含まれる描画方向を指定したとしても、切り替わり後のパターンに係るパーツ画像群が3次元的表現の描画に使用されることになるため、特定の角度に対応する描画方向でパーツ画像群の切り替えが行われることを観察者に知覚させにくくすることができる。即ち、本実施形態のPC100では、キャラクタについて定められたパーツのうち、パターン間で異なるパーツ画像が使用されるパーツについては、パターンが切り替わった後は切り替わり後のパーツ画像がなるべく使用されるような制御がなされる。従って、例えばパターンAからパターンBに切り替わった後、パターンAの表現可能範囲の限界値にあたる80度の近辺の角度で、該角度に対応する描画方向の頻繁な切り替えが生じた場合であっても、一部のパーツ画像が頻繁に切り替わり観察者の興趣を低減し得るような表示を避けることができる。
【0032】
図2(b)及び(c)の例ではキャラクタの頭部の3次元的表現を描画した場合の、それぞれのパターンに係る生成画像を示しているが、パターンAに係るパーツ画像群とパターンBに係るパーツ画像群とは、対比されるように、毛髪の外形や遮蔽関係、毛髪の陰影、鼻の形状、輪郭の稜線の強調部位、目やまつ毛の形状等、それぞれの基準描画方向に適したパーツ画像が予め設定されているため、少なくとも一部のパーツ画像が異なっている。故に、これらのパーツについてはパターンの切り替えがなされた場合には、キャラクタの3次元的表現について観察者に異なった印象を与えうるが、その後は切り替え後のパーツ画像群の使用が保持されるように制御されるため、上述のように使用されるパーツ画像群の切り替わりを知覚されにくくすることができる。
【0033】
なお、パーツ情報は、設定された描画方向について、キャラクタの3次元的表現の描画に使用されるか否かの情報や、描画方向ごとに各パーツ部位について設けられた複数種類のパーツ画像のうちのいずれの画像を使用するかの情報を含んで構成される情報であってもよい。
【0034】
《描画処理》
このような構成をもつ本実施形態のPC100で実行される、ゲームアプリケーションに係るゲーム画像の生成に係る描画処理について、
図3のフローチャートを用いて具体的な処理を説明する。該フローチャートに対応する処理は、制御部101が、例えば記憶媒体102に記憶されている対応する処理プログラムを読み出し、メモリ103に展開して実行することにより実現することができる。なお、本描画処理は、例えばゲームアプリケーションの開始後、フレームごとに、該フレームのパラメータ更新や操作入力イベントに係る処理の実行がなされた際に開始されるものとして説明する。また、以下では説明を簡単にするため、ゲーム画像は、背景画像と1体のキャラクタに係るキャラクタ画像と、その他のグラフィカルユーザインタフェースに係る画像(GUI画像)を、各々の対応する位置に順次重畳していくことにより生成可能であるものとする。
【0035】
S301で、描画部105は制御部101の制御の下、描画するゲーム画像に係る背景画像を表示メモリ106に描画する。
【0036】
S302で、制御部101は、描画した背景画像に重畳するキャラクタ画像について、対象のキャラクタ(対象キャラクタ)の描画方向を決定する。描画方向は、例えば視点位置、視野中心、キャラクタ配置位置、キャラクタに発生させているモーション等を考慮して上述したように相対的に算出されるものであってよい。本ステップの処理は、前フレームからの視点変更の有無、及び対象キャラクタについての3次元的表現の変更に係る動作の発生の有無に基づいて実行が制御されてもよく、いずれかの変更があると判断した場合に制御部101は描画方向を決定すればよい。なお、3次元的表現の変更に係る動作がないと判断した場合は、S303及びS304の処理をせずに、処理をS305に進め、前フレームと同一のパーツ画像群を使用して描画部105に対象キャラクタの描画を行わせればよい。
【0037】
S303で、移動方向判定部104は、決定した現在のフレームに係る対象キャラクタの描画方向の情報と、前フレームに係る対象キャラクタの描画方向の情報とに基づいて移動方向を判定する。
【0038】
S304で、制御部101は、判定された移動方向の情報、現在のフレームに係る対象キャラクタの描画方向の情報、及びパーツ情報に基づいて、対象キャラクタの3次元的表現に使用するパーツ画像群を決定する画像群決定処理を実行する。
【0039】
〈画像群決定処理〉
ここで、本ステップで行われる画像群決定処理の詳細について、
図4のフローチャートを参照して詳細を説明する。
【0040】
S401で、制御部101は、前フレームに係る対象キャラクタの3次元的表現に使用されたパーツ画像群に対応する基準描画方向の情報を、例えばメモリ103から取得する。
【0041】
S402で、制御部101は、判定された移動方向がいずれの方向であるかを判断する。本実施形態の画像群決定処理では、移動方向は
図2(a)に示される描画方向の識別方法に基づいて、制御部101は移動方向が正の回転方向(反時計回り:角度が増大)及び負の回転方向(時計回り:角度が減少)のいずれの方向であるかを判断する。制御部101は、判定された移動方向が正の回転方向である場合は処理をS403に移し、負の回転方向である場合は処理をS406に移す。
【0042】
S403で、制御部101は、パーツ情報を参照し、前フレームのパーツ画像群に対応する基準描画方向について予め定められた表現可能範囲の最大角度の情報を取得する。そして制御部101は、現在のフレームに係る対象キャラクタの描画方向に対応する角度が最大角度より大きいか否かを判断する。制御部101は、現在のフレームに係る対象キャラクタの描画方向に対応する角度が最大角度より大きいと判断した場合は、S404で前フレームと異なる、前フレームのパーツ画像群に対応する基準描画方向の次に大きい角度に対応する基準描画方向の情報を、現在のフレームの対象キャラクタの3次元的表現に使用するパーツ画像群を特定する情報としてメモリ103に格納し、本画像群決定処理を完了する。また制御部101は、現在のフレームに係る対象キャラクタの描画方向に対応する角度が最大角度以下であると判断した場合は、S405で前フレームと同一のパーツ画像群に対応する基準描画方向の情報を、現在のフレームの対象キャラクタの3次元的表現に使用するパーツ画像群を特定する情報としてメモリ103に格納し、本画像群決定処理を完了する。
【0043】
一方、S402において移動方向が負の回転であると判断した場合、制御部101はS406で、パーツ情報を参照し、前フレームのパーツ画像群に対応する基準描画方向について予め定められた表現可能範囲の最小角度の情報を取得する。そして制御部101は、現在のフレームに係る対象キャラクタの描画方向に対応する角度が最小角度より小さいか否かを判断する。制御部101は、現在のフレームに係る対象キャラクタの描画方向に対応する角度が最小角度より小さいと判断した場合は、S407で前フレームと異なる、前フレームのパーツ画像群に対応する基準描画方向の次に小さい角度に対応する基準描画方向の情報を、現在のフレームの対象キャラクタの3次元的表現に使用するパーツ画像群を特定する情報としてメモリ103に格納し、本画像群決定処理を完了する。また制御部101は、現在のフレームに係る対象キャラクタの描画方向に対応する角度が最小角度以上であると判断した場合は、S408で前フレームと同一のパーツ画像群に対応する基準描画方向の情報を、現在のフレームの対象キャラクタの3次元的表現に使用するパーツ画像群を特定する情報としてメモリ103に格納し、本画像群決定処理を完了する。
【0044】
このように画像群決定処理を行うことで、移動方向に応じた角度閾値に基づいて、対象キャラクタの3次元的表現の描画に使用するパーツ画像群を決定することができる。
【0045】
そして描画処理のS305で、描画部105は、該画像群決定処理の結果に基づく現在のフレームに係る対象キャラクタの3次元的表現に使用するパーツ画像群を用いて、決定した現在のフレームに係る描画方向に対応する対象キャラクタの3次元的表現を表示メモリ106に描画する。この際、対象キャラクタに発生させているモーション等がある場合は、該モーションの現在のフレームに対応する位置及び変形の情報に基づいて、描画部105は各パーツ画像の描画を行う。
【0046】
S306で、描画部105は、GUI画像をさらに表示メモリ106に描画された画像に重畳し、出力となるゲーム画像を生成して本描画処理を完了する。
【0047】
なお、本実施形態の描画処理では、キャラクタの3次元的表現の描画に使用するパーツ画像群は、移動方向に応じて定まる角度閾値を跨いだ描画方向の変化がある場合に前フレームと異なるパーツ画像群に変更されるものとして説明したが、本発明の実施はこれに限られるものではない。即ち、対象キャラクタの3次元的表現に係るキャラクタ画像は、少なくとも一部のパーツ画像が異なるパーツ画像に変更されることにより観察者に与えうる印象の変化を低減するために、例えば角度閾値近辺の角度から該閾値に至るまでの角度範囲において、2つのパターン各々に係るパーツ画像群を用いて描画方向について描画された、対象キャラクタの2種類の3次元的表現に係るキャラクタ画像を合成することにより生成されるものであってもよい。例えば、
図2(b)及び(c)においてパターンA→Bの描画方向の遷移が生じる場合、75度においてパターンAに係るパターン画像群に基づくキャラクタ画像が100%でパターンBに係るパターン画像群に基づくキャラクタ画像が0%の合成比率である状態から、80度においてパターンAに係るパターン画像群に基づくキャラクタ画像が0%でパターンBに係るパターン画像群に基づくキャラクタ画像が100%の合成比率となるように、順次トランジションさせるように合成比率を制御し、キャラクタ画像が観察者に与えうる印象の変化を低減させるようにしてもよい。なお、トランジションはクロスディゾルブやディザディゾルブ等様々なものが使用されてよい。
【0048】
また、本実施形態では移動方向の判定等、前フレームについて求められた各種データに基づいて各処理を行うものとして説明したが、演算量の低減や処理の安定性を考慮して、先行するフレームのうちの少なくとも1以上のフレームについて求められた各種データに基づいて各処理が行われるものであってもよいことは容易に理解されよう。
【0049】
また、本実施形態ではキャラクタ頭部の中心を通る鉛直方向の軸を中心として、対象キャラクタを全周するような描画方向に基づいて移動方向を判定し、該移動方向に係り決定された角度閾値を基準に描画に使用するパーツ画像群の決定を行うものとして説明したが、本発明の実施はこれに限られるものではない。即ち、同一のパーツ画像群を使用する描画方向の範囲は、必ずしも1軸の回転や移動に基づいて定められるものである必要はなく、上下方向等、複数軸の回転や移動の各軸あるいは複合的な回転や移動を伴う描画方向について定められてもよい。また、パーツ画像群のうちの少なくともいずれかのパーツ画像が異なる画像に変更するかの決定に係る描画方向の閾値は、本実施形態のように必ずしも正対した移動方向について異ならせるように定められている必要はなく、処理上正対しているとみなすとして予め定められた移動方向の各々について異なる閾値が割り当てられるようにしてもよい。
【0050】
また、本実施形態では同一のパーツ画像群を使用する描画方向の範囲が、所定の基準描画方向において所望の3次元的表現がなされるように、デザイナ等により予め定められているものとして説明したが、本発明の実施はこれに限られるものである必要はない。例えば設定された描画方向について、遮蔽等により描画されないパーツが存在する、あるいは陰影や隠面等、これまで使用してきたパーツ画像群では不足する表現やパーツが存在することが処理により評価できる場合、同一のパーツ画像群を使用する描画方向の範囲は、複数入力された基準描画方向のキャラクタ画像に基づいて制御部101が判断して設定するものであってもよい。
【0051】
また本実施形態ではパーツ情報が、「対象キャラクタ」全体について各基準描画方向に基づく範囲の3次元的表現の描画に使用するパーツ画像群を定義しているものとして説明したが、本発明の実施はこれに限られるものではない。即ち、描画方向に応じた3次元的表現の描画に使用するパーツ画像群の定義は、キャラクタ全体である必要はなく、例えばまつ毛、瞳、黒目、白目、瞼等で構成される「目」等のキャラクタの部分的要素の2次元画像についてなされるものであってもよい。この場合、各部分的要素について、上述したような画像群決定処理がなされればよい。
【0052】
以上説明したように、本実施形態の情報処理装置は、2次元画像の3次元的表現において使用された2次元画像の切り替わりを知覚されにくくすることができる。具体的には情報処理装置は、複数の2次元画像のパーツを含む画像群を使用し、該画像群に含まれる各パーツに移動及び変形の少なくともいずれかを行うことで、該画像群により示されるオブジェクトの3次元的表現に係る描画画像を生成する。このとき装置は、描画画像においてオブジェクトが描画される描画方向を順次決定し、順次決定した描画方向の遷移により定まる移動方向を判定する。そして描画画像の生成に使用する画像群のうちの少なくとも一部のパーツを異なるパーツに変更する描画方向を、判定した移動方向に応じて異ならせる。
【0053】
[実施形態2]
一方で、近年ではゲームを始めとする様々なコンテンツを観察者に両眼立体視可能ならしめる表示装置が普及してきている。このような両眼立体視可能な表示装置では、視差を有する関係にある左眼用及び右眼用の画像を観察者の対応する眼球に各々提示することにより、観察者に立体感を知覚させることができる。具体的には、両眼立体視用の画像では、各々の眼球位置と被写体距離とに応じて被写体の見え方が異なるため、観察者の脳が該見え方のずれを認識し、ずれ量に応じて被写体距離を知覚する。
【0054】
ところで、実施形態1において説明したように、描画方向に応じてキャラクタの3次元的表現の描画に使用するパーツ画像群を異ならせる場合、例えば陰影表現に係るパーツ画像が異なる等、両眼立体視に違和感を与える画像が左眼用及び右眼用に選択されうる。また特に
図5(a)に示されるように、キャラクタの描画方向に依らず特徴的な形状が現れるような矛盾した演出表現を行う場合、描画方向によってはその特徴的な形状が極端に異なることがあるため、両眼立体視を破綻させる画像が選択されうることもある。
図5(a)の例では、キャラクタの3次元表現において、25度以上に対応する描画方向では前髪が横方向に流れた表現がなされるのに対し、0〜25度に対応する描画方向では前髪が上方向に流れた表現がなされている。このため、501、502、及び504のケースでは破綻しない立体視用のキャラクタ画像を提供できるが、左眼用のキャラクタ画像に20度に対応する描画方向、右眼用のキャラクタ画像に30度に対応する描画方向が設定される503のケースでは立体視が破綻する。
【0055】
このため、本実施形態のPC100では、このような両眼立体視が破綻するケースを回避するために、パーツ情報は各基準描画方向について、髪型等の特徴的な描画表現なされる際のその種類を示す情報(例えば前髪が横方向に流れる第1の種類、及び上方向に流れる第2の種類等)を含んで構成される。
【0056】
《描画処理》
以下、本実施形態のPC100において行われる描画処理について、
図6のフローチャートを参照して詳細を説明する。なお、本実施形態の描画処理において実施形態1の描画処理と同様の処理を行うステップについては同一の参照番号を付して説明を省略し、本実施形態の描画処理に特徴的な処理についてのみ説明を行う。
【0057】
S301において背景画像の描画がなされた後、制御部101はS601で、描画した背景画像に重畳する、左眼用のキャラクタ画像及び右眼用のキャラクタ画像の各々について、対象キャラクタの描画方向を決定し、処理をS303に移す。なお、表示メモリ106には背景画像は左眼用、右眼用の各々格納されているものとする。
【0058】
またS303において移動方向の判定がなされた後、制御部101はS602で、判定された移動方向の情報、現在のフレームに係る対象キャラクタの左眼用及び右眼用の描画方向の情報、及びパーツ情報に基づいて、対象キャラクタの3次元的表現に使用するパーツ画像群を決定する画像群決定処理を実行する。
【0059】
〈画像群決定処理〉
ここで、本ステップで行われる画像群決定処理の詳細について、
図7のフローチャートを参照して詳細を説明する。描画処理と同様、実施形態1の画像群決定処理と同様の処理を行うステップについては同一の参照番号を付して説明を省略し、本実施形態の画像群決定処理に特徴的な処理についてのみ説明を行う。
【0060】
S402において判定された移動方向が正の回転方向であると判断した場合、制御部101はS701で、パーツ情報を参照し、前フレームのパーツ画像群に対応する基準描画方向について予め定められた表現可能範囲の最大角度の情報を取得する。なお、前フレームのパーツ画像群が左眼用と右眼用とで異なる場合、制御部101は、各々に対応する基準描画方向について予め定められた表現可能範囲の最大角度のうちの小さい方の角度の情報を、最大角度の情報として取得する。またこの場合、以降の処理において前フレームのパーツ画像群に対応する基準描画方向と言及した場合は、前フレームの左眼用の3次元的表現の描画に用いたパーツ画像群に対応する基準描画方向とする。そして制御部101は、現在のフレームに係る対象キャラクタの右眼用の描画方向に対応する角度が最大角度より大きいか否かを判断する。制御部101は、現在のフレームに係る対象キャラクタの右眼用の描画方向に対応する角度が最大角度より大きいと判断した場合は処理をS702に移し、最大角度以下であると判断した場合は処理をS405に移す。
【0061】
S702で、制御部101は、現在のフレームに係る対象キャラクタの左眼用の描画方向に対応する角度が、前フレームのパーツ画像群に対応する基準描画方向について予め定められた表現可能範囲の最大角度以下であるか否かを判断する。制御部101は、現在のフレームに係る対象キャラクタの左眼用の描画方向に対応する角度が最大角度以下であると判断した場合は処理をS703に移し、最大角度より大きいと判断した場合は処理をS404に移す。
【0062】
S703で、制御部101は、パーツ情報を参照し、前フレームのパーツ画像群に対応する基準描画方向について定められている特徴的な描画表現の種類を示す情報が、該基準描画方向の次に大きい角度に対応する基準描画方向について定められている特徴的な描画表現の種類を示す情報と同一であるかを判断する。制御部101は、これらの特徴的な描画表現の種類を示す情報が同一であると判断した場合、S704で前フレームと同一のパーツ画像群に対応する基準描画方向の情報を、現在のフレームの対象キャラクタの左眼用の3次元的表現に使用するパーツ画像群を特定する情報としてメモリ103に格納し、左眼用に決定した基準描画方向の次に大きい角度に対応する基準描画方向の情報を、現在のフレームの対象キャラクタの右眼用の3次元的表現に使用するパーツ画像群を特定する情報としてメモリ103に格納し、本画像群決定処理を完了する。また制御部101は、これらの特徴的な描画表現の種類を示す情報が異なると判断した場合は処理をS404に移す。即ち、特徴的な描画表現の種類が異なる場合、制御部101は左眼用及び右眼用のキャラクタ画像が同一の描画表現を示すように、前フレームのパーツ画像群に対応する基準描画方向の次に大きい角度に対応する基準描画方向の情報を、現在のフレームの対象キャラクタの左眼用及び右眼用の3次元的表現に使用するパーツ画像群を特定する情報としてメモリ103に格納し、本画像群決定処理を完了する。
【0063】
一方、S402において移動方向が負の回転であると判断した場合、制御部101はS705で、パーツ情報を参照し、前フレームのパーツ画像群に対応する基準描画方向について予め定められた表現可能範囲の最小角度の情報を取得する。なお、前フレームのパーツ画像群が左眼用と右眼用とで異なる場合、制御部101は、各々に対応する基準描画方向について予め定められた表現可能範囲の最小角度のうちの大きい方の角度の情報を、最大角度の情報として取得する。またこの場合、以降の処理において前フレームのパーツ画像群に対応する基準描画方向と言及した場合は、前フレームの右眼用の3次元的表現の描画に用いたパーツ画像群に対応する基準描画方向とする。そして制御部101は、現在のフレームに係る対象キャラクタの左眼用の描画方向に対応する角度が最小角度より小さいか否かを判断する。制御部101は、現在のフレームに係る対象キャラクタの右眼用の描画方向に対応する角度が最小角度より小さいと判断した場合は処理をS706に移し、最小角度以上であると判断した場合は処理をS408に移す。
【0064】
S706で、制御部101は、現在のフレームに係る対象キャラクタの右眼用の描画方向に対応する角度が、前フレームのパーツ画像群に対応する基準描画方向について予め定められた表現可能範囲の最小角度以上であるか否かを判断する。制御部101は、現在のフレームに係る対象キャラクタの左眼用の描画方向に対応する角度が最小角度以上であると判断した場合は処理をS707に移し、最小角度より小さいと判断した場合は処理をS407に移す。
【0065】
S707で、制御部101は、パーツ情報を参照し、前フレームのパーツ画像群に対応する基準描画方向について定められている特徴的な描画表現の種類を示す情報が、該基準描画方向の次に小さい角度に対応する基準描画方向について定められている特徴的な描画表現の種類を示す情報と同一であるかを判断する。制御部101は、これらの特徴的な描画表現の種類を示す情報が同一であると判断した場合、S708で前フレームと異なる、前フレームのパーツ画像群に対応する基準描画方向の次に小さい角度に対応する基準描画方向の情報を、現在のフレームの対象キャラクタの左眼用の3次元的表現に使用するパーツ画像群を特定する情報としてメモリ103に格納し、左眼用に決定した基準描画方向の次に大きい角度に対応する基準描画方向の情報を、現在のフレームの対象キャラクタの右眼用の3次元的表現に使用するパーツ画像群を特定する情報としてメモリ103に格納し、本画像群決定処理を完了する。また制御部101は、これらの特徴的な描画表現の種類を示す情報が異なると判断した場合は処理をS407に移す。即ち、特徴的な描画表現の種類が異なる場合、制御部101は左眼用及び右眼用のキャラクタ画像が同一の描画表現を示すように、前フレームのパーツ画像群に対応する基準描画方向の次に小さい角度に対応する基準描画方向の情報を、現在のフレームの対象キャラクタの左眼用及び右眼用の3次元的表現に使用するパーツ画像群を特定する情報としてメモリ103に格納し、本画像群決定処理を完了する。
【0066】
このようにすることで、左眼用について描画される対象キャラクタの3次元的表現と、右眼用について描画される3次元的表現とで異なる特徴的な描画表現を含むパーツ画像群が各々選択されるような描画方向が各々の眼球用に選択される場合であっても、本画像群決定処理によれば
図5(b)に示されるように、いずれかの描画表現に統一されるよう、左眼用及び右眼用について同一の基準描画方向に対応するパーツ画像群を決定することができる。従って、左眼用のキャラクタ画像と右眼用のキャラクタ画像とにおいて異なる特徴的な描画表現がなされることによる両眼立体視の破綻を回避することができる。
【0067】
そして描画処理のS603で、描画部105は、該画像群決定処理の結果に基づく現在のフレームに係る対象キャラクタの3次元的表現に使用する左眼用及び右眼用のそれぞれのパーツ画像群を用いて、決定した現在のフレームに係る描画方向に対応する対象キャラクタの左眼用及び右眼用の3次元的表現を表示メモリ106に描画する。この際、対象キャラクタに発生させているモーション等がある場合は、該モーションの現在のフレームに対応する位置及び変形の情報に基づいて、描画部105は各パーツ画像の描画を行う。
【0068】
なお、本実施形態の画像群決定処理では、実施形態1のように隣接する基準描画方向の各々について予め定められた表現可能範囲に重複範囲を設けてあるため、左眼用及び右眼用について決定された描画方向のいずれかのみが該重複範囲を超えて他の基準描画方向のみに対応付けられる表現可能範囲に含まれる場合に、該他の基準描画方向に係るパーツ画像群を左眼用及び右眼用に使用するものとして説明した。これは両眼立体視に係る視差を有する関係にある左眼用及び右眼用について決定される描画方向に対応する角度が近接しており、一方の描画方向が他の基準描画方向のみに対応付けられる表現可能範囲に含まれた場合、他方の描画方向は重複範囲に含まれ、複数の基準描画方向に係るパーツ画像群でも3次元的表現が可能であるとの前提に基づくものである。しかしながら、本発明の実施はこれに限られるものではなく、重複範囲は該状況下において3次元的表現の描画に使用されるパーツ画像群が同一となるよう定められるものであってもよい。
【0069】
また実施形態1において上述したようにパーツ画像群が切り替わる際にトランジションを行わせる場合、特にディザディゾルブ等のように所定の大きさの領域や画素単位でキャラクタ画像の切り替えがなされる場合、左眼用及び右眼用のキャラクタ画像におけるトランジションにおいて、両画像間の対応する位置についてのキャラクタ画像の領域や画素は、同一のパーツ画像群から生成されたキャラクタ画像が使用されるように制御することで、トランジション時における両眼立体視の破綻も低減することができる。
【0070】
[その他の実施形態]
本発明は上記実施の形態に制限されるものではなく、本発明の精神及び範囲から離脱することなく、様々な変更及び変形が可能である。また本発明に係る情報処理装置は、1以上のコンピュータを該情報処理装置として機能させるプログラムによっても実現可能である。該プログラムは、コンピュータが読み取り可能な記録媒体に記録されることにより、あるいは電気通信回線を通じて、提供/配布することができる。
【解決手段】情報処理装置は、複数の2次元画像のパーツを含む画像群を使用し、該画像群に含まれる各パーツに移動及び変形の少なくともいずれかを行うことで、該画像群により示されるオブジェクトの3次元的表現に係る描画画像を生成する。このとき装置は、描画画像においてオブジェクトが描画される描画方向を順次決定し、順次決定した描画方向の遷移により定まる移動方向を判定する。そして描画画像の生成に使用する画像群のうちの少なくとも一部のパーツを異なるパーツに変更する描画方向を、判定した移動方向に応じて異ならせる。