(57)【特許請求の範囲】
【請求項１】
コンピュータに、所与の視点から見た仮想三次元空間の立体視用画像を生成させるためのプログラムであって、
前記仮想三次元空間の中から指示対象オブジェクトを判定する指示対象物判定手段、
前記指示対象オブジェクトを指示する所定のマーカ体を、前記指示対象オブジェクトの位置或いは前記視点から見て前記指示対象オブジェクトの直近手前側に配置するマーカ体配置手段、
前記視点から見て前記指示対象オブジェクト又は前記マーカ体の一部又は全部が他のオブジェクトの背後に隠れるか否かを判定する隠蔽判定手段、
前記隠蔽判定手段により隠れると判定された場合に、前記指示対象オブジェクト及び前記他のオブジェクトの描画の後に所定のぼかし処理を施して前記マーカ体を描画することで、前記マーカ体の輪郭の視認性を低下させて前記マーカ体を現出させた立体視画像を生成する隠蔽時画像生成手段、
として前記コンピュータを機能させるためのプログラム。
【請求項２】
前記隠蔽時画像生成手段が、
前記立体視画像において前記マーカ体の描画部分を含む前記ぼかし処理の対象範囲を判定する対象範囲判定手段と、
前記対象範囲に前記ぼかし処理を施すぼかし処理手段と、
を有する、
ように前記コンピュータを機能させるための請求項１に記載のプログラム。
【請求項３】
前記ぼかし処理手段が、前記対象範囲内であって且つ前記他のオブジェクトの描画部分に前記ぼかし処理を施す、
ように前記コンピュータを機能させるための請求項２に記載のプログラム。
【請求項４】
前記ぼかし処理の対象範囲を定めるための対象範囲決定体を、前記視点と前記マーカ体との間に配置する対象範囲決定体配置手段として前記コンピュータを機能させ、
前記対象範囲判定手段が、前記対象範囲決定体を用いて前記ぼかし処理の対象範囲を判定するように前記コンピュータを機能させる、
ための請求項２又は３に記載のプログラム。
【請求項５】
前記対象範囲決定体配置手段が、前記対象範囲決定体のサイズを可変に設定するサイズ設定手段を有する、
ように前記コンピュータを機能させるための請求項４に記載のプログラム。
【請求項６】
前記ぼかし処理手段が、前記対象範囲決定体の色を用いて半透明合成処理することで前記ぼかし処理を行う、
ように前記コンピュータを機能させるための請求項４又は５に記載のプログラム。
【請求項７】
前記隠蔽時画像生成手段が、前記マーカ体の色を半透明合成処理することで前記マーカ体にぼかし処理を施して描画するマーカ体半透明合成処理手段を有する、
ように前記コンピュータを機能させるための請求項１〜６の何れか一項に記載のプログラム。
【請求項８】
前記隠蔽判定手段により隠れないと判定された場合に、前記指示対象オブジェクトの描画の後に前記隠蔽時画像生成手段による前記ぼかし処理と同様のぼかし処理を施してマーカ体を描画して立体視画像を生成する非隠蔽時画像生成手段として前記コンピュータを更に機能させるための請求項１〜７の何れか一項に記載のプログラム。
【請求項９】
所与の視点から見た仮想三次元空間の立体視用画像を生成する立体視画像生成装置であって、
前記仮想三次元空間の中から指示対象オブジェクトを判定する指示対象物判定手段と、
前記指示対象オブジェクトを指示する所定のマーカ体を、前記指示対象オブジェクトの位置或いは前記視点から見て前記指示対象オブジェクトの直近手前側に配置するマーカ体配置手段と、
前記視点から見て前記指示対象オブジェクト又は前記マーカ体の一部又は全部が他のオブジェクトの背後に隠れるか否かを判定する隠蔽判定手段と、
前記隠蔽判定手段により隠れると判定された場合に、前記指示対象オブジェクト及び前記他のオブジェクトの描画の後に所定のぼかし処理を施して前記マーカ体を描画することで、前記マーカ体の輪郭の視認性を低下させて前記マーカ体を現出させた立体視画像を生成する隠蔽時画像生成手段と、
を備えた立体視画像生成装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータに、所与の視点から見た仮想三次元空間の立体視用画像を生成させるためのプログラム等に関する。
【背景技術】
【０００２】
近年、立体視画像を表示できるディスプレイ（テレビを含む）が普及しつつある。それに伴い、ビデオゲームを立体視に対応させるための技術が提案されるようになった。
例えば、左眼用立体視画像及び右眼用立体視画像を生成するための左右の仮想カメラの距離を調整可能とし、立体視の迫力ある映像をそのままに、長時間立体視した場合の疲労感を低減する手法などが提案されている（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１１−２４６３７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
さて、平面視画像（非立体視画像の意；左右両眼に共通に見せる画像）をベースとしたビデオゲームでは通用していた手法を立体視画像にそのまま適用しようとすると、必ずしも適当とは言い難いケースが散見される。例えば、２つの表示物の「表示の優先度」と「奥行き位置」が矛盾していて、どちらの条件も変更したくない場合には、「奥行・隠蔽矛盾」による見にくさの問題が発生する。より具体的にはシューティングゲームなどにおけるターゲットマーカがその一つである。
【０００５】
例えば、シューティングゲームなどでは、ゲーム画面内に映っているキャラクタの内、目標物にターゲットマーカが表示されるのが一般的である。ターゲットマーカは、ゲームを進める上で重要な情報を表示するものであるから、表示優先度は一番高く、ゲーム画面内にどれにも隠されることなく最も手前に表示されてきた。つまり、隠蔽処理におけるプライオリティが最も高く、常に見えている状態にされる。平面視画像をベースとしたビデオゲームであれば、ターゲットマーカはゲーム画面の目標物（指示対象オブジェクト）の像と同じ上下左右位置に配置したり、当該像の近傍に配置すればその目的を果たすことができた。
【０００６】
一方、両眼視差が生じる立体視画像の場合、当然のことながらゲーム画面を生成するための視点となる左右の仮想カメラから目標物（指示対象オブジェクト）まで固有の奥行が存在することになる。ターゲットマーカの役割からすると、表示の優先度は平面画像のゲームと同様に一番高くあって、なお且つ、目標物（指示対象オブジェクト）と同じ或いは近い奥行情報を持っているのが望ましい。しかし、平面視画像をベースとしたビデオゲームにおけるターゲットマーカ１０の表示の考え方をそのまま踏襲したのでは、ターゲットマーカ１０に求められる役割を十分に果たせなくなる。
【０００７】
例えば、図１４は、戦闘機を駆って仮想の空中戦を楽しむフライトシューティングゲームにおける仮想三次元空間の様子の俯瞰概念図である。左仮想カメラＣ１及び右仮想カメラＣ２が自機２のオブジェクトの後方に相対位置固定に配置される、いわゆる「三人称視点」の位置にある画面レイアウトを示している。なお、左仮想カメラＣ１及び右仮想カメラＣ２と、自機２とについては、相対位置関係が分りやすいように大きく図示しているが、ターゲットマーカが目標物として指示する指示対象オブジェクト４については、図面サイズの関係上、小さく図示している。
【０００８】
平面視画像をベースとしたビデオゲームにおけるターゲットマーカの扱い、つまり単純に『表示の優先度が最も高いモノは、最も手前に描けばよい』をそのまま踏襲して立体視画像におけるターゲットマーカ１０を扱うと、図１４（１）に示すように、ターゲットマーカ１０に、左仮想カメラＣ１及び右仮想カメラＣ２に最も近い仮想面７、（例えば前方クリップ面や、その直ぐ後の仮想面）の奥行情報を与えることになる。すなわち、指示対象オブジェクト４（４ａ，４ｂ）よりもカメラ座標系Ｚｃ軸方向（仮想カメラに基づく奥行方向）手前側にターゲットマーカ１０（１０ａ，１０ｂ）が配置される。勿論、最終的なゲーム画面の生成に当ってはターゲットマーカ１０の表示優先度は一番高く設定される。なお、ターゲットマーカのみに注目すれば、奥行位置を表示画面位置にするのが最も見やすいが、そのようにする場合には、その他のオブジェクトは、すべて表示画面よりも奥側に表示することとなる。この考え方では、ターゲットマーカの奥行位置が、その他のオブジェクトの奥行位置よりも手前側にあることを前提にしているからである。
【０００９】
この考え方に基づくターゲットマーカ１０の表示制御は、実装が簡単である。従来の平面視画像をベースとした手法をそのまま適用すれば済むからである。しかし、指示対象オブジェクト４（４ａ、４ｂ）の奥行情報と、それぞれに対応するターゲットマーカ１０（１０ａ、１０ｂ）の奥行情報とは大きな隔たりが生じ得る。つまり「視差の乖離」が生じ、ターゲットマーカ１０が指示対象オブジェクト４と離れたところにあって見づらくなる。但し、右のターゲットマーカ１０ｂは、対応する右の指示対象オブジェクト４ｂが自機２に隠される。そのため、「視差の乖離」が問題となることは少ない。
【００１０】
では、ターゲットマーカ１０の奥行情報を、指示対象オブジェクト４に合わせれば良いかというとそうとは言えない。左右の仮想カメラとターゲットマーカが付される指示対象オブジェクトとの間に他のオブジェクトが配置され、目標物の一部又は全部をカメラから隠してしまうケースで不具合が生じる。
そうしたケースとしては、例えば、フライトシューティングゲームにおける三人称視点による画面レイアウトでは、目標物（この場合敵機）と、左右の仮想カメラとの間に自機が存在し、目標物をその背後に隠してしまう例が挙げられる。また、狙撃手役のプレーヤが、ＮＰＣ（ノンプレーヤキャラクタ）の目標物を狙撃するＦＰＳ（ファースト・パーソン・シューティング）ゲームにおいて、プレーヤの視点（左右の仮想カメラ）と、目標物との間に、自動車や他の人間などの障害物が移動・通過するシーンなども該当する。
【００１１】
ターゲットマーカ１０の奥行情報を、指示対象オブジェクト４に合わせる手法について図１４（２）を参照して具体的に説明する。図１４（２）において、自機２に隠されない左のターゲットマーカ１０ａについては、指示対象オブジェクト４（４ａ）とほぼ同じ奥行位置のマーカ配置面８（８ａ）に配置されているため、ターゲットマーカ１０ａと指示対象オブジェクト４（４ａ）との「視差の乖離」は極めて小さく問題にならない。一方、自機２に隠されてしまう右のターゲットマーカ１０ｂについては、指示対象オブジェクト４（４ｂ）とほぼ同じ奥行き位置であるため、こちらも問題無いように思える。しかし、「視差の乖離」ではなく「奥行・隠蔽矛盾」の点で問題が生じる。すなわち、ターゲットマーカ１０の表示優先度、つまり隠蔽処理におけるプライオリティは最も高く、ゲーム画面上最も手前に表示されるために、あたかもターゲットマーカ１０ｂが自機２に埋まって見える。しかも、片方の目には、埋まっているように見える部分が、他方の眼には、埋まっていないように見える、といった「視野闘争」が生じ、結果として、実際にはありえないような不自然な埋まり方に見える。これが「奥行・隠蔽矛盾」であり、見にくさの原因となる。
【００１２】
フライトシューティングゲームにおけるターゲットマーカの具体例を挙げて説明したが、この問題は、この例に限られるわけではない。シューティングゲームの銃口の方向を示す照準や、医用や建築用などの三次元画像上の部位をポインティングデバイスで示すためのポインターといったマーカ体全般に同様に発生する問題である。
【００１３】
また、このように２つの表示物の「表示の優先度」と「奥行き位置」が矛盾している場合で、どちらの条件も変更したくない場合に、「奥行・隠蔽矛盾」による見にくさの問題が発生するケースは、ターゲットマーカやポインターに限らない。
例えば、ゲームに登場するキャラクタの発言をテキスト表示するケースも同様である。発言内容と発言するキャラクタの２つの表示物について見ると、発言内容（ターゲットマーカに相当）はゲーム進行上重要な要素であるから「表示の優先度」を高くして最も手前側に表示したいが、発言するキャラクタが画面奧に存在するといった場合なども、上述のターゲットマーカと同様の問題が生じ得る。
【００１４】
そこで、本発明は、立体視画像に適合する、「視差の乖離」と「奥行・隠蔽矛盾」とを抑制できる新しい画像生成手法を実現することを目的とする。
【課題を解決するための手段】
【００１５】
以上の課題を解決するための第１の形態は、コンピュータに、所与の視点から見た仮想三次元空間の立体視用画像を生成させるためのプログラムであって、
前記仮想三次元空間の中から指示対象オブジェクトを判定する指示対象物判定手段（例えば、図５の処理部２００、ゲーム演算部２１０、ターゲットマーカ配置制御部２１８、マーカ本体配置制御部２２０、図８のステップＳ３０）、
前記指示対象オブジェクトを指示する所定のマーカ体（例えば、図３のマーカ本体１２）を、前記指示対象オブジェクトの位置或いは前記視点から見て前記指示対象オブジェクトの直近手前側に配置するマーカ体配置手段（例えば、図５の処理部２００、ゲーム演算部２１０、ターゲットマーカ配置制御部２１８、マーカ本体配置制御部２２０、図８のステップＳ３２〜Ｓ３８）、
前記指示対象オブジェクト及び前記他のオブジェクトの描画の後に所定のぼかし処理を施して前記マーカ体を描画することで、前記マーカ体の輪郭の視認性を低下させて前記マーカ体を現出させた立体視画像を生成する隠蔽時画像生成手段（例えば、図５の処理部２００、ゲーム演算部２１０、マーカ本体配置制御部２２０、ぼかし処理部２２２、立体視画像生成部２６１、図８のステップＳ５２〜ステップＳ７８、図７のステップＳ１００）、として前記コンピュータを機能させるためのプログラムである。
【００１６】
また、別形態として、所与の視点から見た仮想三次元空間の立体視用画像を生成する立体視画像生成装置であって、
前記仮想三次元空間の中から指示対象オブジェクトを判定する指示対象物判定手段と、
前記指示対象オブジェクトを指示する所定のマーカ体を、前記指示対象オブジェクトの位置或いは前記視点から見て前記指示対象オブジェクトの直近手前側に配置するマーカ体配置手段と、
前記指示対象オブジェクト及び前記他のオブジェクトの描画の後に所定のぼかし処理を施して前記マーカ体を描画することで、前記マーカ体の輪郭の視認性を低下させて前記マーカ体を現出させた立体視画像を生成する隠蔽時画像生成手段と、を備えた立体視画像生成装置（例えば、図１の家庭用ゲーム装置１２００）を構成することができる。
【００１７】
第１の形態及びその別形態によれば、立体視用画像を生成する際に、指示対象オブジェクト及びこれを仮想カメラから隠す他のオブジェクトを描画した後に、輪郭がぼかされたマーカ体を描画することで、当該マーカ体の輪郭の視認性を低下させることができる。そもそも、立体感の認識には輪郭部分の情報が非常に重要である。人間は、輪郭がはっきりしている方が、すなわち境界が明確である方が視差を感じやすい。そこで、マーカ体の輪郭を意図的にあいまいにすることにより、マーカ体が指示対象オブジェクト又はマーカ体そのものを隠す他オブジェクトの上に重なって表示されるシーンであっても、当該他オブジェクトにマーカ体が不自然に埋没して見える「奥行・隠蔽矛盾」を大幅に抑制することができる。
【００１８】
ぼかし処理について着目すれば、第２の形態のように、前記隠蔽時画像生成手段が、前記立体視画像において前記マーカ体の描画部分を含む前記ぼかし処理の対象範囲を判定する対象範囲判定手段（例えば、図５の処理部２００、ゲーム演算部２１０、マーカ本体配置制御部２２０、ぼかし処理部２２２、視差座布団配置制御部２２４、図８のステップＳ６６，Ｓ６８）と、前記対象範囲に前記ぼかし処理を施すぼかし処理手段（例えば、図５の処理部２００、ゲーム演算部２１０、マーカ本体配置制御部２２０、ぼかし処理部２２２、視差座布団カラー設定部２２６、図８のステップＳ７４，Ｓ７６）と、を有する、ように前記コンピュータを機能させるための第１の形態のプログラムを構成するとしてもよい。
【００１９】
更には、第３の形態として、前記ぼかし処理手段が、前記対象範囲内であって且つ前記他のオブジェクトの描画部分に前記ぼかし処理を施すように前記コンピュータを機能させるための第２の形態のプログラムを構成することができる。
【００２０】
また、「ぼかし」を施す範囲の判定について着目すれば、第４の形態として、前記ぼかし処理の対象範囲を定めるための対象範囲決定体（例えば、図３の視差座布団１４）を、前記視点と前記マーカ体との間に配置する対象範囲決定体配置手段（例えば、図５の処理部２００、ゲーム演算部２１０、マーカ本体配置制御部２２０、ぼかし処理部２２２、視差座布団配置制御部２２４、図８のステップＳ６６，Ｓ６８）として前記コンピュータを機能させ、前記対象範囲判定手段が、前記対象範囲決定体を用いて前記ぼかし処理の対象範囲を判定するように前記コンピュータを機能させる、ための第２又は第３の形態のプログラムを構成することができる。
【００２１】
また、「ぼかし」の範囲に着目すれば、第５の形態として、前記対象範囲決定体配置手段が、前記対象範囲決定体のサイズを可変に設定するサイズ設定手段（例えば、図５の処理部２００、視差座布団配置制御部２２４、図８のステップＳ６６，Ｓ６８）を有する、ように前記コンピュータを機能させるための第４の形態のプログラムを構成することができる。
【００２２】
また、対象範囲決定体の色の扱いに着目すれば、第６の形態として、前記ぼかし処理手段が、前記対象範囲決定体の色を用いて半透明合成処理することで前記ぼかし処理を行う、ように前記コンピュータを機能させるための第４又は第５の形態のプログラムを構成することができる。
【００２３】
また更に「ぼかし」の手法そのものに着目すれば、第７の形態として、前記隠蔽時画像生成手段が、前記マーカ体の色を半透明合成処理することで前記マーカ体にぼかし処理を施して描画するマーカ体半透明合成処理手段（例えば、図５の処理部２００、ゲーム演算部２１０、ターゲットマーカ配置制御部２１８、図１０のステップＳ４４〜Ｓ４６）を有する、ように前記コンピュータを機能させるための第１〜第６の何れかの形態のプログラムを構成することができる。
【００２４】
また、「ぼかし」を施す条件に着目すれば、第８の形態として、前記隠蔽判定手段により隠れないと判定された場合に、前記指示対象オブジェクトの描画の後に前記隠蔽時画像生成手段による前記ぼかし処理と同様のぼかし処理を施してマーカ体を描画して立体視画像を生成する非隠蔽時画像生成手段として前記コンピュータを更に機能させるための第１〜第７の何れかの形態のプログラムを構成することができる。
【００２５】
第９の形態は、第１〜第８の何れかの形態のプログラムを記憶したコンピュータ読み取り可能な情報記憶媒体である。ここで言う「情報記憶媒体」とは、例えば磁気ディスクや光学ディスク、ＩＣメモリなどを含む。第９の発明によれば、第１〜第８の何れかの形態のプログラムをコンピュータに読み取らせて実行させることによって、コンピュータに第１〜第８の形態の何れかと同様の効果を発揮させることができる。
【図面の簡単な説明】
【００２６】
【図１】立体視画像生成装置である据置型の家庭用ゲーム装置のシステム構成の一例を示す図。
【図２】第１実施形態におけるゲーム画面例を示す図。
【図３】ターゲットマーカの構成例を示す図。
【図４】ターゲットマーカの表示方法の原理を説明するための概念図。
【図５】第１実施形態における機能構成の一例を示す機能ブロック図。
【図６】プレイデータのデータ構成の一例を示す図。
【図７】第１実施形態における主たる処理の流れを説明するためのフローチャート
【図８】第１実施形態におけるターゲットマーカ配置処理の流れを説明するためのフローチャート。
【図９】第２実施形態におけるゲーム画面例を示す図。
【図１０】第２実施形態における発言イベントを説明するための図。
【図１１】第２実施形態における発言イベント処理の流れを説明するためのフローチャート。
【図１２】視差座布団の設定の変形例を示す概念図。
【図１３】ターゲットマーカ配置処理の変形例の流れを説明するためのフローチャート。
【図１４】ターゲットマーカの配置の考え方を示す概念図。
【発明を実施するための形態】
【００２７】
〔第１実施形態〕
本発明を適用した第１実施形態として、立体視画像生成装置の１つである据置型の家庭用ゲーム装置において、仮想三次元空間でオブジェクトを移動制御する様子を描画した画像（３ＤＣＧ：３次元コンピュータグラフィックス）を生成してフライトシューティングゲームを実行する例を挙げる。
なお、ゲームジャンルはフライトシューティングゲームに限る物ではなく、左右の仮想カメラとターゲットマーカで目標物として指示される指示対象オブジェクトとの間に、他オブジェクトが配置され得るゲームであれば、ＦＰＳや、ＲＰＧ（ロールプレイングゲーム）、アクションゲーム、音楽ゲームなどその他のジャンルでも良い。
【００２８】
［ゲーム装置の構成］
図１は、本実施形態における立体視画像生成装置である据置型の家庭用ゲーム装置のシステム構成の一例を示す図である。据置型の家庭用ゲーム装置１２００は、ゲーム装置本体１２０１と、立体視画像を表示できるビデオモニタ１２２０と、ゲームコントローラ１２３０とを備える。
【００２９】
ゲーム装置本体１２０１は、例えば制御ユニット１２１０と、光学ディスク１２０２やメモリカード１２０４といった情報記憶媒体の読み取り装置１２０６，１２０８とを備える。そして、家庭用ゲーム装置１２００は、光学ディスク１２０２やメモリカード１２０４からゲームプログラム及び各種設定データを読み出し、ゲームコントローラ１２３０に為される操作入力等に基づいて制御ユニット１２１０が各種のゲーム演算を実行してビデオゲームを実行する。
【００３０】
制御ユニット１２１０は、ＣＰＵ（Central Processing Unit）やＧＰＵ（Graphics Processing Unit）及びＤＳＰ（Digital Signal Processor）などの各種マイクロプロセッサ、ＡＳＩＣ（Application Specific Integrated Circuit）、ＩＣメモリなどの電気電子機器を備え家庭用ゲーム装置１２００の各部を制御する。
【００３１】
また、制御ユニット１２１０は、通信装置１２１２と、近距離無線通信モジュール１２１４とを備える。
通信装置１２１２は、インターネットやＬＡＮ（Local Area Network）、ＷＡＮ（Wide Area Network）と言った通信回線１と有線又は無線接続し、外部装置との間でデータ通信を実現する。近距離無線通信モジュール１２１４は、近距離無線を介して複数のゲームコントローラ１２３０との間でデータの送受信を実現する。近距離無線の形式としては、例えばＢｌｕｅｔｏｏｔｈ（登録商標）やＵＷＢ（超広帯域無線）、無線ＬＡＮなどが適宜適用可能である。
【００３２】
そして、制御ユニット１２１０は、ゲームコントローラ１２３０から受信した操作入力信号に基づいて左眼用の３ＤＣＧと右眼用の３ＤＣＧとを元にして、それらに各種情報表示体を付加した左眼用立体視画像と右眼用立体視画像を生成し、またゲーム音を生成してビデオゲームを実行する。
生成された立体視画像に基づく映像信号やゲーム音に基づく音信号は、信号ケーブル１２０９で接続されたビデオモニタ１２２０（ディスプレイモニタ、音声信号やビデオ信号などの外部入力が可能なテレビを含む意）に出力される。なお、ゲーム画面は、ビデオモニタ１２２０で採用される立体視方式に適合した画像として生成されるものとする。
【００３３】
ビデオモニタ１２２０は、立体視画像（一般に「３次元映像」とも呼ばれる立体感を与える映像）を所定の原理に基づいて表示する画像表示装置である。
本実施形態では、ビデオモニタ１２２０には、画像を表示するフラットパネルディスプレイ１２２２と、音声を放音出力するスピーカ１２２４と、偏光メガネ方式又は液晶シャッター方式に分類される立体視メガネ１２２６と、当該メガネに制御信号を送信するためのＩＲエミッター１２２８とを備える。
【００３４】
プレーヤは、立体視メガネ１２２６を装着し、ビデオモニタ１２２０のフラットパネルディスプレイ１２２２に表示される左眼用立体視画像や右眼用立体視画像を見つつ、スピーカ１２２４から放音されるゲーム音を聞きながらゲームコントローラ１２３０で各種操作を入力してゲームを楽しむ。なお、ビデオモニタ１２２０が裸眼立体視方式を採用する場合には、立体視メガネ１２２６及びＩＲエミッター１２２８を省略することができる。
【００３５】
ゲームコントローラ１２３０は、内蔵するコントローラ制御ユニット１２６０を中心に、各種入力デバイス及び出力デバイスをローカルバス回路によって接続しており、コントローラ制御ユニット１２６０によって各デバイス間の入出力を制御する。
【００３６】
入力デバイスとしては、例えば選択の決定やキャンセル、タイミングの入力などに用いられるプッシュボタン１２３２と、図で言うところの上下左右の各方向を単独入力するための方向入力キー１２３４と、操作方向と操作量とを同時に入力することのできる右アナログレバー１２３６及び左アナログレバー１２３８とを備える。
【００３７】
コントローラ制御ユニット１２６０は、例えば、ＣＰＵやローカルバス回路におけるデータ通信を制御するバスコントローラＩＣなどの各種マイクロチップやＩＣメモリなどの電子部品、及びゲーム装置本体１２０１の近距離無線通信モジュール１２１４と無線通信を実現する近距離無線通信モジュール１２６２、などを搭載する。
【００３８】
そして、コントローラ制御ユニット１２６０は、ローカルバス回路を介して各種入力デバイスから送信された信号に基づいて操作入力信号を生成し、生成した操作入力信号を近距離無線通信モジュール１２６２でゲーム装置本体１２０１へ送信する。また、スピーカやバイブレータなどの出力デバイスを搭載する構成では、近距離無線通信モジュール１２６２によって、ゲーム装置本体１２０１から送出された出力信号を受信した場合には、受信した出力信号に対応づけられている出力デバイスへ制御信号を生成、送出することができる。なお、コントローラ制御ユニット１２６０及び各部が必要とする電力は、ゲームコントローラ１２３０に内蔵されたバッテリー（非図示）から供給される。
【００３９】
なお、ゲーム実行に必要なプログラム及び各種設定データは、通信装置１２１２を介して通信回線１に接続し、外部装置からダウンロードして取得する構成であっても良い。ここで言う、通信回線とは、データ授受が可能な通信路を意味する。すなわち、通信回線とは、直接接続のための専用線（専用ケーブル）やイーサネット（登録商標）等によるＬＡＮ（Local Area Network）の他、電話通信網やケーブル網、インターネット等の通信網を含む意味であり、また、通信方法については有線／無線を問わない。
【００４０】
［ターゲットマーカの表示手法の説明］
図２は、本実施形態におけるゲーム画面例を示す図であって、左眼用のゲーム画面つまり左眼用立体視画像の例を示している。
【００４１】
本実施形態は、仮想三次元空間に背景オブジェクト（例えば、地面の凹凸を構成する地面オブジェクトと、空を描いたテクスチャが内面に適用される半球状の天球オブジェクト）が配置されゲーム空間が形成される。ゲーム空間内には、プレーヤキャラクタに相当する自機２や、ＮＰＣ（ノンプレーヤキャラクタ）に相当する複数の敵機３（３ｃ，３ｄ）となるキャラクタオブジェクト、および、ターゲットマーカ１０（１０ｃ，１０ｄ）を構成するオブジェクトが配置される。そして、プレーヤキャラクタである自機２の斜め後方所定位置には、左眼用立体視画像を生成する際の視点となる左仮想カメラと、右眼用立体視画像を生成する際の視点となる右仮想カメラとが配置される。
【００４２】
左仮想カメラ及び右仮想カメラで撮影された自機２を含む画像は、それぞれ左眼用ゲーム空間画像、右眼用ゲーム空間画像となる。そして、それぞれの所定位置に、自機２が向いている方位を示す方位メータ２０や、プレイ開始からの経過時間表示２１、自機２の飛行速度２２や飛行高度２３、レーダー画面２４、残弾数などを示す兵装ステータス表示２５や、耐久値表示２６などが合成されて、左眼用立体視画像（左眼用ゲーム画面）と、右眼用立体視画像（右眼用ゲーム画面）となり、ビデオモニタ１２２０にて表示される。
【００４３】
図３は、本実施形態におけるターゲットマーカ１０の構成例を示す図である。ターゲットマーカ１０は、マーカ本体１２と、視差座布団１４との２つから構成される。
【００４４】
マーカ本体１２は、透明な板ポリゴンの上に、所定色の十字文様や矩形枠など指示対象物の視認性を高めるための図形が描画された表示体である。図形のデザインは図示された例に限らず、六角形や、三角形、矢印など適宜設定することができる。
【００４５】
視差座布団１４は、マーカ本体１２よりも一回り大きい板ポリゴンである。基本となる色を、マーカ本体１２の色に類似（近似）する色、例えばマーカ本体１２の色の彩度をやや落とした色とし、中央から外周に向けて透明度が高くなるように設定される。なお、仮想カメラから見たターゲットマーカ１０の指し示す指示対象オブジェクトの方向の背景色の類似色、より具体的には背景色の近似色相の色に設定することとしても良い。また、例えば、仮想三次元空間の背景色の平均色などを基準に決めることもできる。例えば、背景の平均色の色相と同じ或いは近似した色相とすると、少ない描画負荷で、あたかも背景が透けて見えているかのような表現とすることができる。また、明度を下げたり、灰色、青色等、いわゆる「後退色」にする或いは「後退色」に近似する色にすることで、引っ込んでいる感じをより効果的に演出することができる。
なお、マーカ本体１２や視差座布団１４を、ポリゴンではなく、所与のプリミティブ面やパーティクルで構成することとしてもよい。
【００４６】
中央部分の透明度に関して、より詳しく述べると、表示優先度、つまり隠蔽処理におけるプライオリティについては、マーカ本体１２が最も高く、前述の方位メータ２０や経過時間表示２１と同じとされる。次の優先度は視差座布団１４に設定され、それより下位の優先度には自機２や敵機３、背景などのオブジェクトが設定される。
視差座布団１４の中央部分、立体視画像においてマーカ本体１２の像と重なる部分の透明度（図３のｔ）は、最終的な立体視画像において、ターゲットマーカ１０の背後に表示されるであろう指示対象オブジェクトを隠す他オブジェクト（例えば自機２）の配色が、視差座布団１４の色と混じり合い、ターゲットマーカ１０の輪郭がぼやけて見えるように設定すると、視差座布団１４とターゲットマーカ１０の間にも、視差を和らげる効果が発生し、より見やすい立体視画像とすることができる。ただし、それに限定されるものではなく、例えば、実装の手間や描画負荷を軽減させたい場合や、（視差座布団１４の奥行位置は不明瞭にするが）ターゲットマーカ１０の奥行位置は明確に示したい場合などには、任意に設定してかまわない。
【００４７】
次に、ターゲットマーカ１０の具体的な表示方法について説明する。
図４は、本実施形態におけるターゲットマーカの表示方法の原理を説明するための概念図であって、左仮想カメラＣ１及び右仮想カメラＣ２が自機２のオブジェクトの後方の所定相対位置、いわゆる「三人称視点」に固定される場合を示している。
なお、左仮想カメラＣ１及び右仮想カメラＣ２と自機２とについては、相対位置関係が分りやすいように大きく図示しているが、ターゲットマーカ１０が付与される指示対象オブジェクト４については、図面サイズの関係上、小さく図示している。
【００４８】
図４では、左仮想カメラＣ１及び右仮想カメラＣ２から見ると、ターゲットマーカ１０が付与される指示対象オブジェクト４（図２の敵機３に相当）が、自機２によって一部又は全部が隠されている。つまり、自機２が指示対象オブジェクト４を隠す遮蔽オブジェクトとなっている。
【００４９】
ターゲットマーカ１０のマーカ本体１２は、指示対象オブジェクト４よりも仮想カメラ側に、つまりカメラ座標系Ｚｃ軸マイナス方向へ、僅かに距離Ｌ１だけ離した位置に設定されるマーカ配置面６に配置される。なお、マーカ配置面６は指示対象オブジェクト４上に設定することとしてもよい。すなわち、指示対象オブジェクト４の位置或いは視点から見て指示対象オブジェクト４の直近手前側にマーカ本体１２は配置される。よって、マーカ本体１２、ひいてはターゲットマーカ１０と指示対象オブジェクト４との間に基本的には「視差の乖離」は生じない。また、マーカ本体１２の色は適宜設定可能である。
【００５０】
一方、視差座布団１４は、左仮想カメラＣ１と右仮想カメラＣ２の少なくとも何れか一方から見て当該指示対象オブジェクトの一部又は全部が他のオブジェクト（自機２）の背後に隠れる場合に、左仮想カメラＣ１用の左視差座布団１４１と、右仮想カメラＣ２用の右視差座布団１４２として配置される。
【００５１】
その際、左視差座布団１４１及び右視差座布団１４２の配置位置は、座布団配置面８上とされる。座布団配置面８は、隠蔽オブジェクトとなっている自機２の代表点Ｐ２から仮想カメラ側に、つまりカメラ座標系Ｚｃ軸マイナス方向へ、所定距離Ｌ２だけ仮想カメラ寄りに有って、カメラ座標系Ｚｃ軸と垂直な面とされる。そして、左視差座布団１４１のサイズは、左仮想カメラＣ１から見たマーカ本体１２を左視差座布団１４１の表示範囲で包含し、右視差座布団１４２のサイズは、右仮想カメラＣ２から見たマーカ本体１２を右視差座布団１４２の表示範囲で包含するように設定される。
【００５２】
より具体的には、左仮想カメラＣ１及び右仮想カメラＣ２から見たマーカ本体１２の四隅の座標をそれぞれの視差座布団配置面８上で算出し、それらが視差座布団の範囲内に収まるように、左視差座布団１４１及び右視差座布団１４２の配置サイズを決定する。また、視差座布団の色については、上述した通り例えば背景色に近い色を適宜決定する。
【００５３】
そして、決定された配置サイズ及び色の左視差座布団１４１及び右視差座布団１４２を、それぞれ左仮想カメラＣ１及び右仮想カメラＣ２から見たマーカ本体１２の中心位置（又は指示対象オブジェクト４の代表点）と座布団配置面８との交差位置に、視差座布団１４（１４１，１４２）の中心位置を合わせるように配置する。
【００５４】
前述のように、表示優先度、つまり隠蔽処理におけるプライオリティについては、マーカ本体１２が最も高く、前述の方位メータ２０や経過時間表示２１と同じとされる。次の優先度は、視差座布団１４に設定され、それより下位の優先度には自機２や敵機３、背景などのオブジェクトが設定される。
【００５５】
結果、視差座布団１４は、マーカ本体１２の輪郭をあいまいにするためのぼかし処理の対象範囲を定めるための対象範囲決定体としての意味を持ち、ターゲットマーカ１０がマーカ本体１２に類似（近似）した色でうっすらと着色されて「ぼかし処理」されたのと同じ状態になり、ターゲットマーカ１０の輪郭があいまいとなる。一見すると、あたかも自機２を透過してマーカ本体１２或いはそのマーカ本体１２が指示する指示対象オブジェクト４が透けて見えているかのように感じることとなる。
【００５６】
そもそも、人間は、物体の輪郭をはっきり視認でき、境界が明確であるほうが視差を感じやすい。従って、ターゲットマーカ１０の輪郭があいまいとなることにより、ターゲットマーカ１０が自機２の上に重なって表示されるシーンであっても（図２参照）、自機２にターゲットマーカ１０が埋没して見えたりする「奥行・隠蔽矛盾」を大幅に抑制することができる。
【００５７】
［機能ブロックの説明］
図５は、本実施形態における機能構成の一例を示す機能ブロック図である。同図に示すように本実施形態では、家庭用ゲーム装置１２００は、操作入力部１００と、処理部２００と、音出力部３５０と、立体視画像表示部３６１と、通信部３７０と、記憶部５００とを備える。
【００５８】
操作入力部１００は、プレーヤによって為された各種の操作入力に応じて操作入力信号を処理部２００に出力する。図１では、コントローラ１２３０が操作入力部１００に該当する。
【００５９】
処理部２００は、例えばマイクロプロセッサやＡＳＩＣ（特定用途向け集積回路）、ＩＣメモリなどの電子部品によって実現され、操作入力部１００や記憶部５００をはじめ各機能部との間でデータの入出力を行うとともに、所定のプログラムやデータ、操作入力部１００からの操作入力信号に基づいて各種の演算処理を実行して、据置型家庭用ゲーム装置１２００の動作を制御する。図１では、ゲーム装置本体１２０１に内蔵された制御ユニット１２１０が処理部２００に該当する。
そして本実施形態における処理部２００は、ゲーム演算部２１０と、音生成部２５０と、立体視画像生成部２６１と、通信制御部２７０とを備える。
【００６０】
ゲーム演算部２１０は、ビデオゲームを実行するための各種処理を実行する。例えば、ゲーム空間設定部２１２を備え、仮想３次元空間内に背景オブジェクトを配置してゲーム空間を形成し、そこにプレーヤキャラクタである自機２やＮＰＣである敵機３のキャラクタオブジェクトを配置する処理をする。
【００６１】
また、キャラクタ動作制御部２１４を備え、プレーヤキャラクタのオブジェクトを操作入力部１００からの操作入力に応じて動作させる処理、及びＮＰＣのオブジェクトを自動的に移動及び動作させるいわゆるＡＩ制御をする処理を実行する。
【００６２】
また、仮想カメラ制御部２１６を備え、プレーヤキャラクタ及びＮＰＣの様子を撮影する仮想カメラの位置や姿勢、画角など撮影パラメータを自動制御する処理を実行する。
その他、ゲーム演算部２１０は、プレーヤキャラクタとＮＰＣの攻撃や接触の判定処理、攻撃によるダメージの反映処理、勝敗の判定処理などを実行する。また、適宜カウンタ、タイマーに係る計時処理、フラグ設定などビデオゲームの実行に必要な各種処理を実行することができる。なお、ビデオゲームの進行制御に関する処理は、公知のフライトシューティングゲームのそれと同様にして実現できる。
【００６３】
そして、本実施形態のゲーム演算部２１０は、更にターゲットマーカ配置制御部２１８を備える。ターゲットマーカ配置制御部２１８は、仮想三次元空間の中からターゲットマーカ１０を付与すべき指示対象オブジェクトを抽出し、抽出した指示対象オブジェクト４毎についてターゲットマーカ１０の表示制御を行う。
具体的には、ターゲットマーカ配置制御部２１８は、マーカ本体配置制御部２２０と、ぼかし処理部２２２とを含む。
【００６４】
マーカ本体配置制御部２２０は、ゲーム空間内に配置されているオブジェクトの中からターゲットマーカ１０で指示されるべき指示対象オブジェクト４を判定し、マーカ本体１２を指示対象オブジェクト４の位置或いは視点から見て指示対象オブジェクト４の直近手前側に配置する。指示対象オブジェクト４の判定は、例えば、いわゆるロックオンする敵機を抽出する公知の方法と同様にして実施可能である。
【００６５】
ぼかし処理部２２２は、ターゲットマーカ１０の輪郭部を対応するマーカ本体１２の色となじむようにするべくマーカ本体１２の周囲に「ぼかし」が施されたかのような処理をする。
【００６６】
具体的には、ぼかし処理部２２２は視差座布団配置制御部２２４を含み、指示対象オブジェクト４毎に、当該指示対象オブジェクト４及び他のオブジェクト（自機２）の位置関係に基づいて、左仮想カメラＣ１及び右仮想カメラＣ２の少なく何れか一方の視点から見て当該指示対象オブジェクト４の一部又は全部を背後に隠す他オブジェクト（隠蔽オブジェクト）の有無を判定する。なお、左仮想カメラＣ１及び右仮想カメラＣ２の少なく何れか一方の視点から見てマーカ本体１２の一部又は全部を背後に隠す他オブジェクトを隠蔽オブジェクトとして判定してもよい。
【００６７】
そして、該当する他オブジェクト（隠蔽オブジェクト）が有る場合には、ターゲットマーカ１０の輪郭をぼかす対象範囲を定めるための対象範囲決定体となる左視差座布団１４１及び右視差座布団１４２を、対応する視点（左仮想カメラＣ１、右仮想カメラＣ２）とマーカ本体１２との間に配置する。この際、各視差座布団のサイズを、対応する視点から見たマーカ本体１２を包含するように一回り大きく設定する。換言すると、立体視画像におけるマーカ本体１２の描画部分を含むぼかし処理の対象範囲を判定し、当該対象範囲を視差座布団１４のサイズとする。
【００６８】
また、ぼかし処理部２２２は視差座布団カラー設定部２２６を含む。視差座布団カラー設定部２２６は、対象範囲決定体（左視差座布団１４１、右視差座布団１４２）の基本色を、例えば背景色を基準に設定する。なお、ここで言う基本色は、必ずしも一色という意味ではなく、例えば視点（左仮想カメラＣ１、右仮想カメラＣ２）から見て視差座布団１４に重なる指示対象オブジェクト４の背景となる部分（必ずしも、背景としてのオブジェクトに限らず、他のキャラクタオブジェクトなどがそこに含まれるのも可）の配色をそのまま抜き出して視差座布団用のテクスチャを生成し、利用する構成としてもよい。また、遠景を描画した画像をテクスチャに保持しておき、その配色を利用する構成としても良い。また、マーカ本体１２をよりぼかすために、マーカ本体１２の色と所定の近似色条件を満たす色（例えば明度及び／又は彩度を下げた色）としてもよい。
【００６９】
そして、視差座布団カラー設定部２２６は、「ぼかし」を施す対象範囲決定体（左視差座布団１４１、右視差座布団１４２）の透明度を、立体視画像においてマーカ本体１２が描画される部分を所定の透明度ｔ（図３参照）に設定し、外縁に向かうにつれて透明度が高くなり所定の透明度（例えば１００％）に至るように設定する。
【００７０】
音生成部２５０は、例えばデジタルシグナルプロセッサ（ＤＳＰ）などのプロセッサやその制御プログラムによって実現され、本実施形態で示すようなワーム状キャラクタＷをゲーム内に登場させる場合には、ゲームに係る効果音やＢＧＭ、各種操作音の音信号を生成し音出力部３５０に出力する。
【００７１】
音出力部３５０は、音生成部２５０から入力される音信号に基づいて効果音やＢＧＭ等を音出力するための装置である。図１ではビデオモニタ１２２０のスピーカ１２２４がこれに該当する。
【００７２】
立体視画像生成部２６１は、例えば、デジタルシグナルプロセッサ（ＤＳＰ）などのプロセッサ、その制御プログラム、フレームバッファ等の描画フレーム用ＩＣメモリ等によって実現される。立体視画像生成部２６１は、所定の画像生成タイミング（例えば１／２４０秒）で左仮想カメラＣ１を視点とするゲーム空間の画像を元にした左眼用立体視画像と、右仮想カメラＣ２を視点とするゲーム空間の画像を元にした右眼用立体視画像を生成し、生成した立体視画像の画像信号を立体視画像表示部３６１に出力する。
【００７３】
立体視画像表示部３６１は、立体視画像生成部２６１から入力される画像信号に基づいて立体視可能にゲーム画像を表示する。例えば、フラットパネルディスプレイ、ブラウン管（ＣＲＴ）、プロジェクター、ヘッドマウントディスプレイといった画像表示装置と、当該画像表示装置の立体視原理に対応した立体視メガネ及びそれに制御信号を送信する送信機などによって実現できる。図１ではビデオモニタ１２２０のフラットパネルディスプレイ１２２２、立体視メガネ１２２６、ＩＲエミッター１２２８が該当する。
【００７４】
通信制御部２７０は、データ通信に係るデータ処理を実行し、通信部３７０を介して外部装置とのデータのやりとりを実現する。
【００７５】
通信部３７０は、通信回線１と物理レベルで接続して通信を実現する。例えば、無線通信機、モデム、ＴＡ（ターミナルアダプタ）、有線用の通信ケーブルのジャックや制御回路等によって実現され、図１では通信装置１２１２がこれに該当する。
【００７６】
記憶部５００は、処理部２００にゲーム装置１２００を統合的に制御させるための諸機能を実現するためのプログラムや、ビデオゲームの進行を実行するためのプログラム、各種データ等を記憶する。また、処理部２００の作業領域として用いられ、処理部２００が各種プログラムに従って実行した演算結果や操作入力部１００から入力される入力データ等を一時的に記憶する。この機能は、例えばＲＡＭやＲＯＭなどのＩＣメモリ、ハードディスク等の磁気ディスク、ＣＤ−ＲＯＭやＤＶＤなどの光学ディスクなどによって実現される。
【００７７】
本実施形態の記憶部５００は、システムプログラム５０１と、ゲームプログラム５０２と、ゲーム空間設定データ５１０と、キャラクタ設定データ５１２と、マーカ本体設定データ５１６とを予め記憶している。また、ゲームの準備や進行、並びに画像生成に伴って随時生成や更新が行われるデータとして、プレイデータ５１８を記憶する。
【００７８】
システムプログラム５０１は、家庭用ゲーム装置１２００のコンピュータとしての入出力の基本機能を実現するためのプログラムである。ゲームプログラム５０２は、処理部２００が読み出して実行することによってゲーム演算部２１０としてゲーム進行制御するための諸機能を実現させるためのアプリケーションソフトである。なお、ゲームプログラム５０２は、システムプログラム５０１の一部として組み込まれた構成であっても良い。
【００７９】
ゲーム空間設定データ５１０は、仮想三次元空間にゲーム空間を構成するための背景オブジェクトのモデルデータや、テクスチャデータ、モーションデータ、配置位置座標、などの情報をオブジェクト毎に格納する。
【００８０】
キャラクタ設定データ５１２は、自機２や敵機３などのキャラクタとなるオブジェクトのモデルデータや、テクスチャデータ、様々な動作を実現するための複数のモーションデータセット（例えば、モーションＩＤとそれに対応するモーションデータを含む）、配置位置座標、移動パターン、装備品の初期設定、などの情報をオブジェクト毎に格納する。
【００８１】
マーカ本体設定データ５１６は、マーカ本体１２を表示させるためのデータを格納する。例えば、モデルデータや、テクスチャデータ、配色データなどを格納する。
【００８２】
プレイデータ５１８は、現在実行中のゲーム進行状況を示す各種パラメータ値を格納する。具体的には、例えば図６に示すように、左右フラグ５１９と、自機ステータスデータ５２０と、敵機ステータスデータ５２２と、左仮想カメラ制御データ５２４と、右仮想カメラ制御データ５２６と、を含む。
【００８３】
左右フラグ５１９は、今回の画像生成タイミングにおいて、左右何れの立体視画像を生成するかを示す。例えば、「１」が左、「０」が右をそれぞれ示し、画像生成タイミング毎に切り換えられる。
【００８４】
自機ステータスデータ５２０と、敵機ステータスデータ５２２は、それぞれ自機２、敵機３の状態を示すデータ、例えば、位置座標、姿勢、移動速度、加速度、残段数、耐久値、配色データなどを格納する。
【００８５】
左仮想カメラ制御データ５２４と、右仮想カメラ制御データ５２６は、左仮想カメラＣ１及び右仮想カメラＣ２の状態を示すパラメータ値や、撮影条件を示すパラメータ値を格納する。例えば、仮想カメラの配置位置、視線方向、撮影画角、絞り値、フィルタ種類、などを格納する。
【００８６】
そして、プレイデータ５１８は、ターゲットマーカ１０の表示制御に関する情報として、指示対象オブジェクトリスト５２８と、マーカ本体制御データ５３０と、視差座布団付与オブジェクトリスト５３４と、遮蔽オブジェクトリスト５３６と、視差座布団制御データ５４０とを含む。
【００８７】
指示対象オブジェクトリスト５２８は、ゲーム空間内に配置されたキャラクタオブジェクトの内、目標物とされるオブジェクトのオブジェクトＩＤを格納する。本実施形態では、ゲーム演算部２１０が、現在の自機２の位置から所定範囲（例えば、自機２の射程圏内）に入った敵機３のオブジェクトを抽出し、抽出したオブジェクトの識別情報を格納する。そして、ゲーム進行とともに自機２と敵機３の相対位置が変化するのに応じて逐次更新される。
【００８８】
マーカ本体制御データ５３０は、マーカ本体１２を表示させるための情報を格納する。一つのマーカ本体１２毎に一つのマーカデータセット５３２が用意される。
そして、一つのマーカデータセット５３２には、当該マーカ本体を識別するためのマーカ本体ＩＤ５３２ａと、当該マーカ本体が付与される指示対象オブジェクト４のオブジェクトＩＤを格納する対応オブジェクトＩＤ５３２ｂと、当該マーカ本体の代表点位置座標５３２ｃと、マーカ本体１２の面の向きを示すマーカ本体面法線ベクトル５３２ｄとを格納する。勿論、その他の情報、例えば表示色や明滅パターンなどといった情報も対応づけて格納することができる。
【００８９】
視差座布団付与オブジェクトリスト５３４は、指示対象オブジェクト４の内、当該指示対象オブジェクトと左仮想カメラＣ１及び右仮想カメラＣ２の何れかとの間に他オブジェクトが存在し、指示対象オブジェクト４の一部又は全部を隠す他オブジェクトのオブジェクトＩＤを格納する。なお、指示対象オブジェクト４ではなく、マーカ本体１２の一部又は全部を隠す他オブジェクトのオブジェクトＩＤを格納することとしてもよい。
【００９０】
遮蔽オブジェクトリスト５３６は、視差座布団付与オブジェクトリスト５３４に登録されている指示対象オブジェクト４と対応づけて、当該オブジェクトの一部又は全部を左仮想カメラＣ１又は右仮想カメラＣ２から隠す他オブジェクトそれ自体のオブジェクトＩＤを格納する。
【００９１】
視差座布団制御データ５４０は、視差座布団の表示制御に関する情報を格納する。具体的には、視差座布団付与オブジェクトリスト５３４に登録されたオブジェクト毎に視差座布団組データ５４４が格納される。
【００９２】
一つの視差座布団組データ５４４は、当該組が対応づけられるマーカ本体の識別情報を格納する対応マーカ本体ＩＤ５４４ａを含む。対応マーカ本体ＩＤは、これ自体が当該組データの識別情報ともなる。また、当該組に含まれる左視差座布団１４１の具体的な配置位置と配置姿勢及びポリゴンの表示色や透明度を定義する情報として、左視差座布団代表点位置座標５４４ｂと、左視差座布団面法線ベクトル５４４ｃ、左視差座布団ポリゴンデータ５４４ｄを含む。同様に、当該組に含まれる右視差座布団１４２について、右視差座布団代表点位置座標５４４ｅと、右視差座布団面法線ベクトル５４４ｆ、右視差座布団ポリゴンデータ５４４ｇを含む。
【００９３】
左視差座布団代表点位置座標５４４ｂと、右視差座布団代表点位置座標５４４ｅには、例えば、視差座布団１４の中心点の座標が設定される。
左視差座布団ポリゴンデータ５４４ｄと、右視差座布団ポリゴンデータ５４４ｇには、それぞれの視差座布団１４の代表点を基準とした頂点位置座標、頂点カラー、頂点透明度、頂点間のピクセルのカラーや透明度を決定するための情報などを格納する。
【００９４】
なお、記憶部５００には、ゲームの進行や画像生成に係る処理を実行するにあたり必要となる各種データ（例えば、タイマー値やカウンタ、座標変換行列、テクスチャ、Ｚバッファなど）も適宜記憶されるものとする。
【００９５】
［処理の流れの説明］
次に、本実施形態における処理の流れについて説明する。ここで説明する一連の処理の流れは、処理部２００がシステムプログラム５０１を実行中に、ゲームプログラム５０２を実行することによって実現される。
【００９６】
図７は、本実施形態における主たる処理の流れを説明するためのフローチャートである。処理部２００は先ず、初期化処理として、ゲーム空間設定データ５１０及びキャラクタ設定データ５１２を参照して、仮想三次元空間に背景やプレーヤキャラクタ（自機２）、ＮＰＣ（敵機３）等のオブジェクトを初期配置し、プレーヤキャラクタ（自機２）及びＮＰＣ（敵機３）については、それぞれ自機ステータスデータ５２０、敵機ステータスデータ５２２を生成し、逐次更新を開始する（ステップＳ２）。
【００９７】
更に、仮想三次元空間内に、左仮想カメラＣ１及び右仮想カメラＣ２を配置し、左仮想カメラ制御データ５２４及び右仮想カメラ制御データ５２６を生成して、逐次更新を開始する（ステップＳ４）。また更に、左右フラグ５１９を初期化する（ステップＳ６）。
【００９８】
ゲームが開始したならば（ステップＳ８）、以降、処理部２００はステップＳ１０〜Ｓ１０８を所定の画像生成タイミングの周期、つまりビデオモニタ１２２０で左眼用立体視画像と右目用立体視画像を表示する周期で繰り返し実行する。
【００９９】
具体的には、処理部２００はオブジェクト毎の動作制御を実行する（ステップＳ１０）。例えば、操作入力部１００からの操作入力信号に応じてプレーヤキャラクタ（自機２）のオブジェクトの動作を制御し、所謂ＡＩ制御によりＮＰＣ（敵機３）の動作を制御する。もし、背景オブジェクトにも動きが設定されているならば、その自動制御もここで実行されるものとする。また、もしゲーム画面を一人称視点でゲーム画面で構成する場合には、操作入力部１００からの操作入力信号に応じてプレーヤキャラクタ（自機２）のオブジェクトの代わりに左仮想カメラＣ１及び右仮想カメラＣ２の位置や姿勢、移動速度などを変更する。
【０１００】
次に、処理部２００は、左仮想カメラＣ１及び右仮想カメラＣ２の自動制御を行う（ステップＳ１２）。例えば、プレーヤキャラクタ（自機２）の斜め後ろ上方の所定相対位置に両仮想カメラを配置し、両仮想カメラの姿勢（視線方向等）や画角などを制御する。
【０１０１】
ここまでのステップＳ１０及びＳ１２により、今回の画像生成タイミングにおけるゲーム空間内の自機２や敵機３などのキャラクタオブジェクト及び仮想カメラの位置が更新されたことになるので、処理部２００はターゲットマーカ配置処理を実行する（ステップＳ１４）。
【０１０２】
図８は、本実施形態におけるターゲットマーカ配置処理の流れを説明するためのフローチャートである。同処理では、処理部２００は先ず、ゲーム空間内に配置されている各種オブジェクトの中からターゲットマーカ１０で目標物として指し示す指示対象オブジェクト４を抽出し、抽出したオブジェクトの識別情報（ＩＤ）を指示対象オブジェクトリスト５２８に格納・登録して指示対象オブジェクトリスト５２８を更新する（ステップＳ３０）。そして、指示対象オブジェクトリスト５２８に登録されている全ての指示対象オブジェクト４についてループＡを実行する（ステップＳ３２〜Ｓ３８）。
【０１０３】
具体的には、ループＡにおいて、処理部２００は先ず、処理対象とする指示対象オブジェクト４に対応づけて、当該オブジェクトの代表点から仮想カメラ側に所定距離Ｌ１だけ離れたマーカ配置面６を設定し（ステップＳ３４；図４参照）、当該配置面にマーカ本体１２を新たに配置する（ステップＳ３６）。
【０１０４】
より具体的には、プレイデータ５１８内に新たにマーカデータセット５３２を生成し、マーカ本体ＩＤ５３２ａを自動付与し、処理対象とする指示対象オブジェクト４のオブジェクトＩＤを対応オブジェクトＩＤ５３２ｂに格納する。そして、処理対象とする指示対象オブジェクト４の代表点Ｐ４からカメラ座標系Ｚｃ軸（画面奥行方向）マイナス方向（仮想カメラ寄り）へ所定距離Ｌ１だけ移動した位置に、カメラ座標系Ｚｃ軸と垂直なマーカ配置面６を算出する（図４参照）。
そして、処理対象とする指示対象オブジェクト４の代表点から（左仮想カメラＣ１と右仮想カメラＣ２の）中間点Ｃ３を結ぶ線分とマーカ配置面６との交点に、マーカ本体１２の中心位置を設定する。本実施形態では、マーカ本体１２の代表点Ｐ４をマーカ本体１２の中心位置とするので、マーカ本体代表点位置座標５３２ｃには当該交点の座標が格納される。
【０１０５】
マーカ本体面法線ベクトル５３２ｄは、カメラ座標系Ｚｃ軸マイナス向きとなる。なお、左仮想カメラＣ１と右仮想カメラＣ２の中間点Ｃ３（図４参照）に向くように設定する構成としてもよい。更には、中間点Ｃ３でなく、今回の画像生成タイミングで生成する立体視画像の視点となる左仮想カメラＣ１又は右仮想カメラＣ２を向くように設定してもよい。
【０１０６】
指示対象オブジェクトリスト５２８に登録されている全ての指示対象オブジェクト４についてループＡを実行したならば、処理部２００は次に、指示対象オブジェクトリスト５２８に登録されている指示対象オブジェクト４の中から、視差座布団１４を設定するべきオブジェクトを抽出・登録する（ステップＳ５０）。
具体的には、左仮想カメラＣ１と右仮想カメラＣ２の少なくとも何れか一方と指示対象オブジェクト４との間に、指示対象オブジェクト４の一部又は全部を仮想カメラから隠す他オブジェクトが存在する指示対象オブジェクト４を抽出し、抽出した指示対象オブジェクトのオブジェクトＩＤを視差座布団付与オブジェクトリスト５３４に格納・登録して視差座布団付与オブジェクトリスト５３４を更新する。
【０１０７】
次に、処理部２００は、視差座布団付与オブジェクトのオブジェクトＩＤと対応づけて、当該視差座布団付与オブジェクトを仮想カメラから隠す他オブジェクトそれ自体のオブジェクトＩＤを格納して遮蔽オブジェクトリスト５３６を更新する。つまり、遮蔽オブジェクトリスト５３６に他オブジェクトを登録する（ステップＳ５２）。
【０１０８】
次に、処理部２００は視差座布団付与オブジェクトリスト５３４に登録されている全オブジェクトについてループＢを実行する（ステップＳ６０〜ステップＳ７８）。
具体的には、ループＢでは、処理部２００は先ず、ループＢの処理対象とする視差座布団付与オブジェクトに対応する遮蔽オブジェクト（本実施形態では、三人称視点を採用するので実質的に自機２のオブジェクトに同じ）より所定距離Ｌ２だけ仮想カメラ寄りの位置に、仮想カメラのカメラ座標系Ｚｃ軸に垂直な視差座布団配置面８を設定する（ステップＳ６２；図４参照）。
【０１０９】
そして、もし今回の画像生成タイミングにおける左右フラグ５１９が「１」ならば（ステップＳ６４の「１」）、処理部２００は、当該配置面に左視差座布団１４１を配置する（ステップＳ６６）。もし、左右フラグ５１９が「０」ならば（ステップＳ６４の「０」）、右視差座布団１４２を配置する（ステップＳ６８）。
【０１１０】
ステップＳ６２〜Ｓ６８をより具体的に説明すると、例えば、処理部２００は、視差座布団組データ５４４を設定し、処理対象とする視差座布団付与オブジェクトのオブジェクトＩＤを対応オブジェクトＩＤ５３２ｂ（図６参照）とするマーカ本体ＩＤ５３２ａを対応マーカ本体ＩＤ５４４ａに格納する。
【０１１１】
そして、左視差座布団１４１については、処理対象とする視差座布団付与オブジェクトに対応づけられる遮蔽オブジェクト（自機２）の代表点Ｐ２からカメラ座標系Ｚｃ軸マイナス方向へ所定距離Ｌ２だけ左仮想カメラＣ１寄りの位置を求め、当該位置を通り、面法線ベクトルがカメラ座標系Ｚｃ軸マイナス方向を向く面として視差座布団配置面８を設定する。つまり、求めた左仮想カメラＣ１寄りの位置を、左視差座布団代表点位置座標５４４ｂとして設定し、当該左仮想カメラＣ１寄りの位置からカメラ座標系Ｚｃ軸マイナス方向を向くベクトルを左視差座布団面法線ベクトル５４４ｃに設定する。なお、左視差座布団面法線ベクトル５４４ｃは、左仮想カメラＣ１と右仮想カメラＣ２の中間点Ｃ３を向くベクトルに設定するとしてもよい。
【０１１２】
更に、処理部２００は、マーカ本体制御データ５３０を参照して、処理対象とする視差座布団付与オブジェクトのＩＤが合致する対応オブジェクトＩＤ５３２ｂのマーカ本体１２を選択し、左仮想カメラＣ１と当該マーカ本体の四隅それぞれを通る４本の線分を求め、当該４本の線分それぞれと視差座布団配置面８との４つの交点を求める。そして、求めた４つの交点を包含するように左視差座布団１４１のサイズを決定し、そのサイズ情報を、ポリゴンの頂点座標又は標準サイズに対する拡大倍率値として左視差座布団ポリゴンデータ５４４ｄに格納する。
【０１１３】
右視差座布団１４２についても同様に処理され、処理対象とする視差座布団付与オブジェクトに対応づけられる遮蔽オブジェクト（自機２）の代表点Ｐ２からカメラ座標系Ｚｃ軸マイナス方向へ所定距離Ｌ２だけ右仮想カメラＣ２寄りに右視差座布団代表点位置座標５４４ｅを設定し、右視差座布団面法線ベクトル５４４ｆをカメラ座標系Ｚｃ軸マイナス方向を向くように設定する。また、処理対象とする視差座布団付与オブジェクトに対応するマーカ本体の四隅を通る線分と視差座布団配置面８との交点を包含するように右視差座布団１４２のサイズを決定し、サイズ情報を右視差座布団ポリゴンデータ５４４ｇに格納する。勿論、右視差座布団面法線ベクトル５４４ｆについては、左仮想カメラＣ１と右仮想カメラＣ２の中間点Ｃ３を向くベクトルに設定するとしてもよい。
【０１１４】
次いで、もし今回の画像生成タイミングにおける左右フラグ５１９が「１」ならば（ステップＳ７２の「１」）、処理部２００は、左視差座布団１４１の色をマーカ本体１２の色に基づいて算出・設定するとともに、透明度を、中央部を所定の透明度ｔとして外縁に向かうにつれて透明度が高くなるように設定する（ステップＳ７４）。
【０１１５】
また、もし今回の画像生成タイミングにおける左右フラグ５１９が「０」ならば（ステップＳ７２の「０」）、右視差座布団１４２の色をマーカ本体１２の色に基づいて算出・設定するとともに、透明度を、中央部を所定の透明度ｔとして、外縁に向かうにつれて透明度が高くなるように設定する（ステップＳ７６）。左視差座布団１４１、右視差座布団１４２の色と透明度の設定情報は左視差座布団ポリゴンデータ５４４ｄ、右視差座布団ポリゴンデータ５４４ｇにそれぞれ格納される。
【０１１６】
左視差座布団１４１又は右視差座布団１４２の色と透明度が設定できたならば、処理部２００はループＢを終了する（ステップＳ７８）。そして、全ての視差座布団付与オブジェクトについてループＢを実行したならば、処理部２００はターゲットマーカ配置処理を終了する。
【０１１７】
図７のフローチャートに戻って、処理部２００は次に、ゲーム空間画像生成処理を実行する（ステップＳ１４）。
具体的には、左右フラグ５１９を参照して、今回の画像生成タイミングで生成するべき画像が左眼用立体視画像であれば、左視差座布団１４１は描画対象とし、右視差座布団１４２は描画対象外として、左仮想カメラＣ１でゲーム空間の様子を撮影した画像をレンダリングして左眼用ゲーム空間画像を生成する。また、生成するべき画像が右眼用立体視画像であれば、左視差座布団１４１は描画対象外とし、右視差座布団１４２を描画対象として、右仮想カメラＣ２でゲーム空間の様子を撮影した画像をレンダリングし、右目用ゲーム空間画像を生成する。その際、隠蔽処理のプライオリティは、マーカ本体１２を最も高く（最も手前）に設定し、次のプライオリティに視差座布団１４を設定し、それ以降に自機２や敵機３、背景のオブジェクトを仮想カメラとの相対位置関係に基づいて決定する。
【０１１８】
そして、処理部２００は生成した左眼用ゲーム空間画像又は右眼用ゲーム空間画像に、方位メータ２０や経過時間表示２１などの各種情報表示体を合成して、最終的な左目用立体視画像又は右目用立体視画像を生成し、立体視画像表示部３６１に表示させる（ステップＳ１０２）。
【０１１９】
次に、処理部２００は今回の画像生成タイミングにおけるゲーム進行の結果の判定処理を実行する（ステップＳ１０４）。例えば、自機２や敵機３の攻撃のヒット判定、被弾時のダメージ判定、残弾数や耐久値の更新などを行う。
【０１２０】
そして、未だ所定のゲーム終了条件を満たしていなければ（ステップＳ１０６のＮＯ）、左右フラグ５１９の切り換え処理（ステップＳ１０８）や、適宜画像生成タイミングのタイミング同期処理を実行した後、ステップＳ１０に戻ってゲーム進行制御を続ける。もし、更新されたゲーム結果がゲーム終了条件を満たしていれば（ステップＳ１０６のＹＥＳ）、エンディング処理を実行して（ステップＳ１１０）、一連の処理を終了する。
【０１２１】
なお、左目用立体視画像と右目用立体視画像とを交互に生成する場合を説明したが、同時に生成するようにしてもよい。具体的には、ステップＳ６４を省略し、ステップＳ６６に続いてステップＳ６８を連続して実行する構成とする。同様に、ステップＳ７２を省略して、ステップＳ７４に続いてステップＳ７６を連続して実行する構成とする。そして、ステップＳ１００では、左眼用ゲーム空間画像と右眼用ゲーム空間画像を順番に生成し、ステップＳ１０２では左眼用立体視画像と右目用立体視画像とをともに生成するとすれば良い。
【０１２２】
以上、本実施形態によれば、ターゲットマーカ１０を、マーカ本体１２と視差座布団１４とで構成し、マーカ本体１２を、当該ターゲットマーカが指示する指示対象オブジェクト４の直近仮想カメラ側位置に配置し、隠蔽処理のプライオリティを最優先（最前）に設定することで「視差の乖離」を無くすことができる。そして、マーカ本体１２の輪郭を「ぼかす」領域として視差座布団１４を設けることで、指示対象オブジェクト４と仮想カメラとの間に他オブジェクトが有って、当該指示対象オブジェクト４又はマーカ本体１２の一部又は全部を隠す場合であっても、ターゲットマーカ１０に「奥行・隠蔽矛盾」が発生し、見にくい画像となるのを緩和できる。
【０１２３】
なお、ステップＳ５２における、遮蔽オブジェクトの登録処理は、計算負荷が高い場合がある。この負荷を避けたい場合には、ステップＳ５２の登録処理を省略しても良い。具体的には、最も手前の面（前方クリップ面など）の奥行き位置に、視差座布団１４を配置する、と一律に決定する。さらには、最も手前の面でなく、例えば、表示画面に視差座布団１４を配置する、と一律に決定してもよい。この場合、視差座布団１４の奥行き位置よりも手前に、他のオブジェクトが覆いかぶさっている場合には、視差座布団１４と他のオブジェクトの間に「奥行・隠蔽矛盾」が発生することになるが、視差座布団１４は、輪郭の領域をぼやかして描画しているため、奥行位置があいまいになっており、「奥行・隠蔽矛盾」が目立つことはない。このように奥行位置を、簡易的に設定したとしても、理想的ではないにせよ、ある程度の効果を得ることができる。
【０１２４】
〔第２実施形態〕
次に、本発明を適用した第２実施形態について説明する。本実施形態は、基本的に第１実施形態と同様に実現されるが、第１実施形態と比べると、「表示の優先度」と「奥行き位置」が矛盾し得る２つの表示物の設定が異なる。なお、第１実施形態と同様の構成要素については、同じ符合を付与して説明は省略するものとする。
【０１２５】
第１実施形態では、指示対象オブジェクトであるＮＰＣ（敵機３）を第１の表示物としたが、本実施形態ではプレーヤキャラクタを第１の表示物とする。また、第１実施形態では、ターゲットマーカ１０を第２の表示物としたが、本実施形態ではプレーヤキャラクタに関する各種情報（より具体的には、キャラクタの発言内容）を第２の表示物としている。
【０１２６】
図９は、本実施形態におけるゲーム画面例を示す図である。本実施形態における立体視画像をベースとしたビデオゲームは、ＲＰＧ（ロールプレイングゲーム）である。本実施形態のゲーム画面は、ゲームプレイ中に主に表示されるメインゲーム画面Ｗ２と、発言イベント時に限定的に表示される発言イベント画面Ｗ４とを含む。
「発言イベント」は、ゲームを盛り上げるためにゲームの途中途中で自動的に挿入される演出イベントであって、ゲーム中に発言イベント毎に指定されたイベント発動条件を満たすと実行される。発言イベントに係わるキャラクタの位置、動作、発言内容、及び左右の仮想カメラの位置や姿勢、画角などは、ゲーム制作者によって予め設定されている。つまり、所定のシナリオに従って自動的に実行される。そして、イベントが終了すると、メインゲーム画面Ｗ２の表示に戻る。
【０１２７】
メインゲーム画面Ｗ２は、左眼用立体視画像と右眼用立体視画像とを、ビデオモニタ１２２０で表示することにより、立体視メガネ１２２６を装着したプレーヤに見える画面である。図示の例は平面的な画像として示しているが、プレーヤには立体感ある映像として視認されるものとする。
【０１２８】
仮想三次元空間には、背景オブジェクト３３（例えば、地面の凹凸を構成する地面オブジェクトや、空を描いたテクスチャが内面に適用される半球状の天球オブジェクト）が配置されてゲーム空間内が形成され、そこにプレーヤキャラクタ３２や、ＮＰＣ（ノンプレーヤキャラクタ）である敵３４となるキャラクタオブジェクトが配置される。
【０１２９】
メインゲーム画面Ｗ２を見せるための左眼用立体視画像は、プレーヤキャラクタ３２とその周囲の様子を左眼用の視点となる左仮想カメラで撮影した３ＤＣＧ、すなわち左眼用ゲーム空間画像をベースに、左眼用の所定位置（左仮想カメラから所定の奥行位置情報を示すように所定の両眼視差分を考慮した位置）に、プレーヤキャラクタ３２のヒットポイント表示４０や、敵３４に関する情報表示欄４１などの２Ｄスプライン画像が合成されて生成される。右眼用立体視画像についても、同様に右眼用の視点となる右仮想カメラで撮影した３ＤＣＧ（右眼用ゲーム空間画像）に、右眼用の所定位置にヒットポイント表示４０や、情報表示欄４１などを合成して生成される。
【０１３０】
発言イベント画面Ｗ４も、メインゲーム画面Ｗ２と同様に左眼用立体視画像と右眼用立体視画像を、ビデオモニタ１２２０表示することにより、立体視メガネ１２２６を掛けたプレーヤには立体的に見える画面である。
【０１３１】
発言イベント画面Ｗ４を生成する際には、図１０に示すように、所定の発言イベントのシーンの構成を定義するデータに従って、メインゲーム画面Ｗ２を撮影するためのメインゲーム空間とは別に、イベント用のゲーム空間（イベント空間）が形成され、そこに当該イベントに係わるキャラクタのオブジェクト（図１０の例では、プレーヤキャラクタ３２と、ＮＰＣ３７のオブジェクト）と、発言内容３５とが配置される。そして、イベント空間内に設置された左仮想カメラＣ１及び右仮想カメラＣ２で、イベント空間内を撮影して左ゲーム空間画像及び右ゲーム空間画像が生成される。
【０１３２】
発言イベントの中心は、ゲームに登場するキャラクタの発言であり、会話形式であったり、単独での心情の吐露であったりする。
発言内容３５は、透明ポリゴンにキャラクタに関する情報（この場合、発言の台詞）が描画されて構成され、第１実施形態のマーカ配置面６と同様にして求められる発言内容配置面６Ｂに配置される。発言内容配置面６Ｂは、発言するキャラクタ（図示の例では、プレーヤキャラクタ３２）の代表点かからカメラ座標系Ｚｃ軸マイナス方向へ所定距離Ｌ１だけ離した位置に、カメラ座標系Ｚｃ軸と垂直な面として設定される。
【０１３３】
そして、左仮想カメラＣ１又は右仮想カメラＣ２から見て発言内容３５（図示の例では台詞文字）が、他のオブジェクト（図示の例では、ＮＰＣ３７）によりその一部又は全部が隠される場合、つまり隠蔽オブジェクトが存在する場合には、視差座布団３６が配置される。勿論、発言内容３８の一部又は全部が隠されない場合であっても、常時、視差座布団３６を配置するようにしてもよい。
【０１３４】
基本的には、第１実施形態の視差座布団１４の配置と同様である。すなわち、隠蔽オブジェクトの代表点からカメラ座標系Ｚｃ軸マイナス方向へ所定距離Ｌ２だけ離した位置に、カメラ座標系Ｚｃ軸と垂直な視差座布団配置面８Ｂを設定する。そして、左仮想カメラＣ１又は右仮想カメラＣ２から見て、発言内容３５の四隅が視差座布団配置面８Ｂと交差する点を求め、それらの交点を包含するサイズの視差座布団３６が視差座布団配置面８Ｂに配置される。
【０１３５】
そして、本実施形態においても、第１実施形態と同様にして、隠蔽処理のプライオリティは、発言内容３５が最も高く、次いで視差座布団１４、以降、プレーヤキャラクタ３２やＮＰＣ３７がゲーム空間内の配置位置に応じて順に設定される。
なお、視差座布団１４は、第１実施形態と同様に左仮想カメラ用と、右仮想カメラ用それぞれに一枚ずつ配置する構成としても良いのは勿論である。
【０１３６】
つまり、本実施形態を実現するには、第１実施形態における指示対象オブジェクト４を、プレーヤキャラクタ３２に読み替え、マーカ本体１２を発言内容３５に読み替えればよい。
【０１３７】
図１１は、発言イベント処理の流れを説明するためのフローチャートである。同処理は、ゲーム進行制御の一部処理として組み込まれ、定期的（毎フレーム間隔）に実行される。
【０１３８】
具体的には、処理部２００は先ず、発言イベントを設定するシナリオデータを参照して、現在のゲーム進行状況がイベント発動条件に合致するかを判定する。つまり、発言イベントの発生判定をする（ステップＳ１４０）。
発言イベントの発生を判定した場合には（ステップＳ１４０のＹＥＳ）、処理部２００は、イベント画像Ｗ４を撮影するためのイベント空間を形成し、そこに当該イベントに登場するキャラクタのオブジェクトと、左仮想カメラＣ１及び右仮想カメラＣ２を配置する（ステップＳ１４２）。
【０１３９】
次に、配置されたキャラクタオブジェクトの動作制御を、今回の画像生成タイミング分だけ実行し（ステップＳ１４４）、発言キャラクタの位置に基づいて発言内容配置面６Ｂを設定する（ステップＳ１４６）。そして、発言内容配置面６Ｂに発言内容３５を配置する。
【０１４０】
次に、発言キャラクタを視差座布団付与オブジェクトとみなし（ステップＳ１５０）、視差座布団付与オブジェクトに対する遮蔽オブジェクトを検索する（ステップＳ１５６）。もし、遮蔽オブジェクト（図１０の例ではＮＰＣ３７）が存在すれば（ステップＳ１５６のＹＥＳ）、処理部２００は、当該遮蔽オブジェクトの配置位置に基づいて視差座布団配置面８Ｂを設定し（ステップＳ１５８）、当該配置面に視差座布団３６を配置する（ステップＳ１６０）。視差座布団３６の基準となる配色及び透明度の設定は予め、記憶部５００にテンプレートデータを記憶しておいて、参照するとしてもよい。サイズは、発言内容３５の輪郭を形成する頂点と、左仮想カメラＣ１と右仮想カメラＣ２の中間点Ｃ３を結ぶ直線と、視差座布団配置面８Ｂとの交点を包含するサイズとする。
【０１４１】
発言内容３５と視差座布団３６とを新たに配置する一方、処理部２００は、表示制限時間を超えた発言内容３５と、それに対応する視差座布団３６は、いわば表示の寿命として消去する（ステップＳ１６２）。
【０１４２】
次に、処理部２００は、左右フラグ５１９を参照して、今回の画像生成タイミングで生成するべき画像が左眼用立体視画像であれば、イベント空間内の左仮想カメラＣ１でイベント空間の様子を撮影した画像をレンダリングして左眼用ゲーム空間画像を生成する。また、生成するべき画像が右眼用立体視画像であれば、イベント空間内の右仮想カメラＣ２でゲーム空間の様子を撮影した画像をレンダリングし、右眼用ゲーム空間画像を生成する（ステップＳ１６４）。
【０１４３】
次いで、処理部２００は生成した左眼用ゲーム空間画像又は右眼用ゲーム空間画像に、ヒットポイント表示４０や情報表示欄４１などの各種情報表示体を合成して、最終的な左眼用立体視画像又は右眼用立体視画像を生成し、立体視画像表示部３６１に表示させる（ステップＳ１６６）。
【０１４４】
次に、処理部２００は発言イベントが終了したかを判定する。もし発言イベントが終了していなければ（ステップＳ１６８のＮＯ）、処理部２００は、左右フラグ５１９の切り換え処理（ステップＳ１７０）や、画像生成タイミングのタイミング同期処理を実行した後、ステップＳ１４４に戻る。
反対に、発言イベントが終了したと判定された場合には（ステップＳ１６８のＹＥＳ）、発言イベント処理を終了する。
【０１４５】
以上、本実施形態によれば、プレーヤキャラクタを第１の表示物とし、プレーヤキャラクタに関する各種情報を第２の表示物とするケースにおいても、第１実施形態と同様に、「奥行・隠蔽矛盾」による見にくさの問題を解消できる。
【０１４６】
なお、本実施形態では「プレーヤキャラクタに関する情報」として、発言イベントの発言内容を挙げて説明したが、これに限らない。
例えば、ゲーム世界の状況を説明する説明文とすることもできる。もし、そうした説明をサブキャラクタ像を添付して表示する場合には、発言内容に当該サブキャラクタ像を含めることもできる。
また例えば、本発明をレースゲームに適用する場合には、プレーヤカーのシフトポジション、速度、コースポジション表示、順位表示、ラップタイムなどを「プレーヤキャラクタに関する情報」とすることができる。
【０１４７】
また、本実施形態ではプレーヤキャラクタを第１の表示物として挙げたが、状況によっては第１の表示物を省略することもできる。例えば、アドベンチャーゲームやシミュレーションゲームなどのナレーションや、状況説明など、発言するキャラクタが特定できない場合には、ステップＳ１４６〜Ｓ１４８では、発言内容３５を対応するキャラクタオブジェクトの配置と関係無しに所定位置（勿論、予め記憶部５００に所定位置の設定情報は用意しておくものとする。）に配置し、ステップＳ１５０では、当該発言内容を視差座布団付与オブジェクトとみなすとしても良い。
【０１４８】
［変形例］
以上、本発明を適用した実施形態について説明したが、本発明の実施形態はこれに限るものではなく、適宜構成要素の追加・省略・変更を加えることができる。
【０１４９】
［その１］
例えば、立体視画像生成装置として家庭用ゲーム装置１２００を例示したが、業務用ゲーム装置、携帯型ゲーム装置、パソコン、アプリケーションソフトを実行することのできる多機能携帯電話機（いわゆるスマートフォン）や音楽プレーヤ、カーナビなどでも良く、立体視画像を生成する機能を有する装置には同様に適用することができる。
【０１５０】
更には、ビデオゲームが実行可能な装置を本発明の立体視画像生成装置として実現する場合、専用のゲームプログラムを実行する形態に限らない。例えば、専用のゲームプログラムに代えて、ウェブブラウザプログラム、及びスクリプト制御によりウェブブラウザ上でインタラクティブな表示を実現するためのプラグインを実行し、いわゆるブラウザゲームとしてビデオゲームを実現する構成でも同様に適用できる。すなわち、この場合には、端末装置に対してブラウザゲームを実行するためのプログラムや画像データを提供するサーバシステムが本発明の立体視画像生成装置となる。
例えば、プレーヤが操作するゲーム端末とサーバシステムとが通信接続されて構成されたゲームシステムにおいて、そのサーバシステムを立体視画像生成装置として、本発明を適用することとしてもよい。その場合、プレーヤの操作情報をもとに、サーバシステムが立体視画像を生成して、ゲーム端末に送信する。
【０１５１】
また、立体視画像を表示する装置（立体視表示装置；上記実施形態ではビデオモニタ１２２０）で採用される立体視の方式は、上記実施形態以外の他の方式であってもかまわない。例えば、２眼式、多眼式や空間像方式（いわゆるインテグラル方式や、フラクショナル・ビュー方式等」）等でも良い。また、採用する立体視の方式によっては、視差方向は水平方向のみに限られるものでなく、垂直方向にも視差を持つ方式であっても良く、メガネ式、裸眼式、スコープ式等の種類も問わない。更には、立体視の方式は、空間内に立体的に配置されたスクリーン、もしくは空間内を動的に移動するスクリーンに投影する方式であってもかまわないし、空間内に立体的に配置された光源群、もしくは空間内を動的に移動する光源群による方式であってもかまわない。また、それらの立体視表示装置による映像を、鏡やハーフミラーで反射させて用いてもかまわない。また、ヘッドトラッキングやアイトラッキング、ジャイロセンサー等を用いて、画面と視聴者の位置関係を取得し、それを立体視映像にフィードバックさせても良い。
【０１５２】
また、ビデオモニタ１２２０での立体視の方式は、メガネ有りとしても、メガネ無しとしてもよい。立体視画像生成装置は、ビデオモニタ１２００による立体視の方式に関わらず、最終的に各視点用の個別視点画像を生成することとなる。
【０１５３】
［その２］
また、上記実施形態では、２眼式の立体視に係る画像生成について説明したが、視点数は３以上でも構わない。すなわち、本発明を、Ｎ眼式（Ｎ≧２）の立体視に係る画像生成に適用することも勿論可能である。例えば、横方向にＮ眼式の立体視を実現する場合には、上述の左仮想カメラＣ１と右仮想カメラＣ２と同じように、横方向にＮ個の仮想カメラを所定間隔をおいて設定し、各仮想カメラに基づく画像（個別視点画像）を、上述の仮想カメラＣ１，Ｃ２と同じように生成すればよい。
【０１５４】
［その３］
また、上記実施形態では、左視差座布団１４１及び右視差座布団１４２を、それぞれ左仮想カメラＣ１又は右仮想カメラＣ２から見たマーカ本体１２の四隅位置よりも上下左右にほぼ同じ幅だけ広いサイズとした。つまり、マーカ本体１２と相似形としたが、これに限らない。
【０１５５】
例えば、図１２に示すように、マーカ本体１２と非相似形としてもよい。具体的には、左視差座布団１４１及び右視差座布団１４２を、左仮想カメラＣ１から見たマーカ本体１２の左端位置と、右仮想カメラＣ２から見た右端位置を包含するような形状とすることができる。つまり、上記実施形態における左視差座布団１４１及び右視差座布団１４２の両方に跨る形状としてもよい。この場合、透明度を最も高くするのは、マーカ本体１２の像が被さる部分とすると好適である。
こうした視差座布団の設定方法は、換言すると、Ｎ個（上記の第１実施形態ではＮ＝２）の個別視点画像それぞれにおいて、マーカ本体の描画部分との相対的な位置関係に基づいて部分毎にぼかし具合を可変しているとも言える。
【０１５６】
［その４］
また、上記実施形態では、マーカ本体１２は、設定されたまま、つまり輪郭がはっきりした画像のまま立体視画像内に合成される構成としているが、マーカ本体１２それ自体を有る程度ぼかし処理するとしてもよい。その場合、マーカ本体設定データ５１６に格納されているデータの段階で輪郭のぼかしを施しておく構成としてもよいし、ゲーム空間画像の生成段階（図７のステップＳ１００参照）において、マーカ本体１２を描画するときに、ぼかし処理を施すとしてもよい。
【０１５７】
もし、その上で、更に上記実施形態よりも演算処理の負荷軽減を望むならば、視差座布団１４の配置に係る処理を省略するとしてもよい。
具体的には、上記実施形態のターゲットマーカ配置処理（図８参照）に代えて、図１３に示すターゲットマーカ配置処理Ｂを実行する。同処理では、指示対象オブジェクト４を抽出したならば（ステップＳ３０）、抽出された全ての指示対象オブジェクト４についてループＣを実行する（ステップＳ４０〜Ｓ４８）。
ループＣでは、処理部２００のターゲットマーカ配置制御部２１８が、処理対象とする指示対象オブジェクト４よりも仮想カメラ側にマーカ配置面６を設定し（ステップＳ４４）、当該マーカ配置面にマーカ本体１２を半透明として配置設定する（ステップＳ４６）。つまり、マーカ本体１２を半透明とすることにより、その輪郭部分を「ぼかす」。なお、この場合も、隠蔽処理におけるプライオリティは、マーカ本体１２が最優先（最前）とされる。
【０１５８】
［その５］
また、上記実施形態よりも更に演算処理の負荷軽減を望むならば、左右の視差座布団１４１，１４２それぞれに視差座布団配置面８１，８２を求めたが、共通する一枚の配置面を決定する構成としてもよい。
【０１５９】
［その６］
また、上記実施形態では、指示対象オブジェクト４或いはマーカ本体１２が他のオブジェクトによって一部又は全部が隠される場合に、視差座布団１４を配置する構成としているが、一部又は全部が隠されるか否かにかかわらず、全てのターゲットマーカ１０において、視差座布団１４を配置する構成としてもよい。この場合、ターゲットマーカ配置処理（図８参照）において、ステップＳ５０〜Ｓ５２を省略し、ループＢでは、処理対象を視差座布団付与オブジェクトではなく、全ての指示対象オブジェクトについて実行する構成とすれば良い。
換言すると、ぼかし処理部２２２は、抽出された指示対象オブジェクトが他オブジェクトにより隠れないと判定された場合に、当該指示対象オブジェクトの描画の後に、指示対象オブジェクトとして選択されなかったオブジェクト（この場合、敵機３に限られる）同様のぼかし処理を施してマーカ本体１２を描画して立体視画像を生成するとも言える。
【０１６０】
［その７］
また、上記実施形態では、マーカ体の一例として、ターゲットマーカ１０を例に挙げて説明したが、本発明の適用可能なマーカ体はこれに限らない。例えば、プレーヤキャラクタが銃を所有している場合の、銃口方向を示す照準をマーカ体としてもよい。この場合、銃１つに対して指示対象オブジェクトは１つとなるため、プレーヤが１人であれば原則、ゲーム空間の中から銃口方向に位置する最も視点よりのオブジェクトが指示対象オブジェクトとして選択されることとなる。
【０１６１】
［その８］
また、上記実施形態では、視差座布団１４の大きさや形状を、フレームごとの描画時に決定することで、可変としているが、あらかじめ決定しておいても良い。マーカや発言内容など、通常オブジェクトよりも手前に表示したいものの領域を包含できる視差座布団１４の大きさや形状を、あらかじめ設定しておくことで、フレームごとに決定する負荷を軽減できる。
【０１６２】
さらに、上記実施形態では、ゲームの画像に関する処理を説明したが、本発明が適用可能な画像はゲームに限らない。例えば、医用画像や建築画像など、立体視画像として利用可能な画像全てに適用することが可能である。この場合、マーカ体は、ポインティングデバイスにより操作指示されるポインターとすると好適である。
【符号の説明】
【０１６３】
Ｃ１…左仮想カメラ
Ｃ２…右仮想カメラ
２…自機
４…指示対象オブジェクト
６…マーカ配置面
８…視差座布団配置面
１０…ターゲットマーカ
１２…マーカ本体
１４…視差座布団
１４１…左視差座布団
１４２…右視差座布団
２００…処理部
２１０…ゲーム演算部
２１２…ゲーム空間設定処理部
２１４…キャラクタ動作制御部
２１６…仮想カメラ制御部
２１８…ターゲットマーカ配置制御部
２２０…マーカ本体配置制御部
２２２…ぼかし処理部
２２４…視差座布団配置制御部
２２６…視差座布団カラー設定部
２６１…立体視画像生成部
３６１…立体視画像表示部
５００…記憶部
５０１…システムプログラム
５０２…ゲームプログラム
５１６…マーカ本体設定データ
５１８…プレイデータ
５１９…左右フラグ
５２０…自機ステータスデータ
５２２…敵機ステータスデータ
５２４…左仮想カメラ制御データ
５２６…右仮想カメラ制御データ
５２８…指示対象オブジェクトリスト
５３０…マーカ本体制御データ
５３２ｃ…マーカ本体代表点位置座標
５３２ｄ…マーカ本体面法線ベクトル
５３４…視差座布団付与オブジェクトリスト
５３６…遮蔽オブジェクトリスト
５４０…視差座布団制御データ
５４４ａ…対応マーカ本体ＩＤ
５４４ｂ…左視差座布団代表点位置座標
５４４ｃ…左視差座布団面法線ベクトル
５４４ｄ…左視差座布団ポリゴンデータ
５４４ｅ…右視差座布団代表点位置座標
５４４ｆ…右視差座布団面法線ベクトル
５４４ｇ…右視差座布団ポリゴンデータ
１２００…据置型家庭用ゲーム装置
１２０１…ゲーム装置本体
１２１０…制御ユニット
１２２０…ビデオモニタ
１２２６…立体視メガネ
１２２８…ＩＲエミッター
１２３０…ゲームコントローラ
【図１】
0005698028.tif 000002
【図２】
0005698028.tif 000003
【図３】
0005698028.tif 000004
【図４】
0005698028.tif 000005
【図５】
0005698028.tif 000006
【図６】
0005698028.tif 000007
【図７】
0005698028.tif 000008
【図８】
0005698028.tif 000009
【図９】
0005698028.tif 000010
【図１０】
0005698028.tif 000011
【図１１】
0005698028.tif 000012
【図１２】
0005698028.tif 000013
【図１３】
0005698028.tif 000014
【図１４】
0005698028.tif 000015