(58)【調査した分野】(Int.Cl.,DB名)
前記画像生成手段は、前記単一のオブジェクトを表す所定の画像を用いて前記第1モデルに対する描画を行うとともに、当該所定の画像を用いて前記第2モデルに対する描画を行う、請求項1から請求項9のいずれか1項に記載のゲームプログラム。
【発明の概要】
【発明が解決しようとする課題】
【0004】
従来では、仮想空間において平面的に構成されるオブジェクトについては、ユーザに対して立体的に提示することはできなかった。
【0005】
本発明では、3次元空間を表す画像を従来にはない手法で立体的に提示するゲームプログラム、ゲーム装置、ゲームシステム、およびゲーム処理方法を提供することを目的とする。
【課題を解決するための手段】
【0006】
上記課題を解決すべく、本発明は、以下に示す(1)〜(11)の構成を採用した。
【0007】
(1)
本発明の一例は、立体視表示のための立体視画像を生成するゲーム装置のコンピュータにおいて実行可能なゲームプログラムである。ゲームプログラムは、第1モデル配置手段と、第2モデル配置手段と、画像生成手段としてコンピュータを機能させる。第1モデル配置手段は、仮想空間に登場する単一のオブジェクトの一部を表す板状の第1モデルを少なくとも1つ当該仮想空間に配置する。第2モデル配置手段は、オブジェクトのうち、第1モデルによって表される一部以外の他の部分を少なくとも表す板状の第2モデルを第1モデルの後側に並んで配置する。画像生成手段は、第1モデルおよび第2モデルの前側から各モデルを重ねて見たときの仮想空間を表す立体視画像を生成する。
【0008】
上記「第1モデル」は上記「第2モデル」に対して前側に配置されればよい。仮想空間に層が設定される場合において、上記「第1モデル」は層に設定されてもよいし、されなくてもよい。つまり、第1モデルは、後述する実施形態における基準モデルであってもよいし、付加モデルであってもよい。
また、「(第2モデルを第1モデルの後側に)並んで(配置する)」とは、立体視画像における視線方向から見たときに、第1モデルと第2モデルが少なくとも一部において重なって見えるように配置することを意味する。
【0009】
上記(1)の構成によれば、単一のオブジェクトを表すモデルとして、前後方向に配置される2つのモデル(第1モデルおよび第2モデル)が仮想空間に配置される。そして、各モデルを重ねて見た立体視画像が生成される。したがって、単一のオブジェクトは上記2つのモデルによって立体的に提示されることとなる。上記(1)の構成によれば、1つのモデルのみでは平面的に表示される(十分に立体的に表示されない)オブジェクトについても、2つのモデルを用いることによって立体的に表示することができ、仮想空間を表す画像を従来にはない手法で立体的に提示することができる。
【0010】
(2)
第2モデル配置手段は、第2モデルを板状モデルの1つとして、仮想空間において前後方向に並んで設定される複数の層に当該板状モデルをそれぞれ配置してもよい。このとき、画像生成手段は、各層に配置された各板状モデルおよび第1モデルを重ねて見た画像を立体視画像として生成する。
【0011】
上記(2)の構成によれば、第2モデルを含む複数の板状モデルが層状に配置され、各板状モデルおよび第1モデルを重ねて見た立体視画像が生成される。したがって、上記(2)の構成によれば、層状に配置される板状モデルのうち、所望のオブジェクトを表す板状モデル(第2モデル)の前に第1モデルを配置することで、所望のオブジェクトを立体的に表示することができる。
【0012】
(3)
第1モデル配置手段は、第2モデルが配置される層と、その直前または直後に配置される層との間に第1モデルを配置してもよい。
【0013】
上記(3)の構成によれば、第1モデルは、第2モデルと第1モデルとの間に層(第2モデルが配置される層以外の層)が存在しないように配置される。これによれば、第1モデルと各層に配置される板状モデルと前後関係の整合性が満たされるので、オブジェクトを自然な表現で立体的に表示することができる。
【0014】
(4)
第1モデル配置手段は、第1モデルを板状モデルの1つとして、仮想空間において前後方向に並んで設定される複数の層に当該板状モデルをそれぞれ配置してもよい。このとき、画像生成手段は、各層に配置された各板状モデルおよび第2モデルを重ねて見た画像を立体視画像として生成する。
【0015】
上記(4)の構成によれば、第1モデルを含む複数の板状モデルが層状に配置され、各板状モデルおよび第2モデルを重ねて見た立体視画像が生成される。したがって、上記(4)の構成によれば、層状に配置される板状モデルのうち、所望のオブジェクトを表す板状モデル(第1モデル)の後に第2モデルを配置することで、所望のオブジェクトを立体的に表示することができる。
【0016】
(5)
第2モデル配置手段は、第1モデルが配置される層と、その直前または直後に配置される層との間に第2モデルを配置してもよい。
【0017】
上記(5)の構成によれば、第2モデルは、第1モデルと第2モデルとの間に層(第1モデルが配置される層以外の層)が存在しないように配置される。これによれば、第2モデルと各層に配置される板状モデルと前後関係の整合性が満たされるので、オブジェクトを自然な表現で立体的に表示することができる。
【0018】
(6)
画像生成手段は、第1モデルおよび第2モデルを正射影表現で表した画像を含む立体視画像を生成してもよい。
【0019】
上記(6)の構成によれば、1つの層によって平面的に表現された画像を奥行き方向に複数重ねたような立体視画像が生成される。これによれば、異なる層に配置されるオブジェクトの間の位置関係(前後関係)が立体的に見える立体視画像を生成することができる。
【0020】
(7)
画像生成手段は、視線方向が各モデルに対して略垂直となる立体視画像を生成してもよい。
【0021】
上記(7)の構成によれば、略平行に配置される各モデルについて、当該各モデルを略垂直な方向から重ねて見た立体視画像が生成される。これによれば、前後方向に関して異なる位置に配置される各オブジェクトの間の位置関係(前後関係)が立体的に見える立体視画像を生成することができる。
【0022】
(8)
画像生成手段は、第2モデルが表すオブジェクトが陰を表す画像を含むように立体視画像を生成してもよい。
【0023】
上記(8)の構成によれば、第1モデルの後側の第2モデルが表すオブジェクトには陰が描かれて表示される。このように陰が付されることによって、オブジェクトの凹凸をより視認しやすくすることができ、凹凸のあるオブジェクトをよりリアルに表現することができる。
【0024】
(9)
画像生成手段は、第1モデルが表すオブジェクトの画像が、単一のオブジェクトの輪郭以外の輪郭がぼかされた画像となるように立体視画像を生成してもよい。
【0025】
上記(9)の構成によれば、第1モデルが表すオブジェクトと第2モデルが表すオブジェクトの境界が不明瞭になるので、第1モデルと第2モデルとによる凹凸を滑らかに見せることができる。つまり、上記(9)の構成によれば、例えば球体や円柱形等のように凹凸が連続的に変化するオブジェクトについての立体視表示をより自然にすることができ、オブジェクトをよりリアルに表現することができる。
【0026】
(10)
画像生成手段は、単一のオブジェクトを表す所定の画像を用いて第1モデルに対する描画を行うとともに、当該所定の画像を用いて第2モデルに対する描画を行ってもよい。
【0027】
上記(10)の構成によれば、第1モデルと第2モデルのそれぞれについて画像を予め用意しなくてもよいので、用意する画像データのデータ量を削減することができる。
【0028】
(11)
ゲームプログラムは、第1モデルおよび第2モデルのいずれか一方を用いて、単一のオブジェクトと他のオブジェクトとの当たり判定を行うゲーム処理を実行するゲーム処理手段としてコンピュータをさらに機能させてもよい。
【0029】
上記(11)の構成によれば、第1モデルおよび第2モデルによって表されるオブジェクトと他のオブジェクトとの当たり判定を、2つのモデルのいずれか一方を用いて行うので、当たり判定の処理を簡易に行うことができる。
【0030】
なお、本発明の別の一例は、上記(1)〜(11)のゲームプログラムを実行することによって実現される各手段と同等の手段を備えるゲーム装置あるいはゲームシステムであってもよいし、上記(1)〜(11)において実行されるゲーム画像生成方法であってもよい。
【発明の効果】
【0031】
本発明によれば、前後方向に配置される2つのモデルによって単一のオブジェクトを表すことによって、1つのモデルのみでは平面的に表示される(十分に立体的に表示されない)オブジェクトを新規な手法で立体的に提示することができる。
【発明を実施するための形態】
【0033】
以下、図面を参照して、本実施形態の一例に係るゲームシステム等について説明する。本実施形態におけるゲームシステムは、仮想の3次元空間(ゲーム空間)において平面的に表現されるオブジェクトを、立体視表示装置において立体的に表示するものである。なお、立体的に表示する対象となるオブジェクト(立体表示対象物)はどのようなものであってもよいが、以下では、土管のオブジェクトを立体的に表示する場合を例として説明する。すなわち、以下では、平面的に描かれた土管の中央部分が突出して見えるようにし、土管が円柱状に見えるように立体視表示を行う場合を例として説明する。
【0034】
[1.本実施形態の概要]
以下、
図1〜
図3を参照して、本実施形態の概要を説明する。
図1は、本実施形態の概要を示す図である。
図1に示すように、本実施形態においては、立体表示対象物であるオブジェクト(土管)が描画される基準モデル1が用意される。基準モデル1は、立体表示対象物である単一のオブジェクトの少なくとも一部(
図1ではオブジェクトの全体)を表すものである。基準モデル1は、板状の形状であり、例えばポリゴンで構成される。「板状」とは、モデルが面(平面であっても曲面であってもよい)であってもよいし、ある程度の厚さを有する構成であってもよい意味である。
【0035】
本実施形態においては、立体表示対象物である上記オブジェクト(土管)を表すためのモデルとして、上記基準モデル1に加えて付加モデル2が用意される。付加モデル2は、オブジェクトのうちの一部を少なくとも表すものである。基準モデル1と付加モデル2とによって1つのオブジェクト(土管)が表現される。本実施形態においては、
図1に示すように、付加モデル2は、オブジェクトの一部を表す(なお、
図1の右上の図においては、理解を容易にする目的で、オブジェクト全体のうちで付加モデル2によって表されない部分を点線で示している。)。本実施形態においては、付加モデル2によって表される部分は、オブジェクトのうち、基準モデル1に対して凹凸のある部分(ここでは、突出している部分。すなわち、土管の中央部分)である。付加モデル2は、板状(面状)の形状であり、例えばポリゴンで構成される。
【0036】
上記付加モデル2は、基準モデル1の前側または後側に並んで配置される。本実施形態においては、基準モデル1の前に付加モデル2が配置される(
図1に示す下側の図参照)が、他の実施形態においては、付加モデル2の前に基準モデル1が配置されてもよい(
図2参照)なお、ここで言う前後は、立体視画像を生成する際の仮想カメラの視線方向を基準としたときの手前側を前側とし、奥側を後側とする(
図1に示す矢印参照)。基準モデル1および付加モデル2は、視点から見て手前の位置にいずれか一方のモデルが配置され、その奥に他方のモデルが配置される。
【0037】
上記のように前後に配置された各モデル1および2に関して、前側から各モデル1および2を重ねて見たときの(各モデル1および2が重なる位置から見たときの)仮想空間を表す立体視画像が生成される。本実施形態においては、付加モデル2の後(奥)に基準モデル1が配置された仮想空間を表す立体視画像が生成される。したがって、立体視画像は、基準モデル1に描画されたオブジェクトの画像から、付加モデル2に描画されたオブジェクトの一部の画像が手前に飛び出しているように見えるものになる。
【0038】
このように、本実施形態によれば、板状のモデルによって平面的に表現されるオブジェクトを立体的に見せることができる。本実施形態における土管の例では、土管の中央部分が飛び出しているように見えるので、土管が円柱状であるように見せることができる。また、本実施形態によれば、基準モデル1によって平面的に表現されるオブジェクトを、付加モデル2を追加するという簡易な方法で立体的に見せることができる。これによれば、情報処理装置に大きな処理負荷をかけることなく、ユーザに対してオブジェクトを立体的に提示することができる。例えば、基準モデル1および付加モデル2をそれぞれ1つの平面(ポリゴン)で構成してもよく、この場合、より簡易な処理でオブジェクトを立体的に提示することができる。
【0039】
(1)各モデルに描画する画像
各モデル1および2は、立体表示対象物である単一のオブジェクトを表す。つまり、各モデル1および2に対しては1つの同じオブジェクトの画像が描画される。具体的には、基準モデル1および付加モデル2のうちで前側のモデルは、単一のオブジェクトのうちの一部を表し、後側のモデルは、当該一部以外の他の部分を少なくとも表す。より具体的には、オブジェクトを構成する1つの面(
図1では、円柱状の土管の側面)の一部が前側のモデルに描画され、当該1つの面の他の部分が後側のモデルに描画される。したがって、基準モデル1に描画される画像(基準画像と呼ぶ)および付加モデル2に描画される画像(付加画像と呼ぶ)は、これら2つの画像を重ねた場合に上記単一のオブジェクトの全体が表されるように生成される。
【0040】
なお、詳細は後述するが、本実施形態においては、立体視画像を生成する際に、視線方向から見たときの2つのモデル1および2の位置関係が左右にずれる(
図3参照)。したがって、上記基準画像と付加画像との境界部分(
図1に示す境界4)において左右方向に関して重複が生じるように各画像が生成されてもよい。なお、上記境界部分とは、視線方向から上記基準画像および付加画像を見た場合において上記基準画像と付加画像との境界となる部分である。本実施形態においては、
図1に示すように、基準モデル1にはオブジェクトの全体を表す基準画像が描画されるので、左右方向に関して重複が生じるように基準画像および付加画像が生成されると言える。
【0041】
また、各モデル1および2のうちで前側に配置されるモデル(ここでは付加モデル2)に描画される画像は、立体表示対象物であるオブジェクトの一部であればどのような画像であってもよく、位置や数は任意である。例えば、
図1に示す付加画像とは逆に、左右の端部を表す付加画像が付加モデル2に描画されてもよい。このとき、オブジェクト(土管)は、左右の端部が飛び出し、中央が凹んでいるように見える。また、例えば立体表示対象物が凹凸のあるオブジェクトである場合には、オブジェクトのうちの複数の凸部分を表す付加画像を付加モデル2に描画してもよい。これによれば、オブジェクトの凹凸を立体的に見せることができる。
【0042】
また、各モデル1および2のうちで前側のモデルに描画される画像は、表示対象物であるオブジェクトの輪郭以外の輪郭(表示対象物であるオブジェクトの輪郭とは異なる輪郭)がぼかされた画像であってもよい。付加画像の輪郭のうち、オブジェクトの輪郭以外の輪郭(換言すれば、視線方向から上記基準画像および付加画像を見た場合における付加画像と基準画像との境界)4は、ぼけたように生成される(
図1参照。なお、
図1では、輪郭4がぼけている様子を複数の点線で表現している)。輪郭がぼけた画像は、どのような方法で生成されてもよく、例えば、輪郭付近の部分について、輪郭の一方側と他方側との色を混ぜる方法で生成されてもよいし、輪郭付近の部分を半透明にする方法で生成されてもよい。
【0043】
上記のように、基準画像と付加画像との境界部分の輪郭がぼかされた画像が用いられる場合には、2つの画像の境界が不明瞭になるので、基準モデル1と付加モデル2とによる凹凸が滑らかに見える。例えば
図1に示す土管は、円柱状であるように見える。このように、上記のような輪郭がぼかされた画像を用いることによって、凹凸が連続的に変化するオブジェクトについて立体視表示をより自然にすることができ、オブジェクトをよりリアルに表現することができる。
【0044】
また、各モデル1および2のうちで後側のモデルに描画される画像は、陰を表す画像を含んでいてもよい。なお、陰を表す画像は、オブジェクトのうちの、前側のモデルが表す部分以外の部分に描画される。本実施形態においては、基準モデル1が表す部分のうち、付加モデル2が表す部分と重複しない部分の一部(より具体的には、土管の左側の端部付近)は、陰3を表す画像である。このように、陰を表す画像を描画することで、オブジェクトの凹凸をより視認しやすくすることができる。さらに、後側のモデルには、付加画像と基準画像との境界に向かって薄くなるようにグラデーションが付された陰が描画されてもよい。これによれば、基準モデル1と付加モデル2とによる凹凸が滑らかに見え、凹凸が連続的に変化するオブジェクトについて立体視表示をより自然にすることができる。
【0045】
(2)基準画像および付加画像の生成方法
基準画像および付加画像の生成方法はどのような方法であってもよいが、本実施形態においては、予め用意された単一の画像(後述する元テクスチャ)を用いて基準画像(後述する基準モデル用テクスチャ)および付加画像(後述する付加モデル用テクスチャ)が生成される。つまり、本実施形態においては、表示対象物である単一のオブジェクトについて、1つの(1種類の)画像が用意される。これによれば、基準画像および付加画像の2つの画像を予め用意しなくてもよいので、用意する画像データのデータ量を削減することができ、開発者が画像を用意(作成)する作業を軽減することができる。具体的には、本実施形態においては、オブジェクト(土管)の全体を表す画像のデータが元テクスチャとして予め用意される。そして、基準モデル1に描画するために用いるテクスチャ(基準モデル用テクスチャ)として元テクスチャがそのまま用いられる。また、付加モデル2に描画するために用いるテクスチャ(付加モデル用テクスチャ)を元テクスチャを加工することによって生成する。すなわち、オブジェクト全体を表す元テクスチャの画像から、付加画像以外の部分を透明にする加工が施された画像を表す付加モデル用テクスチャを生成する。なお、本実施形態においては、上記の加工に加え、基準画像と付加画像との境界部分の輪郭をぼかす加工が施された画像が付加モデル用テクスチャとして用いられる。なお、他の実施形態においては、基準モデル用テクスチャと付加モデル用テクスチャとが(別個に)予め用意されてもよい。
【0046】
(3)表示対象物となるオブジェクト
本実施形態において、表示対象物となるオブジェクトは「単一のオブジェクト」である。つまり、基準画像および付加画像の2つの画像は、単一のオブジェクトを表すものである。表示対象物となるオブジェクトを「単一のオブジェクト」のように見せるためには、基準画像および付加画像を次のように設定してもよい。例えば、基準画像と付加画像との間で重複する部分(オーバーラップする部分)について両者の画像が同じに設定されてもよい。また例えば、基準画像と付加画像とを重ねた場合において基準画像と付加画像との境界(輪郭)が認識されないように基準画像および付加画像が設定されてもよい。また例えば、単一のオブジェクトは、単一の画像から生成される基準画像および付加画像によって表現されてもよい。以上によれば、各画像(基準画像および付加画像)によって表されるオブジェクトは単一のオブジェクトであると言うことができる。上記の他、単一のオブジェクトであれば、そのオブジェクトと他のオブジェクトとの当たり判定の処理(詳細は後述する)を、それを構成する各モデル1および2のいずれか一方のみを用いて行うことができる。したがって、各モデル1および2のいずれか一方を用いて上記当たり判定の処理を行う場合、各モデル1および2によって構成されるオブジェクトは単一のオブジェクトであると言うことができる。
【0047】
また、表示対象物となるオブジェクトにおける凹凸はどのように形成されてもよい。すなわち、本実施形態においては、左右方向に関して凹凸を有するように立体的にオブジェクトを表示する場合を例としたが、他の実施形態においては、上下方向に関して凹凸を有するように立体的にオブジェクトを表示することも可能である。例えば、
図1に示す基準モデル1および付加モデル2を90度回転させて配置した場合、上下方向に関して凹凸を有するように立体的にオブジェクト(土管)が表示されることとなる。このように、本実施形態によれば、付加モデル2を追加的に配置するという簡易な処理によって、任意の方向に凹凸を有するオブジェクトを立体的に表示することができる。
【0048】
(4)各モデルの配置
仮想空間には、上記基準モデル1および付加モデル2の他に、他のオブジェクトを表す他のモデルが配置されてもよい。他のモデルが配置される場合、当該他のモデルはどのようなものであってもよい(板状でなくてもよい)が、本実施形態においては、仮想空間において板状の各モデルが層状に配置される。すなわち、本実施形態においては、
図1に示すように、仮想空間において複数(図では3つであるがいくつであってもよい)の層5〜7が前後方向に並んで設定される。そして、上記他のオブジェクト(
図1では、雲や草や人型のキャラクタ等)を表す板状のモデルは、複数の層5〜7(のいずれか)に配置される。以下では、層に配置される板状のモデルを「層モデル」と呼ぶ。1つの層には、板状の層モデルが1つ以上配置される。このとき、立体視画像としては、各層5〜7に配置された各板状モデル(基準モデル1を含む)および付加モデル2を重ねて見た画像が生成される。したがって、本実施形態においては、表示対象物(土管)以外の上記他のオブジェクトについては平面的であるものの、異なる層に配置されるオブジェクトの間の位置関係(前後関係)が立体的に見える立体視画像が生成される。さらに、表示対象物となるオブジェクトについては、付加モデル2によってオブジェクト自体が立体的に表示されることとなる。つまり、本実施形態によれば、複数の層モデルによって表されるオブジェクトのうち、所望のオブジェクトを表す板状モデル(基準モデル1)の前後に付加モデル2を配置することで、所望のオブジェクトを立体的に表示することができる。
【0049】
上記層モデルは、平面状であってもよいし、曲面を有していてもよい。層モデルは、例えばポリゴンで構成される。層モデルは、1つのオブジェクト毎に生成されて配置されてもよいし、複数のオブジェクト(例えば複数の雲)に対して1つの層モデルが生成されて配置されてもよい。なお、本実施形態においては、基準モデル1は層(
図1では層6)に配置される。したがって、基準モデル1は層モデルの一つであると言うことができる。
【0050】
また、各層5〜7(層に配置される層モデル)は、
図1では略平行に配置されるが、平行に配置されなくてもよい。例えば、複数の層のうちいくつかの層は、他の層に対して傾いて配置されてもよい。
【0051】
基準モデル1と付加モデル2とは前後に離れて配置される。また、基準モデル1と付加モデル2との距離は任意であり、当該距離は、立体表示対象物であるオブジェクトの凹凸の度合いに応じて適宜決められてもよい。ただし、本実施形態のように複数の層に層モデル(基準モデル1を含む)が配置される場合には、付加モデル2は層と層との間に配置されてもよい。すなわち、付加モデル2は、基準モデル1と、その直前または直後に配置される板状モデル(層モデル)との間に配置されてもよい。具体的には、本実施形態においては、
図1に示すように、付加モデル2は、基準モデル1と、その直前に配置される層モデル(層7に配置される層モデル)との間に配置される。
【0052】
上記のように、基準モデル1とその直前または直後に配置される層モデルとの間に付加モデル2が配置される場合には、各層の前後関係との整合性を満たすように表示対象物を立体的に表示することができる。例えば本実施形態においては、真ん中の層6に配置される土管が立体的に表示されるが、土管の突出した部分(付加モデル2の部分)は、前側の層7よりも後側に配置される。したがって、各層の前後関係と矛盾を生じないような自然な表現でオブジェクトを立体的に表示することができる。
【0053】
なお、他の実施形態においては、付加モデル2は、基準モデル1の後側に配置されてもよい。
図2は、他の実施形態における基準モデルと付加モデルとの配置を示す図である。
図2に示すように、基準モデル1が層6に配置される場合、付加モデル2は、層6の後側に配置されてもよい。より具体的には、付加モデル2は、基準モデル1と、その直後に配置される層モデル(層5に配置される層モデル)との間に配置されてもよい。なお、このとき、基準モデル1が前側となり、付加モデル2が後側となるので、立体表示対象物であるオブジェクトのうちで各モデル1および2が表す部分は本実施形態とは異なる。すなわち、前側の基準モデル1は上記オブジェクトの一部を表し、後側の付加モデル2は、当該一部以外の他の部分を少なくとも表す(
図2ではオブジェクト全体を表している)。基準モデル1が層に配置される場合において、付加モデル2を基準モデル1の前側に配置すれば、オブジェクトが層から突出しているように表現することができ、付加モデル2を基準モデル1の後側に配置すれば、オブジェクトが層から凹んでいるように表現することができる。
【0054】
また、他の実施形態においては、基準モデル1および付加モデル2以外に仮想空間に配置される他のモデルは、立体的に構成されるものであってもよい。つまり、他のモデルは、上下方向、左右方向、および前後方向に長さを有するものであってもよい。例えば、仮想空間において立体的に構成される地形モデルが配置されてもよい。つまり、上記地形モデル上に配置される板状のモデル(例えばビルボードであってもよい)についても、本実施形態の技術を用いることができる。すなわち、立体的に構成される地形モデルの上に基準モデル1および付加モデル2を配置し、基準モデル1および付加モデル2によって単一のオブジェクトを立体的に表示してもよい。
【0055】
また、他の実施形態においては、複数のオブジェクトについてそれぞれ付加モデルを設定するようにしてもよい。これによれば、複数のオブジェクトについてオブジェクト自体を立体的に表示することができる。さらにこのとき、基準モデルとそれに対応する付加モデルとの距離は、オブジェクト毎に異なるように設定されてもよい。これによれば、立体視表示において各オブジェクトについて飛び出して(あるいは凹んで)見える程度が異なり、凹凸の程度をオブジェクト毎に異ならせることができる。換言すれば、凹凸の程度が異なる複数のオブジェクトについても、凹凸をリアルに表現することができる。
【0056】
また、他の実施形態においては、基準モデル1と付加モデル2との距離が所定の条件によって変化してもよい。これによって、立体表示対象物であるオブジェクトの立体感(オブジェクトの凹凸の程度)を変化させることができる。例えばゲーム上の所定の条件が満たされたことや、ユーザによる所定の指示があったことに応じて、上記距離が変化してもよい。また、上記距離を変化させることに代えて、後述する立体視画像を生成する際において、基準モデル1に対して付加モデル2を左右方向にずらす量を変化させるようにしてもよい。これによっても、立体表示対象物であるオブジェクトの立体感を変化させることができる。
【0057】
なお、付加モデルは、少なくとも1つ配置されればよく、他の実施形態においては、付加モデルは複数配置されてもよい。つまり、基準モデルと付加モデルとを3つ(3層)以上前後に並べて配置することによって単一のオブジェクトを表現するようにしてもよい。3層(以上)に配置された基準モデルおよび複数の付加モデルを用いることによって、オブジェクトの凹凸をより滑らかに表現することができる。なお、基準モデルと付加モデルとを3層以上並べて配置する場合、各付加モデルを基準モデルの前に配置してもよいし、各付加モデルを基準モデルの後に配置してもよいし、一部の付加モデルを基準モデルの前に配置し、他の付加モデルを基準モデルの後に配置してもよい。なお、基準モデルと付加モデルとを3層以上並べて配置する場合、最も後側に配置される最後列モデル以外のモデルは、表示対象物となるオブジェクトの一部を表す。また、最後列モデルは、表示対象物となるオブジェクトのうち、自身よりも前に配置されるモデルによって表されない部分を少なくとも表す。
【0058】
(5)立体視画像の生成
上記基準モデル1および付加モデル2が配置されると、これらのモデル1および2を含む仮想空間を表す立体視画像が生成される。立体視画像は、立体視可能な画像であり、より具体的には、立体視表示が可能な表示装置(立体視表示装置)において表示される場合に見る者(ユーザ)に立体的に提示される画像である。立体視画像は、ユーザの右目で視認させるための右目用画像と、ユーザの左目で視認させるための左目用画像とを含む。立体視画像は、仮想空間において前後方向に異なる位置(異なる層)に配置されるモデル(オブジェクト)間の位置関係が、左目用画像と右目用画像とで異なるように生成される。具体的には、左目用画像は、所定の基準位置より前側のモデルが、当該基準位置からの前後方向の距離に応じて右方向にずらされ、所定の基準位置より後側のモデルが上記距離に応じて左方向にずらされた画像である。また、右目用画像は、上記基準位置より前側のモデルが上記距離に応じて左方向にずらされ、所定の基準位置より後側のモデルが上記距離に応じて右方向にずらされた画像である。なお、上記基準位置とは、(その位置にモデルが配置されるとした場合において)右目用画像と左目用画像とで同じ位置に表示されるモデルの位置であり、例えば
図3では層6の位置である。
【0059】
立体視画像(右目用画像および左目用画像)の生成方法はどのような方法であってもよいが、例えば以下の方法が考えられる。
図3は、立体視画像の生成方法の一例を示す図である。
図3に示す第1の方法では、右目用画像と左目用画像とで互いに逆方向となるように、所定の基準位置(
図3では層6の位置)からの距離(前後方向に関する距離)に応じたずれ量だけ、モデルを左右方向にずらすことによって立体視画像を生成する。第1の方法では、所定の表示範囲(
図3において点線で示す範囲)について、上記のようにずらされた各モデルの画像を重ね合わせることで右目用画像および左目用画像が生成される。
【0060】
なお、上記第1の方法では、右目用画像および左目用画像は、各モデルをずらした後でレンダリングを行うことで生成されるが、第2の方法としては、各層および付加モデル毎にレンダリングを行って複数の画像を生成し、生成された複数の画像をずらして合成することで右目用画像および左目用画像を生成してもよい。
【0061】
また、上記の各モデルを左右方向にずらす方法の他、第3の方法として、右目用画像および左目用画像とで異なる位置および方向に配置された2つの仮想カメラを用いて立体視画像を生成する方法によって立体視画像が生成されてもよい。
【0062】
以上のように立体視画像が生成されることによって、層状に配置された各モデルの位置関係が立体的に提示される。なお、基準モデル1と付加モデル2とは視線方向(前後方向)に関して視点から異なる距離にあるので、基準モデル1と付加モデル2との位置関係が左目用画像と右目用画像とで異なる(
図3参照)。これに関して、上述のように、上記基準画像と付加画像との境界部分(
図1に示す境界4)において、左右方向に関して重複が生じるように各画像を生成することで、基準画像と付加画像との間に隙間が生じることを防止することができる。
【0063】
なお、
図3に示すように、立体視画像(右目用画像および左目用画像)は、基準モデル1および付加モデル2を正射影表現で表した画像を含むように生成される。「正射影表現で表される画像」とは、仮想空間を正射影によって所定の投影面に投影した場合に得られる画像、および、(正射影で投影する手法でない方法によって得られる)当該画像と同様の画像である。なお、上記第1の方法においては、ずらされた各モデルを正射影によって所定の投影面に投影することで、正射影表現で表される画像を得ることができる。また、上記第2の方法においては、レンダリングによって得られた複数の画像を重ねて合成することで、正射影表現で表される画像を得ることができる。また、上記第3の方法においては、2つの仮想カメラの位置を基準として正射影によって所定の投影面に各モデルを投影することで、正射影表現で表される画像を得ることができる。
【0064】
また、立体視画像は、視線方向が各モデルに対して略垂直となるように生成されてもよい(
図1参照)。本実施形態においては、各層モデル(基準モデル1を含む)および付加モデル2が略平行に配置され、各モデルに対して略垂直な視線方向から見た仮想空間の画像が立体視画像として生成される。なお、他の実施形態においては、視線方向に垂直な複数の層に加えて、視線方向に対してやや傾いた層が設定され、当該層にモデルが配置されてもよい。
【0065】
(6)当たり判定
ゲーム処理においては、立体表示対象物であるオブジェクトと他のオブジェクトとの当たり判定が行われてもよい。当たり判定を行う場合、立体表示対象物であるオブジェクトについては、基準モデル1および付加モデル2を用いて当たり判定を行う。この当たり判定の具体的な方法はどのような方法であってもよいが、本実施形態においては、基準モデル1および付加モデル2のいずれか一方を用いて当たり判定を行う。このように、2つのモデル1および2のいずれか一方を用いて当たり判定を行うことによって、当たり判定の処理を簡易にすることができる。なお、本実施形態のように、2つのモデル1および2のいずれか一方がオブジェクトの全体を表す場合には、当該一方のモデルを用いて当たり判定を行うようにしてもよい。これによれば、一方のモデルのみを用いる場合でも当たり判定をより正確に行うことができる。
【0066】
具体的には、基準モデル1と同じ層に配置される他のオブジェクトと、立体表示対象物であるオブジェクトとの当たり判定は、当該他のオブジェクトの板状モデルと基準モデル1とを用いて行われてもよいし、当該他のオブジェクトの板状モデルと付加モデル2とを用いて行われてもよい。前者の場合、2つのモデルについて仮想空間内における位置を比較することで当たり判定を行うことができる。また、後者の場合、2つのモデルについて(前後方向に関する位置を無視して)上下方向および左右方向に関する位置を比較することで当たり判定を行うことができる。このように、当たり判定は、前後方向に関して同じ位置(同じ奥行き位置)に配置されるモデル同士について行うことも可能であるし、前後方向に関して異なる位置に配置されるモデル同士について行うことも可能である。
【0067】
また、上記他のオブジェクトの前後方向に関する位置に基づいて、上記基準モデル1と付加モデル2とのいずれを当たり判定に用いるかを決定するようにしてもよい。具体的には、前後方向に関して基準モデル1と付加モデル2との間の位置を基準位置として、付加モデル2の側(
図1では前側)に配置されるオブジェクトについては、立体表示対象物であるオブジェクトとの当たり判定を付加モデル2によって行うようにしてもよい。また、上記位置を基準として基準モデル1の側(
図1では後側)に配置されるオブジェクトについては、立体表示対象物であるオブジェクトとの当たり判定を基準モデル1によって行うようにしてもよい。上記によれば、前後方向の位置関係について違和感なく当たり判定を行うことができる。
【0068】
[2.本実施形態の具体的な構成および動作]
以下、
図4〜
図6を参照して、本実施形態に係るゲームシステム等の具体的な構成および動作を説明する。
図4は、本実施形態に係るゲームシステム(ゲーム装置)の一例を示すブロック図である。
図4において、ゲームシステム10は、入力部11、制御部12、記憶部13、プログラム格納部14、および立体視表示部15を備える。ゲームシステム10は、上記の各部11〜15を備える単一のゲーム装置(携帯型のゲーム装置を含む)であってもよい。また、ゲームシステム10は、制御部12を含む情報処理装置(ゲーム装置)と他の装置とを含む1以上の装置によって構成されてもよい。
【0069】
入力部11は、ユーザによって操作(ゲーム操作)可能な入力装置である。入力部11はどのような入力装置であってもよい。
【0070】
制御部12は、各種の情報処理を実行するための情報処理手段(コンピュータ)であり、例えばCPUである。制御部12は、各種の情報処理として、上記モデルを仮想空間に配置し、仮想空間を表す立体視画像を生成する処理や、入力部11に対するユーザの操作に応じたゲーム処理等を実行する機能を有する。例えば、CPUが所定のゲームプログラムを実行することによって、制御部12における各機能が実現される。
【0071】
記憶部13は、制御部12が上記情報処理を実行する際に用いる各種のデータを記憶する。記憶部13は、例えばCPU(制御部12)がアクセス可能なメモリである。
【0072】
プログラム格納部14は、ゲームプログラムを記憶(格納)する。プログラム格納部14は、制御部12がアクセス可能な記憶装置(記憶媒体)であればどのようなものであってもよい。例えば、プログラム格納部14は、制御部12を含む情報処理装置内に設けられる記憶装置であってもよいし、制御部12を含む情報処理装置に着脱自在に装着される記憶媒体であってもよい。また、プログラム格納部14は、制御部12とネットワークを介して接続される記憶装置(サーバ等)であってもよい。制御部12(CPU)は、ゲームプログラムの一部または全部を適宜のタイミングで記憶部13に読み出し、読み出されたゲームプログラムを実行するようにしてもよい。
【0073】
立体視表示部15は、立体視表示が可能な立体視表示装置(3Dディスプレイ)である。立体視表示部15は、右目用画像と左目用画像とを立体視可能に画面に表示するものである。立体視表示部15は、単一の画面に右目用画像および左目用画像を時分割または領域分割して表示する。立体視表示部15は、パララックスバリア方式やレンチキュラ方式等によって裸眼での立体視が可能な3Dディスプレイであってもよいし、ユーザがメガネを付けることによって立体視が可能な3Dディスプレイであってもよい。
【0074】
図5は、本実施形態において記憶部13に記憶されるデータの一例を示す図である。
図5に示すように、制御部12のメモリには、ゲームプログラム21および処理用データ22が記憶される。なお、記憶部13には、
図5に示すデータの他、入力部11から取得した入力データや、立体視表示部15へ出力すべき画像やそれを生成するために用いられる画像のデータ等が記憶されてもよい。
【0075】
ゲームプログラム21は、制御部12のコンピュータに実行させるためのプログラムである。本実施形態においては、制御部12がゲームプログラム21を実行することによって後述する情報処理(
図6)が実行される。ゲームプログラム21は、プログラム格納部14からその一部または全部が適宜のタイミングで読み込まれて記憶部13に記憶され、制御部12のコンピュータによって実行される。また、ゲームプログラム21の一部または全部は、制御部12を有する情報処理装置内に(例えばライブラリとして)予め記憶されていてもよい。
【0076】
処理用データ22は、制御部12において実行される情報処理(
図6)において用いられるデータである。処理用データ22は、層モデルデータ23、付加モデルデータ25、テクスチャデータ26、他オブジェクトデータ27を含む。
【0077】
層モデルデータ23は、上記層モデルに関する層モデル情報を表す。層モデル情報は、層モデルを仮想空間に配置する処理において用いられる情報である。層モデル情報は、どのような情報であってもよいが、例えば、仮想空間における層モデルの位置を表す情報、層モデルを構成するポリゴンの頂点位置を表す情報、および、層モデルに描画すべきテクスチャを特定する情報等のうちいくつかが含まれていてもよい。また、層モデルデータ23には、上記基準モデル1に関する上記層モデル情報を表す基準モデルデータ24が含まれる。
【0078】
付加モデルデータ25は、仮想空間における上記付加モデル2に関する付加モデル情報を表す。付加モデル情報は、付加モデルを仮想空間に配置する処理において用いられる情報である。付加モデル情報は、どのような情報であってもよく、上記層モデル情報と同様の情報(位置を表す情報、ポリゴンの頂点情報、および、テクスチャを特定する情報等)が含まれていてもよい。
【0079】
テクスチャデータ26は、立体表示対象物であるオブジェクトを表す画像(テクスチャ)を表す。本実施形態においては、テクスチャデータ26は、基準モデル1に描画するための基準モデル用テクスチャを表すデータと、付加モデル2に描画するための付加モデル用テクスチャを表すデータとを含む。なお、基準モデル用テクスチャおよび付加モデルテクスチャのデータがゲームプログラム21と共にプログラム格納部14に予め記憶されており、当該データが所定のタイミング(ゲーム処理の開始時等)で記憶部13に読み出されて記憶されてもよい。また、上記元テクスチャのデータがゲームプログラム21と共にプログラム格納部14に予め記憶されており、元テクスチャから基準モデル用テクスチャおよび付加モデルテクスチャのデータが所定のタイミングで生成されて記憶部13に記憶されてもよい。
【0080】
他オブジェクトデータ27は、立体表示対象物であるオブジェクト以外の他のオブジェクトに関する情報(仮想空間における位置を含む)を表す。
【0081】
上記データの他、処理用データ22は、基準モデルと、その基準モデルに用いる付加モデルとの対応を表す対応データを含んでいてもよい。対応データは、例えば、基準モデルを識別する番号と付加モデルを識別する番号との対応を示すものであってもよい。このとき、基準モデルに対して付加モデルを配置する相対位置を予め定めておけば、対応データを参照することで付加モデルの配置位置を特定することができる。また、基準モデル用テクスチャと付加モデル用テクスチャとを対応づけておけば、対応データを参照することで、付加モデルに対して用いるテクスチャを特定することができる。また、対応データは、基準モデルに対する付加モデルの相対位置を示すものであってもよい。このとき、対応データを参照することで、基準モデルに対して付加モデルを配置する位置を特定することができる。
【0082】
図6は、本実施形態において制御部12が実行する処理の流れを示すフローチャートである。例えば、制御部12のCPUは、記憶部13のメモリ等を初期化し、プログラム格納部14からゲームプログラムをメモリに読み込む。そして、CPUによって当該ゲームプログラム21の実行が開始される。
図6に示すフローチャートは、以上の処理が完了した後に行われる処理を示すフローチャートである。
【0083】
なお、
図6に示すフローチャートにおける各ステップの処理は、単なる一例に過ぎず、同様の結果が得られるのであれば、各ステップの処理順序を入れ替えてもよいし、各ステップの処理に加えて別の処理が実行されてもよい。また、本実施形態では、上記フローチャートの各ステップの処理を制御部12(CPU)が実行するものとして説明するが、上記フローチャートにおける一部のステップの処理を、CPU以外のプロセッサや専用回路が実行するようにしてもよい。
【0084】
まずステップS1において、制御部12は、仮想空間に層モデル(基準モデル1を含む)を配置する。基準モデル1およびその他の層モデルは、例えば上述した“(4)各モデルの配置”において示した方法で配置される。制御部12は、配置された層モデルの位置を表すデータを層モデルデータ23として記憶部13に記憶する。ステップS1の次にステップS2の処理が実行される。
【0085】
ステップS2において、制御部12は、仮想空間に付加モデル2を配置する。付加モデル2は、例えば上述した“(4)各モデルの配置”において示した方法で配置される。制御部12は、配置された付加モデル2の位置を表すデータを層モデルデータ23として記憶部13に記憶する。ステップS2の次にステップS3の処理が実行される。
【0086】
ステップS3において、制御部12はゲーム処理を実行する。ゲーム処理は、入力部11に対するユーザのゲーム操作に応じて仮想空間内のオブジェクト(モデル)を制御する処理である。本実施形態においては、ゲーム処理には、各オブジェクトについて当たり判定を行う処理が含まれる。立体表示対象物であるオブジェクトについての当たり判定は、例えば上述した“(6)当たり判定”において示した方法で行われる。このとき、制御部12は、基準モデルデータ24および/または付加モデルデータ25と、他オブジェクトデータ27とを記憶部13から読み出し、当たり判定を行う。なお、制御部12は、当たり判定の前に他のオブジェクトについて位置を決定し、決定された位置を表すデータを他オブジェクトデータ27として記憶部13に記憶する。また、上記当たり判定を行った後、制御部12は、当たり判定の結果に応じた処理を実行する。当たり判定の結果に応じた処理は、どのような処理であってもよく、例えばオブジェクトに何らかの動作を行わせる処理や、得点を加算する処理であってもよい。ステップS3の次にステップS4の処理が実行される。
【0087】
ステップS4において、制御部12はステップS3によるゲーム処理の結果得られる仮想空間について立体視画像を生成する。立体視画像(右目用画像および左目用画像)は、例えば上述した“(5)立体視画像の生成”において示した方法で生成される。また、立体視画像が生成される際には、各モデルにオブジェクトの画像を描画する処理が実行されるが、この描画処理は、例えば上述した“(1)各モデルに描画する画像”および“(2)基準画像および付加画像の生成方法”において示した方法で行われる。なお、本実施形態においては、制御部12は、予め用意されたテクスチャデータ26を記憶部13から読み出し、テクスチャデータ26(より具体的には、テクスチャデータ26に含まれる基準モデル用テクスチャおよび付加モデル用テクスチャのデータ)を用いて基準モデル1および付加モデル2に対する描画を行う。ステップS4の次にステップS5の処理が実行される。
【0088】
ステップS5において、制御部12は立体視表示を行う。すなわち、ステップS4で制御部12によって生成された立体視画像が立体視表示部15に出力され、立体視表示部15は立体視画像を表示する。これによって、立体表示対象物であるオブジェクトがユーザに対して立体的に提示される。
【0089】
なお、上記ステップS1〜S5の処理は、制御部12における一連の処理において繰り返し実行されてもよい。例えば、ステップS1およびS2の処理によってゲーム空間が構築された後、ステップS3〜S5が繰り返し実行されてもよい。また、ステップS1およびS2の処理は、上記一連の処理において適宜のタイミング(例えば所定のゲーム上の条件が満たされたことに応じて)で実行されてもよい。以上で、
図6に示す処理の説明を終了する。
【0090】
[3.変形例]
また、他の実施形態においては、基準モデル1および付加モデル2を用いてオブジェクトを立体的に表示する技術は、ゲーム用途に限らず、任意の情報処理システム、情報処理装置、情報処理プログラム、画像生成方法に適用することが可能である。