JP6629499B2 - プログラムおよび画像生成装置 - Google Patents

プログラムおよび画像生成装置 Download PDF

Info

Publication number
JP6629499B2
JP6629499B2 JP2014119125A JP2014119125A JP6629499B2 JP 6629499 B2 JP6629499 B2 JP 6629499B2 JP 2014119125 A JP2014119125 A JP 2014119125A JP 2014119125 A JP2014119125 A JP 2014119125A JP 6629499 B2 JP6629499 B2 JP 6629499B2
Authority
JP
Japan
Prior art keywords
hmd
virtual
image
game
input
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2014119125A
Other languages
English (en)
Other versions
JP2015231445A (ja
Inventor
恩田 明生
明生 恩田
一正 小関
一正 小関
永司 岩田
永司 岩田
亮介 大畑
亮介 大畑
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Namco Ltd
Bandai Namco Entertainment Inc
Original Assignee
Namco Ltd
Bandai Namco Entertainment Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Namco Ltd, Bandai Namco Entertainment Inc filed Critical Namco Ltd
Priority to JP2014119125A priority Critical patent/JP6629499B2/ja
Publication of JP2015231445A publication Critical patent/JP2015231445A/ja
Application granted granted Critical
Publication of JP6629499B2 publication Critical patent/JP6629499B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、コンピュータに表示制御させるためのプログラム等に関する。
頭部装着型ディスプレイであるヘッドマウントディスプレイ(Head Mounted Display:以下「HMD」)は、臨場感と迫力の有る映像体験を提供するためのキーデバイスとして知られている。例えば、遊園地等のアトラクションやビデオゲームなどに採用する技術が知られている(例えば、特許文献1〜特許文献3を参照)。
また、HMDを用いながらユーザのジェスチャーを認識する技術も知られるところである(例えば、特許文献4を参照)。
特開平5−305181号公報 特開2000−210468号公報 特開2003−125313号公報 特開2012−181809号公報
本発明は、HMDを使用してジェスチャー入力を実現する際のユーザビリティを向上させる新たな技術の実現を目的とする。
上述した課題を解決するための第1の発明は、ユーザの頭部に装着されるHMD(Head Mounted Display)と、前記ユーザの手或いは当該ユーザが把持するポインティングデバイス(以下包括して「操作指示物」という)及び前記HMDを含む実空間を撮影するために設置された撮像手段(例えば、図1の測距センサユニット1100、カラーイメージセンサ1104)とに接続されたコンピュータを、
前記撮像手段の撮影画像を用いて、前記HMDの表示画像空間となる仮想空間における、前記実空間中の前記操作指示物の位置に対応する仮想位置を算出する算出手段(例えば、図9の処理部200、ゲーム演算部202、手位置算出部214、図12のステップS4)、
前記仮想空間中の所与の位置に入力判定体(例えば、図6の被選択体24)を配置する入力判定体配置制御手段(例えば、図9のプレーヤ補助制御部220、被選択体制御部228、立体視画像生成制御部232、図14のステップS112)、
前記仮想位置と、前記入力判定体の配置位置とに基づき、前記入力判定体への入力を判定する入力判定手段(例えば、図9のプレーヤ補助制御部220、ジェスチャー入力判定部238、図14のステップS170〜S172)、
として機能させるためのプログラムである。
入力判定体とは、ジェスチャー入力を要求する際にユーザにジェスチャーの目安として提供する表示体である。例えば、手の位置の到達目標位置や到達目標領域であったり、動作開始ポイントから終了ポイント、更にはそれら両ポイント間を結ぶ動作軌跡、などを示すもの、ガイドなどのことである。到達目標位置や到達目標領域を示す意味で表示する場合には、ユーザの立場からすれば入力判定体は選択操作の対象と映るので“被選択体”と呼び換えることができる。勿論、ジェスチャー入力を要求する状況によっては、それがゲーム中に登場するキャラクタや背景物などを兼ねても良い。
第1の発明によれば、ジェスチャー入力する内容が割り当てられた入力判定体を、HMDの表示画面内に表示させることができる。ジェスチャー入力に慣れないと、どのようにジェスチャーすればその場で望まれている入力ができるか分かり難いものであるが、ユーザは入力判定体をジェスチャー入力の案内として利用できるので、スムーズにその時要求されているジェスチャー入力ができるようになる。つまり、HMDを使用してジェスチャー入力を実現する際のユーザビリティを向上させることが可能となる。
第2の発明は、前記HMDの前記実空間中の位置及び/又は姿勢を判定するHMD位置姿勢判定手段(例えば、図9のHMD位置姿勢算出部210、図12のステップS4)、
前記HMDに表示させる前記仮想空間の画像として、前記HMD位置姿勢判定手段により判定された前記HMDの位置及び/又は姿勢に応じて視界が変化する前記仮想空間の画像を生成する仮想空間画像生成手段(例えば、図9の立体視画像生成制御部232、図12のステップS15)、として前記コンピュータを更に機能させ、
前記入力判定体配置制御手段は、前記視界の変化に追従して当該視界内の所与の位置に前記入力判定体を配置させる第1の発明のプログラムである。
もし、入力判定体が仮想空間に対して固定位置に表示されると、ユーザが首を振ると入力判定体が視界外に外れてしまい、ゲーム内容によっては入力判定体が視界外に外れたままとなり、ユーザが操作入力するべきタイミングであることを失念することにもなりかねない。例えば、FPS(ファーストパーソンシューティングゲーム)などではそうしたシチュエーションになりかねない。しかし、第2の発明によれば、ユーザがHMDを被って首を振ったとしても入力判定体はHMDの視界内に表示されるのでそうした心配はなくなる。
しかし、その一方でゲーム内容によっては入力判定体が仮想空間の所定位置にあった方が都合が良い場合もある。例えば、アドベンチャーゲームで秘密の部屋の鍵を解錠するための番号や操作を入力する場面がこれに該当するといえるであろう。
よって、第3の発明として、前記HMDの前記実空間中の位置及び/又は姿勢を判定するHMD位置姿勢判定手段、前記HMDに表示させる前記仮想空間の画像として、前記HMD位置姿勢判定手段により判定された前記HMDの位置及び/又は姿勢に応じて視界が変化する前記仮想空間の画像を生成する仮想空間画像生成手段、として前記コンピュータを更に機能させ、前記入力判定体配置制御手段は、前記視界の変化に関わらず、前記入力判定体の配置位置を前記仮想空間中の所定位置とする、第1の発明のプログラムを構成してもよい。
第4の発明は、前記仮想空間画像生成手段が、前記仮想空間内にキャラクタ(例えば,図5の案内キャラクタ20)を配置した画像を生成し、前記入力判定体配置制御手段は、前入力判定体を前記キャラクタに付随させる、第3の発明のプログラムである。
第4の発明によれば、例えば、キャラクタからの質問に対する返答をジェスチャー入力する場面などに好適である。
第5の発明は、前記入力判定体配置制御手段が、所与の条件を満たした場合に、前記入力判定体の付随表示を中断して当該視界中の所定位置に前記入力判定体を位置させる、第4の発明のプログラムである。
第5の発明によれば、入力判定体は視界内の所定位置にいわば固定表示(視界内に残存表示)されるので、ユーザビリティに優れる。
例えば、第6の発明として、前記入力判定体配置制御手段が、前記キャラクタが前記視界内に位置した後、前記視界外となった場合を前記所与の条件を満たした場合とする、第5の発明のプログラムを構成することもできる。
この場合、キャラクタが一旦視界内に位置する場合を条件にして適用すれば、そのあとユーザが首を振って当該キャラクタが視界外(画面外)となったとしても、入力判定体が常に視界内に維持されるので入力判定体を見失わず、また入力を要求されていることを忘れずにすむ。
第7の発明は、前記仮想位置に、前記操作指示物の前記実空間中の位置に対応する位置であることを示す指示オブジェクト(例えば、図5の左手オブジェクト14、右手オブジェクト16)を前記HMDに表示させる指示オブジェクト表示制御手段(例えば、図9の手オブジェクト制御部226、図12のステップS4、図13のステップS52)、
として前記コンピュータを機能させるための第2〜第6の何れかの発明のプログラムである。
第7の発明によれば、実空間中の操作指示物の位置に対応する仮想空間の位置に、指示オブジェクトを表示させることができる。よって、指示オブジェクトの表示を頼りに操作指示物を入力判定体に近づけるといったジェスチャー入力がし易くなる。
第8の発明は、前記入力判定手段が、前記入力判定体の表示位置と前記指示オブジェクトの表示位置との相対位置関係に基づいて前記入力判定体への入力を判定する(例えば、図14のステップS170〜S172)、第6の発明のプログラムである。
第8の発明によれば、ユーザは入力判定体に操作指示物を近づけたり、入力判定体に操作指示物を向けることで、当該入力判定体への入力が可能となり、優れたユーザビリティを実現できる。
第9の発明は、前記HMDからみて、前記仮想位置が前記仮想空間において隠れた位置となる場合に、当該指示オブジェクトを表出させるように画像処理する第1の画像処理手段(例えば、図9の表出処理部230、図14のステップS122)として前記コンピュータを更に機能させるための第7又は第8の発明のプログラムである。
第9の発明によれば、指示オブジェクトの視認性を向上できる。
第10の発明は、前記HMDからみて、前記入力判定体が前記仮想空間において隠れた位置となる場合に、当該入力判定体を表出させるように画像処理する第2の画像処理手段(例えば、図9の表出処理部230、図14のステップS120)として前記コンピュータを更に機能させるための第2〜第9の何れかの発明のプログラムである。
第10の発明によれば、入力判定体の視認性を向上できる。
第11の発明は、前記仮想空間画像生成手段が、前記仮想空間内にキャラクタを配置した画像を生成し、
前記仮想位置に基づいて前記キャラクタに対する操作入力を判定するキャラクタ対象操作入力判定手段(例えば、図9のジェスチャー入力判定部238、図12のステップS8)、
前記入力判定体が表示されているときには前記キャラクタ対象操作入力判定手段を無効とし、表示されていないときに前記キャラクタ対象操作入力判定手段を有効とする手段(例えば、図9の対キャラクタジェスチャー入力無効化制御部240、図13のステップS94、図14のステップS174)、として前記コンピュータを機能させるための第2〜第10の何れかの発明のプログラムである。
第11の発明によれば、仮想空間内に入力判定体以外にもジェスチャー入力の対象が存在する場合に、入力判定体以外へのジェスチャー入力を無効化することで、入力判定体への入力を優先させるとともに意図しない入力を防止することができる。
実空間の座標系と仮想空間の座標系との関係に関しては、第12の発明として、前記実空間に対応するように前記仮想空間の座標系を初期設定する座標系初期設定手段(例えば、図16の座標系初期設定部204)、として前記コンピュータを更に機能させるための第1〜第11の何れかの発明のプログラムを構成すると好適である。
例えば、第13の発明として、前記座標系初期設定手段は、前記撮像手段の撮影画像中の前記操作指示物の位置を参照して、前記初期設定を実行する、第12の発明のプログラムを構成すると、操作指示の精度が向上するので更に好適である。
また、HMDと操作指示物の相対位置関係を、実空間と仮想空間とで同じように制御する場合に限らず、第14の発明として、前記算出手段が、前記実空間中の前記HMDと前記操作指示物との相対位置関係に基づいて、前記仮想位置を補正する仮想位置補正手段(例えば、図16の仮想位置補正部206)を有する、第1〜第13の何れかの発明のプログラムを構成するとしてもよい。
更には、第15の発明として、前記仮想位置補正手段が、前記HMDの向きを基準にした前記相対位置関係が所定の補正条件を満たした場合に、当該補正条件に対応付けられた補正演算に従って前記仮想位置を補正する、第14の発明のプログラムを構成することができる。
第16の発明は、ユーザの頭部に装着されるHMDと、操作指示物及び前記HMDを含む実空間を撮影するために設置された撮像手段とに接続され、前記HMDに表示させる画像を生成するための画像生成装置であって、
前記撮像手段の撮影画像を用いて、前記HMDの表示画像空間となる仮想空間における、前記実空間中の前記操作指示物の位置に対応する仮想位置を算出する算出手段(例えば、図1の制御基板1050、図9の処理部200、ゲーム演算部202、手位置算出部214、図12のステップS4)と、
前記仮想空間中の所与の位置に入力判定体を配置する入力判定体配置制御手段(例えば、図1の制御基板1050、図9のプレーヤ補助制御部220、被選択体制御部228、立体視画像生成制御部232、図14のステップS112)と、
前記仮想位置と、前記入力判定体の配置位置とに基づき、前記入力判定体への入力を判定する入力判定手段(例えば、図1の制御基板1050、図9のプレーヤ補助制御部220、ジェスチャー入力判定部238、図14のステップS170〜S172)と、
を備えた画像生成装置である。
第16の発明によれば、第1の発明と同様の効果が得られる。
ゲームシステムの構成例を示す図。 ゲームコントローラの構成例を示す図。 ヘッドセットの構成の一例を示す図。 測距空間の座標系と測距・認識される要素について説明する図。 HMDに表示させるプ立体視画像(ゲーム画像)を生成するための仮想空間と、仮想空間に配置されるオブジェクトとの一例を示す図。 (1)HMDに表示される立体視画像(ゲーム画像;ゲーム画面)の例と、(2)その時の現実世界におけるプレーヤ及びその周囲の状態と、を示す図。 (1)HMDに表示される立体視画像(ゲーム画像;ゲーム画面)の例と、(2)その時の現実世界におけるプレーヤ及びその周囲の状態と、を示す図。 (1)HMDに表示される立体視画像(ゲーム画像;ゲーム画面)の例と、(2)その時の現実世界におけるプレーヤ及びその周囲の状態と、を示す図。 ゲームシステムの機能構成例を示す機能ブロック図。 記憶部が記憶するプログラムやデータの例を示す図。 仮想空間制御データのデータ構成例を示す図。 ゲームシステムにおける処理の流れを説明するためのフローチャート。 プレーヤ補助処理の流れを説明するためのフローチャート。 図13より続くフローチャート。 ゲームシステムの構成の変形例を示す図。 機能構成の変形例を示す図。 HMDに表示させる立体視画像(ゲーム画像)を生成するための仮想空間と、仮想空間に配置されるオブジェクトとの変形例を示す図。
図1は、本実施形態におけるゲームシステムの構成の一例を示す図である。
本実施形態のゲームシステム1000は、ゲーム装置本体1002と、タッチパネル1004と、測距センサユニット1100と、ゲームコントローラ1200と、HMD1310を搭載したヘッドセット1300と、を含む。HMD1310は、非透過型(没入型とも称される)のHMDとして説明するが、半透過型や透過型のHMDであってもよい。
ゲーム装置本体1002は、コンピュータの一種であって制御基板1050を内蔵する。
制御基板1050は、例えば、
1)CPU(Central Processing Unit)1051やGPU(Graphics Processing Unit)、DSP(Digital Signal Processor)などの各種マイクロプロセッサ、
2)VRAMやRAM,ROM等の各種ICメモリ1052、
3)タッチパネル1004や測距センサユニット1100、ゲームコントローラ1200、ヘッドセット1300などの周辺機器と無線或いは有線により通信接続するための通信モジュール1053、
4)タッチパネル1004などのドライバ回路1054、などを搭載する。
なお、制御基板1050の一部又は全部をASIC(Application Specific Integrated Circuit)やFPGA(Field-Programmable Gate Array)で構成するとしてもよい。
そして、ゲーム装置本体1002は、制御基板1050でICメモリ1052に記憶されているプログラムおよびデータを読み出して演算処理することにより、ゲームシステム1000を統合的に制御して、ビデオゲームを実行させることができる。
タッチパネル1004は、タッチパネルを装備したビデオモニタであって、プレーヤ2の概ね正面に配置される。
測距センサユニット1100は、例えばタッチパネル1004の上部に、当該モニタの表示面正面方向へ向けて、ヘッドセット1300及びゲームコントローラ1200を撮影範囲に含めるように固定設置される。そして、タッチパネル1004の前方に存在するプレーヤ2やその周辺の物体の画像を撮影し、画像データをゲーム装置本体1002へ出力することできる。更に、当該画像を画像解析することでプレーヤ2やその周辺の物体までの距離を算出し、距離情報をゲーム装置本体1002へ出力することができる。なお、図中の引き出し図は、測距センサユニット1100の正面図である。
具体的には、測距センサユニット1100は、例えば、赤外線(IR)を前方へ照射する赤外線照射器1102と、前方の物体からの赤外線反射画像を撮影することができるカラーイメージセンサ1104と、赤外線反射画像を解析して物体までの相対距離等を算出したり画像認識処理を行う単数又は複数のLSI1106とを搭載する。カラーイメージセンサ1104は、撮像手段の一種である。
測距センサユニット1100は、カラーイメージセンサ1104で撮影した画像から、ゲームコントローラ1200やヘッドセット1300、プレーヤ2の身体の各部を画像認識して撮影された画像内の代表点位置を判定する。そして、代表点位置までを測距することができる。こうした測距は、公知のIR式測距センサ技術により実現することができる。
なお、測距センサユニット1100で採用する測距技術はIR式に限らず適宜採用することができる。例えば、左右のカラーイメージセンサ1104を用いてステレオ撮影し、視差から距離を算出するとしてもよい。
また、測距センサユニット1100には、公知の6軸センサ1108が搭載されている。
6軸センサ1108は、測距センサユニット1100の前後(カラーイメージセンサ1104の光軸方向)・左右・上下の3軸方向の移動や各軸周りの回転を検出するモーショントレースのための公知のセンサであって、例えば、3軸方向の加速度と3軸周りの角速度とを検出する。或いは3軸方向の加速度と東西南北の地磁気方向を検出するとしてもよい。6軸センサ1108による検出結果から、測距空間の座標系の深度方向軸(Z軸)の向きが分かるようになる。
また、測距センサユニット1100は、ゲーム装置本体1002と通信接続するための通信モジュールや、バッテリーなどを適宜搭載するものとする。
図2は、ゲームコントローラ1200の構成例を示す図である。
本実施形態のゲームコントローラ1200は、両手で把持して用いることを前提としてデザインされている。勿論、銃型コントローラのように片手での把持を前提としてデザインするとしてもよい。
ゲームコントローラ1200は、その外面に発光マーカ1202が設けられている。また、スピーカ1204と、バイブレータ1206と、6軸センサ1208と、コントローラ基板1250と、図示されないバッテリー等を内蔵する。
発光マーカ1202は、例えばLED等により実現され、コントローラ基板1250により発光制御される。通常は、常時点灯である。
6軸センサ1208は、ゲームコントローラ1200の前後(X2軸)・左右(Y2軸)・上下(Z2軸)の3軸方向の移動や各軸周りの回転(Φc、θc、Ψc)を検出するモーショントレースのための公知のセンサであって、例えば、3軸方向の加速度と3軸周りの角速度とを検出する。或いは3軸方向の加速度と東西南北の地磁気方向を検出するとしてもよい。
コントローラ基板1250は、CPU1251や、ICメモリ1252、通信モジュール1253、インターフェース回路1254などを搭載し、ゲームコントローラ1200の動作制御や外部との通信を制御する。インターフェース回路1254は、スピーカ1204やバイブレータ1206への制御信号の出力や、操作ボタンスイッチ1260や方向入力キー1262、ジョイスティック1264などからの信号の入力を制御する。
図3は、本実施形態におけるヘッドセット1300の構成例を示す図であって、(1)正面図、(2)側面図に相当する。
ヘッドセット1300は、プレーヤ2が頭部に装着する装備であって、画像と音声の情報をプレーヤ2に視聴可能に提供するとともに、ヘッドトラッキングを実現するための頭部の位置や姿勢を検出する機能を有する。例えば、ヘッドセット1300は、ヘッドホン1302と、HMD1310(頭部装着ディスプレイ:Head Mounted Display)と、ヘッドセット基板1350と、を有する。
ヘッドホン1302は、いわゆる密閉型のステレオヘッドホンとすると好適である。
HMD1310は、提供する視野角が人の視野角に相当する非透過型・没入型のヘッドマウントディスプレイおよびそのドライバ回路により実現できる。
例えば、ヘッドセット基板1350から画像信号を受信する通信ICと、受信した画像信号に基づく画像を装着者の両眼に肉眼の視野角相当で見せる画像表示デバイス及び光学素子と、6軸センサ1308と、6軸センサ1308で検出した頭部の加速度や姿勢の情報を算出処理するICチップ1309と、ゲーム装置本体1002と通信接続するための通信モジュール1352と、を含む。これらの一部は、ヘッドセット基板1350に含まれるとしてもよい。
6軸センサ1308は、HMD1310すなわちプレーヤ2の頭部の前後(X3軸)・左右(Y3軸)・上下(Z3軸)の3軸の移動や各軸周りの回転(Φh、θh、Ψh)を検出するモーショントレースのための公知のセンサであって、例えば、3軸方向の加速度と3軸周りの角速度とを検出する。或いは3軸方向の加速度と東西南北の地磁気方向を検出するとしてもよい。
ヘッドセット基板1350は、ヘッドセット1300の各部と接続され当該ヘッドセットにおける各種演算処理と、外部とのデータ通信制御に係る処理を行う制御基板である。例えば、CPUやICメモリ、画像処理LSI、通信IC、インターフェース回路などにより実現できる。
また、HMD1310の正面3箇所に発光マーカ1312が設けられている。発光マーカ1312は、例えばLED等により実現され、ヘッドセット基板1350により発光制御される。通常は、常時点灯である。発光マーカ1312は、測距センサユニット1100のカラーイメージセンサ1104で撮影した画像からHMD1310の存在と位置を認識するためのマーカとして利用される。
図4は、測距空間の座標系と測距・認識される要素について説明する図である。
測距空間の座標系は、測距センサユニット1100を座標原点とし、カラーイメージセンサ1104の光軸方向を深度軸(Z軸)とする。そして、スケールは実空間と同様に設定されている。測距空間は実空間でもあるが、測距センサユニット1100の設置姿勢に応じて座標系の各軸方向が定義される。測距センサユニット1100の設置姿勢は、6軸センサ1108の検知結果から判断される。勿論、6軸センサ1109の検知結果から実空間の水平方向及び鉛直方向を求めることができるため、測距空間の座標軸の方向も、水平方向及び鉛直方向に沿って設定することが可能である。
本実施形態のゲームシステム1000では、測距センサユニット1100による測距によって測距空間における、HMD1310の位置Phと、ゲームコントローラ1200の位置Pcと、プレーヤ2の右手位置Pr及び左手位置Plとを随時(例えば100ms間隔などの所定周期で)得ることができる。
具体的には、測距センサユニット1100のカラーイメージセンサ1104で撮影された画像から、HMD1310の発光マーカ1312を認識することで、HMD1310の存在を認識し、画像座標系における発光マーカ1312が写っている位置と、当該位置の測距結果とからHMD1310の位置Phを決定する。測距センサユニット1100を基準とする発光マーカ1312の相対位置関係、相対距離、大きさから位置Phを割り出すとしても良い。ゲームコントローラ1200についても同様に、画像座標系における発光マーカ1202が写っている位置と、当該位置の測距結果とからゲームコントローラ1200の位置Pcを決定することができる。
また、カラーイメージセンサ1104で撮影された画像中の複数の発光マーカ1312それぞれの大きさ・傾き・変形や、各発光マーカ1312を結んでできる図形の大きさ・傾き・変形から、HMD1310の姿勢(Φh、θh、Ψh)、換言すれば、HMD1310を装着したプレーヤの視線方向(顔の正面方向)を検出することができる。そして、HMD1310の6軸センサ1308により位置Phにおける姿勢や姿勢の変化を知ることができる。ゲームコントローラ1200についても同様で、カラーイメージセンサ1104で撮影された画像中の発光マーカ1202それぞれの大きさ・傾き・変形や、各発光マーカ1202を結んでできる図形の大きさ・傾き・変形からゲームコントローラ1200の姿勢(Φc、θc、Ψc)を検出することができる。また、ゲームコントローラ1200の6軸センサ1208により位置Pcにおける姿勢や姿勢の変化を知ることができる。
なお、6軸センサ1308や6軸センサ1208が地磁気センサなどを含んで構成され、地磁気方向を基準とした姿勢を検出できるならば、発光マーカ1312や発光マーカ1202を用いた姿勢算出の補正情報として利用したり、発光マーカ1312や発光マーカ1202を利用せずに姿勢算出を実現することができる。
ジェスチャー入力の際の操作指示物となる左手位置Pl及び右手位置Prは、カラーイメージセンサ1104で撮影された画像から左手、右手が写っている部分を画像認識し、当該画像部分の位置座標と、当該位置座標に係る測距結果とから決定される。なお、手の画像認識は形状認識などの公知技術を適宜用いて実現できる。
そして、本実施形態のゲームシステム1000は、これらのパラメータ値に基づいて、家庭用据置型ゲーム装置でHMDを使用する際の不便を改善し、ユーザビリティを向上させる。具体的には、ヘッドセット1300を装着した状態で、且つゲームコントローラ1200が把持されない場合に、ヘッドセット1300を装着して外界の様子を確認できない状態であっても、比較的容易にゲームコントローラ1200を見つけて手に持てるように案内をしてプレーヤを補助する。
〔原理の説明〕
容易にゲームコントローラ1200を見つけて手に持てるようにする案内の1つが、HMD1310による案内表示の実施である。
図5は、HMD1310にて表示させるプレーヤ補助表示用の立体視画像を生成するためのプレーヤ補助表示用仮想3次元空間と当該空間に配置されるオブジェクトとの例を示す図である。
本実施形態では、プレーヤ補助表示用仮想3次元空間は、実空間の水平方向及び鉛直方向に沿って座標軸方向を定めた座標系で定義され、スケールも実空間と同様に設定される。また、座標原点は、測距空間の原点と同じ位置とする。プレーヤ補助表示用仮想3次元空間は仮想空間の一例であり、以下適宜「仮想空間」と略称する。HMD1310に表示するゲーム画像を生成するために、HMD1310用の仮想視点(仮想ステレオカメラ10)を基準とする視点座標系の仮想空間を別途設けるとしてもよい。また、プレーヤ補助表示用仮想3次元空間は、例えば、プレーヤが昆虫等のミクロの世界に入り込んだようなゲームを楽しむ場合には、実空間と異なるスケールとしてもよいことは勿論である。
プレーヤ補助表示用仮想3次元空間には、空間の方向感覚を補うために適宜床や壁、天井などの背景オブジェクト4と、仮想ステレオカメラ10と、コントローラオブジェクト12と、方向案内オブジェクト13と、左手オブジェクト14と、右手オブジェクト16とが配置される。また、操作入力を促すなどのプレーヤ2に向けた何らかの操作案内表示を行う場合には、案内キャラクタ20や、案内表示パネル22、被選択体24の各オブジェクトが配置される。
仮想ステレオカメラ10は、HMD1310にて立体視画像を生成するための左右一組の仮想カメラ群である。当該セットの右側カメラで撮影したプレーヤ補助表示用仮想3次元空間のレンダリング画像がHMD1310の右眼用の画像となり、左側カメラで撮影したレンダリング画像が左眼用の画像となる。
仮想ステレオカメラ10は、測距座標系から仮想空間の座標系に適宜座標変換されたHMD1310の位置Ph’に配置される。そして、仮想ステレオカメラ10の撮影画角は人の肉眼と同程度に設定され、光軸の方向はHMD1310の6軸センサ1308にて検出された前後軸(X3軸:図3)の方向とし、光軸周りの回転は6軸センサ1308にて検出された前後軸周りの回転と同一となるように制御される。つまり、仮想ステレオカメラ10はプレーヤ2の頭部の動きをトレースするように制御される。こうした機能は、公知のHMDに係るヘッドトラッキング技術を利用することができる。
コントローラオブジェクト12は、ゲームコントローラ1200の存在位置を示すオブジェクト(第1の案内表示の第1形態)であって、例えばゲームコントローラ1200を簡略化したデザインを有する。そして、測距座標系から仮想空間の座標系に適宜座標変換されたゲームコントローラ1200の位置Pc’に配置される。コントローラオブジェクト12の大きさは、実物のゲームコントローラ1200と同じまたは同程度とする。
方向案内オブジェクト13は、仮想空間においてコントローラオブジェクト12の位置を指し示すように制御されるオブジェクト(第1の案内表示の第2形態)である。HMD1310の視界内(撮影画角内)に、コントローラオブジェクト12が入らない場合に、HMD1310の視界内の所定位置に表示されるように配置位置が自動調節される。具体的には、HMD1310の表示画面の周部であって、ゲームコントローラ1200の位置PC’に最近接する位置に方向案内オブジェクト13が配置表示される(図6参照)。
左手オブジェクト14及び右手オブジェクト16は、本実施形態におけるジェスチャー入力の操作指示物である手の実空間(測距空間)中の位置に対応する仮想空間中の位置を示す指示オブジェクトであり、容易にゲームコントローラ1200を手に取れるようにするための第2の案内表示である。具体的には、左手オブジェクト14及び右手オブジェクト16は、それぞれ測距座標系から仮想空間の座標系に適宜座標変換されたプレーヤ2の左手位置Pl’及び右手位置Pr’に配置制御される。つまり、左手オブジェクト14及び右手オブジェクト16は、それぞれプレーヤ2の左手及び右手の動きをトレースする。
案内キャラクタ20や、案内表示パネル22、被選択体24は、仮想ステレオカメラ10から見て奥側、言うなればプレーヤ2の正面方向に配置される。
仮想ステレオカメラ10の位置や視線方向が変化したとしても(すなわち、ヘッドセット1300が装着された頭部を動かしたとしても)、案内キャラクタ20及び案内表示パネル22の仮想空間における配置位置は変化しない。特に、案内キャラクタ20は仮想空間中を移動し得るが、案内表示パネル22は仮想空間中の固定位置に配置されるものとする。
案内表示パネル22は、操作入力の目的や操作入力を促すテキストや図を表示する、例えば板状オブジェクトある。
被選択体24は、例えば選択操作アイコンに相当し、対応付けられている選択肢を示すテキストや図を表示する。被選択体24の配置位置は、仮想ステレオカメラ10の撮影画角内(すまわちHMD1310で見える視界内)において固定または略固定となるように自動制御される(詳細は後述)。被選択体24のデザインは、適宜設定可能であるが、本実施形態では案内キャラクタ20の台詞を表示する“吹き出し”に相当するデザインとする。
図6〜図8は、(1)HMD1310で表示される立体視画像(ゲーム画像;ゲーム画面)の例と、(2)その時の現実世界におけるプレーヤ2とその周囲の状態と、を示す図である。
図6〜図8に示す画像は、ゲーム開始前の準備段階にあって、プレーヤ2が両手でヘッドセット1300を装着し、タッチパネル1004すなわち正面を向いた状態で見ることができる。
仮想空間の座標原点付近に案内キャラクタ20や、案内表示パネル22、被選択体24が初期配置されるため(図5参照)、図6に示すように仮想ステレオカメラ10の立体視画像(ゲーム画面)W2の中央正面に、これらが表示される。このうち、被選択体24は、必ずゲーム画面の所定位置に表示されるように、仮想ステレオカメラ10の視線方向に追従して、仮想空間中の位置が調整される(図8参照)。
この段階ではまだプレーヤ2はゲームコントローラ1200を把持していないので、プレーヤ2の手の位置によっては図6(1)に示すように左手オブジェクト14及び右手オブジェクト16が表示され得る。そして、この状態の仮想ステレオカメラ10からは、コントローラオブジェクト12が撮影画角内に入らないので(図6(2)参照)、第1の案内表示として方向案内オブジェクト13が画面内に表示される(図6(1)参照)。
プレーヤ2はゲームコントローラ1200を未だ手にしていないが、自身の手の位置により操作入力をすることができる。
図6(1)の例では、プレーヤ2にゲーム開始の意志確認を要求している。ゲームコントローラ1200を手にとってゲームを始める意志があれば左の被選択体24を手で触れるつもりで左側奥方へ腕を伸ばせばよい。左腕を延ばすに従い左手オブジェクト14が移動表示され、図7(1)に示す立体視画像(ゲーム画像)W4のように、左の被選択体24に到達または所定距離まで近接すると、左手オブジェクト14の表示形態が別の表示形態に切り換えられる。図7(1)の例では、表示色が変更されている。そして、その状態が所定時間維持或いは所定動作(例えば、その場で手を振る動作をする)と、左手オブジェクト14が左の被選択体24を選択入力したと判定され、左の被選択体24に対応づけられている選択肢の入力が確定する。つまり、ゲームプレイする意志がジェスチャー入力される。なお、図7(1)において、方向案内オブジェクト13は、別の形態の例を示している。
図7(1)の状態から、プレーヤ2が方向案内オブジェクト13を参考にして首を左方向に回転させれば、仮想空間における仮想ステレオカメラ10の向きも左方向に回転することとなる。HMD1310には、図8(1)の立体視画像(ゲーム画面)W6が表示されることになる。
図6(1)や図7(1)で表示されていた方向案内オブジェクト13は、図8(1)の状態でコントローラオブジェクト12が仮想ステレオカメラ10の撮影範囲に入ったことで仮想空間から消去され、立体視画像(ゲーム画面)W6からは消えることになる。つまり、第1の案内表示が、方向案内オブジェクト13からコントローラオブジェクト12に切り替えられることになる。
被選択体24は、立体視画像(ゲーム画面)の所定位置に固定的に表示されるので見失うことはない。また、被選択体24には、プレーヤ2のゲームプレイポジションにおける正面方向(タッチパネル1004の方向)を示す正面方向ガイド部25(図8(1)の例では、吹き出しの指示部分(引き出し部分))が用意されており、プレーヤ2が首を振ったとしても正面方向を見失うことはない。
プレーヤ2の頭の向き(すなわち、仮想ステレオカメラ10の視線方向)によっては、コントローラオブジェクト12の一部又は全部が被選択体24などの他オブジェクトの背後に隠れるケースも起こり得る。他オブジェクトは特に限定されない。例えば、案内キャラクタ20や案内表示パネル22、背景を構成するオブジェクトなども含まれる。そしてその場合、コントローラオブジェクト12の表出処理を行う。具体的には、コントローラオブジェクト12を隠しているオブジェクトを、図8(1)のように半透明表示するか、コントローラオブジェクト12が見えるように当該隠しオブジェクトのモデルを一時的に変更する。例えば、のぞき穴を作る、角を削ると言った具合である。図8(1)の例では、被選択体24が隠しオブジェクトとなる。
本実施形態では、仮想空間の水平方向及び鉛直方向はプレーヤ2が居る現実世界(実空間)と同じとし、スケールも現実世界(実空間)と同じとしている。そして、仮想ステレオカメラ10の撮影画角は肉眼に合わせてある。よって、プレーヤ2(ユーザ)にとって、HMD1310で見える立体視画像は、距離感が現実と同じ仮想現実の画像として認識される。よって、プレーヤ2は、コントローラオブジェクト12が見えている位置へ向けて腕を伸ばせば、容易にゲームコントローラ1200に手が届く。手が届くまでの過程においても、腕を延ばすのに伴って左手オブジェクト14(または右手オブジェクト16)が立体視画像内で移動表示されて最新の手の位置を示すので、普通に物を取る感覚で容易にゲームコントローラ1200を手に取ることができる。
また、本実施形態では、ゲームコントローラ1200への案内は、こうした立体視によるものの他にゲームコントローラ1200のバイブレーションと、ヘッドホン1302による信号音(案内音)とにより複合的に提供される。
具体的には、図6(2)に示すように、ゲームコントローラ1200が把持されていないと判断されると、バイブレータ1206(図2参照)を作動させてゲームコントローラ1200を振動させる。把持されていないことを検出する条件は、例えば、1)6軸センサ1208で検出される信号が所定時間以上変化しない、2)所定時間以上操作ボタンスイッチ1260などからの操作入力が検出されない、3)ゲームコントローラ1200の位置Pcから左手位置Plや右手位置Prまでの相対距離が基準値以上離れた、と言った条件の単独又は組合せとすることができる。
ゲームコントローラ1200が振動することにより発する音で、プレーヤ2はゲームコントローラ1200がどちらの方向にあるか知る手がかりとなる。また、手が触れると振動でゲームコントローラ1200であると直ぐに分かるので都合が良い。
また、ヘッドホン1302からは、HMD1310の位置Phから見たゲームコントローラ1200の位置Pcの方向から音が聞こえるように信号音をサラウンドで放音する。
サラウンド機能そのものは、公知技術により実現される。プレーヤ2は、信号音の聞こえてくる方向からゲームコントローラ1200がどちらにあるかを聴覚的に知り、ゲームコントローラ1200を見つけ出して手に取ることが可能となる。このとき、手の位置(右手位置Pr,左手位置Pl)と、ゲームコントローラ1200の位置Pcとの相対距離に応じて、音量や音高を変化させたり、パルス音であればその周期を変化させるなどの音制御を行うと一層好適である。
〔機能構成の説明〕
次に、本実施形態を実現するための機能構成例について説明する。
図9は、本実施形態におけるゲームシステム1000の機能構成例を示す機能ブロック図である。本実施形態におけるゲームシステム1000は、操作入力部100と、処理部200と、音出力部390と、画像表示部392と、通信部394と、コントローラ発振部396と、記憶部500とを備える。図9において、ゲーム装置本体1002の主要な機能ブロックは、操作入力部100、音出力部390、画像表示部392及びコントローラ発振部396を除いた構成となる。
操作入力部100は、各種操作を入力するための手段である。ジョイスティック、プッシュスイッチ、レバー、ボリューム、ペダルスイッチ、キーボード、マウス、トラックパッド、トラックボール、ジェスチャー入力装置など、公知の操作入力デバイスにより実現できる。本実施形態では、タッチパネル1004、ゲームコントローラ1200がこれに該当する(図1参照)。
そして、本実施形態の操作入力部100には、頭部姿勢変化検出部102と、測距部104と、が含まれる。
頭部姿勢変化検出部102は、プレーヤ2の頭部の姿勢及び姿勢の変化を検出し、検出信号を処理部200へ出力する。例えば、ジャイロや加速度センサを用いたり、イメージセンサで撮影画像から人の頭部を認識するなどの公知のヘッドトラッキング技術などにより実現できる。本実施形態では、ヘッドセット1300に内蔵されたHMD1310(図3参照)、より具体的には6軸センサ1308とICチップ1309がこれに該当する。HMD1310の姿勢を測距センサユニット1100で撮影した画像処理から求める構成であれば、測距センサユニット1100もこれに該当すると言える。
測距部104は、所定周期でプレーヤ2およびその周辺の様子を撮影し、存在する物体までの距離を測定し、撮影した画像データや測距結果を逐次処理部200へ出力する。本実施形態では、測距センサユニット1100が該当する(図1参照)。
処理部200は、例えばCPUやGPU等のマイクロプロセッサや、ASIC(特定用途向け集積回路)、FPGA、ICメモリなどの電子部品によって実現され、操作入力部100や記憶部500を含む各機能部との間でデータの入出力制御を行う。そして、所定のプログラムやデータ、操作入力部100などからの入力信号に基づいて各種の演算処理を実行して、ゲームシステム1000の動作を統合的に制御する。本実施形態では制御基板1050がこれに該当する(図1参照)。
そして、処理部200は、ゲーム演算部202と、音信号生成部290と、画像信号生成部292と、通信制御部294とを含む。
ゲーム演算部202は、ゲームプレイに係る各種処理を実行する。
例えば、
1)仮想空間に背景オブジェクトとプレーヤキャラクタオブジェクトと仮想ステレオカメラ10とを配置する処理、
2)操作入力部100からの操作入力信号に基づいてプレーヤキャラクタオブジェクトの動作を制御する処理、
3)頭部姿勢変化検出部102からの検出情報に基づいて仮想ステレオカメラ10の姿勢をプレーヤ2の頭部の姿勢変化に連動させて、仮想ステレオカメラ10で撮影したゲーム空間の画像をレンダリングしHMD1310にて立体視画像として表示させる処理、
4)ゲーム終了の判定処理、
5)ゲーム成績の算出処理、
6)計時処理、などを行うことができる。勿論、ゲーム内容に応じてこれら以外の処理を適宜実行することができる。
そして、本実施形態のゲーム演算部202は、HMDを用いる上でのユーザビリティ向上を目的として、HMD位置姿勢算出部210と、コントローラ位置姿勢算出部212と、手位置算出部214と、コントローラ把持判定部216と、プレーヤ補助制御部220と、を有する。
HMD位置姿勢算出部210は、実空間におけるHMD1310の位置と姿勢を所定周期(例えば、10ms毎)で随時算出する。本実施形態では、測距部104で得られた画像や測距結果からHMD1310(或いはプレーヤ2の頭部)の位置Phを算出し、頭部姿勢変化検出部102からの検出情報に基づいて姿勢(Φh、θh、Ψh)を得る。
位置Phを求める方法は、適宜公知技術を用いることができる。例えば、測距部104で得られた画像に写っているHMD1310の3つの発光マーカ1312を抽出し、それらの中間位置の画像内の座標からX軸座標値及びY軸座標値を得て、その座標値に対応する測距結果からZ軸座標値を決定するとしてもよい。また、姿勢については、カラーイメージセンサ1104で撮影した画像から、発光マーカ1312や、HMD1310の正面や側面にプリントされている所定の幾何パターンをそれぞれ画像認識して算出する公知技術を用いるとしてもよい。
コントローラ位置姿勢算出部212は、ゲームコントローラ1200の位置Pcを所定周期(例えば、10ms毎)で随時算出する。本実施形態では、測距部104で得られた画像や測距結果からゲームコントローラ1200の位置Pcを算出する。
位置Pcを求める方法は、適宜公知技術を用いることができる。例えば、測距部104で得られた画像に写っているゲームコントローラ1200の2つの発光マーカ1202を抽出し、抽出された位置の中間位置の画像内の座標からX軸座標値及びY軸座標値を得て、その座標値に対応する測距結果からZ軸座標値を決定するとしてもよい。或いは、カラーイメージセンサ1104で撮影した画像からゲームコントローラ1200を画像認識して決定するとしてもよい。
手位置算出部214は、HMD1310の表示画像空間となる仮想空間(プレーヤ補助表示用仮想3次元空間)における、現実空間中のジェスチャー入力用の操作指示物の位置に対応する仮想位置を算出する。本実施形態では、プレーヤ2の左手位置Plと右手位置Prとを所定周期(例えば、10ms毎)で随時算出する。つまり、プレーヤ2の手の位置をトラッキングする。
手位置(左手、右手の仮想位置)を算出する方法は、適宜公知技術を用いることができる。例えば、カラーイメージセンサ1104で撮影した画像から人の手を画像認識し、認識した画像の座標からX軸座標値及びY軸座標値を得て、その座標値に対応する手までの測距結果からZ軸座標値を決定するとしてもよい。
コントローラ把持判定部216は、プレーヤ2がゲームコントローラ1200を手に持っているかを判定する。把持されていることを検知するとも換言できる。判定方法・検知方法は適宜選択可能である。例えば、所定時間(例えば5秒間)操作入力が無い場合や、ゲームコントローラ1200の姿勢変化が所定時間(例えば5秒間)無い場合に把持されていないと判定するとしてもよい。もしゲームコントローラ1200の把持部に静電容量を検出するセンサを搭載できるならば、人の手の接触に伴う静電容量の変化から把持されているか否かを検知するとしてもよい。
プレーヤ補助制御部220は、HMDを使用する際の不便を改善し、ユーザビリティを向上するための主たる制御を行う。
本実施形態では、仮想ステレオカメラ制御部221と、コントローラオブジェクト制御部222と、方向案内オブジェクト制御部224と、手オブジェクト制御部226と、被選択体制御部228と、表出処理部230と、立体視画像生成制御部232と、コントローラ振動制御部234と、擬似サラウンド制御部236と、ジェスチャー入力判定部238と、対キャラクタジェスチャー入力無効化制御部240と、を含む。
仮想ステレオカメラ制御部221は、仮想空間における仮想ステレオカメラ10の位置と姿勢を、実空間におけるHMD1310の位置と姿勢に対応するように制御する。すなわち、実空間におけるHMD1310を被ったプレーヤ2の頭の位置と視線方向(つまり顔正面方向)に連動・追従するように仮想ステレオカメラ10の位置と姿勢を制御する。
コントローラオブジェクト制御部222は、仮想空間にコントローラオブジェクト12を配置し、その表示形態を制御する。表示形態は、ゲームコントローラ1200とプレーヤ2の手との相対距離が所定の近接条件を満たすまでは標準の形態に設定し、近接条件を満たすと表示形態を特別な形態に変更する。
方向案内オブジェクト制御部224は、仮想空間に方向案内オブジェクト13を配置して、その移動と姿勢を制御する。具体的には、常にHMD1310の視界(ゲーム画面)の所定位置に留まるように方向案内オブジェクト13の位置を制御し、HMD1310から見たゲームコントローラ1200の方向を指すようにその姿勢を制御する。
手オブジェクト制御部226は、仮想空間に左手オブジェクト14と右手オブジェクト16を配置して、その移動を制御する。具体的には、実空間におけるHMD1310に対する左手位置、右手位置それぞれの相対位置に対応する仮想空間の位置に、左手オブジェクト14と右手オブジェクト16とが位置するように制御する。
被選択体制御部228は、ジェスチャー入力を要求する際にユーザがジェスチャーの目安とすることのできる表示体を表示制御する。結果的には、この表示体とプレーヤの手などの操作指示物との位置関係でジェスチャー入力が判定されるので、“入力判定体”を表示制御すると言い換えることできる。本実施形態では、操作入力内容が対応付けられた被選択体24を入力判定体の一種として用いて、案内キャラクタ20の“吹き出し”として仮想空間に配置し、プレーヤの手の到達目標位置とする。そして、常にHMD1310の視界(ゲーム画面)の所定位置に留まるように被選択体24の位置を制御する一方で、被選択体24の正面を仮想ステレオカメラ10へ向けるように制御する。また、正面方向ガイド部25が仮想空間の所定位置(例えば座標原点位置)の方向を指し示すように制御する。本実施形態では、正面方向ガイド部25の先端を案内キャラクタ20の所定位置に固定して、被選択体24と一続きとなるようにオブジェクトを変形制御することで、あたかも“吹き出し”が伸び縮み自在でありながら常に案内キャラクタ20を指し示しているように見える。
なお、被選択体24の表示形態はゲーム内容等に応じて適宜設定可能である。例えば、手の動作開始ポイントから終了ポイント、更にはそれら両ポイント間を結ぶ動作軌跡のガイド、などとすることができる。勿論、それがゲーム中に登場するキャラクタや背景物などを兼ねても良い。
表出処理部230は、仮想ステレオカメラ10とコントローラオブジェクト12の間に他のオブジェクトがあって、コントローラオブジェクト12の一部又は全部が当該他オブジェクトの背後になって見えなくなる場合に、コントローラオブジェクト12が見えるように表出させる画像処理をして可視化する。例えば、コントローラオブジェクト12を隠している他オブジェクトを半透明化したり、他オブジェクトにのぞき穴を開けるなどのオブジェクトモデルの変更などを行う。
また、同様に仮想ステレオカメラ10と被選択体24との間に他のオブジェクトがあって、被選択体24の一部又は全部が当該他オブジェクトの背後になって見えなくなる場合に、被選択体24が見えるように画像処理をして可視化する。
また、同様に仮想ステレオカメラ10と左手オブジェクト14や右手オブジェクト16と言った指示オブジェクトの間に他のオブジェクトがあって、指示オブジェクトの一部又は全部が当該他オブジェクトの背後になって見えなくなる場合も指示オブジェクトが見えるように画像処理をして可視化する。
立体視画像生成制御部232は、HMD1310の位置や姿勢に応じて視界が変化する仮想空間の画像を生成するための制御を行う。具体的には、仮想ステレオカメラ10の左右のカメラで撮影した仮想空間の画像をレンダリングしてHMD1310の左眼用及び右眼用の画像とする。つまりゲーム画像(ゲーム画面)となる立体視画像を生成させる。立体視画像生成制御部232は、仮想空間画像生成手段の一例である。
コントローラ振動制御部234は、プレーヤ2がゲームコントローラ1200を把持していないときに、ゲームコントローラ1200を振動させる制御を行う。
擬似サラウンド制御部236は、プレーヤ2がゲームコントローラ1200を把持していないときに、HMD1310から見たゲームコントローラ1200の方向から信号音が聞こえてくるようにステレオ音声を疑似的にサラウンド化する。本実施形態では、ヘッドホン1302にてプレーヤ2に音声を提供するので、公知の擬似サラウンド技術、バーチャルサラウンド技術を適宜利用することができる。
ジェスチャー入力判定部238は、操作指示物である左手または右手の仮想位置(左手位置Pl、右手位置Pr)と、仮想空間内のオブジェクトの配置位置とに基づいて、当該オブジェクトへの操作入力を判定する。
本実施形態では、仮想空間中の操作指示物の位置と、被選択体24の配置位置とに基づき、被選択体24の選択入力を判定することができる。具体的には、仮想空間における左手位置Pl’又は右手位置Pr’と、被選択体24の配置位置との関係が到達判定条件を満たす場合に、当該被選択体24に対応づけられる選択入力を確定判定する。同様に、ジェスチャー入力判定部238は、案内キャラクタ20に対するジェスチャー入力を判定することができる。
対キャラクタジェスチャー入力無効化制御部240は、被選択体24が配置・表示されているときには仮想空間内に配置されているキャラクタ(例えば、図5の案内キャラクタ20)を対象とするジェスチャー入力(例えば、案内キャラクタ20をなでて機嫌をとるなどの操作入力)の判定を無効とし、被選択体24が配置・表示されていないときに有効とする。換言すると、被選択体24の他に仮想空間内に配置されたジェスチャー入力の対象を一時的に操作対象外として、優先されるべき被選択体24へのジェスチャー入力のみを許可し、それ以外のオブジェクトへの意図しない・望まれないジェスチャー入力を防止する。
音信号生成部290は、例えばデジタルシグナルプロセッサ(DSP)などのマイクロプロセッサやその制御プログラムなどの公知技術によって実現され、ゲーム演算部202による処理結果に基づいて効果音やBGM、各種操作音などを含むゲーム音の音信号を生成し音出力部390に出力する。
音出力部390は、音信号生成部290から入力される音信号に基づいて効果音やBGM等を音出力する装置によって実現される。本実施形態では、ヘッドセット1300に搭載されているヘッドホン1302がこれに該当する(図3参照)。
画像信号生成部292は、立体視画像生成制御部232で生成された画像データや、ゲームシステム1000の設定画面に係る画像データ等の画像信号を画像表示部392へ出力することができる。
画像信号生成部392は、画像信号生成部292から入力される画像信号に基づいて各種画像を表示する。例えば、フラットパネルディスプレイ、ブラウン管(CRT)、プロジェクターといった画像表示装置によって実現できる。本実施形態ではタッチパネル1004(図1参照)や、HMD1310(図3参照)が該当する。
通信制御部294は、データ通信に係るデータ処理を実行し、通信部394を介して外部装置とのデータのやりとりを実現する。
通信部394は、例えば、無線通信機、モデム、TA(ターミナルアダプタ)、有線用の通信ケーブルのジャックや制御回路等によって実現され、通信網を介して外部のサーバシステム等と接続して通信を実現する。また、ゲームコントローラ1200等の無線接続機器との間の無線通信を実現する。
コントローラ発振部396は、ゲーム演算部202から出力される振動制御信号に従って、ゲームコントローラ1200を振動させる。本実施形態では、バイブレータ1206及びコントローラ基板1250がこれに該当する(図2参照)。
記憶部500は、処理部200にゲームシステム1000を統合的に制御させるための諸機能を実現するためのプログラムや各種データ等を記憶する。また、処理部200の作業領域として用いられ、操作入力部100から入力されたデータを一時的に記憶したり、処理部200が実行した演算結果などを一時的に記憶する。この機能は、例えばRAMやROMなどのICメモリ、ハードディスク等の磁気ディスク、CD−ROMやDVDなどの光学ディスクなどによって実現される。本実施形態ではICメモリ1052がこれに該当する(図1参照)。
図10は、本実施形態の記憶部500が記憶するプログラムやデータの例を示す図である。記憶部500は、システムプログラム501と、ゲーム演算プログラム502と、ゲーム初期設定データ510と、プレイデータ520とを記憶する。勿論、これら以外の情報も適宜記憶することができる。
システムプログラム501は、処理部200が読み出して実行することで、ゲームシステム1000にコンピュータとして必要な基本的な入出力機能を実現させる。
ゲーム演算プログラム502は、処理部200にゲーム演算部202としての機能を実現させるためのプログラムである。
ゲーム初期設定データ510は、ゲーム空間や、ゲームルール、ゲームに登場する各種オブジェクトを定義する各種初期設定データが格納されている。
プレイデータ520は、プレーヤ補助制御のためのデータや、ゲーム進行状況を記述する各種データを格納する。本実施形態では、実空間である測距空間における、HMD位置座標521(HMD1310の位置Ph)と、HMD姿勢データ522と、コントローラ位置座標523(ゲームコントローラ1200の位置Pc)と、左手位置座標525(左手位置Pl)と、右手位置座標526(右手位置Pr)とを含む。また、仮想空間制御データ630を含む。勿論、これら以外の情報も適宜含めることができる。
仮想空間制御データ630は、ゲーム空間を構成する仮想3次元空間(仮想空間)のデータであり、プレーヤ補助表示用のオブジェクトを配置管理するデータを含む。例えば、図11に示すように、仮想ステレオカメラ制御データ602と、コントローラオブジェクト制御データ604と、方向案内オブジェクト制御データ606と、左手オブジェクト制御データ608と、右手オブジェクト制御データ610と、案内キャラクタ制御データ612と、案内表示パネル制御データ614と、被選択体制御データ616と、を含む。勿論、これら以外の情報も適宜含めることができる。
[動作の説明]
図12は、ゲームシステム1000における処理の流れを説明するためのフローチャートであって、ゲーム演算プログラム502を実行することにより実現される。
先ず、ゲームシステム1000のゲーム装置本体1002は、タッチパネル1004、測距センサユニット1100、ゲームコントローラ1200、ヘッドセット1300の各機器の機器認証を行う(ステップS2)。
機器認証が済む事で、測距センサユニット1100からはカラーイメージセンサ1104により随時所定周期で撮影された画像データと当該画像に基づく測距結果とがゲーム装置本体1002へ逐次入力される。また、ゲームコントローラ1200からは6軸センサ1208による検出結果が、ヘッドセット1300からはHMD1310の6軸センサ1308よる検出結果が、それぞれゲーム装置本体1002へ所定周期で入力される。
次に、ゲーム装置本体1002は、測距センサユニット1100から入力された画像や測距結果に基づいて、HMD1310の位置Phと、ゲームコントローラ1200の位置Pcと、プレーヤ2の左手位置Pl及び右手位置Prとを所定周期で随時算出する処理を開始する(ステップS4)。つまり、これらの各要素の実空間内におけるトラッキングが開始される。
また、ゲームコントローラ1200がプレーヤ2の手に把持されているかを所定周期で随時判定する処理を開始し(ステップS6)、ジェスチャー入力の判定を開始する(ステップS8)。
次いで、ゲーム装置本体1002は、タッチパネル1004に起動画面を表示させ、ゲーム開始の操作入力を待機する。ゲームコントローラ1200から所定のゲーム開始操作が入力されると(ステップS10)、ゲーム装置本体1002は、プレーヤ2へ向けてヘッドセット1300を装着するように促す案内をタッチパネル1004にて表示させる(ステップS12)。そして、ゲームプレイの意志確認の受付を開始するとともに(ステップS14)、仮想ステレオカメラ10を仮想空間の初期位置に配置して仮想ステレオカメラ10で撮影した仮想空間の様子を元にした立体視画像をHMD1310にて表示させる制御を開始し(ステップS15)、プレーヤ補助処理を実行する(ステップS16)。
図13〜図14は、プレーヤ補助処理の流れを説明するためのフローチャートである。
図13に示すように、プレーヤ補助処理では、ゲーム装置本体1002はプ仮想空間制御データ630(図11参照)を生成し、HMD1310の実空間での位置・姿勢に連動するように仮想空間における仮想ステレオカメラ10の移動と姿勢の制御を開始する(ステップS50)。
また、仮想空間内に左手オブジェクト14及び右手オブジェクト16(図5参照)を配置し、プレーヤ2の左手・右手それぞれの実空間での位置・姿勢に連動するように仮想空間でのそれらのオブジェクトの移動・姿勢制御を開始する(ステップS52)。
次に、ゲームコントローラ1200がプレーヤ2に把持されていない場合(ステップS60のNO)、ゲーム装置本体1002は、仮想空間内にコントローラオブジェクト12(図5参照)を配置し、ゲームコントローラ1200の実空間での位置・姿勢に連動するように当該オブジェクトの仮想空間での移動・姿勢制御を開始する(ステップS62)。
そして、コントローラオブジェクト12の表示形態調整を開始する(ステップS64)。
具体的には、コントローラオブジェクト12と左手オブジェクト14との相対距離、及びコントローラオブジェクト12と右手オブジェクト16との相対距離をそれぞれ算出し、小さい方の相対距離に応じてコントローラオブジェクト12の表示形態(例えば、表示カラーの変更、明滅パターン、表示サイズの変更など)を設定・変更する。
次に、ゲームシステム1000のゲーム装置本体1002は、方向案内オブジェクト13の表示要否判定と、その判定結果に応じて当該オブジェクトの配置/配置解除を開始する(ステップS66)。
具体的には、コントローラオブジェクト12が仮想ステレオカメラ10の撮影範囲内に入っているかを判定する。そして、もし撮影範囲に入っていなければ、方向案内オブジェクト13を表示要と見なし、即座に当該撮影範囲内の所定領域にコントローラオブジェクト12を指し示す方向案内オブジェクト13を配置する。換言すれば、HMD1310の向き又は視界に応じて、方向案内オブジェクト13の配置位置と姿勢とを制御する。反対に撮影範囲に入っていなければ、方向案内オブジェクト13を表示不要と見なし、方向案内オブジェクト13は配置せず、配置済みであれば即座に配置を解除する。
また、これに伴って表示形態を、仮想ステレオカメラ10に最寄りの左手オブジェクト14又は右手オブジェクト16との距離に応じて逐次変更制御するものとする。例えば、表示色を変更したり、寸法比率(例えば、矢印の長さ)を変更するなどとしてもよい。矢印のみのデザインであれば、距離が遠いほど矢印の数を増やして、コントローラオブジェクト12の方向へ向けて直列に配置するとしてもよい。
次に、ゲーム装置本体1002は、ヘッドホン1302での信号音の擬似サラウンド出力を開始する(ステップS68)。
具体的には、HMD1310からゲームコントローラ1200への相対方向と相対距離を算出し、ヘッドホン1302にて相対方向から相対距離に応じてパターン変更される信号音が聞こえてくるように擬似サラウンド制御する。
次いで、ゲーム装置本体1002は、ゲームコントローラ1200での振動制御を開始する(ステップS70)。振動パターンや振動強度は、コントローラオブジェクト12と左手オブジェクト14または右手オブジェクト16との相対距離に応じて設定・変更するとしてもよい。
次に、案内表示が必要であるかを判定する。ステップS14にてゲームプレイの意志確認の操作入力の受付を開始しているので、ここでは案内表示が必要と判断される。
そして、案内表示が必要であれば(ステップS90のYES)、ゲーム装置本体1002は、仮想ステレオカメラ10の正面、具体的には仮想ステレオカメラ10からみた奥行方向において仮想ステレオカメラ10と仮想空間の座標原点との間に案内キャラクタ20及び案内表示パネル22を配置する(ステップS92:図5参照)。ちなみに、ステップS14にてゲームプレイの意志確認の操作入力の受付を開始しているので、案内表示パネル22には意志確認のための操作入力を促すテキストが表示される(図6参照)。
更に、ゲーム装置本体1002は、案内キャラクタ20へのジェスチャー入力の判定を無効化する(ステップS94)。これにより、被選択体24へのジェスチャー入力のつもりが、意図しない案内キャラクタ20に対する操作入力と誤認されることがなくなる。
図14のフローチャートに移って、次に、ゲーム装置本体1002は選択操作の入力が必要であるかを判定する。ステップS14にてゲームプレイの意志確認の操作入力の受付を開始しているので、ここでは肯定判断される。
そして、肯定の場合(ステップS110のYES)、ゲーム装置本体1002は仮想空間内に、選択肢に対応付けられた被選択体24を配置する(ステップS112)。具体的には、本実施形態の被選択体24は“吹き出し”型をしているので、吹き出しの引き出し部の先端を案内キャラクタ20近傍に設定し、吹き出しの本体部分を、案内キャラクタ20の脇に位置するように設定する(図6参照)。
次いで、ゲーム装置本体1002は、仮想ステレオカメラ10の位置や姿勢の変化に応じた被選択体24の移動制御と、正面方向ガイド部25の変形制御とを行う(ステップS114)。すなわち、被選択体24が立体視画像(ゲーム画面)の所定位置に固定的に表示されるように移動制御し、被選択体24の正面が常に仮想ステレオカメラ10に向くように制御する。また、正面方向ガイド部25が、案内キャラクタ20の脇から伸びて被選択体24に連結しているように変形制御する。
なお、ステップS114は、仮想ステレオカメラ10の位置や姿勢の変化が所与の条件を満たす場合にはスキップするとしてもよい。例えば、仮想ステレオカメラ10の正面(HMD1310の正面方向)が、現実空間の前後方向(測距センサユニット1100の正面方向)から左右90°以上になった場合にスキップする、或いは制御を直前の状態で保持するとしてもよい。
そして、その被選択体24毎に、最寄りの左手オブジェクト14または右手オブジェクト16との相対距離に応じた表示形態の自動調整を開始する(ステップS116)。
具体的には、被選択体24と、左手オブジェクト14または右手オブジェクト16との相対距離が、当該被選択体24を選択した(到達した)とみなす所定の近接条件を満たさなければ、標準の表示形態とし、近接条件を満たした場合に選択されたことを通知するための特別な表示形態とする。
次に、ゲーム装置本体1002は、コントローラオブジェクト12の一部又は全体を仮想ステレオカメラ10から見て隠している他オブジェクトを検出し、該当する他オブジェクトが有る場合に背後に隠されるコントローラオブジェクト12を表出させて可視化する画像処理(表出処理)を開始する(ステップS118)。
具体的には、他オブジェクトの一部又は全体を半透明化表示したり、或いは、他オブジェクトのモデルの一部を非表示にしたり変形させて背後に隠れているコントローラオブジェクト12を表出させる。
また、ゲーム装置本体1002は、被選択体24の一部又は全体を仮想ステレオカメラ10から見て隠している他オブジェクトを検出し、該当する他オブジェクトが有る場合に背後に隠される被選択体24を表出させて可視化する画像処理(表出処理)を開始する(ステップS120)。
更に同様にして、左手オブジェクト14及び右手オブジェクト16についても、これらの一部又は全体を仮想ステレオカメラ10から見て隠している他オブジェクトを検出し、該当する他オブジェクトが有る場合に背後に隠される左手オブジェクト14及び右手オブジェクト16を表出させて可視化する画像処理(表出処理)を開始する(ステップS122)。
ここで、プレーヤ2の視界には図6(1)〜図8(1)で示したようなゲーム画像が見えることになる。
次いで、ジェスチャー入力による選択入力を判定する(ステップS170)。本実施形態では左手オブジェクト14又は右手オブジェクト16が、何れかの被選択体24に到達するとジェスチャーにより選択入力されたと判定する。もし、選択入力がYES/NOのように2択であれば、HMD1310の視界の左右方向にそれぞれYES,NO(或いは選択肢)を割り当てておいて、左手オブジェクト14又は右手オブジェクト16によって、視界の左右何れの領域で所定のモーション(例えば、手を前に突き出す、手を振るなど)がなされたか、或いは、じゃんけんのチョキのように手を所定の形態にしたか、などを判定するとしてもよい。
そして、もし選択入力されたと判定されたならば(ステップS170のYES)、ゲーム装置本体1002は該当する被選択体24に対応する選択肢の入力を確定する(ステップS172)。また、この際、該当する被選択体24の表示形態を所定形態に変更してプレーヤ2に選択肢の入力確定を通知する。
そして、被選択体24の表示を解除して、案内キャラクタ20へのジェスチャー入力の判定を有効化する(ステップS174)。なお、被選択体24が複数有る場合には、ステップS170で到達判定された被選択体24を最後に画面から消すようにすると、プレーヤがどの被選択体24を選択したかを明示する効果が生まれて好適である。また、被選択体24が1つの場合(例えば確認ボタンとしての被選択体24)でも同様にステップS172〜S174を実行することができる。
次に、プレーヤ補助処理を開始してからゲームコントローラ1200がプレーヤ2により把持されていることが検知されたならば(ステップS180のYES)、ゲーム装置本体1002はゲームコントローラ1200での振動発生と、ヘッドホン1302での擬似サラウンド出力とを終了し(ステップS182)、プレーヤ補助処理を終了する。
図12に戻って、ステップS16を終了した状態で、プレーヤ2はヘッドセット1300を頭部に装着し、手にはゲームコントローラ1200を把持した状態になっている。つまり、ゲームプレイのための準備が整っている。
よって、ゲーム装置本体1002は、次にゲームプレイの制御を開始して、HMD1310にてゲーム画面を表示させる制御と、ヘッドホン1302にてゲーム音を放音させる制御とを開始させる(ステップS200)。
ゲーム装置本体1002は、ゲームプレイ中も周期的にプレーヤ補助発動条件が満たされているか判定する。プレーヤ補助発動条件は、ゲーム内容に応じて適宜設定可能であるが、本実施形態ではゲームコントローラ1200が把持されていない場合、キーボードなどのゲームコントローラ1200以外の機器による操作入力が行われた場合、プレーヤ2の手によるジェスチャー入力が必要とされる場合、などの単独又は組合せにより設定される。
そして、プレーヤ補助発動条件が満たされているならば(ステップS202のYES)、プレーヤ補助処理を再度実行する(ステップS204)。
プレーヤ補助発動条件を満たさず、或いは、プレーヤ補助処理の後、ゲーム進行状況が所定のゲーム終了条件を満たすまで、プレーヤ補助発動条件を満たせばプレーヤ補助処理を実行し、ゲーム終了条件を満たすと(ステップS210のYES)、ゲーム装置本体1002は一連の処理を終了する。
以上、本実施形態によれば、第1にゲーム装置等でHMDを使用する際の不便を改善し、ユーザビリティを向上することができる。
すなわち、プレーヤ2がゲームコントローラ1200を把持していない状態が検知されると、HMD1310にはヘッドトラッキングされたプレーヤの視点位置から見た仮想空間の立体視画像がゲーム画像として写し出される。そして、その立体視画像では、ユーザ視点から見たゲームコントローラ1200の位置にコントローラオブジェクト12が表示されるとともに、モーショントレースされるプレーヤの左手オブジェクト14及び右手オブジェクト16が表示される。よって、プレーヤはHMDを被って外界の様子が見えない状態であっても、立体視画像の仮想空間がいわば仮想現実空間となるため、ゲームコントローラ1200の有る場所に手をのばし容易に手に取ることができる。手探りでコントローラを探すような不便さが解消される。
また、ゲームコントローラ1200がHMD1310の視界外にある場合には、方向案内オブジェクト13がどちらに首を回せばゲームコントローラ1200が見えるようになるか示すので、これを頼りにすればゲームコントローラ1200が何処にあっても容易に手に取ることができる。しかも、コントローラオブジェクト12が他オブジェクトの背後に隠れるような場合でも、自動的に他オブジェクトを半透明化したり切抜きするなど表出処理が行われコントローラオブジェクト12がプレーヤから見えるようになるので、すぐに見つけることができる。
また、本実施形態によれば、第2にHMDを使用してジェスチャー入力を実現する際のユーザビリティを向上させることができる。
すなわち、ヘッドトラッキングされたHMD1310に表示される立体視画像には、ジェスチャー入力する内容が割り当てられた被選択体24が、プレーヤが頭の向きを変えても同じ又は略同じ位置に残存表示される。ジェスチャー入力に慣れないと、どのようにジェスチャーすればその場で望まれている入力ができるか分かり難いものであるが、ユーザは被選択体をジェスチャー操作の案内として利用できるので、スムーズにその時要求されるジェスチャー入力ができるようになる。
また、左手オブジェクト14や右手オブジェクト16が被選択体24に到達するとジェスチャー入力が確定される。よって、左手オブジェクト14や右手オブジェクト16と、被選択体24との位置関係から、誰でも容易にその時要求されるジェスチャー入力ができるようになる。
しかも、被選択体24が他オブジェクトの背後に隠れるような場合でも、自動的に他オブジェクトを半透明化したり切り抜きするなどの表出処理が行われて、被選択体24がプレーヤから見えるようになるので、すぐに見つけることができる。
また、仮想空間内に被選択体以外にもジェスチャー入力の対象が存在する場合に、被選択体以外へのジェスチャー入力を無効化することで、被選択体への入力を優先させるとともに意図しない入力を防止することができる。
〔変形例〕
なお、本発明の実施形態は上記に限らず、適宜構成要素の追加・省略・変更が可能である。
[その1]
例えば、上記実施形態では、HMDを装着すると中からは外を見る事ができない非透過型HMDとして説明したが、ゲームの内容によって必ずしも非透過型HMDである必要は無い。例えば、半透過型のHMDに対しても本発明は適用可能であり上記実施形態と同様の効果を得ることができる。
[その2]
また、ヘッドセット1300それ自体が、例えば、姿勢検出可能なセンサを搭載したメガネ型やゴーグル型のウェアラブルコンピュータであって、ゲーム装置本体1002を兼ねる構成としてもよい。更に言えば、上記実施形態のゲームシステム1000は、HMDを備えるコンピュータであれば家庭用据置型を想定したゲーム装置に限らず、遊園地や博物館などの施設に設置されるHMDを用いたアトラクション装置、HMDを装着して行う航空機やヘリコプターなどの操縦シミュレーション装置、HMDを装着してスタジオ内で実物のゴルフクラブでスイングするなどしてスポーツを仮想体験するスポーツシミュレーション装置など、その他の形態の装置でもよい。
[その3]
また、上記実施形態ではスタンドアローンのゲームシステム1000を例示したが、図15に示すように、クライアント・サーバ型のゲームシステム1000で実現するとしてもよい。この場合、上記実施形態におけるゲーム演算部202(図9参照)は、通信回線9を介して接続されるサーバシステム1900にて実現され、当該構成におけるゲーム装置本体1002は、所定のクライアントプログラムを実行することで、操作入力部100からの入力信号をサーバシステム1900へ逐次送信する機能と、サーバシステム1900から受信したデータに基づいて画像をHMD1310にて表示させる機能及びヘッドホン1302にて音出力させる機能とを実現する。つまり、ユーザ端末としての制御機能を担うようになる。
[その4]
また、上記実施形態では、HMD1310の姿勢を検知する方法は、測距センサユニット1100で撮影した画像と、HMD1310の6軸センサ1308の検出結果を用いる構成としたがこれに限らない。
例えば、図15に示すように、HMD1310に前方の外界を撮影するために赤外線撮影可能なイメージセンサ1320を姿勢検知用センサとして追加し、測距センサユニット1100では赤外線照射器1102を所定の配置関係で複数配置する。そして、コントローラ位置姿勢算出部212を、コントローラ捕捉検出手段とする。具体的には、赤外線照射器1102を実空間中の所定位置に設置される固定マーカと見なして、測距センサユニット1100による撮影画像中にこの赤外線照射器1102が写っていればゲームコントローラ1200が写っていると判定し、当該撮影画像から赤外線照射器1102の撮像位置(距離を含む)を求め、各赤外線照射器1102の位置関係の回転や変形、各赤外線照射器1102間の距離、写っている赤外線照射器1102の大きさなどから、イメージセンサ1320の位置を基準としたHMD1310の位置Phおよび姿勢を幾何的に逆算して求める。そして、プレーヤ補助制御部220のコントローラオブジェクト制御部222が、コントローラ捕捉検出部208の検出結果に応じてコントローラオブジェクト12を仮想空間に配置して所定の報知制御を行うようにすればよい。つまり、コントローラオブジェクト制御部222を捕捉時報知制御部として機能させればよい。報知の方法は、表示・音出力・振動など、適宜の方法で実現できる。
[その5]
また、上記実施形態では、ゲームコントローラ1200の位置Pcは、測距空間の座標系(図4参照)における位置座標で記述したが、これに限らない。
例えば、ゲームコントローラ1200の位置Pcを認識空間におけるHMD1310の位置PhとHMD1310の姿勢(換言すれば、HMD1310を被ったプレーヤ2の視点と視線方向と)に基づく相対位置で記述する構成とすることも可能であり、上記実施形態の記述を適宜そのように読み替えることができる。
[その6]
また、上記実施形態では、被選択体24をHMD1310の視界内所定領域にて仮想ステレオカメラ10に対向するように配置し、HMD1310の位置や姿勢に応じて移動制御や姿勢制御を行うこととしたが、当該移動制御や姿勢制御を省略して、案内表示パネル22と同様に、HMD1310の位置や姿勢が変化しても、仮想空間の所定位置に所定姿勢で配置することとしてもよい。上記実施形態では、FPS(ファーストパーソンシューティング)のように、ヘッドトラッキングが激しく、ともすれば被選択体24を見失いそうになるゲーム内容に好適であるが、逆に、例えばアドベンチャーゲームで秘密の部屋の鍵を解錠するための番号や操作を入力するといった内容を含むゲームでは、被選択体24が仮想空間の所定位置に動かずに固定配置され、HMD1310が当該所定位置の方向を向いたときにのみその視界内に現れるほうが好適である。
勿論、何れかの方式を選択しなければならいものではなく、両方の方式を採用してもよい。その場合、記憶部500(図9参照)に選択入力イベントを定義するデータを記憶させ、当該データにて被選択体24毎に選択入力内容とともに配置位置を固定するか否かを示す情報を対応づけておき、被選択体制御部228(図9参照)がこれに従って被選択体24の配置や姿勢(向き)を制御すれば良い。
[その7]
また、上記実施形態では、ジェスチャー入力に係る操作指示物としてプレーヤ2の手を用いる構成としたが、ゲーム内容によっては何らかのポインティングデバイスを用いるとしてもよい。ポインティングデバイスは、公知の銃型コントローラ(いわゆる「ガンコン」)や、公知のスティック型モーションコントローラなどを用いるとしてもよい。この場合、銃型コントローラやスティック型モーションコントローラの先端には、発光マーカ1312(図3参照)に相当するマーカを設け、これを測距センサユニット1100で撮影することで、先端位置を検出し、搭載される6軸センサで姿勢変化を検出する構成とすると好適である。勿論、その場合、ポインティングデバイスはゲームコントローラ1200を兼ねても良い。
[その8]
また、上記実施形態では、HMD1310に表示する画像を立体視画像として説明したが、平面視画像としてもよい。その場合、仮想ステレオカメラ10の左右の仮想カメラの中間位置に1台の仮想カメラを配置して、仮想ステレオカメラ10の代わりに利用してもよいし、左右の仮想カメラの何れか一方を利用してもよい。
[その9]
また、上記実施形態では、仮想空間の座標系(図5参照)の座標原点を測距空間(実空間)の座標系(図4参照)の座標原点としたがこれに限らない。
例えば、図16に示すように、ゲーム演算部202に、現実空間に対応するように仮想空間の座標系を初期設定する座標系初期設定部204を設けるとしてもよい。そして、座標系初期設定部204は、トラッキング開始時点の測距センサユニット1100による測距結果に基づくHMD1310の位置Phを仮想空間の座標原点とし、トラッキング開始時点のHMD1310の姿勢に座標軸を合わせ、実空間の座標系と仮想空間の座標系とを同タイミングでマッチングしてイニシャライズする。
或いは、図17に示すように、トラッキング開始時点の測距センサユニット1100による測距結果に基づく左手位置Pl及び右手位置Prの中間点を仮想空間の座標原点VOとし、トラッキング開始時点のHMD1310の姿勢に座標軸を合わせるとしてもよい。
座標系の定義において、実空間と仮想空間とで前後および左右が反転する場合には、測距結果を仮想空間中のオブジェクトに反映させるときに(例えば、左手位置Plに基づいて、左手オブジェクト14をモーショントレースさせる場合など)には適宜座標変換するものとする。
[その10]
また、上記実施形態では、トラッキングやモーショントレースのスケールを、実空間中のHMD1310の位置Phと、操作指示物(左手位置Plや右手位置Pr)との相対位置関係に基づいて補正する機能を追加してもよい。
具体的には、図16に示すように、仮想位置補正部206を設ける。この仮想位置補正部206は、HMD1310の向きを基準にした相対位置関係が所定の補正条件を満たした場合に、当該補正条件に対応付けられた補正演算に従って仮想位置を補正する。
より具体的には、補正条件としては、測距センサユニット1100の正面方向(実空間の前後方向)に対して、HMD1310の正面が左90°以上、または右90°以上の場合に、左90°以上ならば左手位置Plのモーショントレースのスケールを所定倍率だけ上げる、右90°以上ならば右手位置Prのモーショントレースのスケールを所定倍率だけ上げるとしてもよい。
2…プレーヤ
10…仮想ステレオカメラ
12…コントローラオブジェクト
13…方向案内オブジェクト
14…左手オブジェクト
16…右手オブジェクト
20…案内キャラクタ
22…案内表示パネル
24…被選択体
25…正面方向ガイド部
100…操作入力部
102…頭部姿勢変化検出部
104…測距部
200…処理部
202…ゲーム演算部
210…HMD位置姿勢算出部
212…コントローラ位置姿勢算出部
214…手位置算出部
216…コントローラ把持判定部
220…プレーヤ補助制御部
221…仮想ステレオカメラ制御部
222…コントローラオブジェクト制御部
224…方向案内オブジェクト制御部
226…手オブジェクト制御部
228…被選択体制御部
230…表出処理部
232…立体視画像生成制御部
234…コントローラ振動制御部
236…擬似サラウンド制御部
238…ジェスチャー入力判定部
240…対キャラクタジェスチャー入力無効化制御部
396…コントローラ発振部
500…記憶部
502…ゲーム演算プログラム
510…ゲーム初期設定データ
520…プレイデータ
521…HMD位置座標
522…HMD姿勢データ
523…コントローラ位置座標
525…左手位置座標
526…右手位置座標
602…仮想ステレオカメラ制御データ
604…コントローラオブジェクト制御データ
606…方向案内オブジェクト制御データ
608…左手オブジェクト制御データ
610…右手オブジェクト制御データ
612…案内キャラクタ制御データ
614…案内表示パネル制御データ
616…被選択体制御データ
630…仮想空間制御データ
1000…ゲームシステム
1002…ゲーム装置本体
1050…制御基板
1100…測距センサユニット
1104…カラーイメージセンサ
1200…ゲームコントローラ
1206…バイブレータ
1208…6軸センサ
1250…コントローラ基板
1300…ヘッドセット
1302…ヘッドホン
1308…6軸センサ
1310…HMD
1312…発光マーカ
1320…イメージセンサ
Ph…HMDの位置
Pc…ゲームコントローラの位置
Pl…左手位置
Pr…右手位置

Claims (11)

  1. ユーザの頭部に装着されるHMD(Head Mounted Display)と、前記ユーザの手或いは当該ユーザが把持するポインティングデバイス(以下包括して「操作指示物」という)及び前記HMDを含む実空間を撮影するために設置された撮像手段とに接続されたコンピュータを、
    前記HMDの前記実空間中の位置及び姿勢を判定するHMD位置姿勢判定手段、
    前記HMDに表示させる前記HMD用の仮想視点からみた仮想空間の画像として、前記HMD位置姿勢判定手段の判定結果に基づき算出される前記仮想視点の前記仮想空間における位置及び視線方向に応じて視界が変化する前記仮想空間の画像であって、前記仮想空間内にキャラクタを配置した画像を生成する仮想空間画像生成手段、
    前記撮像手段の撮影画像を用いて、前記HMDの表示画像空間となる仮想空間における、前記実空間中の前記操作指示物の位置に対応する仮想位置を算出する算出手段、
    前記視界内に前記キャラクタが位置する場合に当該キャラクタに入力判定体を付随させる付随表示を行う入力判定体配置制御手段であって、前記キャラクタが前記視界外となったか否かに応じて当該付随表示を中断させる入力判定体配置制御手段、
    前記仮想位置と、前記入力判定体の配置位置とに基づき、前記入力判定体への入力を判定する入力判定手段、
    として機能させるためのプログラム。
  2. 前記仮想位置に、前記操作指示物の前記実空間中の位置に対応する位置であることを示す指示オブジェクトを前記HMDに表示させる指示オブジェクト表示制御手段、
    として前記コンピュータを機能させるための請求項に記載のプログラム。
  3. 前記入力判定手段は、前記入力判定体の表示位置と前記指示オブジェクトの表示位置との相対位置関係に基づいて前記入力判定体への入力を判定する、
    請求項に記載のプログラム。
  4. 前記HMDからみて、前記仮想位置が前記仮想空間において隠れた位置となる場合に、当該指示オブジェクトを表出させるように画像処理する第1の画像処理手段として前記コンピュータを更に機能させるための請求項又はに記載のプログラム。
  5. 前記HMDからみて、前記入力判定体が前記仮想空間において隠れた位置となる場合に、当該入力判定体を表出させるように画像処理する第2の画像処理手段として前記コンピュータを更に機能させるための請求項1〜の何れか一項に記載のプログラム。
  6. 前記仮想位置に基づいて前記キャラクタに対する操作入力を判定するキャラクタ対象操作入力判定手段、
    前記入力判定体が表示されているときには前記キャラクタ対象操作入力判定手段を無効とし、表示されていないときに前記キャラクタ対象操作入力判定手段を有効とする手段、
    として前記コンピュータを機能させるための請求項に記載のプログラム。
  7. 前記実空間に対応するように前記仮想空間の座標系を初期設定する座標系初期設定手段、
    として前記コンピュータを更に機能させるための請求項1〜の何れか一項に記載のプログラム。
  8. 前記座標系初期設定手段は、前記撮像手段の撮影画像中の前記操作指示物の位置を参照して、前記初期設定を実行する、
    請求項に記載のプログラム。
  9. 前記算出手段は、前記実空間中の前記HMDと前記操作指示物との相対位置関係に基づいて、前記仮想位置を補正する仮想位置補正手段を有する、
    請求項1〜の何れか一項に記載のプログラム。
  10. 前記仮想位置補正手段は、前記HMDの向きを基準にした前記相対位置関係が所定の補正条件を満たした場合に、当該補正条件に対応付けられた補正演算に従って前記仮想位置を補正する、
    請求項に記載のプログラム。
  11. ユーザの頭部に装着されるHMDと、操作指示物及び前記HMDを含む実空間を撮影するために設置された撮像手段とに接続され、前記HMDに表示させる画像を生成するための画像生成装置であって、
    前記HMDの前記実空間中の位置及び姿勢を判定するHMD位置姿勢判定手段と、
    前記HMDに表示させる前記HMD用の仮想視点からみた仮想空間の画像として、前記HMD位置姿勢判定手段の判定結果に基づき算出される前記仮想視点の前記仮想空間における位置及び視線方向に応じて視界が変化する前記仮想空間の画像であって、前記仮想空間内にキャラクタを配置した画像を生成する仮想空間画像生成手段と、
    前記撮像手段の撮影画像を用いて、前記HMDの表示画像空間となる仮想空間における、前記実空間中の前記操作指示物の位置に対応する仮想位置を算出する算出手段と、
    前記視界内に前記キャラクタが位置する場合に当該キャラクタに入力判定体を付随させる付随表示を行う入力判定体配置制御手段であって、前記キャラクタが前記視界外となったか否かに応じて当該付随表示を中断させる入力判定体配置制御手段と、
    前記仮想位置と、前記入力判定体の配置位置とに基づき、前記入力判定体への入力を判定する入力判定手段と、
    を備えた画像生成装置。
JP2014119125A 2014-06-09 2014-06-09 プログラムおよび画像生成装置 Active JP6629499B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014119125A JP6629499B2 (ja) 2014-06-09 2014-06-09 プログラムおよび画像生成装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014119125A JP6629499B2 (ja) 2014-06-09 2014-06-09 プログラムおよび画像生成装置

Publications (2)

Publication Number Publication Date
JP2015231445A JP2015231445A (ja) 2015-12-24
JP6629499B2 true JP6629499B2 (ja) 2020-01-15

Family

ID=54933342

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014119125A Active JP6629499B2 (ja) 2014-06-09 2014-06-09 プログラムおよび画像生成装置

Country Status (1)

Country Link
JP (1) JP6629499B2 (ja)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5981591B1 (ja) * 2015-03-17 2016-08-31 株式会社コロプラ 没入型仮想空間でオブジェクト操作を制御するためのコンピュータ・プログラムおよびコンピュータ・システム
WO2017183822A1 (ko) * 2016-04-18 2017-10-26 김종만 가상현실 기기용 3차원 모션 입력장치
KR101679779B1 (ko) 2016-04-18 2016-11-25 김종만 가상현실 기기용 3차원 모션 입력장치
KR101779569B1 (ko) 2016-04-18 2017-09-19 김종만 가상현실 기기 연동 입력장치
JP6457446B2 (ja) * 2016-08-23 2019-01-23 株式会社コロプラ 仮想空間におけるコミュニケーションを支援するための方法および装置ならびに当該方法をコンピュータに実行させるためのプログラム
JP6298130B2 (ja) * 2016-09-14 2018-03-20 株式会社バンダイナムコエンターテインメント シミュレーションシステム及びプログラム
JP6373920B2 (ja) * 2016-09-14 2018-08-15 株式会社バンダイナムコエンターテインメント シミュレーションシステム及びプログラム
JP2018061666A (ja) * 2016-10-12 2018-04-19 株式会社カプコン ゲームプログラム及びゲーム装置
JP6457989B2 (ja) * 2016-10-12 2019-01-23 株式会社カプコン ゲームプログラム及びゲーム装置
US10438399B2 (en) * 2017-02-10 2019-10-08 Sony Interactive Entertainment LLC Paired local and global user interfaces for an improved augmented reality experience
JP6330072B1 (ja) * 2017-03-08 2018-05-23 株式会社コロプラ 情報処理方法、装置、および当該情報処理方法をコンピュータに実行させるためのプログラム
US10365784B2 (en) 2017-03-08 2019-07-30 Colopl, Inc. Information processing method and apparatus for executing the information processing method
JP6794390B2 (ja) * 2018-02-22 2020-12-02 株式会社バンダイナムコエンターテインメント シミュレーションシステム及びプログラム
JP7547843B2 (ja) 2020-08-03 2024-09-10 富士フイルムビジネスイノベーション株式会社 情報処理装置、及びプログラム
JP7016438B1 (ja) 2021-03-29 2022-02-18 グリー株式会社 情報処理システム、情報処理方法およびコンピュータプログラム

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4933406B2 (ja) * 2007-11-15 2012-05-16 キヤノン株式会社 画像処理装置、画像処理方法
JP5656514B2 (ja) * 2010-08-27 2015-01-21 キヤノン株式会社 情報処理装置及び方法
JP2012048656A (ja) * 2010-08-30 2012-03-08 Canon Inc 画像処理装置、画像処理方法
JP5614211B2 (ja) * 2010-09-30 2014-10-29 株式会社セガ 画像処理プログラム及びコンピュータ読み取り可能な記録媒体
JP2012181809A (ja) * 2011-03-03 2012-09-20 Panasonic Corp 機器制御装置、機器制御方法、機器制御プログラム、及び集積回路
JP2013190941A (ja) * 2012-03-13 2013-09-26 Nikon Corp 情報入出力装置、及び頭部装着表示装置
JP2013258614A (ja) * 2012-06-13 2013-12-26 Sony Computer Entertainment Inc 画像生成装置および画像生成方法

Also Published As

Publication number Publication date
JP2015231445A (ja) 2015-12-24

Similar Documents

Publication Publication Date Title
JP6629499B2 (ja) プログラムおよび画像生成装置
JP6355978B2 (ja) プログラムおよび画像生成装置
US10764565B2 (en) Computer-readable storage medium having stored therein display control program, display control apparatus, display control system, and display control method
US10636212B2 (en) Method for generating image to be displayed on head tracking type virtual reality head mounted display and image generation device
JP6396027B2 (ja) プログラムおよびゲーム装置
JP7560568B2 (ja) 仮想および拡張現実のためのシステムおよび方法
CN108463839B (zh) 信息处理装置和用户指南呈现方法
US8952956B2 (en) Computer-readable storage medium having stored therein display control program, display control apparatus, display control system, and display control method
JP2012115414A (ja) ゲーム装置、ゲームを提供する方法、ゲームプログラム、および、ゲームシステム
JP6332652B1 (ja) 表示制御装置、及びプログラム
KR101811809B1 (ko) 3d hmd를 활용한 아케이드 게임시스템
CN115298732A (zh) 用于多用户虚拟和增强现实的系统和方法
JP2024050696A (ja) 情報処理装置、ユーザガイド提示方法、およびヘッドマウントディスプレイ
US20230252691A1 (en) Passthrough window object locator in an artificial reality system
JP2023162168A (ja) ゲームプログラム、ゲーム処理方法、及びゲーム装置
JP7319686B2 (ja) ゲームプログラム、ゲーム処理方法、及びゲーム装置
WO2022124135A1 (ja) ゲームプログラム、ゲーム処理方法、及びゲーム装置
JP2018028900A (ja) 仮想空間を提供する方法、プログラム、および記録媒体

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170607

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180531

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180710

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20180910

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20181107

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190416

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190614

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20191105

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20191205

R150 Certificate of patent or registration of utility model

Ref document number: 6629499

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250