(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-05-21
(45)【発行日】2024-05-29
(54)【発明の名称】ゲーム装置及びプログラム
(51)【国際特許分類】
A63F 13/55 20140101AFI20240522BHJP
A63F 13/428 20140101ALI20240522BHJP
A63F 13/426 20140101ALI20240522BHJP
A63F 13/525 20140101ALI20240522BHJP
A63F 13/812 20140101ALI20240522BHJP
A63F 13/573 20140101ALI20240522BHJP
【FI】
A63F13/55
A63F13/428
A63F13/426
A63F13/525
A63F13/812 B
A63F13/573
(21)【出願番号】P 2019131606
(22)【出願日】2019-07-17
【審査請求日】2022-07-08
(73)【特許権者】
【識別番号】306014714
【氏名又は名称】株式会社バンダイナムコアミューズメント
(73)【特許権者】
【識別番号】318016342
【氏名又は名称】株式会社バンダイナムコアミューズメントラボ
(74)【代理人】
【識別番号】100104710
【氏名又は名称】竹腰 昇
(74)【代理人】
【識別番号】100124682
【氏名又は名称】黒田 泰
(74)【代理人】
【識別番号】100090479
【氏名又は名称】井上 一
(72)【発明者】
【氏名】箕浦 亮平
(72)【発明者】
【氏名】石井 源久
【審査官】三田村 陽平
(56)【参考文献】
【文献】特開2007-038000(JP,A)
【文献】特開2009-148385(JP,A)
【文献】特開2011-194076(JP,A)
【文献】特開2007-122105(JP,A)
【文献】国際公開第2009/141913(WO,A1)
(58)【調査した分野】(Int.Cl.,DB名)
A63F 9/24
A63F 13/00-13/98
A63B 69/00-69/40
A63B 71/00-71/16
(57)【特許請求の範囲】
【請求項1】
仮想カメラの設定処理を行う仮想カメラ設定部と、
プレーヤがゲームをプレイするためのゲーム画像として、仮想空間において前記仮想カメラから見える一人称視点の仮想空間画像を生成する画像生成部と、
前記仮想空間画像が表示されるスクリーンに向かって移動する移動物体の実空間での第1移動情報を、検出装置の検出結果に基づいて求め、前記移動物体に対応する移動オブジェクトの前記仮想空間での第2移動情報を、前記第1移動情報に基づいて求める移動情報演算部と、
を含み、
前記画像生成部は、
前記スクリーンへの前記移動物体のヒット位置に対応する出現位置から出現して、前記第2移動情報に基づき移動する前記移動オブジェクトの画像を生成し、
前記仮想カメラ設定部は、
前記一人称視点の前記仮想カメラの画角を、前記プレーヤの
プレイ位置に前記仮想カメラが配置されたときの画角である第1画角よりも広い画角であって、前記プレイ位置よりも前記スクリーンに近い位置に前記仮想カメラが配置されたときの画角である第2
画角に設定し、
前記画像生成部は、
前記移動オブジェクトが前記出現位置から出現する前と出現した後における前記仮想空間画像として、前記一人称視点の前記仮想カメラの画角が同じ前記第2
画角に設定されていることに基づく前記仮想空間画像を生成することを特徴とするゲーム装置。
【請求項2】
請求項1において、
前記第2画角は、注視安定視野角に対応する画角であることを特徴とするゲーム装置。
【請求項3】
請求項1又は2において、
前記仮想カメラ設定部は、
前記仮想カメラの高さを、前記プレーヤの平均目線の高さに設定することを特徴とするゲーム装置。
【請求項4】
請求項1乃至3のいずれかにおいて、
前記移動情報演算部は、
前記検出装置の前記検出結果に基づき求められた前記移動物体の第1軌道に対して軌道補正を行って、前記移動オブジェクトの第2軌道を求めることを特徴とするゲーム装置。
【請求項5】
請求項4において、
前記移動情報演算部は、
前記検出結果に基づき求められた前記移動物体の前記第1軌道に基づいて、前記スクリーンへの前記移動物体の前記ヒット位置を求め、前記ヒット位置に対応する前記出現位置から前記第2軌道に沿って前記移動オブジェクトを移動させること特徴とするゲーム装置。
【請求項6】
請求項4又は5において、
前記移動情報演算部は、
前記プレーヤの視点から見て、前記第1軌道と前記第2軌道とが、前記ヒット位置において1次微分可能性を有するように、前記軌道補正を行うことを特徴とするゲーム装置。
【請求項7】
請求項4又は5において、
前記移動情報演算部は、
前記プレーヤの視点から見て、前記第1軌道の前記ヒット位置における第1接線と、前記第2軌道の前記ヒット位置における第2接線とが一致するように、前記軌道補正を行うことを特徴とするゲーム装置。
【請求項8】
請求項1乃至7のいずれかにおいて、
前記移動情報演算部は、
前記移動物体の前記ヒット位置から、所与の遅延時間分だけ移動した位置を、前記移動オブジェクトの前記出現位置に設定することを特徴とするゲーム装置。
【請求項9】
請求項1乃至8のいずれかにおいて、
前記仮想空間画像を、前記スクリーンに投影するプロジェクターを含むことを特徴とするゲーム装置。
【請求項10】
仮想カメラの設定処理を行う仮想カメラ設定部と、
プレーヤがゲームをプレイするためのゲーム画像として、仮想空間において前記仮想カメラから見える一人称視点の仮想空間画像を生成する画像生成部と、
前記仮想空間画像が表示されるスクリーンに向かって移動する移動物体の実空間での第1移動情報を、検出装置の検出結果に基づいて求め、前記移動物体に対応する移動オブジェクトの前記仮想空間での第2移動情報を、前記第1移動情報に基づいて求める移動情報演算部として、
コンピュータを機能させ、
前記画像生成部は、
前記スクリーンへの前記移動物体のヒット位置に対応する出現位置から出現して、前記第2移動情報に基づき移動する前記移動オブジェクトの画像を生成し、
前記仮想カメラ設定部は、
前記一人称視点の前記仮想カメラの画角を、前記プレーヤの
プレイ位置に前記仮想カメラが配置されたときの画角である第1画角よりも広い画角であって、前記プレイ位置よりも前記スクリーンに近い位置に前記仮想カメラが配置されたときの画角である第2
画角に設定し、
前記画像生成部は、
前記移動オブジェクトが前記出現位置から出現する前と出現した後における前記仮想空間画像として、前記一人称視点の前記仮想カメラの画角が同じ前記第2
画角に設定されていることに基づく前記仮想空間画像を生成することを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ゲーム装置及びプログラム等に関する。
【背景技術】
【0002】
特許文献1、2、3には、実空間のボール等の移動物体を、プレーヤがゴルフクラブやラケット等でヒットしたり投げると、移動物体に対応する移動オブジェクトが出現するCG映像をスクリーンに表示するゲーム装置が開示されている。このようなゲーム装置によれば、プレーヤは、あたかも実際にスポーツをプレイしているかのように感じることができるゲームを楽しむことができる。
【先行技術文献】
【特許文献】
【0003】
【文献】特開平6-261963号公報
【文献】特開2002-136629号公報
【文献】特開2004-97702号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、従来技術のゲーム装置では、映像の広がりや奥行き方向の見た目の移動速度に不足を感じるという問題がある。一方、映像の迫力や説得力を向上させることを優先し仮想空間の描画画角を現実の画角から変更すると、移動物体が移動する実空間と移動オブジェクトが移動する仮想空間との繋がりに違和感が出てしまい、期待した臨場感を得ることができないという問題もある。
【0005】
本開示によれば、実空間を移動する移動物体が移動オブジェクトとして仮想空間に登場するゲームにおいて映像表現を優先した画角の設定を実現できるゲーム装置等を提供できる。
【課題を解決するための手段】
【0006】
本開示の一態様は、仮想カメラの設定処理を行う仮想カメラ設定部と、プレーヤがゲームをプレイするためのゲーム画像として、仮想空間において前記仮想カメラから見える仮想空間画像を生成する画像生成部と、前記仮想空間画像が表示されるスクリーンに向かって移動する移動物体の実空間での第1移動情報を、検出装置の検出結果に基づいて求め、前記移動物体に対応する移動オブジェクトの前記仮想空間での第2移動情報を、前記第1移動情報に基づいて求める移動情報演算部と、を含み、前記画像生成部は、前記スクリーンへの前記移動物体のヒット位置に対応する出現位置から出現して、前記第2移動情報に基づき移動する前記移動オブジェクトの画像を生成し、前記仮想カメラ設定部は、前記仮想カメラの画角を、前記プレーヤのプレイ位置と前記スクリーンとに基づき規定される第1画角とは異なる第2画角に設定するゲーム装置に関係する。
【0007】
本開示の一態様によれば、仮想空間において仮想カメラから見える仮想空間画像が生成されてスクリーンに表示される。このときに本開示の一態様では、仮想カメラの画角が、プレーヤのプレイ位置とスクリーンとに基づき規定される第1画角とは異なる第2画角に設定されている。また仮想空間画像が表示されるスクリーンに向かって移動する移動物体の実空間での第1移動情報が、検出装置の検出結果に基づき求められ、移動物体に対応する移動オブジェクトの仮想空間での第2移動情報が、第1移動情報に基づき求められる。例えば第1移動情報と第1画角及び第2画角の情報に基づき求められる。そして移動物体がスクリーンにヒットすると、ヒット位置に対応する出現位置から移動オブジェクトが出現して、第2移動情報に基づき仮想空間を移動するようになる。このようにすれば、仮想カメラの画角が第1画角である場合に比べて迫力のある画像の生成を実現でき、従来型のVRでは実現できない適切な仮想空間画像を生成できるようになる。
【0008】
また本開示の一態様では、前記仮想カメラ設定部は、前記仮想カメラの前記画角を、前記第1画角よりも広い前記第2画角に設定してもよい。
【0009】
このようにすれば、仮想カメラの画角が第1画角である場合に比べて、ワイド感やスピード感や臨場感が増した仮想空間画像を生成できるようになる。
【0010】
また本開示の一態様では、前記第2画角は、注視安定視野角に対応する画角であってもよい。
【0011】
このように仮想カメラの第2画角を注視安定視野角に対応する画角に設定することで、プレーヤの感覚に合った違和感のない仮想空間画像を表示できるようになる。
【0012】
また本開示の一態様では、前記仮想カメラ設定部は、前記仮想カメラの高さを、前記プレーヤの平均目線の高さに設定してもよい。
【0013】
このようにすれば、仮想カメラの高さをスクリーンの中心位置に対応する高さに設定する場合に比べて、プレーヤにとって、より自然で、違和感が少ない仮想空間画像を生成できるようになる。
【0014】
また本開示の一態様では、前記移動情報演算部は、前記検出装置の前記検出結果に基づき求められた前記移動物体の第1軌道に対して軌道補正を行って、前記移動オブジェクトの第2軌道を求めてもよい。
【0015】
このような軌道補正を行うことで、仮想カメラの画角が第2画角に設定された場合にも、移動オブジェクトの軌道がプレーヤの感覚に一致するようになり、移動物体が移動する実空間と移動オブジェクトが移動する仮想空間との繋がりの違和感を低減でき、移動物体に対応する移動オブジェクトが仮想空間に出現する画像として、より適切な仮想空間画像を生成できるようになる。
【0016】
また本開示の一態様では、前記移動情報演算部は、前記検出結果に基づき求められた前記移動物体の前記第1軌道に基づいて、前記スクリーンへの前記移動物体の前記ヒット位置を求め、前記ヒット位置に対応する前記出現位置から前記第2軌道に沿って前記移動オブジェクトを移動させてもよい。
【0017】
このようにすれば、第1軌道に沿って移動した移動物体がスクリーンにヒットした後、移動物体に対応する移動オブジェクトが出現し、第1軌道を補正した第2軌道に沿って移動するようになる。
【0018】
また本開示の一態様では、前記移動情報演算部は、前記プレーヤの視点から見て、前記第1軌道と前記第2軌道とが、前記ヒット位置において1次微分可能性を有するように、前記軌道補正を行ってもよい。
【0019】
このようにすれば、プレーヤの視点から見て、移動物体の第1軌道と移動オブジェクトの第2軌道とが違和感無く連結されるようになり、プレーヤの感覚に一致する軌道で移動オブジェクトが移動する仮想空間画像を生成できるようになる。
【0020】
また本開示の一態様では、前記移動情報演算部は、前記プレーヤの視点から見て、前記第1軌道の前記ヒット位置における第1接線と、前記第2軌道の前記ヒット位置における第2接線とが一致するように、前記軌道補正を行ってもよい。
【0021】
このようにすれば、ヒット位置での第1軌道と第2軌道の1次微分可能性が確保されるようになり、プレーヤの感覚に一致する軌道での移動オブジェクトの移動を実現できるようになる。
【0022】
また本開示の一態様では、前記移動情報演算部は、前記移動物体の前記ヒット位置から、所与の遅延時間分だけ移動した位置を、前記移動オブジェクトの前記出現位置に設定してもよい。
【0023】
このようにすれば、検出処理や描画処理などの計算のタイムラグがあった場合にも、実空間の移動物体から仮想空間の移動オブジェクトへの切り替わりが違和感無く行われるようになり、適切な仮想空間画像を生成できるようになる。
【0024】
また本開示の一態様では、前記仮想空間画像を、前記スクリーンに投影するプロジェクターを含んでもよい。
【0025】
このようにすればプロジェクターによる投影によりスクリーンに仮想空間画像を表示し、スクリーンに対して移動物体がヒットし場合に、移動物体に対応する移動オブジェクトを、プロジェクターにより投影される仮想空間画像に登場させることが可能になる。
【図面の簡単な説明】
【0026】
【
図1】本実施形態のゲーム装置の構成例を示すブロック図。
【
図3】
図3(A)、
図3(B)は本実施形態により生成された仮想空間画像の例。
【
図4】
図4(A)、
図4(B)は本実施形態により生成された仮想空間画像の例。
【
図8】
図8(A)、
図8(B)はVRにおける仮想カメラ設定手法により生成された仮想空間画像の例。
【
図9】
図9(A)、
図9(B)はVRにおける仮想カメラ設定手法により生成された仮想空間画像の例。
【
図10】プレーヤが感じる違和感の原因についての説明図。
【
図11】本実施形態の仮想カメラの設定手法の説明図。
【
図14】
図14(A)、
図14(B)は移動オブジェクトの軌道補正を説明する仮想空間画像の例。
【
図15】
図15(A)、
図15(B)は移動オブジェクトの軌道補正を行った場合の仮想空間画像の例。
【
図16】
図16(A)、
図16(B)は移動オブジェクトの軌道補正を行った場合の仮想空間画像の例。
【
図18】ヒット位置から所与の遅延時間分だけ移動した位置を移動オブジェクトの出現位置に設定する処理の説明図。
【
図19】本実施形態の詳細な処理例を説明するフローチャート。
【発明を実施するための形態】
【0027】
以下、本実施形態について説明する。なお、以下に説明する本実施形態は、特許請求の範囲の記載内容を不当に限定するものではない。また本実施形態で説明される構成の全てが、必須構成要件であるとは限らない。
【0028】
1.ゲーム装置
図1は、本実施形態のゲーム装置(シミュレーションシステム、画像生成装置)の構成例を示すブロック図である。なお、本実施形態のゲーム装置は
図1の構成に限定されず、その構成要素の一部を省略したり、他の構成要素を追加するなどの種々の変形実施が可能である。
【0029】
操作部160は、プレーヤ(ユーザ)が種々の操作情報(入力情報)を入力するためのものである。操作部160は、例えば操作ボタン、方向指示キー、ジョイスティック、レバー又はタッチパネル型ディスプレイ等により実現できる。
【0030】
検出装置162は、実空間の移動物体の移動情報を検出する装置である。移動情報は移動物体の位置情報、速度情報又は軌道情報などである。検出装置162の詳細例については後述する。
【0031】
記憶部170は各種の情報を記憶する。記憶部170は、処理部100や通信部196などのワーク領域として機能する。プログラムや、プログラムの実行に必要なデータは、この記憶部170に保持される。記憶部170の機能は、半導体メモリ(DRAM、VRAM)、HDD(hard disk drive)、SSD(Solid State Drive)、又は光ディスク装置などにより実現できる。記憶部170は、仮想空間情報記憶部172、描画バッファ178を含む。仮想空間情報記憶部172は、3次元のオブジェクト空間である仮想空間についての情報を記憶する。例えば仮想空間に配置されるオブジェクトの情報などを記憶する。描画バッファ178は、フレームバッファ、ワークバッファ等のピクセル単位で画像情報を記憶できるバッファである。
【0032】
情報記憶媒体180は、コンピュータにより読み取り可能な媒体であり、プログラムやデータなどを格納するものである。情報記憶媒体180は、光ディスク(DVD、BD、CD)、HDD、或いは半導体メモリ(ROM)などにより実現できる。処理部100は、情報記憶媒体180に格納されるプログラム(データ)に基づいて本実施形態の種々の処理を行う。即ち情報記憶媒体180には、本実施形態の各部としてコンピュータ(入力装置、処理部、記憶部、出力部を備える装置)を機能させるためのプログラム(各部の処理をコンピュータに実行させるためのプログラム)が記憶される。
【0033】
表示部190は、本実施形態により生成された画像を出力するものであり、その機能は、LCD、有機ELディスプレイ、CRT、タッチパネル型ディスプレイ、或いはHMD(Head Mounted Display)などにより実現できる。音出力部192は、本実施形態により生成された音を出力するものであり、その機能は、スピーカ又はヘッドホン等により実現できる。この表示部190により後述の
図2のプロジェクター10が実現される。例えばLCD等により実現される表示部190に表示された画像が、プロジェクター10の投影機構によりスクリーンに投影されることで、スクリーンに対して当該画像が表示されるようになる。
【0034】
I/F(インターフェース)部194は、携帯型情報記憶媒体195とのインターフェース処理を行うものであり、その機能はI/F処理用のASICなどにより実現できる。携帯型情報記憶媒体195は、プレーヤが各種の情報を保存するためのものであり、電源が非供給になった場合にもこれらの情報の記憶を保持する記憶装置である。携帯型情報記憶媒体195は、ICカード(メモリカード)、USBメモリ、或いは磁気カードなどにより実現できる。
【0035】
通信部196は、有線や無線のネットワークを介して外部(他の装置)との間で通信を行うものであり、その機能は、通信用ASIC又は通信用プロセッサなどのハードウェアや、通信用ファームウェアにより実現できる。
【0036】
なお本実施形態の各部としてコンピュータを機能させるためのプログラム(データ)は、サーバ(ホスト装置)が有する情報記憶媒体からネットワーク及び通信部196を介して情報記憶媒体180(或いは記憶部170)に配信してもよい。このようなサーバによる情報記憶媒体の使用も本実施形態の範囲内に含めることができる。
【0037】
処理部100(プロセッサ)は、操作部160からの操作入力情報やプログラムなどに基づいて、ゲーム処理、仮想空間設定処理、仮想カメラ設定処理、移動情報演算処理、画像生成処理、或いは音生成処理などを行う。
【0038】
処理部100の各部が行う本実施形態の各処理はプロセッサ(ハードウェアを含むプロセッサ)により実現できる。例えば本実施形態の各処理は、プログラム等の情報に基づき動作するプロセッサと、プログラム等の情報を記憶するメモリにより実現できる。プロセッサは、例えば各部の機能が個別のハードウェアで実現されてもよいし、或いは各部の機能が一体のハードウェアで実現されてもよい。例えば、プロセッサはハードウェアを含み、そのハードウェアは、デジタル信号を処理する回路及びアナログ信号を処理する回路の少なくとも一方を含むことができる。例えば、プロセッサは、回路基板に実装された1又は複数の回路装置(例えばIC等)や、1又は複数の回路素子(例えば抵抗、キャパシター等)で構成することもできる。プロセッサは、例えばCPU(Central Processing Unit)であってもよい。但し、プロセッサはCPUに限定されるものではなく、GPU(Graphics Processing Unit)、或いはDSP(Digital Signal Processor)等、各種のプロセッサを用いることが可能である。またプロセッサはASICによるハードウェア回路であってもよい。またプロセッサは、アナログ信号を処理するアンプ回路やフィルター回路等を含んでもよい。メモリ(記憶部170)は、SRAM、DRAM等の半導体メモリであってもよいし、レジスターであってもよい。或いはハードディスク装置(HDD)等の磁気記憶装置であってもよいし、光学ディスク装置等の光学式記憶装置であってもよい。例えば、メモリはコンピュータにより読み取り可能な命令を格納しており、当該命令がプロセッサにより実行されることで、処理部100の各部の処理が実現されることになる。ここでの命令は、プログラムを構成する命令セットでもよいし、プロセッサのハードウェア回路に対して動作を指示する命令であってもよい。
【0039】
処理部100は、ゲーム処理部102、仮想空間設定部104、仮想カメラ設定部106、移動情報演算部108、画像生成部120、音生成部130を含む。上述したように、これらの各部により実行される本実施形態の各処理は、プロセッサ(或いはプロセッサ及びメモリ)により実現できる。なお、これらの構成要素(各部)の一部を省略したり、他の構成要素を追加するなどの種々の変形実施が可能である。
【0040】
ゲーム処理部102は、プレーヤがゲームをプレイするための種々のゲーム処理を行う。ゲーム処理は、例えば、ゲーム開始条件が満たされた場合にゲームを開始する処理、開始したゲームを進行させる処理、ゲーム終了条件が満たされた場合にゲームを終了する処理、或いはゲーム成績を演算する処理などである。
【0041】
仮想空間設定部104は、オブジェクトが配置される仮想空間(オブジェクト空間)の設定処理を行う。例えば、移動体(車、人、ロボット、電車、飛行機、船、モンスター又は動物等)、マップ(地形)、建物、観客席、コース(道路)、アイテム、樹木、壁、水面などの表示物を表す各種オブジェクト(ポリゴン、自由曲面又はサブディビジョンサーフェイスなどのプリミティブ面で構成されるオブジェクト)を仮想空間に配置設定する処理を行う。即ちワールド座標系でのオブジェクトの位置や回転角度(向き、方向と同義)を決定し、その位置(X、Y、Z)にその回転角度(X、Y、Z軸回りでの回転角度)でオブジェクトを配置する。具体的には、記憶部170の仮想空間情報記憶部172には、仮想空間でのオブジェクト(パーツオブジェクト)の位置、回転角度、移動速度又は移動方向等の情報であるオブジェクト情報がオブジェクト番号に対応づけて記憶される。即ち、オブジェクト情報が仮想空間情報として仮想空間情報記憶部172に記憶される。仮想空間設定部104は、例えば各フレーム毎に、仮想空間情報であるオブジェクト情報の更新処理を行う。
【0042】
仮想カメラ設定部106は仮想カメラの設定処理を行う。例えば仮想カメラ設定部106は、仮想空間での仮想カメラの位置や方向や画角の設定処理を行う。例えばスクリーンに対する仮想カメラの位置等を設定することで仮想カメラの画角を設定できる。
【0043】
移動情報演算部108は、実空間の移動物体や仮想空間の移動オブジェクトの移動情報の演算処理を行う。移動情報は、移動物体や移動オブジェクトの位置、方向又は軌道等の情報である。実空間での移動物体の位置又は方向等や仮想空間での移動オブジェクトの位置又は方向等が求められることで、移動物体や移動オブジェクトの軌道を求めることができる。例えば移動情報演算部108が、各フレームでの移動オブジェクトの移動情報を求めることで、仮想空間において移動オブジェクトを移動させる移動処理が実現される。
【0044】
画像生成部120は、画像の生成処理を行う。例えば処理部100で行われる種々の処理の結果に基づいて描画処理を行い、これにより画像を生成し、表示部190に表示する。一例としては画像生成部120により生成された画像が、LCD等により実現される表示部190に表示され、プロジェクター10の投影機構により当該画像がスクリーンに投影される。具体的には画像生成部120は、座標変換(ワールド座標変換、カメラ座標変換)、クリッピング処理、透視変換、或いは光源処理等のジオメトリ処理を行い、その処理結果に基づいて、描画データ(プリミティブ面の頂点の位置座標、テクスチャ座標、色データ、法線ベクトル或いはα値等)を作成する。そして画像生成部120は、この描画データ(プリミティブ面データ)に基づいて、透視変換後(ジオメトリ処理後)のオブジェクト(1又は複数プリミティブ面)を、描画バッファ178に描画する。これにより、仮想空間において仮想カメラから見える仮想空間画像が生成される。なお画像生成部120で行われる描画処理は、頂点シェーダ処理やピクセルシェーダ処理等により実現することができる。
【0045】
音生成部130は、処理部100で行われる種々の処理の結果に基づいて音の生成処理を行う。具体的には、楽曲(音楽、BGM)、効果音、又は音声などを生成し、音出力部192に出力させる。
【0046】
そして本実施形態のゲーム装置は、
図1に示すように、仮想カメラ設定部106と移動情報演算部108と画像生成部120を含む。
【0047】
仮想カメラ設定部106は仮想カメラの設定処理を行う。例えば仮想カメラ設定部106は、仮想空間での仮想カメラの位置や方向や画角等の設定処理を行う。
【0048】
そして仮想カメラ設定部106は、仮想カメラの画角を、プレーヤのプレイ位置とスクリーンとに基づき規定される第1画角とは異なる第2画角に設定する。例えば通常の仮想空間画像の生成においては、仮想カメラの位置(描画視点の位置)は、プレーヤのプレイ位置(プレーヤがプレイすることを想定したプレイ基準位置)に設定されており、仮想カメラの画角は、プレーヤのプレイ位置とスクリーンとに基づき規定される第1画角に設定される。プレーヤのプレイ位置は、ゲームをプレイするプレーヤがプレイ場所に位置したときの視点位置であり、スクリーンに表示される仮想空間画像を見る位置として想定される位置である。例えば仮想カメラがプレーヤのプレイ位置に配置される場合には、プレーヤのプレイ位置に配置された仮想カメラと、投影面であるスクリーンとの距離によって、仮想カメラの画角が第1画角に設定されるようになる。そして仮想カメラ設定部106では、仮想カメラの画角を、この第1画角とは異なる第2画角に設定する。即ち、通常の仮想空間画像の生成に用いられる第1画角とは異なる第2画角に設定する。
【0049】
例えば仮想カメラ設定部106は、仮想カメラの画角を、第1画角よりも広い第2画角に設定する。例えば仮想カメラの位置を、プレーヤのプレイ位置よりもスクリーンに近い位置に設定することで、仮想カメラの画角を、第1画角よりも広い第2画角に設定できる。或いは仮想カメラ設定部106は、仮想カメラの画角を、第1画角よりも狭い第2画角に設定するような変形実施も可能である。例えば超望遠の仮想空間画像を表示する場合などには、第2画角を第1画角よりも狭い画角にすることが有効である。
【0050】
また第2画角は、例えば注視安定視野角に対応する画角である。注視安定視野角は、安定した眼球や頭部運動により対象情報を弁別視野内で注視できる範囲であり、視覚情報による座標誘導効果が生じ、臨場感を引き起こす範囲である。注視安定視野角に対応する画角は、例えば有効視野にプラスして、頭部運動により無理のない情報受容が可能な範囲の画角であり、例えば80度~110度程度の範囲の画角であり、更に望ましくは90度~100度程度の範囲の画角である。
【0051】
また仮想カメラ設定部106は、仮想カメラの高さを、プレーヤの平均目線の高さに設定する。例えば仮想カメラの高さが、プレーヤの平均目線の高さになるように、仮想カメラを仮想空間に配置する。プレーヤの平均目線の高さは、例えばゲーム装置が設置される国や地域におけるプレーヤの平均目線の高さであり、例えば1.4m~1.6m程度である。また、例えば子供が主なプレーヤ層であるゲームの場合には、より低い高さを設定してもよい。
【0052】
画像生成部120は、仮想空間画像を生成する。具体的には画像生成部120は、プレーヤがゲームをプレイするためのゲーム画像として、仮想空間において仮想カメラから見える仮想空間画像を生成する。例えば描画バッファ178への描画処理を行うことで、仮想カメラから見える仮想空間画像を生成して、表示部190に表示させる。
【0053】
移動情報演算部108は、移動情報の演算処理を行う。具体的には移動情報演算部108は、仮想空間画像が表示されるスクリーンに向かって移動する移動物体の実空間での第1移動情報を、検出装置162の検出結果に基づいて求める。例えば検出装置162からの検出情報に基づいて、実空間での移動物体の位置、方向又は速度等の情報である第1移動情報を求める。実空間での移動物体の位置又は方向等が求められることで、実空間での移動物体の軌道である第1軌道が求められることになる。また移動情報演算部108は、移動物体に対応する移動オブジェクトの仮想空間(オブジェクト空間)での第2移動情報を、第1移動情報に基づいて求める。例えば実空間の移動物体の第1移動情報に基づいて、仮想空間での移動オブジェクトの位置、方向又は速度等の情報である第2移動情報を求める。仮想空間での移動オブジェクトの位置又は方向等が求められることで、仮想空間での移動オブジェクトの軌道である第2軌道が求められることになる。移動物体は、例えば実空間においてプレーヤが蹴ったり、投げたり、或いはラケット、バット又はクラブ等の被ヒット物によりヒットする物体である。プレーヤが、移動物体を蹴ったり、投げたり、被ヒット物によりヒットすることで、移動物体が実空間において移動(飛翔)する。そして実空間で移動する移動物体の第1移動情報が、検出装置162による移動物体の移動の検出結果に基づき求められる。移動オブジェクトは、実空間の移動物体に対応する仮想空間のオブジェクトであり、例えば移動物体をモデル化した3次元のオブジェクトである。移動オブジェクトは、移動物体がスクリーンにヒットした後に、移動物体の軌道に連続するような軌道で、仮想空間を移動することになる。
【0054】
画像生成部120は、仮想空間で移動する移動オブジェクトの画像を生成する。即ち移動オブジェクトの画像を含む仮想空間画像を生成する。具体的には画像生成部120は、スクリーンへの移動物体のヒット位置に対応する出現位置から出現して、第2移動情報に基づき移動する移動オブジェクトの画像を生成する。スクリーンは、3次元シーンを投影するための2次元のスクリーンであり、ビュースクリーン又は投影面と呼ぶことができる。例えばスクリーンは、画像生成部120により生成された画像が表示される領域として、後述の
図2に示すように壁面又はスクリーン部材等に設定される表示領域である。実空間の移動物体は、スクリーンが設定される壁面又はスクリーン部材等にヒットし、このヒット位置に対応する出現位置から移動オブジェクトが出現するCGの3次元画像が、画像生成部120により生成される。移動オブジェクトの出現位置は、ヒット位置そのものであってもよし、ヒット位置に基づき特定される位置であってもよい。例えば後述の
図18等のようにヒット位置と出現位置は異なった位置であってもよい。
【0055】
また移動情報演算部108は、検出装置162の検出結果に基づき求められた移動物体の第1軌道に対して軌道補正を行って、移動オブジェクトの第2軌道を求める。例えば検出装置162の検出結果(移動物体の位置、方向等)に基づいて、移動物体の第1移動情報が求められて、実空間の移動物体の第1軌道が求められる。移動情報演算部108は、この第1軌道に対して軌道補正を行うことで、第2軌道を求める。そして移動物体に対応する移動オブジェクトを、仮想空間において、第2軌道に沿うように移動させる。例えば移動情報演算部108は、第1軌道とは異なる方向の第2軌道に沿って移動オブジェクトが移動するように軌道補正を行う。
【0056】
具体的には移動情報演算部108は、検出装置162の検出結果に基づき求められた移動物体の第1軌道に基づいて、スクリーンへの移動物体のヒット位置を求める。例えば第1軌道に沿って移動物体が移動したときのスクリーンへの移動物体のヒット位置を求める。例えば第1軌道とスクリーンとの交点を移動物体のヒット位置として求める。そして移動情報演算部108は、ヒット位置に対応する出現位置から第2軌道に沿って移動オブジェクトを移動させる演算処理を行う。例えば画像生成部120は、ヒット位置に対応する出現位置から移動オブジェクトが出現する仮想空間画像を生成する。そして移動情報演算部108は、その出現位置から第2軌道に沿って移動するように、移動オブジェクトを移動させる演算処理を行う。
【0057】
この場合に移動情報演算部108は、例えばプレーヤの視点から見て、第1軌道と第2軌道とが、ヒット位置において1次微分可能性を有するように、軌道補正を行う。例えば第1軌道と第2軌道が連続しており、且つ、ヒット位置において1次微分可能となるように軌道補正を行うことで、移動物体の第1軌道から、移動オブジェクトの第2軌道を求める。例えばプレーヤの視点から見て、第1軌道と第2軌道とがヒット位置において1次の直線で近似できるように軌道補正を行う。なお第1軌道と第2軌道は、プレーヤの視点から見て1次微分可能性を有すればよく、仮想空間における実際の軌道において1次微分可能性を有する必要はない。
【0058】
例えば移動情報演算部108は、プレーヤの視点から見て、第1軌道のヒット位置における第1接線と、第2軌道のヒット位置における第2接線とが一致するように、軌道補正を行う。第1軌道のヒット位置における第1接線の方向と、第2軌道のヒット位置における第2接線の方向が一致することで、ヒット位置における第1軌道と第2軌道の1次微分可能性が確保されるようになる。
【0059】
また移動情報演算部108は、移動物体のヒット位置から、所与の遅延時間分だけ移動した位置を、移動オブジェクトの出現位置に設定する。例えば移動情報演算部108は、検出装置162の検出結果により求められた移動物体の第1移動情報に基づいて、移動物体のスクリーン(壁面、スクリーン部材)へのヒット位置やヒットタイミングを求める演算処理を行う。この場合に、この演算処理や移動オブジェクトの描画処理には所定の処理時間が必要であり、この処理時間が経過したタイミングが、移動物体のスクリーンへのヒットタイミングよりも後のタイミングになる場合がある。この処理時間は、例えば数フレームに対応する時間であり、例えば3~10フレーム分の時間である。この場合に、移動物体のヒット位置から、所与の遅延時間分だけ移動した位置を、移動オブジェクトの出現位置に設定して、移動オブジェクトを出現させる。この遅延時間は例えば上記の処理時間に基づき設定される時間である。そして移動情報演算部108は、ヒット位置から所与の遅延時間分だけ移動した出現位置から出現した移動オブジェクトを、第2軌道に沿って移動させる演算処理を行う。
【0060】
またゲーム装置は、仮想空間画像を、スクリーンに投影するプロジェクター10を含む。例えば
図2に示すように、画像生成部120により生成された仮想空間画像をスクリーンSCに対して投影するプロジェクター10を含む。例えばプロジェクター10は、移動物体がスクリーンSCにヒットした後、移動物体に対応する移動オブジェクトが、ヒット位置に対応する出現位置から出現して移動する仮想画像(CG画像)を、スクリーンSCに対して投影する。プロジェクター10は、例えばLCD等により実現される表示部190と、画像を投影する投影機構と、レンズ等の光学系などにより実現される。
【0061】
2.本実施形態の手法
次に本実施形態の手法について詳細に説明する。なお、以下では、プレーヤがサッカーのボールを蹴ってプレイするサッカーゲームに本実施形態を適用した場合について主に説明するが、本実施形態が適用されるゲームはこのようなサッカーゲームには限定されない。例えばボールを投げたり、バットで打ったりする野球ゲーム、ボールをクラブで打つゴルフゲーム、又はボールをラケットで打つテニスゲームなどの種々のスポーツゲームや、スポーツゲーム以外のゲーム(シューティングゲーム、アクションゲーム、RPG、リズムゲーム、競争ゲーム等)にも適用できる。
【0062】
2.1 ゲーム、検出装置
まず本実施形態により実現されるゲームの例について説明する。例えば
図2においてプレーヤPLは、実空間の移動物体であるボールBLをスクリーンSCに向かって蹴っている。スクリーンSCはゲーム施設の壁面に設定されており、スクリーンSCには仮想空間画像が表示されている。具体的にはプロジェクター10により仮想空間画像を投影することで、スクリーンSCに仮想空間画像が表示される。この仮想空間画像では、サッカーのグランドに対応するフィールドFLや、ゴールGLや、空などの画像が3次元の画像(疑似3次元画像)として表示されている。
【0063】
図3(A)~
図4(B)はスクリーンSCに表示される仮想空間画像の例である。
図2に示すようにプレーヤPLがボールBLを蹴ることで、
図3(A)に示すようにボールBLがスクリーンSCに向かって移動する。
図3(A)における影は、プロジェクター10の光がボールBLによって遮られた結果、スクリーンSCに発生する影を示している(この図の場合、プロジェクター10はスクリーンSCに対して左下手前側に設置されている)。以降の説明図でも同様であり、ボールBLがスクリーンに衝突する前の図(
図8(A)、
図14(A))における影は、プロジェクター10の光がボールBLによって遮られた結果スクリーンSCに発生する影を示している。その後、
図3(B)に示すようにボールBLがスクリーンSC(壁面)のヒット位置PHTにヒットする。このようにボールBLがヒットすると、
図4(A)、
図4(B)に示すように、ヒット位置PHTに対応する出現位置から、仮想空間の移動オブジェクトであるボールオブジェクトBOBが出現して移動する仮想空間画像が、スクリーンSCに表示される。ここで
図4(A)、
図4(B)におけるボールの影は、CG映像として描かれる影を示している。同じく、ボールBLがスクリーンに衝突した後の図(
図9(A)、
図9(B)、
図15(A)~
図16(B))における影は、CG映像として描かれる影を示している。
【0064】
具体的には本実施形態では、検出装置162からの検出結果に基づいて、仮想空間画像が表示されるスクリーンSCに向かって移動するボールBL(広義には移動物体)の実空間での第1移動情報を求める。即ち、プレーヤPLが蹴ったり、被ヒット物でヒットすることで飛んで行くボールBLの第1移動情報を求める。そしてボールBLに対応する仮想空間のボールオブジェクトBOB(広義には移動オブジェクト)の第2移動情報を、ボールBLの第1移動情報に基づいて求める。例えば検出装置162によるボールBLの移動の検出結果に基づいて、ボールBLの第1軌道や速さなどの第1移動情報を求める。そしてこの第1移動情報に基づいてボールBLのスクリーンSCへのヒット位置PHTを求めたり、ヒット後のボールオブジェクトBOBの第2軌道や速さなどの第2移動情報を求める。そして
図4(A)、
図4(B)に示すように、ヒット位置PHTに対応する出現位置から出現して、仮想空間を移動するボールオブジェクトBOBの画像を含む仮想空間画像を生成する。これによりプレーヤPLは、自分が蹴ったボールBLが、ボールオブジェクトBOBとなって仮想空間のゴールGL等に向かって飛んで行くような仮想空間画像を見ることができ、リアルなサッカーのシミュレーションゲームをプレイできるようになる。
【0065】
図5に検出装置162の一例を示す。
図5では、2つの座標検出装置20、30が、プレーヤの位置とスクリーンSC(壁面)との間に設置されている。座標検出装置20、30は、例えばタッチパネルにおけるタッチ位置の検出等に用いられる装置である。例えば座標検出装置20の右下のコーナー部、左下のコーナー部にはカメラ21、22が設けられ、座標検出装置30の右下のコーナー部、左下のコーナー部にはカメラ31、32が設けられる。カメラ21、22、31、32の各々は、結像レンズと、結像レンズを介して入射された光を検出するイメージセンサーと、結像レンズに隣接するように設けられて赤外光を放つ赤外発光ダイオードを有する。また座標検出装置20、30の3辺の周囲反射枠には再帰反射テープが設けられている。そして座標検出装置20、30は、赤外発光ダイオードから放たれた赤外光の反射光をイメージセンサーにより検出することで、ボールBLの通過位置PS1、PS2の座標を検出する。そして移動情報演算部108は、検出装置162の検出結果である通過位置PS1、PS2の座標に基づいて、ボールBLの移動情報を求める。具体的には移動情報演算部108は、ボールBLの軌道ベクトル(軌跡ベクトル)とボールBLの速度を求め、スクリーンSC(壁面)へのボールBLの着弾点であるヒット位置PHTや、着弾タイミングであるヒットタイミングを求める。そして画像生成部120は、スクリーンSCのヒット位置にCGのボールオブジェクトBOBを生成し、軌道ベクトルや速度に基づいて、仮想空間内においてボールオブジェクトBOBを飛翔させる。
【0066】
図6に検出装置162の他の例を示す。
図6では、実空間に2台のカメラ41、42を設置する。そしてこれらの2台のカメラ41、42の位置関係を測量しておく。次にプレーヤがボールBLを蹴ったり、投げると、2台のカメラ41、42により、それぞれの画像平面IP1、IP2内でのボールBLの位置P1、P2を検出する。そして移動情報演算部108は、これらの位置P1、P2とカメラ41、42の位置関係に基づいて、三角測量によりボールBLの実空間での位置PBを算出し、ボールBLの軌道ベクトルと速度を求め、スクリーンSCへのボールBLのヒット位置PHTとヒットタイミングを求める。そして画像生成部120は、スクリーンSCのヒット位置にCGのボールオブジェクトBOBを生成し、軌道ベクトルや速度に基づいて、仮想空間内においてボールオブジェクトBOBを飛翔させる。
【0067】
2.2 仮想カメラの画角の設定
以上のような実空間の移動物体に対応する移動オブジェクトを仮想空間に出現させるゲームにおいては、仮想カメラの画角を、プレーヤのプレイ位置とスクリーンとに基づき規定される第1画角に設定すると、生成される仮想空間画像の迫力や臨場感が不足してしまうなどの課題があることが判明した。一方、仮想カメラの画角を、プレーヤのプレイ位置とスクリーンとに基づき規定される第1画角とは異なる画角に設定すると、移動物体が移動する実空間と、移動オブジェクトが移動する仮想空間との繋がりに、プレーヤが違和感を感じてしまうという問題が発生する。例えば実空間の移動物体と仮想空間の移動オブジェクトとの連動がスクリーンを境に折れ曲がって見えてしまい、プレーヤに違和感を与えてしまう。
【0068】
例えばVR(バーチャルリアリティ)においては、実空間の物体をオブジェクトにモデル化し、実空間と同様の縮尺で、モデル化されたオブジェクトを仮想空間に配置する。例えば
図3(A)、
図3(B)において、フィールドFLやゴールGLなどの3次元のオブジェクトを、実空間と同様の縮尺で、仮想空間に配置する。そして
図7に示すようにプレーヤのプレイ位置PPに、仮想空間でのプレーヤの視点となる仮想カメラVCを配置する。このようにすることで、あたかも実空間と同様の物体が配置された仮想空間の世界を、プレーヤのプレイ位置PPとなる仮想カメラVCの位置から見た仮想空間画像がスクリーンSCに表示されるようになり、プレーヤに対してリアルな仮想現実を体験させることが可能になる。
【0069】
具体的には
図7に示すように、スクリーンSCのサイズを横が4m、縦が2mとし、プレーヤのプレイ位置PPを、スクリーンSCから3mの距離であるとする。即ちこのゲームでは、スクリーンSCから3mの距離の位置をプレイ位置として、プレーヤがゲームをプレイすることが想定されている。この場合に
図7のVRでは、プレーヤのプレイ位置PPに仮想カメラVCが配置されるため、仮想カメラの画角θ1は67度程度になる。この画角θ1は、プレーヤのプレイ位置PPとスクリーンSCとに基づき規定される第1画角である。即ち、横のサイズが4mのスクリーンSCから3mの距離に仮想カメラVCが配置される場合に、仮想カメラVCの水平方向の画角θ1は67度程度になる。また仮想カメラVCの高さは、1mに設定されており、縦のサイズが2mのスクリーンSCの中心位置に対応する高さに設定されている。即ち仮想カメラVCの方向は、スクリーンSCの中心に向かう方向に設定される。
【0070】
図8(A)、
図8(B)、
図9(A)、
図9(B)は、
図7のVRの仮想カメラ設定手法において生成される仮想空間画像の例である。
図7の仮想カメラVCの画角θ1(第1画角)では現実の空間と同様の画角になるが、注視安定視野角に比べて狭角気味になるため、
図8(A)~
図9(B)では仮想空間のボールオブジェクトBOBが大きく見え、且つ、ボールオブジェクトBOBの飛び方にスピード感が出ないという問題が発生する。即ちプレーヤは、ワイド感やスピード感が足りないため、物足りなさを感じてしまう。例えば
図3(A)~
図4(B)に比べて、
図8(A)~
図9(B)では、仮想カメラVCの画角が狭くなっていることによる違和感をプレーヤが感じてしまう。
【0071】
図10は、プレーヤが感じる違和感の原因についての説明図であり、サッカーのテレビ中継をプレーヤが観ているときの様子が示されている。テレビの画面には、広い画角のカメラにより撮影されたテレビ中継の画像が表示されている。プレーヤは、このように広い画角のテレビ中継の画像を、それほど広くない画面サイズのテレビのモニターを介して観ることになる。VRのゲームではない通常のゲームの画像をテレビのモニターを介して見る場合も、
図10と同じような状況になる。
図10に示すような表示は、実際にはリアルな表示ではないが、このようなコンテンツが多いため、プレーヤは、このようなリアルではない表示に慣れてしまっている。
【0072】
そして
図10のように広い画角のカメラで撮影された画像をテレビで観ることに慣れているプレーヤは、
図7のような忠実なVRの仮想カメラ設定手法で生成された
図8(A)~
図9(B)の仮想空間画像に対して、違和感を感じてしまう。即ち、リアルではない
図10の表示に慣れてしまっているプレーヤは、
図8(A)~
図9(B)のような忠実なVRの画像に対して、逆に違和感を感じてしまう。例えば仮想空間を狭く感じてしまったり、ボールオブジェクトBOBの飛び方にスピード感がなく、臨場感が今ひとつであると感じてしまう。
【0073】
そこで本実施形態では、仮想カメラVCの設定を、
図7のVRとは異なる設定にする。具体的には
図11に示すように、仮想カメラVCの画角を、仮想カメラVCとスクリーンSCとの位置関係により規定される画角とは異なる画角に設定する。例えば
図11の本実施形態の設定手法では、
図7に比べて仮想カメラVCの画角を広くしている。即ち
図11では、仮想カメラVCの画角を、
図7の画角θ1(第1画角)よりも広い画角θ2(第2画角)に設定している。具体的には、
図7ではプレーヤのプレイ位置PPに仮想カメラVCを配置していたが、
図11ではプレーヤのプレイ位置PPとは異なる位置に仮想カメラVCを配置する。例えば
図7に比べてスクリーンSCに近い位置に仮想カメラVCを配置する。そして仮想カメラVCの視錐台は、仮想カメラVCの位置と実空間のスクリーンSCのサイズにより設定される。このようにすることで第2画角であるθ2は、
図7の第1画角であるθ1よりも広くなる。具体的には
図11では、仮想カメラVCの画角θ2は90度程度になっており、注視安定視野角に対応する画角に設定されている。
【0074】
このようにすることで
図3(A)~
図4(B)に示すように、プレーヤは、仮想空間を広々とした空間と感じるようになり、ボールオブジェクトBOBの飛び方にもスピード感があり、臨場感があると感じるようになる。例えばボールオブジェクトBOBの水平角での飛ぶ映像の見え方が、人間の感覚に合うようになる。そして
図10に示すような見え方に慣れているプレーヤは、
図3(A)~
図4(B)に示すような仮想空間画像に対して違和感を感じないようになる。
【0075】
図12は、注視安定視野角を説明する図である。注視安定視野角は、安定した眼球や頭部運動により対象情報を弁別視野内で注視できる範囲であり、その水平角αは90度~100度程度である。
図11に示すように本実施形態では、仮想カメラVCの画角θ2を、注視安定視野角に対応する画角に設定することで、プレーヤの感覚に合った違和感のない仮想空間画像を表示できるようになる。なお
図11では仮想カメラVCの画角を、プレーヤのプレイ位置PPとスクリーンSCとの位置関係により規定される第1画角よりも広い第2画角に設定する場合について説明したが、ゲームの種類や内容によっては、第2画角を第1画角よりも狭くする変形実施も可能である。例えば第2画角を狭くすることで超望遠の仮想空間画像を表示することなどが可能になる。
【0076】
また
図11では、仮想カメラVCの高さを、プレーヤの平均目線の高さに設定している。例えば
図7のVRでは、仮想カメラVCの高さを、スクリーンSCの中心位置に対応する高さである1mに設定している。これに対して
図11では、仮想カメラVCの高さを、平均目線の高さである1.5mに設定している。例えば
図8(A)~
図9(B)のVRによる仮想空間画像では、仮想空間のフィールドFLを実際よりも低い目線の位置から水平に見た想定で描画された映像を、上から見下ろしているような見え方になり、プレーヤが違和感を感じてしまう。これに対して仮想カメラVCの高さを平均目線の高さに設定する本実施形態の手法によれば、
図3(A)~
図4(B)に示すように例えば自身の目の高さ付近に地平線が見えるようになり、
図8(A)~
図9(B)に比べてプレーヤにとって違和感が少ない仮想空間画像を生成できる。そしてボールオブジェクトBOBの迎角での飛ぶ映像の見え方も人間の感覚に合うようになり、実空間と仮想空間の繋がりの違和感を低減できるようになる。
【0077】
2.3 軌道補正
以上のように本実施形態では、仮想カメラの画角を、プレーヤのプレイ位置とスクリーンとにより決まる第1画角とは異なる第2画角に設定している。このようにすることで、ワイド感やスピード感や臨場感は増すが、仮想カメラの画角が変更されることで、仮想空間の移動オブジェクトの軌道がプレーヤの感覚に一致しなくなるという問題が発生するおそれがある。例えばプレーヤがボール等の移動物体を画面に垂直かつ直線状に投げた場合にも、移動物体に対応する仮想空間の移動オブジェクトは、透視変換における消失点へと向かう方向に折れ曲がって進んでいるように見えてしまう。即ち、スクリーン面に対する、視点から垂線の足に向かって移動オブジェクトが折れ曲がって飛んでいるように見えてしまい、移動オブジェクトの軌道がプレーヤの感覚に一致しなくなる。
【0078】
そこで本実施形態では、移動オブジェクトの軌道を補正する処理を行う。例えば検出装置162の検出結果に基づき求められた実空間の移動物体の第1軌道に対して軌道補正を行って、仮想空間の移動オブジェクトの第2軌道を求める。例えば
図13では、仮想カメラVCの画角を第2画角であるθ2=90度に設定しており、仮想カメラVCの位置と、プレーヤのプレイ位置PPが異なる位置になっている。このため
図13の軌道TRのように、実空間の移動物体の第1軌道と同じ軌道で、仮想空間の移動オブジェクトを移動させると、プレーヤの視点からは、軌道TRVのように内側に折れ曲がって移動オブジェクトが移動するように見えてしまう。
【0079】
そこで実空間の移動物体の第1軌道に対応する軌道TRに対して軌道補正を行って、移動オブジェクトの第2軌道を軌道TRCのように曲げておく。このようにすれば、移動オブジェクトが描画されたときに、プレーヤの視点から見ると、ちょうど軌道TRに沿って移動オブジェクトが移動するように見えるようになる。従って、仮想カメラVCの画角を変更した場合に、プレーヤから見える移動オブジェクトの軌道がプレーヤの感覚に一致しなくなってしまう事態を防止できる。従って、仮想カメラVCの画角の変更により、ワイド感やスピード感や臨場感が増すと共に、移動オブジェクトの軌道もプレーヤの感覚に一致するようになり、より適切な仮想空間画像を生成できるようになる。
【0080】
更に具体的には本実施形態では、検出装置162の検出結果に基づき求められた移動物体の第1軌道に基づいて、スクリーンSCへの移動物体のヒット位置を求め、ヒット位置に対応する出現位置から第2軌道に沿って移動オブジェクトを移動させる。例えば実空間での移動物体の第1軌道や速度に基づいて、スクリーンSCへの移動物体の着弾点であるヒット位置を計測する。そして移動物体の第1軌道に対して軌道補正を行うことで求められた第2軌道に沿って、移動オブジェクトを移動させる。この場合に移動オブジェクトの速度は、例えば移動物体の速度に対応する速度に設定する。このようにすれば、第1軌道に沿って移動した移動物体がスクリーンSCに衝突した後、移動物体に対応する移動オブジェクトが出現し、第1軌道を補正した第2軌道に沿って移動するようになる。従って、移動オブジェクトのスクリーンSCへの衝突後に、プレーヤの感覚に一致する軌道で移動オブジェクトが移動する仮想空間画像を生成できるようになる。
【0081】
図14(A)~
図16(B)は、移動オブジェクトの軌道補正を行った場合における移動オブジェクトの移動を示す仮想空間画像の例である。例えば
図14(A)では、移動物体であるボールBLがスクリーンSCに向かって移動しており、
図14(B)においてボールBLがヒット位置PHTにおいてスクリーンSCにヒットしている。これにより
図15(A)に示すように、ヒット位置PHTに対応する出現位置からボールオブジェクトBOBが出現し、
図15(B)、
図16、(A)、
図16(B)に示すように第2軌道である軌道TRBに沿って仮想空間内を移動して行く。なお
図15(A)~
図16(B)では、説明を分かりやすくするために、ボールオブジェクトBOBの影の軌道を軌道TRBとして示している。例えば軌道補正を行わなかった場合には、軌道TRAに示すように、ボールオブジェクトBOBの軌道が内側に折れ曲がってしまう。即ち透視変換における消失点の方向に軌道が折れ曲がる。これに対して本実施形態では軌道補正を行っているため、ボールオブジェクトBOBは軌道TRBに示すように移動するようになり、軌道TRAのように内側に折れ曲がって移動してしまう事態を防止できる。例えば実空間においてプレーヤがボールBLを真っ直ぐに蹴った場合には、仮想空間においても、ボールBLに対応するボールオブジェクトBOBは真っ直ぐの軌道で移動するようになる。従って、プレーヤの感覚に一致する軌道で移動オブジェクトが移動する仮想空間画像を生成できる。
【0082】
例えば本実施形態では、プレーヤの視点から見て、移動物体の第1軌道と移動オブジェクトの第2軌道とが、ヒット位置において1次微分可能性を有するように、軌道補正を行う。即ち
図17(A)では、移動物体MVは第1軌道TR1に沿って移動しており、ヒット位置PHTにおいてスクリーンSCにヒットしている。そして本実施形態では、移動物体MVの第1軌道TR1に対して軌道補正を行って第2軌道TR2を求め、この第2軌道TR2に沿って、移動物体MVに対応する移動オブジェクトMOBを移動させる。この場合に本実施形態では
図17(A)に示すように、プレーヤの視点から見て、移動物体MVの第1軌道TR1と移動オブジェクトMOBの第2軌道TR2とが、ヒット位置PHTにおいて1次微分可能性を有するように、軌道補正を行う。更に具体的には、第1軌道TR1と第2軌道TR2がヒット位置PHTにおいて連続し、且つ、プレーヤの視点から見て、第1軌道TR1と第2軌道TR2とがヒット位置PHTにおいて1次微分可能性を有するように、軌道補正を行う。このようにすれば、プレーヤの視点から見て、移動物体MVの第1軌道TR1と移動オブジェクトMOBの第2軌道TR2とが違和感無く連結されるようになり、プレーヤの感覚に一致する軌道で移動オブジェクトMOBが移動する仮想空間画像を生成できるようになる。
【0083】
別の言い方をすれば本実施形態では
図17(B)、
図17(C)に示すように、プレーヤの視点から見て、移動物体MVの第1軌道TR1のヒット位置PHTにおける第1接線TG1と、移動オブジェクトMOBの第2軌道TR2のヒット位置PHTにおける第2接線TG2とが一致(略一致の場合を含む)するように、軌道補正を行う。このようにすれば、
図17(A)のようにヒット位置PHTでの第1軌道TR1と第2軌道TR2の1次微分可能性が確保されるようになり、プレーヤの感覚に一致する軌道での移動オブジェクトMOBの移動を実現できるようになる。
【0084】
次に軌道補正の詳細について説明する。例えば
図13に示すように、プレーヤのプレイ位置PPを原点である(0,0,0)とし、プレーヤから見て、右方向をX軸のプラス側方向(正方向)、上方向をY軸のプラス側方向、前方向をZ軸のプラス側方向とする。また描画視点である仮想カメラVCの位置を(0,0,Zg)とし、スクリーンSCのZ軸での位置をZ0とする。またスクリーンSCへの移動物体のヒット位置PHTを(X0,Y0,Z0)とし、検出装置162の検出結果により算出された移動物体の速度の方向ベクトルを(Xv,Yv,Zv)とする。また仮想カメラVCからスクリーンSCへの距離をZ0’=Z0-Zgとする。また描画におけるnear面は、スクリーンSCの面に一致するものとする。
【0085】
そして軌道補正後の移動オブジェクトの軌道の方向ベクトル(描画用の方向ベクトル)を(Xv’,Yv’,Zv’)とすると、Xv’とYv’は例えば下式(1)、(2)のように求めることができる。即ち、上述のようにプレーヤの視点から見て1次微分可能性を有するように軌道補正を行うことで、Xv’とYv’は下式(1)、(2)のようになる。なおZvについては変更しないという条件にする。
【0086】
【0087】
上式(1)、(2)は、経過時間を表すtを含んだ式になっている。なおtの単位が秒であれば、(Xv,Yv,Zv)は秒速に対応し、tの単位がフレームであれば、(Xv,Yv,Zv)は1フレーム当たりの速度に対応する。
【0088】
一方、tを含まない式にしたい場合には、Xv’とYv’は下式(3)、(4)のように表すことができる。即ち移動物体がスクリーンSCにヒットしたタイミング(t=0)での初速度だけ求め、以後はこの初速度で移動するものとすれば、下式(3)、(4)のようになる。
【0089】
【0090】
また本実施形態では、移動物体のヒット位置から、所与の遅延時間分だけ移動した位置を、移動オブジェクトの出現位置に設定する。例えば
図18では、第1軌道TR1に沿って移動する移動物体MVがヒット位置PHTにおいてスクリーンSCにヒットしている。この場合にヒット位置PHTから、所与の遅延時間td分だけ移動した位置を、移動オブジェクトMOBの出現位置PEMに設定する。遅延時間tdは、例えば数フレーム(5~7フレーム程度)の時間である。例えば移動物体MVの第1移動情報に基づいて、移動オブジェクトMOBの速度がVMであると演算された場合には、ヒット位置PHTからVM×tdだけ移動した位置を出現位置PEMに設定して、移動オブジェクトMOBを出現させる。
【0091】
即ち本実施形態では検出装置162を用いてボールBL等の移動物体MVの位置等を検出し、移動物体MVがスクリーンSCにヒットした後に、移動物体MVに対応する移動オブジェクトMOBを出現させている。この場合に検出装置162による検出から、移動オブジェクトMOBが描画されるまでの間に、計算のタイムラグがある。
図5を例にとれば、ボールBL等の移動物体MVの軌道の計算には、1つめの座標検出装置20による通過位置PS1の検出後、2つめの座標検出装置30による通過位置PS2の検出が必要になる。従って、通過位置PS2が検出された後、移動物体MVの軌道の計算が行われて、ヒット位置PHTが求められ、移動オブジェクトMOBの描画処理が行われる。従って、移動オブジェクトMOBの描画処理が完了するタイミングが、ヒット位置PHTでのヒットタイミングよりも後のタイミングになってしまう場合がある。
【0092】
そこで本実施形態では、このような検出処理や描画処理の計算のタイムラグを考慮して、
図18に示すように、ヒット位置PHTから遅延時間td分だけ進めた位置から移動オブジェクトMOBを出現させる。このようにすることで、検出処理や描画処理などの計算のタイムラグがあった場合にも、実空間の移動物体MVから仮想空間の移動オブジェクトMOBへの切り替わりが違和感無く行われるようになり、適切な仮想空間画像を生成できるようになる。
【0093】
次に
図19のフローチャートを用いて本実施形態の詳細な処理例を説明する。まず仮想カメラの画角を、プレーヤのプレイ位置PPとスクリーンSCとに基づき規定される第1画角とは異なる第2画角に設定する(ステップS1)。即ち
図7に示すようにプレーヤのプレイ位置PPとスクリーンSCとより規定される画角θ1(第1画角)から、
図11に示すような画角θ2(第2画角)に変更する。また仮想カメラVCの高さを、プレーヤの平均目線の高さに設定する(ステップS2)。即ち
図7のVRではスクリーンSCの中心位置に対応する高さに設定されていた仮想カメラVCの高さを、
図11に示すようにプレーヤの平均目線の高さである例えば1.5mに設定する。
【0094】
次にゲームが開始したか否かを判断し、ゲームが開始した場合にはフレーム更新のタイミングか否かを判断する(ステップS3)。例えば本実施形態では、フレーム更新のタイミング毎に軌道の検出や仮想空間画像の生成が行われる。そしてフレーム更新のタイミングである場合には、検出装置162から移動物体についての検出結果を取得する(ステップS5)。例えば
図5、
図6で説明したような検出装置162から移動物体の位置等の検出結果を取得する。そして検出結果に基づいて、移動物体の第1移動情報を求める(ステップS6)。即ち移動物体の軌道である第1軌道や速度などの情報を求める。
【0095】
次に移動物体がスクリーンSCにヒットしたか否かを判定する(ステップS7)。例えば移動物体の第1軌道や速度などに基づいて、移動物体がスクリーンSCにヒットしたか否かを判定し、ヒットタイミングやヒット位置PHTを求める。そしてヒット位置PHTに対応する出現位置PEMから、移動物体に対応する移動オブジェクトMOBを出現させる(ステップS8)。
図18を例にとれば、ヒット位置PHTから、遅延時間td分だけ移動した位置を出現位置PEMに設定して、移動オブジェクトMOBを出現させる。そして第1移動情報に基づき求められた第2移動情報に基づいて、移動オブジェクトMOBを仮想空間において移動させる(ステップS9)。具体的には、例えば
図13~
図17(C)で説明したような軌道補正を移動物体MVの第1軌道に対して行って、移動オブジェクトMOBの第2軌道を求め、第2軌道に沿って移動オブジェクトMOBを移動させる。そしてゲームが終了したか否かを判断し(ステップS10)、ゲームが終了していない場合にはステップS4に戻り、ゲームが終了した場合には処理を終了する。
【0096】
次に本実施形態の種々の変形実施例について説明する。例えば検出装置162の構成は
図5、
図6で説明したものには限定されず、移動物体の実空間での位置を検出可能な種々の装置を採用できる。例えば検出装置162として、ライトカーテンや測域センサーなどのセンサーを用いたり、これらのセンサーを組み合わせた装置を採用してもよい。具体的にはボールを蹴る位置を定位置にして、ライトカーテンと、
図5で説明した1台の座標検出装置(タッチパネル)の組合わせで、検出装置162を実現してもよい。また移動物体のヒット位置(着弾位置)をタッチパネルセンサーで検出してもよい。例えば
図5で説明した座標検出装置などにより実現されるタッチパネルセンサーで検出する。
【0097】
また以上では、移動物体がボールであり、移動オブジェクトがボールオブジェクトである場合を例にとり説明したが、本実施形態はこれに限定されない。例えば移動物体や移動オブジェクトは球形状のボールやボールオブジェクトには限定されず、球形状以外の形状の物体やオブジェクトであってもよい。例えば移動物体や移動オブジェクトは弓矢のゲームにおける弓矢や弓矢オブジェクトであってもよい。
【0098】
また本実施形態では、軌道補正を行う場合に、プレーヤのプレイ位置が固定位置である場合を例にとり説明したが、何らかの手法によりプレーヤの位置やプレイ位置を検出できる場合には、プレーヤのプレイ位置を可変位置としてもよい。例えばカメラを用いた物体検出やヘッドトラッキングなどによりプレーヤの位置やプレイ位置を検出する。そして検出されたプレーヤ位置やプレイ位置よりも、例えばスクリーンSC側の位置に仮想カメラを配置して、仮想カメラの画角を制御するようにしてもよい。
【0099】
なお、上記のように本実施形態について詳細に説明したが、本開示の新規事項および効果から実体的に逸脱しない多くの変形が可能であることは当業者には容易に理解できるであろう。従って、このような変形例はすべて本開示の範囲に含まれるものとする。例えば、明細書又は図面において、少なくとも一度、より広義または同義な異なる用語(移動物体、移動オブジェクト等)と共に記載された用語(ボール、ボールオブジェクト等)は、明細書又は図面のいかなる箇所においても、その異なる用語に置き換えることができる。また仮想空間画像の生成処理、仮想カメラの設定処理、移動情報の演算処理、軌道補正処理等も、本実施形態で説明したものに限定されず、これらと均等な手法・処理・構成も本開示の範囲に含まれる。
【符号の説明】
【0100】
BL…ボール、BOB…ボールオブジェクト、PL…プレーヤ、FL…フィールド、
GL…ゴール、SC…スクリーン、VC…仮想カメラ、PP…プレイ位置、
PS1、PS2…通過位置、PHT…ヒット位置、IP1、IP2…画像平面、
P1、P2、PB…位置、θ1、θ2…画角、TR、TRV、TRC…軌道、
TRA、TRB…軌道、MV…移動物体、MOB…移動オブジェクト、
TR1…第1軌道、TR2…第2軌道、TG1…第1接線、TG2…第2接線、
PEM…出現位置、td…遅延時間、VM…速度、
10…プロジェクター、20、30…座標検出装置、
21、22、31、32…カメラ、41、42…カメラ、
100…処理部、102…ゲーム処理部、104…仮想空間設定部、
106…仮想カメラ設定部、108…移動情報演算部、120…画像生成部、
130…音生成部、160…操作部、162…検出装置、170…記憶部、
172…仮想空間情報記憶部、178…描画バッファ、180…情報記憶媒体、
190…表示部、192…音出力部、194…I/F部、
195…携帯型情報記憶媒体、196…通信部