説明

プログラム、情報記憶媒体及び立体視画像生成装置

【課題】立体視画像を用いたビデオゲームにおいて、「吹き出し」を用いた新たな発言表示を実現すること。
【解決手段】吹き出しオブジェクト6を、発言内容5が表示される吹き出し本体61と、当該吹き出し本体の部分と発言キャラクタ2との対応関係を示す吹き出し指示体62とで構成し、吹き出し指示体62を、吹き出し本体61と発言キャラクタ2との間に、奥行位置が徐々に変化するように配置する。吹き出し本体61を、左仮想カメラC1及び右仮想カメラC2のカメラ標系Zc軸方向(奥行方向)の最も手前に配置しても、吹き出し指示体62が発言キャラクタ2の間に配置されるので、「吹き出し」の発言内容の見やすさを維持しつつ、「吹き出し」と発言キャラクタとの対応関係を明確に表示できる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、コンピュータに、キャラクタが配置された仮想三次元空間を所与の視点から見た立体視用画像を生成させるためのプログラム等に関する。
【背景技術】
【0002】
近年、立体視画像(ステレオグラム、3D映像などとも呼ばれる)を表示できるディスプレイ(テレビを含む)が普及しつつある。それに伴い、ビデオゲームを立体視に対応させるための技術が提案されるようになった。
例えば、左眼用立体視画像及び右眼用立体視画像を生成するための左右の仮想カメラの距離を調整可能とし、立体視の迫力ある映像をそのままに、長時間立体視した場合の疲労感を低減する手法などが提案されている(例えば、特許文献1参照)。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2011−24637号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
さて、平面視画像(非立体視画像の意;左右両眼に共通に見せる画像)をベースとしたビデオゲームでは通用していた手法を立体視画像にそのまま適用しようとすると、必ずしも適当とは言い難いケースが散見される。例えば、ゲーム内に登場するキャラクタなどが発言した内容を表示する場合などに使用されるいわゆる「吹き出し」がその一つである。
【0005】
例えば、RPG(ロールプレイングゲーム)などで、予め用意された会話シーンを再現する場合、当該シーンに登場するキャラクタの台詞文字を「吹き出し」で表示するのが一般的である。「吹き出し」は、ゲームを進める上で大変重要な情報を表示するものであるから、表示優先度は一番高く、ゲーム画面内にどれにも隠されることなく最も手前に表示されるのが一般的である。つまり、隠蔽処理におけるプライオリティが最も高く、常に見えている状態にされる。平面視画像をベースとしたビデオゲームであれば、「吹き出し」は発言しているキャラクタ(発言キャラクタ)の像の上に重ねて配置するか、当該像の近傍に配置すればその目的を果たすことができた。
【0006】
一方、立体視画像の場合、当然のことながらゲーム画面を生成するための視点となる左右の仮想カメラから発言キャラクタまでには固有の奥行が存在することになる。
「吹き出し」の役割からすると、表示の優先度は平面視画像をベースとしたビデオゲームのときと同様に一番高くあって、なお且つ、表示位置は発言キャラクタと同じ或いは発言キャラクタ近傍であるのが望ましい。しかし、立体視画像では、これらに加えて、奥行位置を決めなければならない。この「吹き出し」の奥行位置の決め方としては、表示優先度と矛盾しないように最も手前に持ってくるか、あるいは、発言者の奥行き位置の近傍に合わせるか、の2通りが考えられる。しかしながら、これらの方法では、立体画像の見易さという点において、問題が発生する可能性がある。
【0007】
例えば、前者、すなわち、「吹き出し」の奥行き位置を、表示優先度と矛盾しないように、最も手前に持ってくる方法では、「吹き出し」を板ポリゴンとして構成し、左仮想カメラC1及び右仮想カメラC2に最も近い仮想面(例えば前方クリップ面や、その直ぐ後ろの仮想面、表示画面と一致する仮想面等)の奥行情報を与えることになる。「吹き出し」およびその中のテキスト情報のみに注目すれば、奥行位置を表示画面近傍にするのが、最も見やすい。しかし、この方法では、「吹き出し」が最も手前に来るようにしたいわけであるから、その他のオブジェクトは、すべて「吹き出し」が存在する面よりも奥側に表示する必要がある。つまり、発言キャラクタよりもカメラ座標系Zc軸方向の奥行方向手前側に「吹き出し」を配置する。しかし、この方法では、発言キャラクタよりも随分と手前に「吹き出し」が配置される場合もあり、発言キャラクタの奥行情報と「吹き出し」の奥行情報との差が大きくなる、いわゆる「視差の乖離」が生じ、「吹き出し」と発言キャラクタを同時あるいは交互に見ようとするのが、見づらくなる原因となる。
【0008】
では、後者の方法、すなわち、「吹き出し」の奥行情報を、発言キャラクタに合わせれば良いかというとそうとは言えない。左右の仮想カメラと「吹き出し」との間に他のオブジェクトが配置され、隠れてしまう(隠蔽)という不具合が生じ得る。この場合には、吹き出しの内部にあるテキストの情報を、読むことができなくなる恐れがある。そこで、「吹き出し」の奥行位置は発言者に合わせた上で、表示優先度としては「吹き出し」を優先する、すなわち、奥行の位置関係では、「吹き出し」よりも手前に別のオブジェクトが重なっているのに、「吹き出し」が手前の別オブジェクトを覆い隠しているような表現が考えられる。この場合、あたかも吹き出しが、手前側のオブジェクトに埋まって見える。しかも、片方の目には、埋まっているように見える部分が、他方の眼には、埋まっていないように見える、といった「視野闘争」が生じ、結果として、実際にはありえないような不自然な埋まり方に見える。これは、「奥行・隠蔽矛盾」と呼ばれ、見にくさの原因となる。
【0009】
本発明は、こうした事情を鑑みてなされたものであり、立体視画像を用いたビデオゲームにおいて、「吹き出し」を用いた新たな発言表示を実現することを目的とする。
【課題を解決するための手段】
【0010】
以上の課題を解決するための第1の形態は、コンピュータに、キャラクタが配置された仮想三次元空間を所与の視点から見た立体視用画像を生成させるためのプログラムであって、
吹き出し本体(例えば、図3の吹き出し本体61)を、前記吹き出し本体を配置する際の前記視点に基づく奥行位置の基準面又は基準域を定めた奥行配置基準に従った奥行位置(例えば、図3の本体配置基準面12)に配置する本体部配置手段(例えば、図6の処理部200、ゲーム演算部210、吹き出し管理部220、本体制御部222、図12のステップS42)、
前記本体部配置手段により配置された吹き出し本体と前記キャラクタとの対応関係を示す吹き出し指示体(例えば、図3の吹き出し指示体62、指示体連結部63)を、当該吹き出し本体と前記キャラクタとの間を結ぶように奥行方向に沿って配置する指示体配置手段(例えば、図6の処理部200、ゲーム演算部210、吹き出し管理部220、指示体制御部224、図12のステップS50)、として前記コンピュータを機能させるためのプログラムである。
【0011】
また、別形態として、キャラクタが配置された仮想三次元空間を所与の視点から見た立体視用画像を生成する立体視画像生成装置であって、吹き出し本体を、前記吹き出し本体を配置する際の前記視点に基づく奥行位置の基準面又は基準域を定めた奥行配置基準に従った奥行位置に配置する本体部配置手段と、前記本体部配置手段により配置された吹き出し本体と前記キャラクタとの対応関係を示す吹き出し指示体を、当該吹き出し本体と前記キャラクタとの間を結ぶように奥行方向に沿って配置する指示体配置手段と、を備えた立体視画像生成装置(例えば、図1の家庭用ゲーム装置1200)を構成することができる。
【0012】
第1の形態等によれば、「吹き出し」を、発言の内容が表示される吹き出し本体の部分と、当該吹き出し本体とキャラクタとの対応関係を示す吹き出し指示体とで構成し、吹き出し指示体を、吹き出し本体とキャラクタとの間を結ぶように奥行方向に沿って配置することができる。
つまり、「吹き出し」の本体部分と、発言キャラクタとを、仮想カメラのカメラ座標系の奥行方向に離して配置することとなっても、吹き出し指示体が奥行位置の異なる両者間を結ぶようにして配置されるので「視差の乖離」を解消することができる。立体視画像を用いたビデオゲームにおいても「吹き出し」の発言内容の見やすさを維持しつつ、「吹き出し」と発言キャラクタとの対応関係を明確に表示することができる。
【0013】
「吹き出し」のデザインに関しては、第2の形態として、前記指示体配置手段が、前記吹き出し指示体を、前記吹き出し本体の周部所定位置から前記キャラクタに向けて奥行方向に徐々に屈曲させた板状体で配置構成する、ように前記コンピュータを機能させるための第1の形態のプログラムを構成することができる。
【0014】
第2の形態によれば、第1の形態と同様の効果が得られるとともに、吹き出し本体から吹き出し指示体、そして発言キャラクタへの視線誘導がスムーズになり「吹き出し」が見やすくなる。
【0015】
更には、第3の形態として、前記指示体配置手段が、前記吹き出し本体に近い側に最大屈曲部が位置するように前記板状体を配置構成する、ように前記コンピュータを機能させるための第2の形態のプログラムを構成することができる。
【0016】
第3の形態によれば、第2の形態と同様の効果が得られるとともに、「吹き出し」のデザインが、吹き出し本体から吹き出し指示体が延設されているタイプにおいて、デザイン性を向上できるとともに、視線誘導がより効果的になる。
【0017】
「吹き出し」のデザインを、吹き出し本体と吹き出し指示体とが分離しているタイプを採用する場合には、第4の形態として、前記指示体配置手段が、前記吹き出し本体と前記キャラクタとの間に、複数の小指示体(図13,図14の小指示体64a,64b,・・・)を異なる奥行位置に離散的に配置することで前記吹き出し指示体を配置構成する、ように前記コンピュータを機能させるための第2の形態のプログラムを構成すると好適である。このタイプの吹き出しは、キャラクタの「発言」でなく、声に出さない「思惑(モノローグ)」を示す場合等にしばしば用いられる。
【0018】
また、更なるデザイン性の向上や視線誘導の効果向上を望むならば、第5の形態として、前記指示体配置手段が、前記複数の小指示体の配置間隔を前記吹き出し本体に近い方が狭くなるように配置する、ように前記コンピュータを機能させるための第4の形態のプログラムを構成すると好適である。
【0019】
更に、吹き出し指示体のデザインに着目し、ここに多様性を持たせたいと考えるならば、第6の形態として、前記指示体配置手段が、前記吹き出し本体のサイズ及び/又は前記キャラクタのサイズに応じて前記吹き出し指示体の形態を変更して配置する、ように前記コンピュータを機能させるための第1〜第5の何れかの形態のプログラムを構成すると好適である。
【0020】
また、そうしてデザイン性の向上や視線誘導の効果向上を図りつつも、吹き出し指示体との近接部分が強調されるのを適度に抑制したい場合には、第7の形態として、前記吹き出し指示体と前記キャラクタとの奥行方向の相対的な位置関係に応じて、前記吹き出し指示体の配色を変更する配色変更手段(例えば、図6の処理部200、ゲーム演算部210、吹き出し管理部220、図8の標準配色データ514e、図12のステップS42)、として前記コンピュータを更に機能させるための第1〜第6の何れか形態のプログラムを構成すると好適である。
【0021】
また、「吹き出し」よりも仮想カメラ側になんらかのオブジェクトが存在するケースにおいても吹き出し本体の視認性を高く保持するためには、第8の形態として、前記吹き出し本体と他のオブジェクトとの位置関係に基づいて、前記視点から見て前記他のオブジェクトの一部又は全部が前記吹き出し本体に隠れるか否かを判定する隠蔽判定手段(例えば、図6の処理部200、ゲーム演算部210、吹き出し管理部220、図17のステップS76)、
前記隠蔽判定手段により隠れると判定された場合に、前記立体視用画像の生成時に、前記吹き出し本体の輪郭の視認性を低下させるために所定のぼかし処理を施して前記吹き出し本体を描画する本体部描画手段(例えば、図6の処理部200、立体視画像生成部261、図17のステップS78)、として前記コンピュータを更に機能させるための第1〜第7の何れかの形態のプログラムを構成すると好適である。
【0022】
更には、第9の形態として、吹き出し内容部を、前記視点から見て前記吹き出し本体と重なる位置であって、奥行位置が、前記吹き出し内容部を配置する際の前記視点に基づく奥行位置の基準面又は基準域を定めた内容部奥行配置基準に従った奥行位置に配置する内容部配置手段、として前記コンピュータを更に機能させるための第1〜第8の何れかの形態のプログラムを構成することもできる。
【0023】
第9の形態によれば、第1〜第8の形態の何れかと同様の効果を奏するとともに、立体視したときの「吹き出し」としての体裁を保ちつつ、「吹き出し」で示される吹き出し内容部(例えば、発言の台詞)と、吹き出し本体とをゲーム空間内の異なる奥行に配置することができる。吹き出し内容部を、発言キャラクタ近傍の奥行位置に配置すれば、吹き出し内容部に眼のピント位置を合わせたまま、ピント調整することなく吹き出しの主となるキャラクタをスムーズに見ることができる。
【0024】
尚、この場合の描画順に関しては、第10の形態として、前記奥行配置基準が、前記奥行配置基準と前記キャラクタの奥行位置との間の奥行位置を定めており、前記吹き出し本体の描画の後に前記吹き出し内容部を描画する内容部描画手段、として前記コンピュータを更に機能させるための第9の形態のプログラムを構成することができる。
【0025】
また、「吹き出し」によってプレーヤに示す内容に関して、第11の形態として、前記吹き出し内容部は、所与の画像(例えば、プレーヤ画像など)を少なくとも含み、前記本体部配置手段及び前記内容部配置手段が、前記視点に基づく前記キャラクタの奥行位置に応じて前記吹き出し本体及び前記吹き出し内容部の大きさを変化させて配置構成する、ように前記コンピュータを機能させるための第9又は第10の形態のプログラムを構成することができる。
【0026】
第11の形態によれば、第9又は第10の形態と同様の効果が得られるとともに、任意の画像を吹き出しの内容として表示できる。例えば、プレーヤ自身の画像を吹き出しの内容として表示できるので、プレーヤ同士の親近感を高めることができる。
【0027】
第12の形態は、第1〜第11の何れかの形態のプログラムを記憶したコンピュータ読み取り可能な情報記憶媒体である。ここで言う「情報記憶媒体」とは、例えば磁気ディスクや光学ディスク、ICメモリなどを含む。第12の発明によれば、第1〜第11の何れかの形態のプログラムをコンピュータに読み取らせて実行させることによって、コンピュータに第1〜第11の形態の何れかと同様の効果を発揮させることができる。
【図面の簡単な説明】
【0028】
【図1】立体視画像生成装置である据置型の家庭用ゲーム装置のシステム構成の一例を示す図。
【図2】ゲーム画面例を示す図。
【図3】吹き出しオブジェクトの表示手法の原理を説明するための図。
【図4】プレーヤキャラクタが発言キャラクタであるとの前提で、吹き出しオブジェクトと発言キャラクタとの相対位置関係を示す正面図。
【図5】プレーヤキャラクタが発言キャラクタであるとの前提で、吹き出しオブジェクトと発言キャラクタとの相対位置関係を示す正側面図。
【図6】機能構成の一例を示す機能ブロック図。
【図7】キャラクタ初期設定データのデータ構成の一例を示す図。
【図8】吹き出しテンプレートデータのデータ構成の一例を示す図。
【図9】発言イベント設定データのデータ構成の一例を示す図。
【図10】プレイデータのデータ構成の一例を示す図。
【図11】主たる処理の流れを説明するためのフローチャート。
【図12】吹き出し管理処理の流れを説明するためのフローチャート。
【図13】吹き出しオブジェクトの第1の変形例を用いたゲーム画面例を示す図。
【図14】吹き出しオブジェクトの第1の変形例の表示原理を説明するための図。
【図15】吹き出しオブジェクトの第1の変形例を扱うための吹き出し管理処理の変形例の流れを説明するためのフローチャート。
【図16】吹き出しオブジェクトの第2の変形例を用いたゲーム画面例を示す図。
【図17】イベント空間ゲーム空間画像生成処理の流れを説明するためのフローチャート。
【図18】発言内容の表示手法の変形例を説明するための図。
【図19】発言内容の表示手法の変形例を説明するための図。
【図20】家庭用ゲーム装置のシステム構成の変形例を示す図。
【図21】チャットに吹き出しを用いたゲーム画面例を示す図。
【図22】チャット吹き出し管理処理の流れを説明するためのフローチャート。
【発明を実施するための形態】
【0029】
〔第1実施形態〕
本発明を適用した第1実施形態として、立体視画像生成装置の1つである据置型の家庭用ゲーム装置において、立体視画像をベースとしたビデオゲームであって、キャラクタがゲームストーリに則した発言や会話をする自動の発言イベントが挿入されるRPG(ロールプレイングゲーム)を実行する例を挙げる。
尚、本発明が適用できるゲームジャンルはRPGに限るものではなく、立体視画像で表現されるビデオゲームであって発言イベント等の演出などで「吹き出し」を利用するビデオゲームであれば、シューティングゲームや、アクションゲーム、音楽ゲーム、戦略シミュレーションゲーム、仮想生物の育成ゲームなどその他のジャンルでも良い。また、その際「吹き出し」を利用する形態も、本実施形態でこれから説明するイベントでの利用に限らない。また、「吹き出し」で表示する内容は、発言内容の表示に限らず、例えば説明文や解説文、注釈の表示を目的としても良い。つまり、本実施形態をいわゆる「引き出し」にも同様に適用できる。
【0030】
[ゲーム装置の構成]
図1は、本実施形態における立体視画像生成装置である据置型の家庭用ゲーム装置のシステム構成の一例を示す図である。据置型の家庭用ゲーム装置1200は、ゲーム装置本体1201と、立体視画像を表示できるビデオモニタ1220と、ゲームコントローラ1230とを備える。
【0031】
ゲーム装置本体1201は、例えば制御ユニット1210と、光学ディスク1202やメモリカード1204といった情報記憶媒体の読み取り装置1206,1208とを備える。そして、家庭用ゲーム装置1200は、光学ディスク1202やメモリカード1204からゲームプログラム及び各種設定データを読み出し、ゲームコントローラ1230に為される操作入力等に基づいて制御ユニット1210が各種のゲーム演算を実行してビデオゲームを実行する。
【0032】
制御ユニット1210は、CPU(Central Processing Unit)やGPU(Graphics Processing Unit)及びDSP(Digital Signal Processor)などの各種マイクロプロセッサ、ASIC(Application Specific Integrated Circuit)、ICメモリなどの電気電子素子を備え、家庭用ゲーム装置1200の各部を制御する。
【0033】
また、制御ユニット1210は、通信装置1212と、近距離無線通信モジュール1214とを備える。
通信装置1212は、インターネットやLAN(Local Area Network)、WAN(Wide Area Network)と言った通信回線1と有線又は無線接続し、外部装置との間でデータ通信を実現する。近距離無線通信モジュール1214は、近距離無線を介して複数のゲームコントローラ1230などの付属機器との間でデータの送受信を実現する。近距離無線の形式としては、例えばBluetooth(登録商標)やUWB(超広帯域無線)、無線LANなどが適宜適用可能である。
【0034】
そして、制御ユニット1210は、ゲームコントローラ1230から受信した操作入力信号に基づいて左眼用の3DCG(左眼用の視点となる仮想カメラでゲーム空間内を撮影した画像)と右眼用の3DCG(右眼用の視点となる仮想カメラでゲーム空間内を撮影した画像)とを元にして、それらに各種情報表示体を付加した左眼用立体視画像と右眼用立体視画像を生成し、またゲーム音を生成してビデオゲームを実行する。
【0035】
生成された立体視画像に基づく映像信号やゲーム音に基づく音信号は、信号ケーブル1209で接続されたビデオモニタ1220(ディスプレイモニタ、音声信号やビデオ信号などの外部入力が可能なテレビを含む意)に出力される。尚、左眼用立体視画像と右眼用立体視画像は、ビデオモニタ1220で採用される立体視方式に適合した画像として生成され、それらに基づく映像信号の送出方式も、ビデオモニタ1220で採用される立体視方式に適合したものとする。
【0036】
ビデオモニタ1220は、立体視画像(一般に「3次元映像」とも呼ばれる立体感を与える映像)を所定の原理に基づいて表示する画像表示装置である。
本実施形態では、ビデオモニタ1220には、画像を表示するフラットパネルディスプレイ1222と、音声を放音出力するスピーカ1224と、液晶シャッター方式に分類される立体視メガネ1226と、当該メガネに制御信号を送信するためのIRエミッター1228とを備える。
【0037】
プレーヤは、立体視メガネ1226を装着し、ビデオモニタ1220のフラットパネルディスプレイ1222に表示される左眼用立体視画像や右眼用立体視画像を見つつ、スピーカ1224から放音されるゲーム音を聞きながらゲームコントローラ1230で各種操作を入力してゲームを楽しむ。
【0038】
尚、ビデオモニタ1220の立体視の原理は、適宜設定可能である。もし、裸眼立体視方式を採用する場合には、立体視メガネ1226及びIRエミッター1228を省略することができる。
【0039】
ゲームコントローラ1230は、内蔵するコントローラ制御ユニット1260を中心に、各種入力デバイス及び出力デバイスをローカルバス回路によって接続しており、コントローラ制御ユニット1260によって各デバイス間の入出力を制御する。
【0040】
入力デバイスとしては、例えば選択の決定やキャンセル、タイミングの入力などに用いられるプッシュボタン1232と、図で言うところの上下左右の各方向を単独入力するための方向入力キー1234と、操作方向と操作量とを同時に入力することのできる右アナログレバー1236及び左アナログレバー1238とを備える。
【0041】
コントローラ制御ユニット1260は、例えば、CPUやローカルバス回路におけるデータ通信を制御するバスコントローラICなどの各種マイクロチップやICメモリなどの電子部品、及びゲーム装置本体1201の近距離無線通信モジュール1214と無線通信を実現する近距離無線通信モジュール1262、などを搭載する。
【0042】
そして、コントローラ制御ユニット1260は、ローカルバス回路を介して各種入力デバイスから送信された信号に基づいて操作入力信号を生成し、生成した操作入力信号を近距離無線通信モジュール1262でゲーム装置本体1201へ送信する。また、スピーカやバイブレータなどの出力デバイスを搭載する構成では、近距離無線通信モジュール1262によって、ゲーム装置本体1201から送出された出力信号を受信した場合には、受信した出力信号に対応づけられている出力デバイスへ制御信号を生成、送出することができる。尚、コントローラ制御ユニット1260及び各部が必要とする電力は、ゲームコントローラ1230に内蔵されたバッテリー(非図示)から供給される。
【0043】
尚、ゲーム実行に必要なプログラム及び各種設定データは、通信装置1212を介して通信回線1に接続し、外部装置からダウンロードして取得する構成であっても良い。ここで言う、通信回線とは、データ授受が可能な通信路を意味する。すなわち、通信回線とは、直接接続のための専用線(専用ケーブル)やイーサネット(登録商標)等によるLAN(Local Area Network)の他、電話通信網やケーブル網、インターネット等の通信網を含む意味であり、また、通信方法については有線/無線を問わない。
【0044】
[ゲームの概要説明]
図2は、本実施形態におけるゲーム画面例を示す図である。本実施形態のRPGのゲーム画面は、ゲームプレイ中に主に表示されるメインゲーム画面W2と、発言イベント時に限定的に表示される発言イベント画面W4とを含む。
【0045】
メインゲーム画面W2は、左眼用立体視画像と右眼用立体視画像を、ビデオモニタ1220で所定周期で切り換え表示することにより、立体視メガネ1226を装着したプレーヤに見える画面である。図示の例は平面的な画像として示しているが、プレーヤには立体感ある映像として視認されるものとする。
【0046】
仮想三次元空間には、背景オブジェクト3(例えば、地面の凹凸を構成する地面オブジェクトや、空を描いたテクスチャが内面に適用される半球状の天球オブジェクト)が配置されてゲーム空間内が形成され、そこにプレーヤキャラクタ2や、NPC(ノンプレーヤキャラクタ)である敵4となるキャラクタオブジェクトが配置される。
メインゲーム画面W2を見せるための左眼用立体視画像は、プレーヤキャラクタ2とその周囲の様子を左眼用の視点となる左仮想カメラで撮影した3DCG、すなわち左眼用ゲーム空間画像をベースに、左眼用の所定位置(左仮想カメラから所定の奥行位置情報を示すように所定の両眼視差分を考慮した位置)に、プレーヤキャラクタ2のヒットポイント表示20や、敵4に関する情報表示欄21(図の例では、「吹き出し」の一種である「引き出し」形態で表示)などの2Dスプライト画像が合成されて生成される。右眼用立体視画像についても、同様に右眼用の視点となる右仮想カメラで撮影した3DCG(右眼用ゲーム空間画像)に、右眼用の所定位置にヒットポイント表示20や、情報表示欄21などを合成して生成される。
【0047】
発言イベント画面W4も、メインゲーム画面W2と同様に左眼用立体視画像と右眼用立体視画像を、ビデオモニタ1220で所定周期で切り換え表示されることにより、立体視メガネ1226を掛けたプレーヤには立体的に見える画面である。
【0048】
発言イベント画面W4を生成する際には、所定の発言イベントのシーンの構成を定義するデータに従って、メインゲーム画面W2を撮影するためのメインゲーム空間とは別に、イベント用のゲーム空間(イベント空間)が形成され、そこに当該イベントに係わるキャラクタのオブジェクト(図2の例では、プレーヤキャラクタ2と、NPC7のオブジェクト)と、吹き出しオブジェクト6とが配置される。そして、イベント空間内に設置された左仮想カメラC1及び右仮想カメラC2で、イベント空間内を撮影して左ゲーム空間画像及び右ゲーム空間画像が生成される。
尚、メインゲーム空間のキャラクタをそのまま使って発言イベントを実行する場合には、イベント空間の設定を省略しても良いのは勿論である。
【0049】
「発言イベント」は、ゲームを盛り上げるためにゲームの途中途中で自動的に挿入される演出イベントであって、ゲーム中に発言イベント毎に指定されたイベント発動条件を満たすと実行される。発言イベントに係わるキャラクタの位置、動作、発言内容、及び左右の仮想カメラの位置や姿勢、画角などは、ゲーム制作者によって予め設定されている。つまり、所定のシナリオに従って自動的に実行される。そして、イベントが終了すると、メインゲーム画面W2の表示に戻る。
【0050】
発言イベントの中心は、ゲームに登場するキャラクタの発言であり、会話形式であったり、単独での心情の吐露であったりする。そして、発言内容5(図示の例では台詞文字)は、当該発言をしたキャラクタと視覚的に対応づけされる「吹き出し」つまり吹き出しオブジェクト6によって表示する。
【0051】
例えば、図2で示す発言イベント画面W4の例では、NPC7の肩越しに、プレーヤキャラクタ2のオブジェクトが映され、プレーヤキャラクタ2の発言内容が、プレーヤキャラクタ2に対応づけられる吹き出しオブジェクト6により表示されている。図示された形態の吹き出しオブジェクト6では、角状に引き出された部分がプレーヤキャラクタ2に向かって形成されており、吹き出しオブジェクト6で示される発言内容がプレーヤキャラクタ2に対応づけられていること、すなわちプレーヤキャラクタ2が発言キャラクタであることを示している。
【0052】
図3は、吹き出しオブジェクト6の表示原理を説明するための図であって、ゲーム空間の斜視図に相当する。図4及び図5は、プレーヤキャラクタ2が発言キャラクタであるとの前提で、吹き出しオブジェクト6と発言キャラクタとの相対位置関係を示す正面図及び側面図に相当する。
【0053】
これらの図に示すように、本実施形態の吹き出しオブジェクト6は、厚さが無い又は薄い板状ポリゴンの集合であって、発言内容5が主に示される吹き出し本体61と、当該吹き出し本体から延出されてプレーヤキャラクタ2(図の例における発言キャラクタ)に向けられる吹き出し指示体62とで構成される。そして、吹き出し指示体62は、吹き出し本体61との連結箇所を構成する指示体連結部63を有する。
【0054】
具体的には、本実施形態の吹き出し本体61は、四隅の頂点P1〜P4により定義される矩形状の板ポリゴンである。吹き出しオブジェクト6が新規に配置される場合、当初、吹き出し本体61は、発言イベントに登場するキャラクタ等の何れのオブジェクトよりも左仮想カメラC1及び右仮想カメラC2に近い本体配置基準面12上に配置される。この本体配置基準面12は、仮想カメラのカメラ座標系Zc軸(画面奥行方向)に対して直角を成す平面である。
尚、その後更に、吹き出し本体61の面の向きを、面法線ベクトルVnが(図5参照)、左仮想カメラC1又は右仮想カメラC2、或いはそれらの中間点(立体視画像を生成しない場合ならば視点が配置されるであろう位置)に向くように調整するとしても良い。
【0055】
また、吹き出し本体61の配置位置に関しては、本体配置基準面12のように、奥行位置の基準面を定義するのではなく所定の奥行幅を持った基準域を定義し、当該基準域内に配置する構成としても良い。また、本体配置基準面12は、一つに限らずカメラ座標系Zc軸方向に相互に近接した多層状に複数用意するとしても良い。
【0056】
吹き出し指示体62は、吹き出し本体61の下端部に連結される矩形ポリゴンからなる指示体連結部63と、当該指示体連結部63の下端部と指示体先端頂点P9によって定義される三角形の板ポリゴンとを備える。
【0057】
具体的には、指示体連結部63は、四隅の頂点P5〜P8で定義される板ポリゴンであって、上端の2つの頂点P5,P6は、吹き出し本体61の下辺、左右中央付近に設定されている。下端の2つの頂点P7,P8の左右間隔は上端の2つの頂点P5,P6の左右間隔よりも狭くなる相対位置関係を有し、且つ仮想カメラから見ると上端の2つの頂点P5,P6よりもすこし奧側に設定される。つまり、吹き出し指示体62の最大屈曲部が吹き出し本体61に近い側に位置するように、複数の指示体連結部63の相対角度が設定される。よって、図5で示すように、左仮想カメラC1及び右仮想カメラC2のカメラ座標系Zc軸に対して側方から見ると、吹き出し指示体62は、吹き出し本体61に対して指示体連結部63でカメラ座標系奥行方向の奧側へ屈曲された格好となる。
【0058】
吹き出し指示体62の先端部分は、指示体連結部63の下端の2つの頂点P7,P8と、指示体先端頂点P9によって定義される三角形の板ポリゴンである。
【0059】
図4及び図5に示すように、吹き出し指示体62の指示体先端頂点P9は、指示体連結部63の上端に設定されている指示体基点70と、発言キャラクタの発声箇所に予め設定されている発声基準点72とを結ぶ直線L1と、当該発声基準点72から所定半径rの球形境界面74との交点に設定される。
【0060】
発声基準点72は、発言キャラクタが発声する箇所の基準点である。図の例では、プレーヤキャラクタ2を人型としているので、その頭部中心に設けてあるが、発言キャラクタのデザインに応じて適宜設定する。
【0061】
球形境界面74は、吹き出しオブジェクト6の吹き出し指示体62が、発言キャラクタに近接する限界面の役割を果たす。よって、その半径rは、発言キャラクタになり得るキャラクタ毎に適宜定義されている。
【0062】
また、指示体連結部63の下端の2つの頂点P7,P8は、吹き出しオブジェクト6が新規配置された当初段階では吹き出し本体61の左右中心線L3からそれぞれ等距離に設定される。しかし、指示体先端頂点P9が設定されると、吹き出し本体61の左右中心線L3から指示体先端頂点P9の左右オフセット距離D2に応じた距離だけ、吹き出し本体61の左右中心線L3から見た指示体先端頂点P9の配置方向にオフセットされる。
この結果、指示体連結部63の部分によって、吹き出し指示体62は、吹き出し本体61と、カメラ座標系Zc軸方向(奥行方向)ならびにXc軸方向(左右方向)に滑らかに接続することとなる。
【0063】
尚、一つの吹き出しオブジェクト6における指示体連結部63の構成数は、図示した一つの例に限らず、吹き出し指示体62の先端に向けて屈曲角度を徐々に変化させた複数の指示体連結部により配置構成するとしても良い。この場合、吹き出し本体61と吹き出し指示体62との連結関係が、より滑らかに見えるようになる。
【0064】
このように、本実施形態の吹き出しオブジェクト6の表示方法によれば、吹き出しオブジェクト6を、吹き出し本体61と吹き出し指示体62とで構成し、その吹き出し本体61をイベントに係わるキャラクタのオブジェクトのどれよりも仮想カメラに近い位置に配置できる。発言イベント画面W4となる左眼用立体視画像及び右眼用立体視画像では、吹き出しオブジェクト6が最も手前に表示されるので、発言イベントにおける重要な情報を見やすく表示することができる。その一方で、吹き出し本体61からは指示体連結部63を介して、吹き出し指示体62が発言キャラクタを指し示すように、カメラ座標系奧方向に延設される。よって、立体視画像をベースとしたビデオゲームでも、吹き出しオブジェクト6にて表示される発言内容5が何れのキャラクタによるものかが一目で分る。
【0065】
[機能ブロックの説明]
図6は、本実施形態における機能構成の一例を示す機能ブロック図である。同図に示すように本実施形態では、家庭用ゲーム装置1200は、操作入力部100と、処理部200と、音出力部350と、立体視画像表示部361と、通信部370と、記憶部500とを備える。
【0066】
操作入力部100は、プレーヤによって為された各種の操作入力に応じて操作入力信号を処理部200に出力する。図1では、ゲームコントローラ1230が操作入力部100に該当する。
【0067】
処理部200は、例えばマイクロプロセッサやASIC(特定用途向け集積回路)、ICメモリなどの電子部品によって実現され、操作入力部100や記憶部500をはじめ各機能部との間でデータの入出力を行うとともに、所定のプログラムやデータ、操作入力部100からの操作入力信号に基づいて各種の演算処理を実行して、据置型の家庭用ゲーム装置1200の動作を制御する。図1では、ゲーム装置本体1201に内蔵された制御ユニット1210が処理部200に該当する。
そして本実施形態における処理部200は、ゲーム演算部210と、音生成部250と、立体視画像生成部261と、通信制御部270とを備える。
【0068】
ゲーム演算部210は、ビデオゲームを実行するための各種処理を実行する。例えば、ゲーム空間設定部212を備え、仮想三次元空間内に背景オブジェクト3を配置してゲーム空間(メインゲーム空間、イベント用のゲーム空間(イベント空間))を形成し、そこにプレーヤキャラクタ2や敵4、NPC7などのキャラクタオブジェクトを配置する処理をする。
【0069】
そして、キャラクタ動作制御部214を備え、プレーヤキャラクタ2のオブジェクトを操作入力部100からの操作入力に応じて動作させる処理、及び敵4やNPC7のオブジェクトを自動的に移動及び動作させるいわゆるAI制御をする処理を実行する。
【0070】
また、仮想カメラ制御部216を備え、ゲーム空間(メインゲーム空間、イベント用のゲーム空間(イベント空間))に設置された左仮想カメラC1及び右仮想カメラC2の位置や姿勢、画角など撮影パラメータを自動制御する処理を実行する。
【0071】
その他、ゲーム演算部210は、プレーヤキャラクタ2と敵4のエンカウント判定、エンカウントした敵4との交戦処理、交戦によるダメージの反映処理、勝敗の判定処理などを実行する。また、適宜カウンタ、タイマーに係る計時処理、フラグ設定など、ビデオゲームの実行に必要な各種処理を実行することができる。尚、ビデオゲームの進行制御に関する処理は、公知のビデオゲーム(本実施形態であればRPG)のそれと同様にして実現できる。
【0072】
また、本実施形態のゲーム演算部210は、更に発言イベント管理部218を有し、ゲーム進行状況が、発言イベント毎に用意されている発動条件を満たすか否かを判定する。
【0073】
発言イベント管理部218によって、イベント発動条件を満たすと判定された発言イベントがあれば、ゲーム演算部210は、当該イベントを発動し進行制御を開始する。
イベントの進行を開始すると、発動したイベント内容に応じて、ゲーム空間設定部212でイベント空間を形成し、キャラクタ動作制御部214でイベント空間内のキャラクタの動作制御し、仮想カメラ制御部216でイベント空間内の左仮想カメラC1及び右仮想カメラC2を制御する。
【0074】
そして、引き出し管理部220によって、発言イベントで配置される吹き出しオブジェクト6の管理を実行する。本実施形態における引き出し管理部220は、更に本体制御部222と、指示体制御部224と、連結制御部226と、発言内容制御部228とを有する。
【0075】
本体制御部222は、吹き出し本体61を配置する際の仮想カメラ(ゲーム空間画像生成のための視点)に基づく奥行位置の基準面又は基準域を定めた奥行配置基準(例えば、図3の本体配置基準面12)に従って、吹き出し本体61の奥行位置を定める。そして、吹き出し本体61のサイズの決定、向きの調整などに関する処理を行う。
具体的には、発言毎に定義される左仮想カメラC1及び右仮想カメラC2のカメラ座標系の所定奥行位置に、新たな吹き出しオブジェクト6の吹き出し本体四隅の頂点P1〜P4を、テンプレート通り設定する。
もし、吹き出し本体61の面の向きを仮想カメラに向けたい場合には、例えば、吹き出し本体61の面法線ベクトルが左仮想カメラC1、右仮想カメラC2、又はその中間位置の何れかを向くように、吹き出し本体61の向きを補正するとしても良い。
【0076】
指示体制御部224は、吹き出し本体61と発言キャラクタとの対応関係を示す吹き出し指示体62を配置する。具体的には、吹き出しオブジェクト6のテンプレートで吹き出し本体に対して所定位置に配置される指示体先端頂点P9(図4参照)を、吹き出し本体61から発言キャラクタを向いたライン上で、当該発言キャラクタの発声部位から所定距離離れた位置に移動し調整する。
また、吹き出し指示体62の指示体先端頂点P9側の部分を次のように処理してもよい。すなわち、吹き出し指示体62の奥行位置が発言キャラクタに近づくほど透明度が高くなるように吹き出し指示体部分の透明度を設定する。こうすることで、吹き出し指示体62がぼんやりと発言キャラクタを指し示しているように表現でき、ゲーム画面に表れる視覚的な世界観を阻害することが無い。
【0077】
連結制御部226は、指示体連結部63の形状を、吹き出し本体61と吹き出し指示体62の先端位置の相対位置関係に応じて調整し、両者をスムーズに連結し、あたかも吹き出し本体61から吹き出し指示体62が一体的且つ滑らかに発言キャラクタに向けて延出・屈曲しているかのように見せる。
具体的には、指示体連結部63の下端2つの頂点P7,P8の左右位置を、吹き出しオブジェクト6のテンプレートで指示された位置から、指示体先端頂点P9に近づけるようにオフセットする。
【0078】
発言内容制御部228は、発言内容5を吹き出しオブジェクト6で表示させるための補助処理を実行する。例えば、当該台詞のテキストをテクスチャに合成することで、吹き出しオブジェクト6に適用されるテクスチャを生成する。
【0079】
また、ゲーム演算部210は、システム時刻計時部248を含む。システム時刻計時部248は、CPUの内部クロックを利用して各種タイマーなどの計時処理を実行する。
【0080】
その他、ゲーム演算部210は、ゲーム進行に必要な情報処理(例えば、外部装置から受信した情報のデコード、テクスチャの展開、ヒット判定、フラグ設定など)や、ビデオゲームの実行に必要な各種処理を実行することができる。
【0081】
音生成部250は、例えばデジタルシグナルプロセッサ(DSP)や、音声合成ICなどのプロセッサ、音声ファイル再生可能なオーディオコーデック等によって実現され、ゲーム演算部210による処理結果に基づいてゲームに係る効果音やBGM、各種操作音の音信号を生成し、音出力部350に出力する。尚、発言内容を音声で再生する構成では、吹き出しオブジェクト6の表示に応じて、発言内容を読み上げる音声をデコードするとしても良い。
【0082】
音出力部350は、音生成部250から入力される音信号に基づいて効果音やBGM等を音出力するための装置である。図1ではビデオモニタ1220のスピーカ1224がこれに該当する。
【0083】
立体視画像生成部261は、例えば、デジタルシグナルプロセッサ(DSP)などのプロセッサ、その制御プログラム、フレームバッファ等の描画フレーム用ICメモリ等によって実現される。立体視画像生成部261は、所定の画像生成タイミング(例えば1/240秒)で左仮想カメラC1を視点とするゲーム空間の画像を元にした左眼用立体視画像と、右仮想カメラC2を視点とするゲーム空間の画像を元にした右眼用立体視画像を交互に生成し、生成した立体視画像の画像信号を立体視画像表示部361に出力する。
尚、ビデオモニタ1220の立体視表示原理によっては、適宜、左眼用立体視画像及び右眼用立体視画像を同時生成し、同時出力するものとする。
【0084】
立体視画像表示部361は、立体視画像生成部261から入力される画像信号に基づいて立体視可能にゲーム画像を表示する。例えば、フラットパネルディスプレイ、ブラウン管(CRT)、プロジェクター、ヘッドマウントディスプレイといった画像表示装置と、当該画像表示装置の立体視原理に対応した立体視メガネ及びそれに制御信号を送信する送信機などによって実現できる。図1ではビデオモニタ1220のフラットパネルディスプレイ1222、立体視メガネ1226、IRエミッター1228が該当する。
【0085】
通信制御部270は、データ通信に係るデータ処理を実行し、通信部370を介して外部装置とのデータのやりとりを実現する。
【0086】
通信部370は、通信回線1と物理レベルで接続して通信を実現する。例えば、無線通信機、モデム、TA(ターミナルアダプタ)、有線用の通信ケーブルのジャックや制御回路等によって実現され、図1では通信装置1212がこれに該当する。
【0087】
記憶部500は、処理部200に家庭用ゲーム装置1200を統合的に制御させるための諸機能を実現するためのプログラムや、ビデオゲームの進行を実行するためのプログラム、各種データ等を記憶する。また、処理部200の作業領域として用いられ、処理部200が各種プログラムに従って実行した演算結果や操作入力部100から入力される入力データ等を一時的に記憶する。この機能は、例えばRAMやROMなどのICメモリ、ハードディスク等の磁気ディスク、CD−ROMやDVDなどの光学ディスクなどによって実現される。
【0088】
本実施形態の記憶部500は、システムプログラム501と、ゲームプログラム502と、メインゲーム空間設定データ510と、キャラクタ初期設定データ512と、吹き出しテンプレートデータ514と、発言イベント設定データ520とを予め記憶している。また、ゲームの準備や進行、並びに画像生成に伴って随時生成や更新が行われるデータとして、プレイデータ524と、システム時刻590とを記憶する。また、記憶部500は、立体視画像生成部261の記憶領域としても利用されるので、左眼用立体視画像及び右眼用立体視画像を生成する過程で使用する画像データを適宜記憶することができる。
【0089】
システムプログラム501は、家庭用ゲーム装置1200のコンピュータとしての入出力の基本機能を実現するためのプログラムである。ゲームプログラム502は、処理部200が読み出して実行することによってゲーム演算部210としてゲーム進行制御するための諸機能を実現させるためのアプリケーションソフトである。尚、ゲームプログラム502は、システムプログラム501の一部として組み込まれた構成であっても良い。
【0090】
メインゲーム空間設定データ510は、仮想三次元空間にメインゲーム画面W2の撮影に使用するメインゲーム空間を構成するための背景オブジェクト3のモデルデータや、テクスチャデータ、モーションデータ、配置位置座標、などの情報をオブジェクト毎に格納する。
【0091】
キャラクタ初期設定データ512は、プレーヤキャラクタ2や敵4、発言イベントに登場するNPC7などのキャラクタとなるオブジェクトのモデルデータや、テクスチャデータ、様々な動作を実現するための複数のモーションデータセット(例えば、モーションIDとそれに対応するモーションデータを含む)、配置位置座標、移動パターン、装備品の初期設定、などの情報をオブジェクト毎に格納する。
【0092】
具体的には、図7に示すように、キャラクタ毎にキャラクタデータセット512aを格納する。一つのキャラクタデータセット512aには、キャラクタID512b、キャラクタモデルデータ512c、キャラクタテクスチャデータ512dなどとともに、当該キャラクタのローカル座標系における発声基準点72の座標値である発声基準点座標512eと、球形境界面74の半径rを示す境界面半径512fと、を格納する。
【0093】
吹き出しテンプレートデータ514は、吹き出しオブジェクト6の雛形を定義するデータを格納する。例えば、本実施形態では、図8に示すように、(1)吹き出し本体61の形状を決定する頂点(P1〜P4)のローカル座標系座標値を含む標準吹き出し本体頂点座標514aと、(2)指示体連結部63の形状を決定する頂点(P5〜P8)のローカル座標系座標値を含む標準指示体連結部頂点座標514bと、(3)吹き出し指示体62の先端位置(P9)のローカル座標系座標値である標準指示体先端頂点座標514cと、(4)指示体基点70のローカル座標系座標値である標準指示体基点座標514dと、(5)吹き出しオブジェクト6に適用されるテクスチャなどの配色情報や、透明度パターンなど、吹き出しオブジェクト6の標準とされる表示形態を定義する標準配色データ514eとを格納する。
【0094】
例えば、標準指示体連結部頂点座標514bについては、吹き出し本体61の左右中心線L3(図4参照)からの距離で定義している。
また例えば、標準配色データ514eは、吹き出し指示体62と、発言キャラクタとのカメラ座標系Zc軸(画面奥行方向)の相対的な位置関係に応じて配色が決まるように設定されている。例えば、相対的な距離が長いほど、青みを帯びるように、或いは暗色になるように設定してもよい。また、透明度パターンは、吹き出し指示体62の奥行位置が発言キャラクタに近づくほど透明度が高くなるように吹き出し指示体部分の透明度が設定されている。更には、最大透明度を、吹き出し本体61と発言キャラクタとの奥行方向の相対的な位置関係に応じて高まるように設定すると、距離感を視覚的に表現できるのでより好適である。
【0095】
尚、本実施形態では吹き出しオブジェクト6は、1種類として説明するので吹き出しテンプレートデータ514は一つであるが、複数種類の吹き出しオブジェクト6を使い分ける時には、各種類毎に同様のデータを用意すると良い。
【0096】
発言イベント設定データ520は、キャラクタの発言が伴うイベントを定義する。例えば、図9に示すように、イベント毎にイベントデータセット522を格納する。一つのイベントデータセット522には、発言ID522aと、イベント発動条件522bと、発言キャラクタID522cと、発言内容522dと、表示制限時間522eと、イベント空間設定データ522fと、吹き出し種類522jとを格納する。
【0097】
イベント発動条件522bは、当該イベントが発生するための条件を定義する。例えば、ゲーム開始からの経過時間、プレーヤキャラクタ2のゲーム空間内での位置、特定アイテムの所持、特定の敵4やダンジョンの攻略、ある発言イベントの終了など、適宜設定することができる。
【0098】
発言内容522dは、発言内容を表示するための情報である。例えば、台詞、キャラクタの特定の表情を表す画像などの画像データ、シンボルマーク、など適宜設定することができる。
【0099】
表示制限時間522eは、当該発言内容を表示するための吹き出しオブジェクト6が配置されてから消されるまでの時間を定義する。
【0100】
イベント空間設定データ522fは、発言イベント画面W4を生成するための専用のゲーム空間(イベント空間)を形成するための情報を格納する。例えば、発言イベントが行われる場所を形成する背景オブジェクトの配置情報、発言イベントに登場するキャラクタの種類とそのオブジェクトの配置位置や姿勢、モーション制御データといったキャラクタの配置情報を含む。また、撮影パラメータ522gと、吹き出し本体配置基準情報522hとを含む。
【0101】
撮影パラメータ522gは、当該発言イベントの発言イベント画面W4を撮影するための左仮想カメラC1及び右仮想カメラC2の配置位置、姿勢、画角、それらの時間変化を定義するデータなどを格納する。
【0102】
吹き出し本体配置基準情報522hは、当該発言イベントの発言イベント画面W4を撮影するための左仮想カメラC1及び右仮想カメラC2に対する、吹き出しオブジェクト6の配置位置を決定するための情報を格納する。例えば、配置可能な本体配置基準面12(図3参照)を定義する情報などである。
【0103】
吹き出し種類522jは、吹き出しオブジェクト6を複数種類の中から選択して利用できる構成である場合に、当該発言イベントで使用する種類を指定する。
【0104】
尚、イベントデータセット522は、単独の発言を定義する形式、映像表現用語で言うところのカット単位で定義する構成に限らない。例えば、イベントの時間経過に応じて切り換えられる複数の発言とその実行タイミングを時系列に組み合わせ指定するスクリプト形式とし、映像表現用語で言うところのシーン単位で定義する構成としても良い。
【0105】
プレイデータ524は、現在実行中のゲーム進行状況を示す各種パラメータ値を格納する。具体的には、例えば図10に示すように、左右フラグ525と、メインゲーム空間ステータスデータ526と、イベント空間ステータスデータ528とを含む。
【0106】
左右フラグ525は、今回の画像生成タイミングにおいて、左右何れの立体視画像を生成するかを示す。例えば、「1」が左、「0」が右をそれぞれ示し、画像生成タイミング毎に切り換えられる。
【0107】
メインゲーム空間ステータスデータ526は、メインゲーム画面W2を撮影するために用意されたメインゲーム空間(第1のゲーム空間)の情報を格納する。例えば、メインゲーム空間専用のキャラクタステータスデータ532と、左仮想カメラ制御データ534と、右仮想カメラ制御データ536とを含む。
【0108】
キャラクタステータスデータ532は、プレーヤキャラクタ2や敵4などのキャラクタオブジェクト毎に用意され、対応するキャラクタオブジェクトの状態を示すデータ、例えば、位置座標、姿勢、移動速度、適用中のテクスチャデータやモーションの制御データ、ヒットポイントなどを格納し、キャラクタ動作制御部214により逐次更新される。
【0109】
左仮想カメラ制御データ534と、右仮想カメラ制御データ536は、左仮想カメラC1及び右仮想カメラC2の状態を示すパラメータ値や、撮影条件を示すパラメータ値を格納する。例えば、仮想カメラの配置位置、視線方向、撮影画角、絞り値、フィルタ種類、などを格納する。これらのデータは、仮想カメラ制御部216により逐次更新される。
【0110】
イベント空間ステータスデータ528は、発言イベント画面W4を生成するために用意されたイベント空間(第2のゲーム空間)の情報を格納する。例えば、イベント空間専用に、キャラクタステータスデータ532と、左仮想カメラ制御データ534と、右仮想カメラ制御データ536とを含む。そして、イベント空間ステータスデータ528は更に、吹き出し管理データ540を含む。
【0111】
吹き出し管理データ540は、吹き出しオブジェクト6の配置や表示に関する各種パラメータを格納し、吹き出し管理部220により配置される吹き出しオブジェクト6それぞれに対して吹き出しデータセット542が生成され更新される。そして、当該吹き出しオブジェクト6の配置解除とともに削除される。
【0112】
一つの吹き出しデータセット542は、吹き出しオブジェクト6を識別するための吹き出しID544と、当該吹き出しオブジェクトに対応づけられる発言イベントを識別するための発言ID546と、当該吹き出しオブジェクトに対応づけられるキャラクタオブジェクトを識別するための吹き出し対応キャラクタID548と、当該吹き出しオブジェクトがゲーム空間内に配置されたタイミングを示す配置開始システム時刻550とを含む。
【0113】
更に、吹き出しオブジェクト6の大きさ、姿勢、向きなどを決める情報として、吹き出し本体61及び指示連結部63の外形・向きを決めるための、吹き出し本体頂点座標552と、指示体連結部頂点座標554とを含む。前者には頂点P1〜P4の座標値、後者には頂点P5〜P8の座標値が格納される。
【0114】
また更に、吹き出しデータセット542は、指示体基点70の座標値を格納する指示体基点座標556と、吹き出し指示体62の先端位置(指示体先端頂点P9)の座標値を格納する指示体先端頂点座標558と、吹き出しオブジェクト6に適用される吹き出しテクスチャ560とを格納する。
【0115】
吹き出しテクスチャ560には、吹き出しテンプレートデータ514の標準配色データ514e(図8参照)で定義されたテクスチャに、発言ID546に対応する発言内容522d(図9参照)が合成されたテクスチャが格納される。
【0116】
尚、記憶部500には、ゲームの進行や画像生成に係る処理を実行するに当たり必要となる各種データ(例えば、タイマー値やカウンタ、座標変換行列、テクスチャ、Zバッファなど)も適宜記憶されるものとする。
【0117】
[処理の流れの説明]
次に、本実施形態における処理の流れについて説明する。ここで説明する一連の処理の流れは、処理部200がシステムプログラム501を実行中に、ゲームプログラム502を実行することによって実現される。
【0118】
図11は、本実施形態における主たる処理の流れを説明するためのフローチャートである。処理部200は先ず、メインゲーム画面W2でフィールドタイプのRPGを実行するためのメインゲーム空間を準備する(ステップS2)。
すなわち、メインゲーム空間設定データ510及びキャラクタ初期設定データ512を参照して、仮想三次元空間にメインゲーム空間を構成するための背景オブジェクト3を配置し、そこにプレーヤキャラクタ2、敵4等のキャラクタオブジェクトを初期配置する。そして、キャラクタについては、キャラクタステータスデータ532が生成され、逐次更新を開始する。更に、仮想三次元空間内に、左仮想カメラC1及び右仮想カメラC2を配置し、左仮想カメラ制御データ534及び右仮想カメラ制御データ536を生成して、逐次更新を開始する。また更に、左右フラグ525を初期化する。これらの設定情報は、プレイデータ524にメインゲーム空間ステータスデータ526として記憶・管理される。
【0119】
ゲームを開始したならば(ステップS8)、以降、処理部200はステップS10〜S92を所定の画像生成タイミングの周期、つまりビデオモニタ1220で左眼用立体視画像と右目用立体視画像を表示する周期で繰り返し実行する。
【0120】
具体的には、処理部200は、発言イベント設定データ520(図9参照)を参照して、イベント発動条件522bを満たしているかを判定する。つまり、発動条件を満たす発言イベントが有るかを判定する(ステップS10)。
【0121】
否定の場合(ステップS10のYES)、処理部200は、メインゲーム空間ステータスデータ526で記述されるメインゲーム空間について、メインゲーム画面W2で示すようなフィールドタイプのRPGを実行するために、オブジェクト毎の動作制御を実行する(ステップS12)。
例えば、操作入力部100からの操作入力信号に応じてプレーヤキャラクタ2のオブジェクトの動作を制御し、所謂AI制御により敵4の動作を制御する。もし、背景オブジェクト3にも動きが設定されているならば、その自動制御もここで実行されるものとする。
【0122】
次いで、処理部200は、メインゲーム空間の左仮想カメラC1及び右仮想カメラC2の自動制御を行う(ステップS14)。例えば、プレーヤキャラクタ2を常に撮影画角内に収めるようにして両仮想カメラの位置や姿勢(視線方向等)、画角などを制御する。
もしゲーム画面を一人称視点で構成する場合には、操作入力部100からの操作入力信号に応じて左仮想カメラC1及び右仮想カメラC2の位置や姿勢、移動速度などを変更する。
【0123】
次いで、処理部200は、メインゲーム画面W2のためにゲーム空間画像生成処理を実行する(ステップS16)。
具体的には、左右フラグ525を参照して、今回の画像生成タイミングで生成するべき画像が左眼用立体視画像であれば、メインゲーム空間内の左仮想カメラC1でメインゲーム空間の様子を撮影した画像をレンダリングして左眼用ゲーム空間画像を生成する。また、生成するべき画像が右眼用立体視画像であれば、メインゲーム空間内の右仮想カメラC2でゲーム空間の様子を撮影した画像をレンダリングし、右目用ゲーム空間画像を生成する。
【0124】
次いで、処理部200は生成した左眼用ゲーム空間画像又は右眼用ゲーム空間画像に、ヒットポイント表示20や情報表示欄21などの各種情報表示体を合成して、最終的な左目用立体視画像又は右目用立体視画像を生成し、立体視画像表示部361に表示させる(ステップS18)。
【0125】
次に、処理部200は今回の画像生成タイミングにおけるメインゲーム空間内でのゲーム進行の結果の判定処理を実行する(ステップS20)。例えば、プレーヤキャラクタ2と敵4との交戦結果の判定、それに伴うヒットポイント値の更新などを行う。
【0126】
そして、ゲーム進行の判定結果が、所定のゲーム終了条件を満たしていなければ(ステップS22のNO)、左右フラグ525の切り換え処理(ステップS24)や、適宜画像生成タイミングのタイミング同期処理を実行した後、ステップS10に戻る。
【0127】
さて、ステップS10で、イベント発動条件522bを満たしている発言イベントがあると判定された場合、つまり発言イベントが発生したと判定された場合(ステップS10のYES)、処理部200はイベント発動条件522bを満たしている発言イベントを実行するためのイベント空間を初期化する(ステップS30)。
具体的には、イベント発動条件522bを満たしていると判定されたイベントデータセット522のイベント空間設定データ522fを参照して(図9参照)、イベント空間ステータスデータ528を生成する(図10参照)。図3の例で言えば、発言イベント画面W4を生成するためのイベント空間を用意し、そこにイベントに登場する発言キャラクタ(プレーヤキャラクタ2)やNPC7、左仮想カメラC1並びに右仮想カメラC2等を配置することになる。
そして、処理部200は吹き出し管理処理を実行する(ステップS32)。
【0128】
尚、発言イベント実行中に、イベントに登場するキャラクタが動作するように設定されている場合には、ステップS32を実行する前に、それらキャラクタのオブジェクトの動作制御処理(ステップS12に相当)を適宜加えると良い。
【0129】
図12は、本実施形態における吹き出し管理処理の流れを説明するためのフローチャートである。同処理では、処理部200は先ず、ステップS10にてイベント発動条件522bを満たしたと判定された発言イベント用に、吹き出しオブジェクト6が既に配置されているかを判定する(ステップS40)。
吹き出し管理データ540(図10参照)内に、ステップS10にてイベント発動条件522bを満たしたと判定された発言イベントの発言IDと合致する発言ID546の吹き出しデータセット542が有れば肯定判定し、なければ否定判定する。
【0130】
もし、ステップS40が否定ならば(ステップS40のNO)、処理部200は次に、ステップS10にてイベント発動条件522bを満たしたと判定されたイベントデータセット522を参照して、吹き出し本体配置基準情報522hに基づく吹き出し本体配置基準面12を求め、そこに吹き出しテンプレートデータ514(図8参照)で設定されたままの新たな吹き出しオブジェクト6を配置する(ステップS42)。これに伴い、プレイデータ524の吹き出し管理データ540には、新たな吹き出しデータセット542が生成される。配置開始システム時刻550には、その時のシステム時刻590が格納される。
【0131】
そして、処理部200は、吹き出しテンプレートデータ514の標準配色データ514eと、ステップS10にてイベント発動条件522bを満たしたと判定されたイベントデータセット522とを参照して、吹き出し本体61の部分に発言内容522dを合成した吹き出しテクスチャを生成する(ステップS44;図10参照)。
【0132】
尚、吹き出しテンプレートデータ514の標準配色データ514eに、透明度の設定が含まれている場合には、これが適用されるものとする。例えば、吹き出し本体61の部分は不透明又は僅かに透明に設定し、吹き出し指示体62の先端に向かう程、透明度が高まるようにしても良い。つまり、吹き出し管理部220は、奥行位置が発言キャラクタに近づくほど透明度が高くなるように吹き出し指示体62の透明度を設定する透明度設定部として機能するとしても良い。
【0133】
尚、吹き出しオブジェクト6が既に配置済であれば(ステップS40のYES)、ステップS42とS44はスキップされる。
【0134】
次いで、処理部200は、吹き出し本体61の縦横の幅を、発言内容522dに応じて最適化する(ステップS48)。
具体的は、発言内容522dが台詞のテキストであれば、その文字数に応じて所定の関数で縦横の幅を決定し、吹き出し本体61の四隅の頂点P1〜P4の位置を補正する。もし、発言内容522dが画像であれば、当該画像のサイズよりも吹き出し本体61が一回り大きくなるように頂点P1〜P4の位置を補正する。尚、これに伴い、吹き出し本体61の下端所定相対位置に設けられる指示体基点70(図4参照)の位置も補正・変更されることとなる。
【0135】
次に、処理部200は、指示体先端頂点P9を、吹き出しテンプレートデータ514で設定されたままの位置から、発言キャラクタを差し示すのに適当な位置へ最適化する(ステップS50)。具体的には、発言キャラクタのキャラクタデータセット512a(図7参照)を参照して、現在の指示体基点70から当該発言キャラクタの発声基準点座標512eで示される発声基準点72とを結ぶ直線L1を求め、更に発声基準点72から境界面半径512fの球形境界面74を求める。そして、直線L1と球形境界面74との交点を求め、そこへ指示体先端頂点P9の位置を変更する。
【0136】
次いで、処理部200は、吹き出し本体61の左右中心線L3から、最適化された指示体先端頂点P9までの左右オフセット距離D2(図4参照)を算出し(ステップS52)、指示体連結部63の下端の2つの頂点P7,P8を、指示体先端頂点P9のある左方向又は右方向へ、左右オフセット距離D2に応じた量だけオフセットする(ステップS54)。これにより、吹き出しオブジェクト6の外形を、吹き出し指示体62が指示体連結部63でカメラ座標系奧方向及び左右に段階的に屈曲しているように設定できる。
【0137】
次いで、処理部200は、既に配置済の吹き出しオブジェクト6の配置開始システム時刻550を参照して、配置開始から、発言ID546が合致するイベントデータセット522の表示制限時間522e(図9参照)が既に経過している吹き出しオブジェクト6を抽出してこれの表示を解除し(ステップS56)、吹き出し管理処理を終了する。
【0138】
図11のフローチャートに戻って、吹き出し管理処理を終了したならば、処理部200は次に、左右フラグ525を参照して、今回の画像生成タイミングで生成するべき画像が左眼用立体視画像であれば、イベント空間内の左仮想カメラC1でイベント空間の様子を撮影した画像をレンダリングして左眼用ゲーム空間画像を生成する。また、生成するべき画像が右眼用立体視画像であれば、イベント空間内の右仮想カメラC2でゲーム空間の様子を撮影した画像をレンダリングし、右眼用ゲーム空間画像を生成する(ステップS70)。
【0139】
次いで、処理部200は生成した左眼用ゲーム空間画像又は右眼用ゲーム空間画像に、ヒットポイント表示20や情報表示欄21などの各種情報表示体を合成して、最終的な左眼用立体視画像又は右眼用立体視画像を生成し、立体視画像表示部361に表示させる(ステップS88)。
【0140】
つぎに、ステップS10にてイベント発動条件522bを満たしたと判定されたイベントが終了したかを判定する(ステップS90)。例えば、単独の発言が行われるイベントであれば、吹き出しオブジェクト6の配置開始から表示制限時間522e(図9参照)が経過したら、終了と見なされる。また、発言内容522dが複数用意されていて、時間経過とともに切り換えできる構成の場合には、最後の発言内容の配置開始から表示制限時間522eが経過したら、終了と見なすと良い。
【0141】
そして、もし発言イベントが終了していなければ(ステップS90のNO)、処理部200は、左右フラグ525の切り換え処理(ステップS92)や、画像生成タイミングのタイミング同期処理を実行した後、ステップS32に戻る。
反対に、発言イベントが終了したと判定された場合には(ステップS90のYES)、処理部200はステップS22に処理を移行する。
【0142】
ゲームが進行して、やがてメインゲーム空間におけるゲーム進行状況が所定のゲーム終了条件を満たすに至ると(ステップS22のYES)、処理部200はエンディング処理を実行して(ステップS110)、一連の処理を終了する。
【0143】
尚、左眼用立体視画像と右眼用立体視画像とを交互に生成する場合を説明したが、ビデオモニタ1220が採用する立体視表示方式によっては、それらを同時に生成するようにしてもよい。具体的には、ステップS16にて左眼用ゲーム空間画像と右眼用ゲーム空間画像をともに生成し、続くステップS18では左眼用立体視画像と右目用立体視画像とをともに生成するとすれば良い。ステップS70及びS88についても同様である。
【0144】
以上、本実施形態によれば、立体視画像を用いたビデオゲームにおいて、発言内容をプレーヤから見て手前に配置しても、ゲーム空間内のキャラクタの空間配置関係に矛盾せず、見やすい発言表示を実現することができる。
【0145】
尚、本実施形態における「吹き出し」に係る処理は、表示内容を示す本体(吹き出し本体61に相当する主体部分)と、当該内容とゲーム空間内のオブジェクトを対応づける指示体(吹き出し指示体62に相当する指向性をもつ部分)とを有する構成の表示体であれば、発言内容の表示以外にも同様に適用できる。
【0146】
例えば、図2では、敵4の情報表示欄21は、当該敵の情報を表示するための文章やマークなどを表示する「引き出し」の形態で示している。この「引き出し」は、「吹き出し」の一種と言える。よって、本実施形態における「吹き出し」に係る処理を、吹き出し指示体62が、棒線とその先端に描かれる円(丸)と見なせば、情報表示欄21にも同様に適用できる。
【0147】
その場合、発言イベント設定データ520に相当する「情報表示設定データ」なるものを用意しておく。より詳しくは、当該情報表示設定データでは、発言イベント設定データ520で言うところの発言ID522aに代えて情報IDを格納し、イベント発動条件522bを、所定の情報表示操作入力に設定する。また、発言キャラクタID522cを当該情報が表示される対象キャラクタIDとし、発言内容522dに表示する文章やマークなどを格納すると良い。そして、所定の情報表示操作の入力を検知したならば、処理部200が、吹き出し管理処理と同様にして「引き出し管理処理」なる処理を実行すると良い。
【0148】
〔変形例の説明〕
以上、本発明を適用した実施形態について説明したが、本発明の実施形態はこれに限るものではなく、適宜構成要素の追加・省略・変更を加えることができる。
【0149】
[その1]
例えば、立体視画像生成装置として据置型の家庭用ゲーム装置1200を例示したが、業務用ゲーム装置、携帯型ゲーム装置、パソコン、アプリケーションソフトを実行することのできる多機能携帯電話機(いわゆるスマートフォン)やタブレット型情報端末装置、音楽プレーヤ、カーナビなどでも良く、立体視画像を生成する機能を有する装置には同様に適用することができる。
また、プレーヤが操作するゲーム端末とサーバシステムとが通信接続されて構成されたゲームシステムにおいて、そのサーバシステムを立体視画像生成装置として、本発明を適用することとしてもよい。その場合、プレーヤの操作情報をもとに、サーバシステムが立体視画像を生成して、ゲーム端末に送信する。
【0150】
更には、ビデオゲームが実行可能な装置を本発明の立体視画像生成装置として実現する場合、専用のゲームプログラムを実行する形態に限らない。例えば、専用のゲームプログラムに代えて、ウェブブラウザプログラム、及びスクリプト制御によりウェブブラウザ上でインタラクティブな表示を実現するためのプラグインを実行し、いわゆるブラウザゲームとしてビデオゲームを実現する構成でも同様に適用できる。すなわち、この場合には、端末装置に対してブラウザゲームを実行するためのプログラムや画像データを提供するサーバシステムが本発明の立体視画像生成装置となる。
【0151】
また、立体視画像を表示する装置(立体視表示装置;上記実施形態ではビデオモニタ1220)で採用される立体視の方式は、上記実施形態の他の方式であってもかまわない。例えば、2眼式、多眼式や空間像方式(いわゆるインテグラル方式や、フラクショナル・ビュー方式等」)等でも良い。また、採用する立体視の方式によっては、視差方向は水平方向のみに限られるものでなく、垂直方向にも視差を持つ方式であっても良く、メガネ式、裸眼式、スコープ式等の種類も問わない。更には、立体視の方式は、空間内に立体的に配置されたスクリーン、もしくは空間内を動的に移動するスクリーンに投影する方式であってもかまわないし、空間内に立体的に配置された光源群、もしくは空間内を動的に移動する光源群による方式であってもかまわない。また、それらの立体視表示装置による映像を、鏡やハーフミラーで反射させて用いてもかまわない。また、ヘッドトラッキングやアイトラッキング、ジャイロセンサー等を用いて、画面と視聴者の位置関係を取得し、それを立体視映像にフィードバックさせても良い。
【0152】
[その2]
また、上記実施形態においては、吹き出しオブジェクト6の吹き出し本体61を、視点から見て最も手前に配置するとして説明してきたが、必ずしもそれに限定されるものではない。例えば、発言イベント画面W4として、前景となるオブジェクトを配置して、当該前景越しのカメラアングルを採用する場合には、吹き出しオブジェクト6の吹き出し本体61を、前景となるオブジェクトよりも視点から見て奧に配置することもできる。
具体的には、前者の例では、イベントデータセット522の吹き出し本体配置基準情報522h(図9参照)にて、例えば本体配置基準面12(図3参照)を、前景となるオブジェクトの配置位置より仮想カメラから見て奧側に設定すると良い。
【0153】
[その3]
また、吹き出しオブジェクト6のデザインは、上記実施形態で例示した「標準タイプ」に限らず、適宜設定することができる。
例えば、図13の発言イベント画面W4b、及び図14の原理説明図にて示すように、この場合の発言キャラクタであるプレーヤキャラクタ2の心情や口に出さない考えを明かすモノローグを発言内容とする場合には、吹き出しオブジェクト6を、吹き出し本体61と、複数の小指示体64a,64b,・・・で構成される指示体群64とで構成したデザインとしても良い。指示体群64は、「標準タイプ」の吹き出しオブジェクト6における吹き出し指示体62に相当する。こうしたデザインの吹き出しオブジェクト6を「モノローグタイプ」と呼ぶ。
【0154】
具体的には、先ず、吹き出しテンプレートデータ514(図8参照)を、吹き出しオブジェクトのデザイン毎に用意しておく。「モノローグタイプ」の吹き出しテンプレートデータ514には、大小複数の小指示体64a,64b,・・・の形状、サイズの設定を含むようにする。
【0155】
そして、処理部200が、上記実施形態の吹き出し管理処理に代えて、図15で示す吹き出し管理処理Bを実行する構成とする。具体的には、ステップS40〜S48は上記実施形態の吹き出し管理処理と同様であるが、吹き出し管理処理Bでは、ステップS50に次いで、新たに配置した吹き出しオブジェクト6の種類を判別する(ステップS51)。判別では、例えばステップS10でイベント発動条件522bを満たしたと判定された発言イベントのイベントデータセット522の吹き出し種類522jを参照する(図9参照)。
【0156】
そして、「モノローグタイプ」が指定されている場合には(ステップS51の「モノローグタイプ」)、処理部200は、指示体基点70から発言キャラクタの発声基準点72を結ぶ直線L1に沿って、指示体基点側からサイズの大きい小指示体を順次配置する(ステップS53)。この時、小指示体の相互間隔は、仮想カメラ側が狭く、奧へ行く程広くすると好適である。また、配置した複数の小指示体64a,64b,・・・それぞれの面法線ベクトルVna,Vnb,…(図14参照)は吹き出し本体61と同じ方向を向くようにする。
【0157】
[その4]
また、吹き出しオブジェクト6の輪郭表現は、上記実施形態のように明確な輪郭を持った表現に限らない。例えば、図16の発言イベント画面W4cに示すように、吹き出しオブジェクト6の輪郭部に「ぼかし」を施す構成としても良い。「ぼかし」は、例えば輪郭部ほど透明度が高くなるように設定することで実現できる。尚、図16では、「ぼかし」を、吹き出し本体61の輪郭を背景より薄い網掛けした長円で囲うことで表現している。
【0158】
具体的には、上記実施形態のステップS70(図11参照)に代えて、図17で示すような処理を実行する。
同処理において、処理部200は先ず、左右フラグ525に応じてイベント空間の左仮想カメラC1又は右仮想カメラC2を視点として選択し(ステップS72)、左眼用ゲーム空間画像又は右眼用ゲーム空間画像を生成する(ステップS74)。
【0159】
次いで、処理部200は、吹き出し本体61と他のオブジェクトとの位置関係に基づいて、視点、つまり左仮想カメラC1及び右仮想カメラC2から見て、他のオブジェクトの一部又は全部が吹き出し本体61によって隠れるか否かの判定、すなわち隠蔽判定を実行する(ステップS76)。そして、隠蔽判定により隠れると判定された場合には(ステップS76のYES)、処理部200は、他のオブジェクトの一部又は全部を隠す吹き出し本体61の輪郭の視認性を低下させるために所定のぼかし処理を実行し(ステップS78)、イベント空間ゲーム空間画像生成処理を終了する。
【0160】
つまり、立体視用画像の生成時に、吹き出し本体61の輪郭の視認性を低下させる処理を施して吹き出し本体61を描画する。
【0161】
或いは、ステップS76〜S78に相当するステップを、吹き出し管理処理又は吹き出し管理処理BのステップS44(図12、図15参照)の前に実行し、当該ステップで肯定判定された場合には、ステップS44にて、吹き出し本体61の輪郭部の透明度を高めるように設定するとしても良い。
【0162】
[その5]
また、上記実施形態では、吹き出しオブジェクト6の内容である発言内容5を、吹き出しオブジェクト6のテクスチャに合成する構成としたが、これに限らない。
例えば、図18に示すように、本体配置基準面12よりもカメラ座標系手前に、吹き出し本体61と平行な発言内容配置基準面14を設定し、当該基準面に沿って、仮想カメラから見て吹き出し本体61と重なる位置に、発言内容5が透明な板に描かれた板ポリゴン16を配置するとして良い。発言内容配置基準面14は、面でなく、奥行方向に所定の幅を有する領域(基準域)としてもよい。
【0163】
具体的には、ステップS44を省略する(図12又は図15参照)。
その一方で、吹き出し管理部220が、ステップS48とステップS50との間で、(1)本体配置基準面12から仮想カメラ側に所定の距離だけ手前で、吹き出し本体61と平行な発言内容配置基準面14を、内容部奥行配置基準を満たす面として設定するステップと、(2)それに続いて、発言内容配置基準面14に、発言内容5が描かれる板ポリゴン16が重なるようにして配置するステップと、を実行するように構成すると良い。
【0164】
つまり、吹き出し管理部220を、イベント空間のゲーム空間画像を生成する視点から見て吹き出し本体61と重なる位置であって、奥行位置が、発言内容5(吹き出し内容部)を配置する際の当該視点に基づく奥行位置の基準面又は基準域を定めた内容部奥行配置基準に従った奥行位置(発言内容配置基準面14の位置)に配置する機能部として更に機能させると良い。
【0165】
或いは、図19に示すように、本体配置基準面12よりもカメラ座標系奧側であって、発言キャラクタであるプレーヤキャラクタ2の少し手前に発言内容配置基準面14(14b)を設定し、そこに発言内容5が描かれる板ポリゴン16を配置しつつ、当該板ポリゴンの隠蔽処理におけるプライオリティを最も高く設定するとしても良い。
【0166】
つまり、吹き出し管理部220を、吹き出し本体61の配置基準面の奥行位置と発言キャラクタの奥行位置との間の奥行位置で、且つ視点から見た吹き出し本体61の像と重なる位置に吹き出し内容物(板ポリゴン16)を配置し、吹き出し本体61の描画の後に吹き出し内容部を描画する機能部として働かせる。
【0167】
この場合、発言内容5の奥行情報が、発言キャラクタ(図19の例では、プレーヤキャラクタ2)の奥行情報と近接する。従って、眼の焦点調節を発言内容5に合わせたまま、注目点を発言キャラクタが描画されている位置にずらすだけで発言キャラクタをはっきりと見ることができるようになる。
この場合、[その4]で説明した吹き出しオブジェクト6の輪郭部の「ぼかし」処理を加えると更に好適である。
【0168】
[その6]
また、吹き出しオブジェクト6は予め用意された演出用イベントでのみ利用可能なものではなく、チャット機能でも利用できる。また、吹き出しオブジェクト6の内容として任意の画像、例えばプレーヤ自身の画像等を使用することもできる。
【0169】
具体的には、立体視画像生成装置として、図20に示すような据置型の家庭用ゲーム装置1200Fを構成する。当該装置は、第1実施形態の据置型の家庭用ゲーム装置1200をベースとして、プレーヤ自身を撮影するイメージセンサモジュール1227と、マイク1272とヘッドホン1274を一体に備えたチャット用のヘッドセット1270とを備える。そして、据置型の家庭用ゲーム装置1200Fは、通信回線1を介して、他プレーヤが使用する同様の他の据置型の家庭用ゲーム装置とデータ通信を実現し、所謂通信プレイができるものとする。
【0170】
プレーヤは、立体視メガネ1226と、ヘッドセット1270を装着してゲームプレイする。ゲーム中に、ゲームコントローラ1230で所定のチャット操作開始操作を入力すると、プレーヤが発した音声信号と、イメージセンサモジュール1227で撮影したプレーヤの画像が、通信回線1を介して他の据置型の家庭用ゲーム装置に送信される。反対に、他の家庭用ゲーム装置でチャット操作開始操作が入力されれば、他プレーヤが発した音声とプレーヤの画像と音声の信号を受信できる。つまり、通信プレイ型のビデオゲームにおいて、音声とプレーヤ画像を用いたチャット機能を実現できる。尚、こうした音声と画像をチャット情報として利用する技術は、公知のチャット関連技術を適宜用いることで実現できる。
【0171】
そして、上記実施形態に、他の家庭用ゲーム装置から受信した音声はビデオモニタ1220のスピーカ1224で再生し、受信したプレーヤ画像を吹き出しオブジェクト6の内容としてフラットパネルディスプレイ1222で立体視表示する機能を追加することができる。
【0172】
ゲーム中にチャット可能なビデオゲームとして、例えば、通信プレイ型のFPS(ファーストパーソンシューティング)ゲームを実行するとするならば、例えば、図21に示すようなゲーム画面W6を表示するものとする。
すなわち、ゲーム画面W6は、第1実施形態のメインゲーム画面W2と同様に、左眼用立体視画像と右眼立体視画像とによって立体視メガネ1226を装着したプレーヤに立体視感を与えることができる。プレーヤは、他プレーヤと協力してゲームフィールド内の敵4を全て駆逐することを目指す。図の例では、ゲーム画面W6内に他プレーヤが操作する他プレーヤキャラクタ30,32が映っている。そして、他プレーヤのゲーム装置からチャット情報を受信すると、対応する他プレーヤキャラクタに対応づけられる吹き出しオブジェクト6が表示され、その中に当該他プレーヤの画像34が表示される。
【0173】
より具体的には、吹き出し本体配置基準情報522h(図9参照)と同様のデータ(「チャット用本体配置基準情報」と呼ぶ)を独立して記憶部500に記憶させておく。
当該データは、チャット用の吹き出しオブジェクト6に適用される「チャット用吹き出し本体配置基準面」(図3の本体配置基準面12に相当する)をメインゲーム空間内に設定するための条件を設定する。
【0174】
「チャット用吹き出し本体配置基準面」そのものは、メインゲーム空間に配置され、仮想カメラのカメラ座標系Zc軸方向(奥行方向)の位置関係は、上記実施形態における本体配置基準面12と同様であり、仮想カメラに対して最も手前に設定される。
【0175】
また、チャット用の吹き出しオブジェクト6に対応づけて用意される吹き出しデータセット542(図10参照)では、発言ID546が省略され、代わりにチャット情報の送信元のゲーム装置IDを格納する。また、吹き出し対応キャラクタID548には、当該送信元のゲーム装置に対応づけられる他プレーヤキャラクタ(図21の例では、他プレーヤキャラクタ30,32)のIDが格納される。
【0176】
そして、処理部200は、ゲームプレイ中にチャット情報を受信した場合に、図22に示すチャット吹き出し管理処理を実行する。同処理では、処理部200は先ず、今回受信したチャット情報に対応づけられるオブジェクト6が既に配置されているかを判定する(ステップS200)。例えば、吹き出し管理データ540内に、今回受信したチャット情報の送信元のゲーム装置IDを含む吹き出しデータセット542が有れば肯定判定し、なければ否定判定する。
【0177】
もし、ステップS200が否定ならば(ステップS200のNO)、処理部200は次に、「チャット用本体配置基準情報」に基づいて「チャット用吹き出し本体配置基準面」をゲーム空間内に求め、そこに吹き出しテンプレートデータ514で設定されたままの新たな吹き出しオブジェクト6を配置する(ステップS202)。
【0178】
もし、今回受信したチャット情報に対応づけられる吹き出しオブジェクト6が既に配置済であれば(ステップS200のYES)、ステップS202はスキップされる。
【0179】
次いで、処理部200は、今回受信したチャット情報に含まれるプレーヤ画像を所定のサイズにトリミング処理し(ステップS206)、チャット用の吹き出しオブジェクト6の縦横の幅をトリミング後のプレーヤ画像に最適化した適当な幅とする(ステップS208)。そして、吹き出しテンプレートデータ514の標準配色データ514eを参照して、吹き出し本体61の部分に、トリミング後のプレーヤ画像を合成して、吹き出しテクスチャ560(図10参照)を生成する(ステップS210)。
【0180】
次に、処理部200は、指示体先端頂点P9を、発言キャラクタを差し示すのに適当な位置へ最適化する(ステップS212)。
具体的には、発言キャラクタには、今回受信したチャット情報の送信元のゲーム装置IDに対応づけられる他プレーヤキャラクタが設定されていることになるので、キャラクタ初期設定データ512の中から、当該発言キャラクタとされる他プレーヤキャラクタに対応するキャラクタデータセット512a(図7参照)を参照し、当該発言キャラクタとされる他プレーヤキャラクタにおける発声基準点座標512eで示される発声基準点72を求める。そして、現在の指示体基点70から発声基準点72とを結ぶ直線L1を求め、更に発声基準点72から境界面半径512fの球形境界面74を求め、直線L1と球形境界面74との交点へ指示体先端頂点P9の位置を変更する。
【0181】
次いで、処理部200は、チャット用の吹き出しオブジェクト6の吹き出し本体61の左右中心線L3から、最適化された指示体先端頂点P9までの左右オフセット距離D2(図4参照)を算出し(ステップS214)、指示体連結部63の下端の2つの頂点P7,P8を、指示体先端頂点P9のある左方向又は右方向へ、左右オフセット距離D2に応じた量だけオフセットする(ステップS216)。
【0182】
尚、配置済のチャット用の吹き出しオブジェクト6については、適宜チャット発言が終了したのを判定して表示解除するものとする。例えば、同一送信元のゲーム装置IDからのチャット情報の更新が所定時間以上為されない場合に、当該ゲーム装置IDに対応づけられているチャット用の吹き出しオブジェクト6の表示を解除するとしても良い。
また、チャット用の吹き出しオブジェクト6の表示制御については、変形例のその1〜その5を適用することができる。
【0183】
[その7]
また、上記実施形態では、吹き出し指示体62の形態要素の一つである長さを、キャラクタのサイズに応じて最適化された発生基準点座標512e及び境界面半径512fに応じて、キャラクタ別に最適化して表示する例を示したが、吹き出し指示体62の形態は、その他の要素について可変する構成としてもよい。
【0184】
例えば、上記実施形態における指示体連結部63の幅は、吹き出しテンプレートデータ514の標準指示体連結部頂点座標514bにより固定されているが、吹き出し本体61の横幅や縦幅に応じて可変するとしてもよい。具体的には、吹き出し本体61の左右中心線L3(図4参照)から頂点P5〜P8までの左右距離を、吹き出し本体61の横幅や縦幅を変数とする関数で定義することとし、ステップS48(図12参照)にて、吹き出しオブジェクト6の縦横の幅を発言内容5に応じて最適化した後に、最適化された吹き出し本体61の横幅や縦幅をもとに当該関数に従って指示体連結部63の幅を最適化するステップを設ける。この場合、例えば、吹き出し本体61の横幅や縦幅がある基準値までは、横幅や縦幅の増大に応じて指示体連結部63の幅も増大させるが、吹き出し本体61の横幅や縦幅が当該基準値以上になるとそれ以上の指示体連結部63の幅の増加率を抑制したり、増加させないようにすると、バランスの良い「吹き出し」を作ることができる。
また例えば、指示体連結部63の数を、吹き出し本体61の横幅や縦幅、キャラクタのサイズが大きい程、多くなるように設定するのも、吹き出しのデザインに多様性を持たせる意味で好適である。
勿論、吹き出し指示体62の形態を変更する要素は、これらの何れか単独で用いてもよいし、複数を適宜組み合わせるとしてもよい。
【符号の説明】
【0185】
2…プレーヤキャラクタ
5…発言内容
6…吹き出しオブジェクト
61…吹き出し本体
62…吹き出し指示体
63…指示体連結部
12…本体配置基準面
200…処理部
210…ゲーム演算部
212…ゲーム空間設定部
218…発言イベント管理部
220…吹き出し管理部
222…本体制御部
224…指示体制御部
226…連結制御部
228…発言内容制御部
261…立体視画像生成部
361…立体視画像表示部
500…記憶部
502…ゲームプログラム
514…吹き出しテンプレートデータ
520…発言イベント設定データ
522…イベントデータセット
522a…発言ID
522b…イベント発動条件
522c…発言キャラクタID
522d…発言内容
522f…イベント空間設定データ
522h…本体配置基準情報
524…プレイデータ
540…吹き出し管理データ
542…吹き出しデータセット
544…吹き出しID
546…発言ID
548…吹き出し対応キャラクタID
552…本体頂点座標
554…指示体連結部頂点座標
556…指示基点座標
558…指示体先端頂点座標
C1…左仮想カメラ
C2…右仮想カメラ
P9…指示体先端頂点
W2…メインゲーム画面
W4…発言イベント画面
1200…家庭用ゲーム装置
1201…ゲーム装置本体
1210…制御ユニット
1220…ビデオモニタ
1226…立体視メガネ

【特許請求の範囲】
【請求項1】
コンピュータに、キャラクタが配置された仮想三次元空間を所与の視点から見た立体視用画像を生成させるためのプログラムであって、
吹き出し本体を、前記吹き出し本体を配置する際の前記視点に基づく奥行位置の基準面又は基準域を定めた奥行配置基準に従った奥行位置に配置する本体部配置手段、
前記本体部配置手段により配置された吹き出し本体と前記キャラクタとの対応関係を示す吹き出し指示体を、当該吹き出し本体と前記キャラクタとの間を結ぶように奥行方向に沿って配置する指示体配置手段、
として前記コンピュータを機能させるためのプログラム。
【請求項2】
前記指示体配置手段が、前記吹き出し指示体を、前記吹き出し本体の周部所定位置から前記キャラクタに向けて奥行方向に徐々に屈曲させた板状体で配置構成する、
ように前記コンピュータを機能させるための請求項1に記載のプログラム。
【請求項3】
前記指示体配置手段が、前記吹き出し本体に近い側に最大屈曲部が位置するように前記板状体を配置構成する、
ように前記コンピュータを機能させるための請求項2に記載のプログラム。
【請求項4】
前記指示体配置手段が、前記吹き出し本体と前記キャラクタとの間に、複数の小指示体を異なる奥行位置に離散的に配置することで前記吹き出し指示体を配置構成する、
ように前記コンピュータを機能させるための請求項2に記載のプログラム。
【請求項5】
前記指示体配置手段が、前記複数の小指示体の配置間隔を前記吹き出し本体に近い方が狭くなるように配置する、
ように前記コンピュータを機能させるための請求項4に記載のプログラム。
【請求項6】
前記指示体配置手段が、前記吹き出し本体のサイズ及び/又は前記キャラクタのサイズに応じて前記吹き出し指示体の形態を変更して配置する、
ように前記コンピュータを機能させるための請求項1〜5の何れか一項に記載のプログラム。
【請求項7】
前記吹き出し指示体と前記キャラクタとの奥行方向の相対的な位置関係に応じて、前記吹き出し指示体の配色を変更する配色変更手段、
として前記コンピュータを更に機能させるための請求項1〜6の何れか一項に記載のプログラム。
【請求項8】
前記吹き出し本体と他のオブジェクトとの位置関係に基づいて、前記視点から見て前記他のオブジェクトの一部又は全部が前記吹き出し本体に隠れるか否かを判定する隠蔽判定手段、
前記隠蔽判定手段により隠れると判定された場合に、前記立体視用画像の生成時に、前記吹き出し本体の輪郭の視認性を低下させるために所定のぼかし処理を施して前記吹き出し本体を描画する本体部描画手段、
として前記コンピュータを更に機能させるための請求項1〜7の何れか一項に記載のプログラム。
【請求項9】
吹き出し内容部を、前記視点から見て前記吹き出し本体と重なる位置であって、奥行位置が、前記吹き出し内容部を配置する際の前記視点に基づく奥行位置の基準面又は基準域を定めた内容部奥行配置基準に従った奥行位置に配置する内容部配置手段、
として前記コンピュータを更に機能させるための請求項1〜8の何れか一項に記載のプログラム。
【請求項10】
前記奥行配置基準が、前記奥行配置基準と前記キャラクタの奥行位置との間の奥行位置を定めており、
前記吹き出し本体の描画の後に前記吹き出し内容部を描画する内容部描画手段、
として前記コンピュータを更に機能させるための請求項9に記載のプログラム。
【請求項11】
前記吹き出し内容部は、所与のプレーヤ画像を少なくとも含み、
前記本体部配置手段及び前記内容部配置手段が、前記視点に基づく前記キャラクタの奥行位置に応じて前記吹き出し本体及び前記吹き出し内容部の大きさを変化させて配置構成する、
ように前記コンピュータを機能させるための請求項9又は10に記載のプログラム。
【請求項12】
請求項1〜11の何れか一項に記載のプログラムを記憶したコンピュータ読み取り可能な情報記憶媒体。
【請求項13】
キャラクタが配置された仮想三次元空間を所与の視点から見た立体視用画像を生成する立体視画像生成装置であって、
吹き出し本体を、前記吹き出し本体を配置する際の前記視点に基づく奥行位置の基準面又は基準域を定めた奥行配置基準に従った奥行位置に配置する本体部配置手段と、
前記本体部配置手段により配置された吹き出し本体と前記キャラクタとの対応関係を示す吹き出し指示体を、当該吹き出し本体と前記キャラクタとの間を結ぶように奥行方向に沿って配置する指示体配置手段と、
を備えた立体視画像生成装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate

【図22】
image rotate


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