(57)【要約】      （修正有）【課題】ユーザの動作を仮想空間内のアクションとして反映する場合に、ユーザの違和感を少なくした画像を表示する。【解決手段】画像表示システムは、トラッキングシステム２０において、ユーザの身体に装着されたトラッキングセンサ２２を含む複数のトラッキングセンサから、検出データを取得し、検出データに基づいて、１対のトラッキングセンサの相対距離を算出する。また、相対距離に基づいて、ユーザの動作について判定するための境界を設定し、ユーザの動作に伴っていずれかのトラッキングセンサが、境界に対して所定の位置関係を満たしたか否かを判定する。トラッキングセンサが、境界に対して所定の位置関係を満たした場合に、ユーザの動作に対応するアクションを仮想空間内で実行する。【選択図】図２
2020030501.tif 000002
【特許請求の範囲】
【請求項１】
ユーザが用いるディスプレイに仮想空間内の画像を表示する画像表示システムにおいて、
前記ユーザの身体に装着された位置検出センサを含む複数の位置検出センサから、検出データを取得する検出データ取得部と、
前記検出データに基づいて、１対の前記位置検出センサの相対距離を算出する距離算出部と、
前記相対距離に基づいて、前記ユーザの動作について判定するための境界を設定する設定部と、
前記ユーザの動作に伴って、いずれかの前記位置検出センサが、前記境界との位置関係の条件を充足するか否かを判定する判定部と、
前記位置関係が前記条件を充足した場合に、前記ユーザの動作に対応するアクションを仮想空間内で実行するアクション実行部と、を備える画像表示システム。
【請求項２】
前記判定部は、いずれかの前記位置検出センサの位置が前記境界を越えた場合又は前記境界と重なった場合、前記位置関係を充足したと判定する、請求項１に記載の画像表示システム。
【請求項３】
前記設定部は、前記ユーザの身体に装着された前記位置検出センサの位置を基準に、他の前記位置検出センサとの相対距離に基づいて前記境界を設定する、請求項１又は２に記載の画像表示システム。
【請求項４】
前記アクションに対応する前記ユーザの動作には、第１の方向への動きが含まれ、
前記設定部は、基準とする前記位置検出センサの前記第１の方向に前記境界を設定し、
前記判定部は、前記位置検出センサの位置が前記第１の方向に設定された前記境界を越えた場合又は前記境界に重なった場合に、前記ユーザの動作が開始されたと判断する、請求項１〜３のいずれか１項に記載の画像表示システム。
【請求項５】
前記アクションに対応する前記ユーザの動作には、第２の方向への動きが含まれ、
前記設定部は、基準とする前記位置検出センサの前記第２の方向に前記境界を設定し、
前記判定部は、前記位置検出センサの位置が前記第２の方向に設定された前記境界を越えた場合又は前記境界に重なった場合に、前記ユーザの動作が完了したと判定する、請求項１〜４のいずれか１項に記載の画像表示システム。
【請求項６】
前記アクション実行部は、前記位置検出センサの検出データ又は前記ユーザの身体に装着された速度検出センサの検出データに基づき、前記位置検出センサの位置が前記境界を越えたとき又は前記境界に重なったときの速さを取得し、取得した速さを前記アクションに反映する、請求項５に記載の画像表示システム。
【請求項７】
前記アクション実行部は、いずれかの前記位置検出センサが前記境界との位置関係の条件を充足した場合に、前記仮想空間内のオブジェクトを移動させる、請求項１〜６のいずれか１項に記載の画像表示システム。
【請求項８】
前記アクション実行部は、前記位置検出センサの移動により、その位置が前記位置検出センサの移動方向に設定された前記境界を越えた場合又は前記境界に重なった場合に、前記位置検出センサの移動方向と同じ方向に前記仮想空間内のオブジェクトを移動させる、請求項７に記載の画像表示システム。
【請求項９】
前記アクション実行部は、前記位置検出センサ及び前記境界の位置関係に応じて、異なる種類のアクションを実行する、請求項１〜８のいずれか１項に記載の画像表示システム。
【請求項１０】
前記位置検出センサの少なくとも一つは、前記ユーザの足に装着される、請求項１〜９のいずれか１項に記載の画像表示システム。
【請求項１１】
１乃至複数のコンピュータを用いて、ユーザが用いるディスプレイに仮想空間内の画像を表示する画像表示方法において、
前記コンピュータが、
前記ユーザの身体に装着された位置検出センサを含む複数の位置検出センサから、検出データを取得するステップと、
前記検出データに基づいて、１対の前記位置検出センサの相対距離を算出するステップと、
前記相対距離に基づいて、前記ユーザの動作について判定するための境界を設定するステップと、
前記ユーザの動作に伴って、いずれかの前記位置検出センサが、前記境界との位置関係の条件を充足するか否かを判定するステップと、
前記位置関係が前記条件を充足した場合に、前記ユーザの動作に対応するアクションを仮想空間内で実行するステップと、を有する画像表示方法。
【請求項１２】
１乃至複数のコンピュータに、ユーザが用いるディスプレイに仮想空間内の画像を表示させる画像表示プログラムにおいて、
前記コンピュータに、
前記ユーザの身体に装着された位置検出センサを含む複数の位置検出センサから、検出データを取得するステップと、
前記検出データに基づいて、１対の前記位置検出センサの相対距離を算出するステップと、
前記相対距離に基づいて、前記ユーザの動作について判定するための境界を設定するステップと、
前記ユーザの動作に伴って、いずれかの前記位置検出センサが、前記境界との位置関係の条件を充足するか否かを判定するステップと、
前記位置関係が前記条件を充足した場合に、前記ユーザの動作に対応するアクションを仮想空間内で実行するステップと、を実行させる画像表示プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像表示システム、画像表示方法及び画像表示プログラムに関する。
【背景技術】
【０００２】
現実空間でのユーザの動作を、各種センサ等を用いて検出し、仮想空間内のオブジェクトに反映するゲームが知られている。特許文献１には、釣りゲームに用いられる入力装置が開示されている。入力装置は、加速度や傾きを検出可能なセンサを内蔵し、ゲーム処理装置に接続されている。トリガボタンをオンにした状態で実際に釣り竿を投げ入れるような動作で入力装置を動かすと、水面に釣り糸が投げ入れられた画像が、ゲーム処理装置に接続されたディスプレイに表示される。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平１０−２１４１５５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
上記システムでは、トリガボタンをオン状態にした状態で入力装置を少し動かした場合に、ユーザの意図に反して水面に釣り糸が投げ入れられる可能性がある。このように現実世界でユーザが行った動作と、反映された画像との間に乖離が生じると、ユーザが違和感を覚える恐れがある。
【０００５】
本発明は、ユーザの動作を仮想空間内のアクションに反映する場合に、ユーザの違和感を少なくした画像を表示することを目的とする。
【課題を解決するための手段】
【０００６】
上記課題を解決する画像表示システムは、ユーザが用いるディスプレイに仮想空間内の画像を表示する画像表示システムにおいて、前記ユーザの身体に装着された位置検出センサを含む複数の位置検出センサから、検出データを取得する検出データ取得部と、前記検出データに基づいて、１対の前記位置検出センサの相対距離を算出する距離算出部と、前記相対距離に基づいて、前記ユーザの動作について判定するための境界を設定する設定部と、前記ユーザの動作に伴って、いずれかの前記位置検出センサが、前記境界との位置関係の条件を充足するか否か判定する判定部と、前記位置関係が前記条件を充足した場合に、前記ユーザの動作に対応するアクションを仮想空間内で実行するアクション実行部と、を備える。
【０００７】
上記課題を解決する画像表示方法は、１乃至複数のコンピュータを用いて、ユーザが用いるディスプレイに仮想空間内の画像を表示する画像表示方法において、前記コンピュータが、前記ユーザの身体に装着された位置検出センサを含む複数の位置検出センサから、検出データを取得するステップと、前記検出データに基づいて、１対の前記位置検出センサの相対距離を算出するステップと、前記相対距離に基づいて、前記ユーザの動作について判定するための境界を設定するステップと、前記ユーザの動作に伴って、いずれかの前記位置検出センサが、前記境界との位置関係の条件を充足するか否かを判定するステップと、前記位置関係が前記条件を充足した場合に、前記ユーザの動作に対応するアクションを仮想空間内で実行するステップと、を有する。
【０００８】
上記課題を解決する画像表示プログラムは、１乃至複数のコンピュータに、ユーザが用いるディスプレイに仮想空間内の画像を表示させる画像表示プログラムにおいて、前記コンピュータに、前記ユーザの身体に装着された位置検出センサを含む複数の位置検出センサから、検出データを取得するステップと、前記検出データに基づいて、１対の前記位置検出センサの相対距離を算出するステップと、前記相対距離に基づいて、前記ユーザの動作について判定するための境界を設定するステップと、前記ユーザの動作に伴って、いずれかの前記位置検出センサが、前記境界との位置関係の条件を充足するか否かを判定するステップと、前記位置関係が前記条件を充足した場合に、前記ユーザの動作に対応するアクションを仮想空間内で実行するステップと、を実行させる。
【発明の効果】
【０００９】
本発明にかかる画像表示システム、画像表示方法及び画像表示プログラムによれば、ユーザの動作を仮想空間内のアクションに反映する場合に、ユーザの違和感を少なくした画像を表示することができる。
【図面の簡単な説明】
【００１０】
【図１】画像表示システムの第１実施形態の概略構成を示す図。
【図２】同実施形態の画像表示システムのブロック図。
【図３】同実施形態の境界の設定方法を説明する図。
【図４】同実施形態の境界の利用態様を説明する図。
【図５】同実施形態の境界の利用態様を説明する図。
【図６】同実施形態のオブジェクトの移動距離の算出に用いるデータであって、（ａ）はテーブル、（ｂ）はマップを示す。
【図７】同実施形態のゲーム画面の一例の図。
【図８】同実施形態の境界の設定手順を説明するフローチャート。
【図９】同実施形態のゲームの進行を説明するフローチャート。
【図１０】同実施形態の境界の利用態様を説明する図であって、（ａ）はオブジェクトの後方移動、（ｂ）は後方右側への移動、（ｃ）は後方左側への移動を示す。
【図１１】第２実施形態の境界の利用態様を説明する図であって、（ａ）はオブジェクトの前方移動、（ｂ）は前方左側への移動、（ｃ）は前方右側への移動を示す。
【図１２】同実施形態の境界の利用態様を説明する図であって、オブジェクトの上昇を示す。
【図１３】同実施形態のゲームの進行を説明するフローチャート。
【図１４】画像表示システムの変形例における境界の利用態様を示す図であって、（ａ）は境界の設定、（ｂ）はアクションの開始の判定、（ｃ）はアクションの完了の判定を示す。
【図１５】画像表示システムの変形例における境界の利用態様を示す図であって、（ａ）は境界の設定、（ｂ）は足首位置が境界よりも低い場合のアクションの種類の判定、（ｃ）は足首位置が境界よりも高い場合のアクションの種類の判定を示す。
【発明を実施するための形態】
【００１１】
（第１実施形態）
画像処理システムの一実施形態について説明する。
図１に示すように、画像処理システムは、筐体１１、トラッキングシステム２０、ヘッドマウントディスプレイ３０（ＨＭＤ：Head Mounted Display）、ゲーム処理装置５０を有している。トラッキングシステム２０は、トラッキング補助装置２１及び複数のトラッキングセンサ２２を有している。ゲーム処理装置５０は、検出データ取得部、距離算出部、設定部、判定部、アクション実行部に対応する。トラッキングセンサ２２は、位置検出センサに対応する。
【００１２】
筐体１１は、ブランコを模している。筐体１１は、支持体１２と、支持体１２に吊り部１３を介して吊り下げられた着座部１５とを備える。着座部１５の着座面に対して反対側となる裏面には、トラッキングセンサ２２が設けられている。また、着座部１５は大きく揺動しないように、その揺動範囲が所定範囲に制限されている。例えば、吊り部１３又は着座部１５には、振幅を制限する部材が設けられていてもよく、吊り部１３や着座部１５の重量を大きくしてもよい。
【００１３】
着座部１５には、頭部にＨＭＤ３０を装着したユーザ２００が着座する。ユーザ２００の足首付近には、トラッキングセンサ２２が装着される。なお、トラッキングセンサ２２の位置は、足首付近以外に、つま先、踵等であっていてもよい。トラッキングセンサ２２は、トラッキングセンサ２２自体がユーザ２００の身体に装着可能な構造であってもよいし、例えばベルト等の装着部材を介してユーザ２００に装着可能な構造であってもよい。
【００１４】
ゲーム処理装置５０は、筐体１１が配置された空間又はそれ以外の位置に設けられ、ＨＭＤ３０に対して通信ケーブル又は無線で接続され、双方向にデータを送受信可能となっている。ゲーム処理装置５０は、ＨＭＤ３０に仮想空間の画像を表示させながらゲームを進行する処理を行う。
【００１５】
トラッキングシステム２０は、トラッキングセンサ２２とトラッキング空間に配置されたセンサを用いるシステムである。筐体１１が配置された空間には、トラッキング補助装置２１が配置される。トラッキング補助装置２１及びＨＭＤ３０は、協働してゲーム処理装置５０にＨＭＤ３０の位置を検出するための検出データをゲーム処理装置５０へ送信する。また、トラッキング補助装置２１及びトラッキングセンサ２２は、協働して、トラッキングセンサ２２の位置を検出するための検出データをゲーム処理装置５０へ送信する。
【００１６】
ゲーム処理装置５０は、トラッキング補助装置２１及びトラッキングセンサ２２のうち少なくとも一方から送信されたデータに基づき、着座部１５に着座したユーザ２００の足の動作を検出する。ゲーム処理装置５０は、例えば、ユーザが、両足を同期させて動かしたり、片足ずつ動かしたりする動作を検出して、所定の条件を満たすか否かを判定する。ゲーム処理装置５０は、所定の条件を満たすと判定すると、ユーザに対応する仮想人物（アバター、キャラクター）のアクションを実行する。本実施形態では、現実世界においてユーザ２００が足を前方に蹴り出す動作を行うことで、ユーザ２００に対応する仮想人物が、仮想空間内で足に履いている靴オブジェクトを前方に飛ばす「靴飛ばし（Kick the shoe on the swing）」のアクションを実行させるゲームに例示して説明する。
【００１７】
図２を参照して、ＨＭＤ３０、トラッキングセンサ２２、トラッキング補助装置２１の構成について詳述する。
ＨＭＤ３０は、ウェアラブルコンピュータであって、両眼を覆うハウジングを備える非透過型のディスプレイ、それ以外の透過型のディスレイである。非透過型のヘッドマウントディスプレイは、１乃至複数のディスプレイに、左眼に視認させるための画像と右眼に視認させるための画像とをそれぞれ表示してもよいし、左眼用の画像と右眼用の画像を共通にしてディスプレイに表示してもよい。透過型ディスプレイは、ヘッドマウントディスプレイ又はそれ以外に設けられたカメラによって撮影された画像をディスプレイに表示させるものでもよく、ディスプレイがハーフミラー又は透明材料から形成され、現実世界を視認可能にしてもよい。また、ＨＭＤ３０は、ハウジングやフレーム等にディスプレイを固定したものであってもよいし、スマートフォン等の多機能電話端末を所定のハウジングに着脱可能に固定するものであってもよい。ＨＭＤ３０は、仮想現実（ＶＲ：Virtual Reality）、現実世界をユーザに視認させつつ仮想空間のコンテンツを提供する拡張現実（ＡＲ：Augmented Reality）、又はこれらを包含する複合現実（ＭＲ：Mixed Reality）等の画像を表示する。本実施形態では、ＨＭＤ３０を、非透過型のディスプレイとして説明する。
【００１８】
ＨＭＤ３０は、情報処理部３１、計測装置３２、ディスプレイ３３を有する。情報処理部３１は、ゲームを進行させるための処理を実行する。情報処理部３１は、自身が実行するすべての処理についてソフトウェア処理を行うものに限られない。例えば、情報処理部３１は、自身が実行する処理の少なくとも一部についてハードウェアを行う専用のハードウェア回路（例えば特定用途向け集積回路：ＡＳＩＣ）を備えてもよい。すなわち、情報処理部３１は、コンピュータプログラム（ソフトウェア）に従って動作する１又は複数のプロセッサ、各種処理のうち少なくとも一部の処理を実行する１又は複数の専用のハードウェア回路、或いはそれらの組み合わせ、を含む回路（circuitry）として構成し得る。プロセッサは、ＣＰＵ、ＭＰＵ、ＧＰＵ等の演算処理装置、並びにＲＡＭやＲＯＭ等の記憶媒体を含んでいる。また、情報処理部３１は、ＨＤＤ、ＳＳＤ等のストレージである記憶媒体（メモリ）を備えている。これらの記憶媒体のうち少なくとも一つは、処理をＣＰＵに実行させるように構成されたプログラムコード又は指令を格納している。記憶媒体すなわちコンピュータ可読媒体は、汎用または専用のコンピュータでアクセスできるあらゆる利用可能な媒体を含む。計測装置３２は、ＨＭＤ３０の向きを少なくとも検出する装置であって、例えば慣性計測装置（ＩＭＵ：Inertial Measurement Unit）である。例えば、慣性計測装置は、ジャイロセンサ、加速度センサ等を備え、Ｘ軸、Ｙ軸、及びＺ軸を中心とした回転角度、角速度と、加速度等の少なくとも一つを検出する。ディスプレイ３３は、有機ＥＬディスプレイ、又は液晶ディスプレイ等である。
【００１９】
トラッキングセンサ２２は、自らの位置及び向きを検出するためのセンサである。例えば、トラッキングセンサ２２は、ＨＭＤ３０と同様に、慣性計測装置を有している。
また、トラッキングセンサ２２は、複数のトラッキング補助装置２１と協働して、自らの位置及び向きに応じた信号を出力する。トラッキングセンサ２２及びトラッキング補助装置２１が協働することで、空間内のトラッキングセンサ２２の位置を検出することができる。トラッキング補助装置２１の一例として、多軸レーザ発振器を用いることができる。このトラッキング補助装置２１は、筐体１１を配置する空間の上方に、互いに対角となるように設けられる。トラッキング補助装置２１は、パルスレーザ光を出射する。トラッキングセンサ２２は、レーザ光を検出するセンサを備え、同期パルスで同期をとりつつ、自らの位置及び向きを検出する。トラッキングセンサ２２及びトラッキング補助装置２１は、例えば、HTC Corporation（登録商標）から提供されているVive Tracker（登録商標）及びVive Base Stationを用いることができる。
【００２０】
ゲーム処理装置５０は、位置特定部５１、画像処理部５２、進行管理部５３、データ記憶部６０を備えている。位置特定部５１は、ＨＭＤ３０及びトラッキング補助装置２１の少なくとも一方から取得したデータに基づいて、ＨＭＤ３０の向きを特定する。また、ＨＭＤ３０の向きに加えて、ＨＭＤ３０の位置を特定するようにしてもよい。さらに、位置特定部５１は、トラッキングセンサ２２及びトラッキング補助装置２１の少なくとも一方から取得したデータに基づいて、トラッキングセンサ２２の向き及び位置を特定する。
【００２１】
画像処理部５２は、位置特定部５１が特定したＨＭＤ３０の向きや位置に合わせて、仮想空間の画像をディスプレイ３３に表示する。また、画像処理部５２は、仮想空間の一部として、ユーザに対応する仮想人物の身体の一部を表示する。
【００２２】
進行管理部５３は、ゲームの進行を管理し、位置特定部５１及び画像処理部５２が実行する処理以外の処理を行う。進行管理部５３は、ゲーム開始条件が成立した場合にゲームを開始する。ゲーム開始条件は、例えば、ユーザ又はゲームの管理者による指示を入力したこと等である。また、進行管理部５３は、ゲーム終了条件が成立した場合にゲームを終了する。ゲーム終了条件は、ゲームに応じて変更することができる。例えば、ゲーム終了条件は、ゲームを開始してからの経過時間が制限時間に達したこと、ユーザの得点が閾値に達したこと、又はミッションを達成したこと等である。
【００２３】
データ記憶部６０は、ＨＤＤ（Hard Disk Drive）、又はＳＳＤ（Solid State Drive）等の記憶媒体によって構成される。データ記憶部６０には、ゲーム処理プログラム及びその他のプログラムが格納されている。位置特定部５１、画像処理部５２、進行管理部５３は、これらのプログラムに記述されたコンピュータが読み取り可能な命令を実行して、ゲームを進行させる。
【００２４】
データ記憶部６０には、設定情報６１、ゲーム空間データ６２、ゲーム進行データ６３が記憶されている。設定情報６１には、トラッキングセンサ２２の位置に基づいて設定した境界情報が含まれている。
【００２５】
ゲーム空間データ６２は、ゲームの行われる空間を描画するためのデータである。例えば、ゲームフィールドの背景を描画するためのデータや、仮想空間内のオブジェクトを描画するためのデータを含む。こうしたオブジェクトには、ゲームフィールドを移動する敵等のオブジェクトや、所定の条件を満たすときにのみ表示されるオブジェクトが含まれる。ゲーム空間データ６２には、こうしたオブジェクトの仮想空間における位置情報も含まれる。
【００２６】
ゲーム進行データ６３は、ゲームの進行の管理に用いられるデータであって、ゲームの進行に応じて更新される。ゲーム進行データ６３は、ユーザに関連付けられたユーザ属性情報を含む。ユーザ属性情報には、ユーザの設定情報、ユーザのパラメータ、ゲーム媒体、及びゲーム媒体に関連付けられた属性情報の少なくとも一つが含まれる。ユーザの設定情報は、性別、年齢又は年齢層、所在地、メールアドレス等である。ユーザのパラメータは、例えばユーザに対応する仮想人物のパラメータであって、得点、勝利回数、敗北回数等のゲーム結果や、レベル、ステータス、能力、スキル、アビリティ、攻撃力、防御力、ＨＰ、ライフ、体力値、回復力、呪文、ジョブ等の対戦用パラメータ等である。ゲーム媒体は、ゲームに使用される電子データ（コンテンツ）であり、ユーザによってゲーム内で取得、所有、使用、管理、交換、合成、強化、売却、廃棄、又は贈与等され得る。例えば、カード、アイテム、仮想通貨、チケット、キャラクタ、アバタ等、任意の媒体を含む。ゲーム媒体の属性情報は、ゲーム媒体のパラメータ等であって、ユーザ属性情報等と同様である。なお、ユーザのパラメータ、ゲーム媒体に関連付けられた属性情報が、取得、所有、使用、管理、交換、合成、強化、売却、廃棄、又は贈与等されてもよい。また、ゲーム進行データ６３には、敵に関する情報を含めてもよい。敵に関する情報には、例えば、敵の体力値等のように敵の倒しやすさを示す情報が含まれる。
【００２７】
ゲーム処理装置５０には、入力操作部６５がデータを送受信可能に接続されている。入力操作部６５は、マウス、キーボード、タッチパネル装置等のポインティングデバイスである。入力操作部６５は、ゲーム処理装置５０に通信ケーブル又は無線通信によって接続されている。入力操作部６５は、ユーザ又はゲーム管理者によって用いられる。
【００２８】
図３を参照して、ユーザ２００についてアクションを判定するための境界の設定方法について説明する。ユーザ２００は、両足首付近にトラッキングセンサ２２を装着した状態で、着座部１５に着座する。このとき、ユーザ２００の足（靴）の底面は、必ずしも床面５００に接していなくてもよい。
【００２９】
ゲーム処理装置５０は、トラッキングセンサ２２から検出データを取得して、トラッキングセンサ２２の位置を特定する。これにより、着座部１５に装着されたトラッキングセンサ２２の位置、左足に装着されたトラッキングセンサ２２の位置、右足に装着されたトラッキングセンサ２２の位置が取得される。着座部１５に装着されたトラッキングセンサ２２の位置、左足に装着されたトラッキングセンサ２２の位置、右足に装着されたトラッキングセンサ２２の位置を、それぞれ着座位置Ｐ１（Ｘ１，Ｙ１，Ｚ１）、左足位置Ｐ２（Ｘ２，Ｙ２，Ｚ２），右足位置Ｐ３（Ｘ３，Ｙ３，Ｚ３）とする。
【００３０】
また、床面５００と平行であって、着座部１５に着座したユーザ２００の顔が向く方向を「Ｘ方向（前後方向）」とする。また、床面５００に平行であって、「Ｘ方向」に直交する方向を「Ｚ方向（左右方向）」とする。さらに、床面５００の法線方向を「Ｙ方向（鉛直方向）」とする。なお、ゲーム処理装置５０は、これらの方向に限らず、任意の座標系を設定できるものとする。
【００３１】
ゲーム処理装置５０は、Ｙ方向における着座位置Ｐ１と左足位置Ｐ２との相対距離Ｌｙ、又はＹ方向における着座位置Ｐ１と右足位置Ｐ３との相対距離Ｌｙを算出する。又は、これらの相対距離Ｌｙの両方を算出するようにしてもよい。これにより、ユーザ２００の膝から足首までの下腿の長さが計測される。又は、例えば、左足位置Ｐ２のＹ座標と右足位置Ｐ３のＹ座標との中間となる位置と、着座位置Ｐ１のＹ座標との相対距離を算出してもよい。
【００３２】
ゲーム処理装置５０は、相対距離Ｌｙに所定の比率Ｒ２を乗算した補正距離Ｌｙ２を求める。なお、比率Ｒ２は、「０」より大きく「１」より小さい。そして、ゲーム処理装置５０は、左足位置Ｐ２又は右足位置Ｐ３を基準位置とし、その基準位置から、反Ｘ方向である後方に補正距離Ｌｙ２だけ離れた位置に、後方境界１０２を設定する。着座位置Ｐ１と左足位置Ｐ２の相対距離Ｌｙ、及び着座位置Ｐ１と右足位置Ｐ３との相対距離Ｌｙの両方を算出した場合には、それらの相対距離Ｌｙを用いて、左足用の後方境界１０２と、右足用の後方境界１０２とをそれぞれ設定してもよい。
【００３３】
後方境界１０２は、Ｘ座標の境界を示していればよい。例えば、後方境界１０２は、Ｘ方向を法線方向としＹ方向及びＺ方向に平行なＹ−Ｚ平面でもよい。一例として、比率Ｒ２は、着座部１５に着座したユーザ２００が、靴オブジェクトを飛ばすための準備の動作として、膝を中心に下腿を回転させ、後方（反Ｘ方向）に足を曲げるときの一般的な角度等を考慮して決定される。比率Ｒ２は基本的に一定であるため、例えば、下腿が長いユーザ２００は、下腿が短いユーザ２００に比べて、後方境界１０２が基準位置から遠い位置に設定される。
【００３４】
また、ゲーム処理装置５０は、相対距離Ｌｙに所定の比率Ｒ１を乗算した補正距離Ｌｙ１を求める。なお、比率Ｒ１は、「０」より大きく「１」より小さい。比率Ｒ１は、比率Ｒ２と異なっていてもよいし、比率Ｒ２と同じであってもよい。基本的には比率Ｒ１，Ｒ２は一定であるが、比率Ｒ１，Ｒ２をそれぞれ調整可能にすることによって、多様な体形のユーザに合わせることができる。そして、左足位置Ｐ２又は右足位置Ｐ３を基準位置とし、その基準位置から、Ｘ方向である前方に補正距離Ｌｙ１だけ離れた位置に、前方境界１０１を設定する。着座位置Ｐ１と左足位置Ｐ２のＹ方向における相対距離Ｌｙ、及び着座位置Ｐ１と右足位置Ｐ３とのＹ方向における相対距離Ｌｙの両方を算出した場合には、それらの相対距離Ｌｙを用いて、左足用の前方境界１０１と、右足用の前方境界１０１とをそれぞれ設定してもよい。
【００３５】
前方境界１０１は、Ｘ座標の境界を示していればよい。例えば、前方境界１０１は、Ｘ方向を法線方向とするＹ方向及びＺ方向に平行なＹ−Ｚ平面でもよい。一例として、比率Ｒ１は、着座部１５に着座したユーザ２００が、靴オブジェクトを飛ばす動作として、膝を中心に下腿を回転させて前方（反Ｘ方向）に足を蹴り上げる場合の足を曲げる場合の一般的な角度等を考慮して決定される。これにより、例えば、下腿が長いユーザ２００は、下腿が短いユーザ２００に比べて、前方境界１０１が基準位置から遠い位置に設定される。
【００３６】
このように設定された前方境界１０１及び後方境界１０２は、ユーザの体形である下腿の長さが反映されている。一方、例えばユーザの足首位置の移動方向の変化に基づきアクションを実行するか否かを判定する場合には、ユーザが足を少し動かしたときなど、ユーザが意図しないタイミングでアクションが実行されてしまう可能性があり、ユーザが違和感を覚えるおそれがある。また、アクションの実行を判定するための境界等をユーザ間で一律にしてしまうと、アクションが実行されやすいユーザと、アクションが実行されにくいユーザとが生じる。これに対し、本実施形態のように境界をユーザの体形に応じて設定することで、ユーザの意図に沿ったアクションを実行し、ユーザの違和感を少なくすることができる。
【００３７】
図４及び図５を参照して、前方境界１０１及び後方境界１０２を用いたゲームの進行手順について説明する。なお、上述したように、着座部１５は前後の揺れが制限されており、ユーザ２００の動作に応じて僅かに揺れる。
【００３８】
図４に示すように、ユーザ２００は、靴飛ばしゲームを開始する場合、前方に足を蹴り出す準備として、下腿が着座部１５の下方に位置するように、膝を回転に下腿を回転させる。ゲーム処理装置５０は、左足位置Ｐ２及び右足位置Ｐ３を特定して、それらの少なくとも一方が、後方境界１０２を越えたか否かを判定する。
【００３９】
左足位置Ｐ２及び右足位置Ｐ３の少なくとも一方が後方境界１０２を越えたと判定した場合、ゲーム処理装置５０は、靴飛ばし動作が開始されたと判定する。
靴飛ばし動作の開始判定後、ゲーム処理装置５０は、左足位置Ｐ２及び右足位置Ｐ３を特定しながら、それらの少なくとも一方が前方境界１０１を越えたか否かを判定する。
【００４０】
図５に示すように、ゲーム処理装置５０は、左足位置Ｐ２及び右足位置Ｐ３の少なくとも一方が前方境界１０１を越えたと判定した場合、靴飛ばし動作が完了したと判定する。そして、ゲーム処理装置５０は、仮想人物の靴オブジェクトを、蹴り出し方向であるユーザ２００の前方に、所定の軌跡に従って落下させる。具体的には、ゲーム処理装置５０は、トラッキングセンサ２２の検出データに基づいて、ユーザが蹴り出した方向に合わせて、靴オブジェクトを落下させる。例えば、蹴り出し方向が、ユーザ２００からみて前方左側である場合には、靴オブジェクトを前方左側に向かって落下するように描画する。
【００４１】
また、ゲーム処理装置５０は、靴飛ばし動作完了のときのトラッキングセンサ２２の速さを取得する。速さは、単位時間当たりの移動距離である速度、角速度、加速度等の少なくとも一つである。そして、速さとオブジェクトの移動距離（飛距離）とを関連付けたデータに基づいて、靴オブジェクトを移動させる。速さは、１対のトラッキングセンサ２２の相対距離から算出可能にしてもよく、トラッキングセンサ２２が内蔵する速度検出センサ又は外部の速度検出センサにより検出するようにしてもよい。相対距離から算出する場合、着座部１５に装着されたトラッキングセンサ２２と左足位置Ｐ２又は右足位置Ｐ３との相対距離Ｌｙを、下腿を回転させるときの時間Ｔで除算して速度Ｖを算出する（Ｖ＝Ｌｙ／Ｔ）。時間Ｔは、予め設定した時間（定数）を用いてもよいし、足が後方境界１０２を越えたときから前方境界１０１を越えたときまでの時間を計測してもよい。
【００４２】
図６（ａ）は、足の移動の速さと靴オブジェクトの移動距離を関連付けたデータの一例である。テーブルにおいては、速度が大きいほど、距離が段階的に大きくなるように、速度及び距離が関連付けられている。また、図６（ｂ）のマップに示すように、速度が大きいほど距離が連続的に大きくなるように、速さ及び距離が関連付けられていてもよい。ゲーム処理装置５０は、テーブルに代えて若しくは加えて、所定の演算式を用いて移動距離を算出するようにしてもよい。
【００４３】
図７は、ユーザ２００によって視認される画面１１０を模式的に示した一例である。画面１１０には、仮想空間１１１の画像が表示されている。仮想空間１１１には、靴オブジェクト１１２と、仮想人物１１３の一部とが表示されている。
【００４４】
ゲーム処理装置５０は、一つの靴飛ばし動作が完了し、靴オブジェクト１１２が移動した後、仮想人物の足に靴オブジェクト１１２を再び表示して、靴飛ばしを可能にする。靴オブジェクト１１２の落下位置又は移動軌跡が得点付与条件を満たすと、ユーザに得点が付与される。また、落下位置に応じて、異なる配点を行ってもよい。又は、靴オブジェクト１１２の落下位置又は移動軌跡が達成条件を満たすと、ミッションが完了する。
【００４５】
このように、ユーザは、実際にブランコの着座部１５に着座して靴飛ばし動作を行うので、ユーザの動作に伴い、着座部１５が揺れる。また、揺れをＨＭＤ３０が検出することにより、ゲーム処理装置５０は、ＨＭＤ３０に表示される画像を実際の揺れに合わせて動かす。これにより、ＶＲ酔いの発生を抑制するとともに、あたかも仮想的なブランコに乗って靴飛ばしをしているかのような没入感が得られる。
【００４６】
本実施形態のゲーム処理の手順について説明する。
図８を参照して、境界の設定手順について説明する。ゲーム処理装置５０は、トラッキングセンサ２２等から検出データを取得して、トラッキングセンサ２２の位置（センサ位置）を特定する（ステップＳ１）。具体的には、着座位置Ｐ１、左足位置Ｐ２、右足位置Ｐ３を特定する。
【００４７】
ゲーム処理装置５０は、新たにゲームが開始されるか、又は新たなユーザがゲームを開始すると判断すると、トラッキングセンサ２２の位置に基づいて、境界を設定する（ステップＳ２）。具体的には、着座位置Ｐ１と、左足位置Ｐ２及び右足位置Ｐ３の少なくとも一方とを用いて、前方境界１０１と後方境界１０２とを設定する。前方境界１０１及び後方境界１０２は、両足共通であってもよいし、片足ずつそれぞれ設定されてもよい。前方境界１０１及び後方境界１０２の位置情報は、データ記憶部６０に設定情報６１として記憶される。このとき、前方境界１０１及び後方境界１０２の位置情報を、ユーザの識別情報と関連付けて記憶してもよい。前方境界１０１及び後方境界１０２の位置情報を設定したユーザが、ゲームを行う場合、データ記憶部６０から前方境界１０１及び後方境界１０２の位置情報を読み出して、これらを用いてゲームを行うようにしてもよい。
【００４８】
次に、図９を参照して、ゲームの進行手順について説明する。ゲーム処理装置５０は、入力操作部６５における入力操作等のトリガーに基づいて、ゲームを開始する（ステップＳ１１）。ゲーム処理装置５０は、例えば、前回のゲームで用いた境界の位置情報等をリセットする等の初期化を行う。また、ＨＭＤ３０の計測装置３２の検出データを取得し、検出データに応じた表示範囲の画像をＨＭＤ３０に表示する。
【００４９】
ゲーム処理装置５０は、ゲーム進行データ６３に基づきゲームを進行させながら、後方境界１０２の位置情報に基づいて、左足位置Ｐ２又は右足位置Ｐ３が後方境界１０２を越えたかを判定する（ステップＳ１２）。ゲーム処理装置５０は、左足位置Ｐ２及び右足位置Ｐ３が後方境界１０２を越えていない場合には（ステップＳ１２：ＮＯ）、ステップＳ１７に進む。
【００５０】
ゲーム処理装置５０は、左足位置Ｐ２又は右足位置Ｐ３が後方境界１０２を越えたと判定した場合（ステップＳ１２：ＹＥＳ）、その足が、靴飛ばし動作を開始したと判定する（ステップＳ１３）。
【００５１】
ゲーム処理装置５０は、ゲームを進行させながら、左足位置Ｐ２又は右足位置Ｐ３が、前方境界１０１を越えたか否かを判定する（ステップＳ１４）。ゲーム処理装置５０は、左足位置Ｐ２及び右足位置Ｐ３が前方境界１０１を越えないと判定すると（ステップＳ１４：ＮＯ）、ステップＳ１７に進む。なお、ステップＳ１４では、左足位置Ｐ２又は右足位置Ｐ３が、例えば１~２秒等の所定時間内に前方境界１０１を越えたか否かを判定してもよい。左足位置Ｐ２又は右足位置Ｐ３が、所定時間内に前方境界１０１を越えていないと判定すると（ステップＳ１４：ＮＯ）、ステップＳ１７に進むようにしてもよい。
【００５２】
ゲーム処理装置５０は、左足位置Ｐ２及び右足位置Ｐ３の少なくとも一つが前方境界１０１を越えたかと判定した場合（ステップＳ１４：ＹＥＳ）、靴飛ばし動作を完了したと判定する（ステップＳ１５）。
【００５３】
さらに、ゲーム処理装置５０は、仮想空間内で靴飛ばし動作のアクションを実行する（ステップＳ１６）。この場合、ゲーム処理装置５０は、図６（ｂ）のマップを用いて、移動速度から、靴オブジェクトの移動距離を算出する。例えば、仮想人物の足及び靴オブジェクトを描画し、靴オブジェクトを、算出した移動距離に応じて、足を蹴り上げた方向に放物線を描くように落下させる。また、靴オブジェクトが仮想人物の足から離れた後、新たな靴オブジェクトを仮想人物の足に描画する。
【００５４】
ゲーム処理装置５０は、ゲーム終了条件に基づいて、ゲーム終了であるか否かを判断する（ステップＳ１７）。ゲーム処理装置５０は、終了条件が満たされたと判断すると（ステップＳ１７：ＹＥＳ）、ゲームを終了する。また、終了条件が満たされていない場合には（ステップＳ１７：ＮＯ）、ステップＳ１２に戻る。
【００５５】
本実施形態の効果について説明する。
（１）第１実施形態では、ユーザの足に装着されたトラッキングセンサ２２と、筐体１１側に装着されたトラッキングセンサ２２との相対距離を算出し、その相対距離に基づいて前方境界１０１及び後方境界１０２が設定される。これにより、前方境界１０１及び後方境界１０２の位置は、ユーザの体形に応じた位置となる。また、ユーザの足に装着されたトラッキングセンサ２２と前方境界１０１又は後方境界１０２の位置関係が所定の条件を充足した場合、ユーザの動作に対応するアクションを仮想空間内で実行する。現実世界においてユーザの動作が開始される位置は、ユーザの体形によって異なるので、ユーザの体形が反映された境界を用いることにより、ユーザの意図に反してアクションが実行されることを抑制して、ユーザの違和感を少なくすることができる。
【００５６】
（２）第１実施形態では、ゲーム処理装置５０により、ユーザの足に装着されたトラッキングセンサ２２が前方境界１０１を越えた場合の速さが取得される。また、速さの大きさを、靴飛ばし動作の靴オブジェクトの移動距離に反映する。これにより、足の移動の速さを調整することにより靴オブジェクトの移動距離を調整することができる。このため、靴オブジェクトの落下位置等に応じて得点を付与したり、移動距離に応じた得点を付与するなど、ゲームを多様化させることが可能となる。
【００５７】
（３）第１実施形態では、ゲーム処理装置５０により、ユーザの足に装着されたトラッキングセンサ２２が前方境界１０１を越えた場合、仮想人物の足から靴オブジェクトを移動させる。このため、オブジェクトの移動が開始されるタイミングを、ユーザの想定するタイミングに近づけることができるので、ユーザは、入力操作として、足を蹴る動作を直感的に行うことができる。
【００５８】
（４）第１実施形態では、ユーザの足にトラッキングセンサ２２を装着した。これにより、足の動作を仮想空間へアクションとして反映することができるので、新規なゲームを提供することができる。
【００５９】
（第２実施形態）
次に、画像表示システムの第２実施形態を説明する。なお、第２実施形態では、境界の設定方法は第１実施形態と共通している一方、設定した境界の利用態様を変更している。以下、第１実施形態と同様の部分については同一符号を付してその詳細な説明を省略する。
【００６０】
第２実施形態では、前方境界１０１及び後方境界１０２を、仮想空間内で、オブジェクトの移動を開始するか否かの判定に用いる。具体的には、左足位置Ｐ２及び右足位置Ｐ３と、前方境界１０１及び後方境界１０２の少なくとも一方とが所定の位置関係を充足した場合、着座部１５に対応する着座部オブジェクト及び仮想人物を移動させる。また、仮想空間内のユーザ視点は、仮想人物の視点に対応しているため、仮想人物の移動に伴い、仮想空間内のユーザ視点も移動する。従来において仮想人物を移動させる場合は、現実世界におけるユーザの視点の移動に伴い仮想空間内で仮想人物等を移動させる方法や、ゲームのストーリーに従って自動的に移動させる方法が用いられていた。或いは、例えば現実世界のユーザが、自身が把持するコントローラを操作して、アイコン等の仮想空間内のＧＵＩ（Graphical User Interface）を用いて移動を指示することで、仮想人物を移動させていた。前者の方法の場合、仮想人物がユーザの意図に反して移動してしまう可能性があり、後者の方法の場合、現実世界にはないアイコン等のＧＵＩを用いて目標位置に向かってコントローラを動かすことで仮想人物が移動してしまうので、没入感が損なわれる可能性がある。これに対し、本実施形態では、ユーザは、ブランコに乗りつつ足を動かすことで仮想人物を移動させる。これにより、従来の方法よりも直感的な動作で、仮想人物を移動させることができる。移動対象のオブジェクトは、着座部オブジェクト及び仮想人物に代えて若しくは加えて、筐体１１に対応する仮想空間内の筐体オブジェクト全体であってもよい。また、本実施形態では、靴飛ばしを行う動作を行うモード（キックモード）とは異なるモード（飛行モード）において、着座オブジェクト及び仮想人物の移動を判定する。
【００６１】
図１０〜図１２に示す前方境界１０１及び後方境界１０２は、Ｘ方向の境界を示していればよい。例えば、前方境界１０１及び後方境界１０２は、Ｘ方向を法線方向とするＹ−Ｚ平面である。ゲーム処理装置５０は、左足位置Ｐ２及び右足位置Ｐ３の両方が、同じ境界を越えたか否かを判定する。
【００６２】
図１０（ａ）に示すように、ゲーム処理装置５０は、両足が前方境界１０１を越えたと判定した場合、ユーザ２００が足を伸ばした方向を判定する。足を伸ばした方向がユーザの正面であるＸ方向であると判定とした場合には、仮想空間内で着座部オブジェクト及び仮想人物を、足を伸ばした方向の反対方向である後方（反Ｘ方向）に移動させる。このとき、ゲーム処理装置５０は、着座部オブジェクト及び仮想人物１１３を、後方に向かって水平に移動させてもよいし、後方に向かって揺動させてもよい。このように、オブジェクトを、ユーザが足を突き出した方向に対して反対の方向に移動表示することにより、仮想人物の動作の反動による推力で、着座部オブジェクト及び仮想人物が移動しているようなイメージをユーザに与えることができる。
【００６３】
ゲーム処理装置５０が、ユーザが足を伸ばした方向を特定する方法は特に限定されない。例えば、ゲーム開始前であって境界を設定するときの左足位置Ｐ２を基準として足を伸ばした方向を判断してもよい。又は、着座位置Ｐ１を基準として、左足位置Ｐ２が伸ばされた方向又は右足位置Ｐ３が伸ばされた方向を判定してもよい。又は、左足位置Ｐ２及び右足位置Ｐ３の中央値を算出し、着座位置Ｐ１を基準した中央値への方向に基づき、足を伸ばした方向を判定してもよい。
【００６４】
図１０（ｂ）に示すように、ゲーム処理装置５０は、左足位置Ｐ２及び右足位置Ｐ３の両方が前方境界１０１を越え、且つユーザ２００が両足を伸ばした方向が前方左側であると判定した場合、仮想空間内で着座部オブジェクト及び仮想人物１１３を後方右側に移動させる。
【００６５】
図１０（ｃ）に示すように、ゲーム処理装置５０は、左足位置Ｐ２及び右足位置Ｐ３の両方が前方境界１０１を越え、且つユーザ２００が両足を伸ばした方向が前方右側であると判定した場合、仮想空間内で着座部オブジェクト及び仮想人物１１３を後方左側に移動させる。
【００６６】
なお、図１０（ａ）〜図１０（ｂ）では、ユーザが足を伸ばした方向に対して反対側となる方向に着座部オブジェクト及び仮想人物１１３を移動させたが、足を伸ばした方向と同じ方向に着座部オブジェクト及び仮想人物１１３を移動させてもよい。例えば、ユーザが自身の正面に両足を突き出した場合、着座部オブジェクト及び仮想人物１１３を前方に移動させてもよい。また、ユーザが両足を伸ばした方向が前方左側である場合、着座部オブジェクト及び仮想人物１１３を前方左側へ移動させてもよい。
【００６７】
また、着座部オブジェクト及び仮想人物１１３の移動方向は、上記した方向に限られない。例えば、着座部オブジェクト及び仮想人物１１３を、ユーザの真横である右側又は左側に移動させるようにしてもよい。例えば、ユーザが足を伸ばす方向が、基準となる正面から右へ所定角度以上である場合に、着座部オブジェクト及び仮想人物１１３を右側へ移動させてもよい。また、ユーザが足を伸ばす方向が左へ所定角度以上である場合に、着座部オブジェクト及び仮想人物１１３を左側へ移動させてもよい。
【００６８】
図１１（ａ）に示すように、ゲーム処理装置５０は、ユーザ２００が着座部１５の下方に下腿が位置するように足を曲げ、左足位置Ｐ２及び右足位置Ｐ３が後方境界１０２を越えたと判定すると、下腿の方向を特定する。ゲーム処理装置５０は、下腿が伸びる方向が、Ｘ方向に対して反対方向である反Ｘ方向であると判断すると、仮想空間内で、着座部オブジェクト及び仮想人物１１３をＸ方向である前方に移動させる。
【００６９】
図１１（ｂ）に示すように、ゲーム処理装置５０は、左足位置Ｐ２及び右足位置Ｐ３の両方が後方境界１０２を越えたと判定すると、下腿の方向を特定する。ゲーム処理装置５０は、下腿の方向が後方右側と判断すると、着座部オブジェクト及び仮想人物を前方左側に移動させる。
【００７０】
図１１（ｃ）に示すように、ゲーム処理装置５０は、左足位置Ｐ２及び右足位置Ｐ３の両方が後方境界１０２を越えたと判定すると、下腿の方向を特定する。ゲーム処理装置５０は、下腿の方向が後方左側と判断すると、着座部オブジェクト及び仮想人物を前方右側に移動する。
【００７１】
一方、ユーザ２００が、左足を伸ばしたときに右足を曲げ、右足を伸ばしたときに左足を曲げて、左足及び右足を交互に蹴り出す場合、仮想空間内で着座部オブジェクト及び仮想人物は上方であるＹ方向に移動する。
【００７２】
図１２に示すように、ゲーム処理装置５０は、左足位置Ｐ２が前方境界１０１を越え、且つ右足位置Ｐ３が後方境界１０２を越えたと判定すると、上方に移動する着座部オブジェクト及び仮想人物を描画する。そして、一方の足が前方境界１０１を越え、且つ他方の足が後方境界１０２を越えた状態が所定時間内に繰り返される間、上方に移動する着座部オブジェクト及び仮想人物を描画し続ける。なお、一方の足が前方境界１０１を越え、且つ他方の足が後方境界１０２を越えた回数が所定回数に到達したとき、上方に移動する着座部オブジェクト及び仮想人物１１３の描画を開始するようにしてもよい。
【００７３】
図１３を参照して、本実施形態のゲーム処理の手順について説明する。
ゲーム処理装置５０は、ゲームを開始すると（ステップＳ２０）、前回の履歴をリセットする等の初期化を行う。また、ゲーム処理装置５０は、両足が同じ境界を越えたか否かを判断する（ステップＳ２１）。
【００７４】
ゲーム処理装置５０は、両足が前方境界１０１及び後方境界１０２のいずれかを越えたと判断した場合（ステップＳ２１：ＹＥＳ）、足（下腿）が伸ばされた方向を取得する（ステップＳ２２）。さらに、ゲーム処理装置５０は、取得した方向に基づき着座部オブジェクト及び仮想人物を移動させた画像を、ＨＭＤ３０に表示する（ステップＳ２３）。
【００７５】
一方、ステップＳ２１において、ゲーム処理装置５０が、ユーザの両足が同じ境界を越えていないと判断した場合（ステップＳ２１：ＮＯ）、ユーザの両足が、片足ずつ異なる境界を越えたか否かを判断する（ステップＳ２５）。ゲーム処理装置５０は、片足ずつ異なる境界を越えたと判断すると（ステップＳ２５：ＹＥＳ）、着座オブジェクト及び仮想人物を上昇させた画像をＨＭＤ３０に表示し（ステップＳ２６）、ステップＳ２４に進む。また、ゲーム処理装置５０は、片足ずつ異なる境界を越えた状態ではないと判断すると（ステップＳ２５：ＮＯ）、ステップＳ２４に進む。
【００７６】
ゲーム処理装置５０は、ゲーム終了であるか否かを判断する（ステップＳ２４）。ゲーム終了であると判断した場合（ステップＳ２４：ＹＥＳ）、この処理を終了する。一方、ゲーム終了ではないと判断した場合（ステップＳ２４：ＮＯ）、ステップＳ２１に戻る。
【００７７】
本実施形態の効果について説明する。
（５）第２実施形態では、ユーザが足を伸ばすことにより、左足位置Ｐ２及び右足位置Ｐ３が、前方境界１０１及び後方境界１０２の少なくとも一方と所定の位置関係を充足した場合に、着座部オブジェクト及び仮想人物を移動させるようにした。これにより、ユーザの意図するタイミングで、直感的な操作によって、仮想空間内の仮想人物を移動させることができる。
【００７８】
（６）第２の実施形態では、左足位置Ｐ２及び右足位置Ｐ３が前方境界１０１を超えた場合、ゲーム処理装置５０は、前方であって両足を伸ばす方向と反対の方向に、着座部オブジェクト及び仮想人物を移動させた。また、左足位置Ｐ２及び右足位置が、後方境界１０２を超えた場合、ゲーム処理装置５０は、後方であって両足を伸ばす方向と反対の方向に、着座部オブジェクト及び仮想人物オブジェクトを移動させた。このようにユーザの体形が反映された境界を用いることにより、ユーザの意図に反してアクションが実行されることを抑制することができる。
【００７９】
（７）第２実施形態では、ゲーム処理装置５０は、左足位置Ｐ２及び右足位置の境界に対する位置関係の違いに応じて、着座部オブジェクト及び仮想人物の移動態様を変更した。つまり、左足位置Ｐ２及び右足位置の両方が、同じ境界を越えた場合は、後方又は前方に着座部オブジェクト及び仮想人物を移動させ、左足位置Ｐ２及び右足位置が異なる境界を越えた場合は、着座部オブジェクト及び仮想人物を上昇させるようにした。これにより、境界を、アクションの種類を判定するために用いることができる。
【００８０】
上記各実施形態は、以下のように変更して実施することができる。本実施形態及び以下の変更例は、技術的に矛盾しない範囲で互いに組み合わせて実施することができる。
・上記各実施形態では、トラッキングセンサ２２をユーザの足首付近に装着した。これに代えて若しくは加えて、ユーザの身体のうちそれ以外の位置に装着したトラッキングセンサ２２の検出データの値を、アクションに反映してもよい。例えば、「飛行モード」において、頭部を含む上半身のいずれかの位置に装着されたトラッキングセンサ２２の検出データに基づき、着座部オブジェクト及び仮想人物の移動の速さ、移動距離等を大きくするようにしてもよい。また、「キックモード」において、上半身の動きに応じて靴オブジェクトの移動距離を大きくする等、上半身の動きをアクションに反映するようにしてもよい。さらに、「飛行モード」において、左足位置Ｐ２及び右足位置Ｐ３が前方境界１０１を越え、且つ頭部に装着されたトラッキングセンサ２２又は頭部以外の上半身に装着されたトラッキングセンサ２２の位置がゲームを開始した時の初期位置に対して後方の位置に移動した場合、つまり足が伸ばされる方向と逆の方向に頭部や頭部以外の上半身が傾けられる場合、着座部オブジェクト及び仮想人物の移動の速さ、移動距離等を大きくして、アクションの反映するようにしてもよい。
【００８１】
・上記各実施形態では、ユーザの足首付近に装着したトラッキングセンサ２２を用いて、アクションの実行を開始するか否か及び実行したアクションを完了するか否かを判定した。これに代えて若しくは加えて、ユーザの身体のうち足首付近以外の位置に装着されたトラッキングセンサ２２を用いて、アクションの実行を開始するか否かの判定及び実行したアクションを完了するか否かの判定の少なくとも一方を行うようにしてもよい。
【００８２】
図１４を参照して、腕に装着されたトラッキングセンサ２２を用いて、仮想空間内のオブジェクトを投げるアクションを実行する手順の一例を説明する。図１４（ａ）に示すように、ユーザ２００は、肘及び手首に、トラッキングセンサ２２をそれぞれ装着する。ゲーム処理装置５０は、トラッキングセンサ２２及びトラッキング補助装置２１の少なくとも一方から取得したデータに基づいて、手首位置Ｐ５及び肘位置Ｐ６を特定する。ゲーム処理装置５０は、トラッキングセンサ２２の相対距離に基づいて、ユーザ２００の肘から手首までの前腕の長さＬｘ１を取得する。さらに、ゲーム処理装置５０は、手首位置Ｐ５から、ユーザ２００の肩に向かって、長さＬｘ１に所定の比率Ｒ５を乗算した長さだけ離れた位置に後方境界１０２を設定する。なお、この例における比率は「１」以上である。また、ゲーム処理装置５０は、手首位置Ｐ５から、肘方向に向かって、長さＬｘ１に所定の比率Ｒ６を乗算した長さだけ離れた位置に前方境界１０１を設定する。
【００８３】
図１４（ｂ）に示すように、ゲーム処理装置５０は、手首位置Ｐ５が後方境界１０２を越えたか否かを判断する。ゲーム処理装置５０は、後方境界１０２を越えたと判断すると、アクションの開始と判断する。オブジェクトを投げる動作は、例えば、アクションとしては、ボール等のオブジェクトを投げる動作、釣りのルアー等のオブジェクトを水面に投入するキャスト動作である。また、オブジェクトを投げる動作以外に代えて、ボールを打撃する動作、ダンスする動作等の腕を曲げる動作であってもよい。
【００８４】
図１４（ｃ）に示すように、ゲーム処理装置５０は、アクション開始後、手首位置Ｐ５が前方境界１０１を越えたか否かを判断する。ゲーム処理装置５０は、前方境界１０１を越えたと判断すると、アクションの完了と判断する。そして、仮想空間にアクションを反映する。例えば、キャスト動作の場合には、ルアーを、演算した軌跡に従って前方に移動させる。また、ボールを投げる動作の場合は、ボールを、演算した軌跡に従って前方に移動させる。
【００８５】
また、前腕の長さではなく、腕全体の長さ又は上腕の長さを用いて境界を設定してもよい。腕全体の長さを算出する場合には、手首と肩とにトラッキングセンサ２２を装着する。また、上腕の長さを算出する場合には、肘と肩とにトラッキングセンサ２２を装着する。ゲーム処理装置５０は、腕全体の長さ又は上腕の長さを算出し、算出した長さに所定の比率を乗算し、手首の位置、肩の位置又は肘の位置を基準として境界を設定する。このように設定された境界は、腕全体を回転させる動作や、腕を曲げる動作のアクションを実行するか否かの判定に用いることができる。例として、ゴルフをプレイするゲーム、野球をプレイするゲーム、テニスをプレイするゲーム、卓球をプレイするゲーム等で、アクションの開始の判定、完了の判定、又はアクションの種類の判定等を行ってもよい。
【００８６】
・上記各実施形態では、画像表示システムが提供するゲームを、ユーザが着座してプレイするゲームとした。これに代えて、ユーザが立姿勢でプレイするゲームとしてもよい。
図１５（ａ）に示すように、ゲーム処理装置５０は、トラッキングセンサ２２の位置に基づいて、下腿の長さＬｙ５を算出する。また、ゲーム処理装置５０は、足首位置Ｐ７から膝へ向かう方向に、下腿の長さＬｙ５に所定の比率Ｒ７を乗算した長さだけ離れた位置に、境界１２０を設定する。なお、この例における比率Ｒ７は、「１」未満である。
【００８７】
図１５（ｂ）に示すように、ゲーム処理装置５０は、例えばサッカー等、オブジェクトを蹴る動作が含まれるゲームにおいて、境界１２０よりも低い足首位置Ｐ７から蹴る動作が開始された場合には、ドリブルであると判定してもよい。
【００８８】
図１５（ｃ）に示すように、ゲーム処理装置５０は、境界１２０よりも高い足首位置Ｐ７から蹴る動作が開始された場合には、シュートであると判定してもよい。
また、第２実施形態では、足首付近に装着したトラッキングセンサ２２が、予め設定された境界との所定の位置関係を充足した場合に、仮想空間内で所定のアクションを実行するようにした。これに代えて若しくは加えて、ユーザの身体のうち足首付近以外の位置に装着されたトラッキングセンサ２２を用いて仮想人物等の移動を行ってもよい。例えば上半身のいずれかの位置に装着されたトラッキングセンサ２２が、上半身に対して設定された境界との所定の位置関係を充足した場合に、仮想人物等の移動を行ってもよい。また、頭部に装着されたトラッキングセンサ２２が、頭部に対して設定された境界との所定の位置関係を充足した場合に、仮想人物等の移動を行ってもよい。仮想人物等の移動は、上昇、下降、左側への移動、右側への移動等のいずれの移動でもよく、上半身の移動方向に沿った方向への移動であってもよいし、それ以外の芳香への移動であってもよい。
【００８９】
・上記各実施形態では、左足位置Ｐ２又は右足位置Ｐ３が、後方境界１０２を越えたときにアクション開始と判定し、前方境界１０１を越えた場合に、アクション完了であると判定した。これに代えて、左足位置Ｐ２又は右足位置Ｐ３が後方境界１０２を越えたときに、靴飛ばし等のアクションを実行するようにしてもよい。又は、左足位置Ｐ２又は右足位置Ｐ３が前方境界１０１を越えたときに、靴飛ばし等のアクションを実行するようにしてもよい。この態様によれば、アクションについての判定処理における処理負荷を軽減することができる。
【００９０】
・第２実施形態では、一方の足が前方境界１０１を越え、且つ他方の足が後方境界１０２を越えた状態が所定時間内に繰り返される間、上昇する着座部オブジェクト及び仮想人物を描画した。これに代えて若しくは加えて、一方の足のトラッキングセンサ２２が前方境界１０１との所定の位置関係を充足し、且つ他方の足のトラッキングセンサ２２が後方境界１０２との所定の位置関係を充足した場合に、下降する着座部オブジェクト及び仮想人物を描画してもよい。或いは、いずれか一方の足が前方境界１０１又は後方境界１０２との所定の位置関係を充足した場合、又は両方の足のトラッキングセンサ２２が前方境界１０１又は後方境界１０２との所定の位置関係を充足した場合に、下降する着座部オブジェクト及び仮想人物を描画してもよい。このときのユーザの具体的な動作は、特に限定されない。例えば、足を交互に動かす動作以外に、両足を同時に前後に動かす動作、両足を同時に左右に動かす動作、両足で自転車を漕ぐような動作等であってもよい。或いは、上昇及び下降の一方ではなく、上昇と下降を繰り返す着座部オブジェクト及び仮想人物を描画してもよい。
【００９１】
・上記各実施形態では、下腿の長さに応じて、靴オブジェクトの移動距離を変更するようにしてもよい。例えば、下腿が長い場合には、下腿が短い場合よりも、靴オブジェクトの移動距離が長くなるように補正してもよい。速さを一定としたとき、下腿が長くなるほど、膝を中心に下腿を回転させたときの遠心力が大きくなる。このため、下腿が長いほど靴オブジェクトの移動距離を大きくすると、現実世界における事象に近づけることができる。逆に、下腿が長い場合には、下腿が短い場合よりも、靴オブジェクトの移動距離が短くなるように補正してもよい。
【００９２】
・上記各実施形態では、左足位置Ｐ２及び右足位置Ｐ３の少なくとも一方が、後方境界１０２を越えた場合に、アクションである靴飛ばし動作を開始すると判定した。これに代えて、左足位置Ｐ２及び右足位置Ｐ３の少なくとも一方が、後方境界１０２と重なった場合に、アクションである靴飛ばし動作を開始すると判定してもよい。同様に、左足位置Ｐ２及び右足位置Ｐ３の少なくとも一方が、前方境界１０１を越えた場合に、アクションである靴飛ばし動作を完了すると判定した。これに代えて、左足位置Ｐ２及び右足位置Ｐ３の少なくとも一方が、前方境界１０１と重なった場合に、アクションである靴飛ばし動作を完了すると判定してもよい。
【００９３】
・上記各実施形態では、ブランコである着座部１５は前後方向に僅かに揺れるようにした。これに代えて、着座部１５を、ユーザがブランコを漕ぐ動作に伴って前後に揺らすようにしてもよい。この場合、着座位置Ｐ１を基準に前方境界１０１及び後方境界１０２を移動させることで、ユーザの靴飛ばし動作についての判定を行うことができる。
【００９４】
・上記各実施形態では、着座位置Ｐ１から足首の位置である左足位置Ｐ２、又は着座位置Ｐ１から足首の位置である右足位置Ｐ３までを下腿の長さとして算出した。これに代えて、ユーザ２００の足が床面５００に接するように吊り部１３を調整して、着座部１５の高さを変える場合には、着座位置Ｐ１の高さを下腿の長さとして算出するようにしてもよい。
【００９５】
・上記各実施形態では、ユーザの下腿の長さを算出するようにした。これに代えて、ユーザの上腿の長さを算出するようにしてもよい。上腿の長さは、着座位置Ｐ１の座標と、左足位置Ｐ２又は右足位置Ｐ３の座標との相対距離で近似できる。上腿が長い場合には、下腿の長さも長いと想定されるので、上腿の長さに基づき境界を設定してもよい。この場合にもユーザの体形に合わせた境界を設定することができる。
【００９６】
・上記各実施形態では、左足位置Ｐ２又は右足位置Ｐ３を基準として境界を設定した。これに代えて若しくは加えて、例えば、着座部１５に装着されたトラッキングセンサ２２等、ユーザの身体に装着されていないトラッキングセンサ２２を基準に境界を設定してもよい。
【００９７】
・上記各実施形態では、足の位置が前方境界１０１を越えた場合に、動作が開始されたと判定し、足の位置が後方境界１０２を越えた場合に、動作が完了したと判定した。これに代えて若しくは加えて、足や腕と境界との位置関係に基づいて、ユーザの動作の種類を判定してもよい。例えば、野球のゲームであれば、腕と境界との位置関係に基づいて打撃の動作及び投球の動作等を判定するようにしてもよい。ダンスのゲームであれば、足や腕と境界との位置関係に基づいてターン、ジャンプ等を判定するようにしてもよい。
【００９８】
・上記各実施形態では、ユーザの足を基準に前方境界１０１及び後方境界１０２を設定した。これに代えて若しくは加えて、図３中、Ｙ方向の境界を示す上方境界及び下方境界を設定するようにしてもよい。又は、Ｚ方向の境界を示す左側境界及び右側境界を設定するようにしてもよい。また、境界の数は、１つでもよく、３つ以上の複数でもよい。また、境界は平面ではなく、点又は線であってもよい。
【００９９】
・上記各実施形態では、ユーザの左足位置Ｐ２又は右足位置Ｐ３が、前方境界１０１及び後方境界１０２のいずれかを越えた場合、境界に対する所定の位置関係の条件が満たされたと判定した。これに代えて、ゲーム処理装置５０が、境界に近づいているか否か、境界から遠ざかったか否かに基づき、アクションを実行するか否かを判定するようにしてもよい。
【０１００】
・上記各実施形態では、発光器としてのトラッキング補助装置２１と、受光器としてのトラッキングセンサ２２と協働させるシステムを、トラッキングシステム２０の一例とした。トラッキングセンサ２２の位置及び向きを検出可能であれば、これ以外のトラッキングシステム２０を用いることができる。例えばゲームプレイ空間に、受光器としての補助装置を設け、発光器であるトラッキングセンサ２２と協働して、トラッキングセンサ２２の位置及び向きを算出するシステム等、上記実施形態以外のアウトサイドイン方式のトラッキングシステムを用いてもよい。又は、トラッキングセンサ２２に搭載されたセンサで、現実空間を走査することによりユーザの位置を特定するインサイドアウト方式のトラッキングシステムを用いてもよい。
【０１０１】
・上記各実施形態では、受光器を有するＨＭＤ３０と発光器を有するトラッキング補助装置２１とが協働して、ＨＭＤ３０の位置及び向きを検出するようにした。これに代えて、発光器を有するＨＭＤ３０と受光器を有するトラッキング補助装置２１とを協働させて、ＨＭＤ３０の位置及び向きを検出するようにしてもよい。又はインサイドアウト方式のトラッキングシステムを用いてもよい。
【０１０２】
・上記各実施形態では、ＨＭＤ３０を、ユーザが用いるディスプレイの一例とした。これに代えて若しくは加えて、ユーザの身体に装着しないディスプレイとしてもよい。このディスプレイとして、設置型のディスプレイ、携帯ゲーム機のディスプレイ、アーケードゲーム機に組み込まれたディスプレイ等がある。このディスプレイを用いる態様においては、入力操作部（コントローラ）からユーザの操作に基づく信号を受信して、その表示範囲が変更されてもよい。
【０１０３】
・上記各実施形態では、ＨＭＤ３０とゲーム処理装置５０とを別の装置とした。これに代えて、ＨＭＤ３０に、ゲーム処理装置５０を内蔵するようにしてもよい。さらにＨＭＤ３０に、ＨＭＤ３０が自らの位置を検出する装置を設けることによって、スタンドアロン型のＨＭＤとしてもよい。
【０１０４】
・上記各実施形態では、ブランコを筐体の一例としたが、これ以外のものであってもよい。筐体は、ユーザが着座する着座部を有するものであってもよく、立ち姿勢又は横臥した姿勢で動作を行うものであってもよい。例えば、自動車、自転車、飛行機又は飛行体、潜水艦、ジェットコースター、ロケット等の乗り物であってもよいし、シューティングができる銃やバズーカ砲を有するものであってもよいし、滑り台等の遊具であってもよい。又は、画像表示システムは、筐体１１を用いないゲーム又はゲーム以外のアプリケーションを提供するものであってもよい。
【０１０５】
・上記各実施形態では、画像表示システムを、ユーザがゲームをプレイするシステムとした。これに代えて、画像表示システムを、体験を目的とするシステム、映画等のコンテンツを視聴するためのシステム、ユーザが他のユーザと交流するためのシステム、学習システム、トレーニングシステム、医療分野のシミュレーションシステム等にしてもよい。
【符号の説明】
【０１０６】
２１…トラッキング補助装置、２２…トラッキングセンサ、３０…ＨＭＤ、５０…ゲーム処理装置。
【図１】
2020030501.tif 000003
【図２】
2020030501.tif 000004
【図３】
2020030501.tif 000005
【図４】
2020030501.tif 000006
【図５】
2020030501.tif 000007
【図６】
2020030501.tif 000008
【図７】
2020030501.tif 000009
【図８】
2020030501.tif 000010
【図９】
2020030501.tif 000011
【図１０】
2020030501.tif 000012
【図１１】
2020030501.tif 000013
【図１２】
2020030501.tif 000014
【図１３】
2020030501.tif 000015
【図１４】
2020030501.tif 000016
【図１５】
2020030501.tif 000017