JP6672047B2 - プログラム及びコンピュータシステム - Google Patents

プログラム及びコンピュータシステム Download PDF

Info

Publication number
JP6672047B2
JP6672047B2 JP2016078395A JP2016078395A JP6672047B2 JP 6672047 B2 JP6672047 B2 JP 6672047B2 JP 2016078395 A JP2016078395 A JP 2016078395A JP 2016078395 A JP2016078395 A JP 2016078395A JP 6672047 B2 JP6672047 B2 JP 6672047B2
Authority
JP
Japan
Prior art keywords
virtual
virtual object
arrival
posture
reaching
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
JP2016078395A
Other languages
English (en)
Other versions
JP2017188041A (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 JP2016078395A priority Critical patent/JP6672047B2/ja
Publication of JP2017188041A publication Critical patent/JP2017188041A/ja
Application granted granted Critical
Publication of JP6672047B2 publication Critical patent/JP6672047B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Processing Or Creating Images (AREA)
  • Position Input By Displaying (AREA)
  • Controls And Circuits For Display Device (AREA)
  • User Interface Of Digital Computer (AREA)

Description

本発明は、コンピュータシステムに、仮想現実空間と実空間とを対応づけて、ユーザが装着するHMD(ヘッドマウントディスプレイ)に仮想現実空間の画像を表示させるためのプログラム等に関する。
ユーザに立体視可能な映像とともに立体音響を提供して仮想現実空間に居るかのような体感をもたらす所謂VR(Virtual Reality)技術が公知である。
特開平07−200162号公報
さて、VRを実現するに当たって、HMDやプレーヤが手に持ったコントローラ(或いは手)の位置及び姿勢は常にトラッキングされている。この結果、HMDの位置及び姿勢は、仮想現実空間における仮想プレーヤの頭部の位置及び姿勢の追従に利用され、コントローラの位置及び姿勢は仮想プレーヤの手の位置及び姿勢の追従に利用される。そして、VR体験中、実空間のモノとそれに対応する仮想空間のモノとに追従ズレが生じないことが理想とされる。
しかし、実際には様々な理由によりトラッキングの誤差が生じてしまう。そして、VR体験においては、実空間のモノとそれに対応する仮想空間のモノとのズレは、リアリティを重んじるVR体験において大きな問題となる。
例えば、恋人とのデートをテーマとしたVR体験において、口を開いて待っている恋人の口元へケーキを運んで食べさせるシーンがあるとする。恋人への心象を左右する重要なシーンであるが、要求されているのはケーキを口元へ運ぶ至って簡単な動作である。しかし、トラッキングのズレが生じていると、移動対象(ケーキ)を移動目標位置(恋人の口元)へ、正しい姿勢(口に入りやすいケーキの向き)となるように移動させるために不自然に手首を捻らなければならず簡単なはずの動作が困難となる。この結果、それまで気にならなかったズレがことさら目立って感じられるようになり、それ以降のVR体験のリアリティを大きく損ねることになる。また、当該シーンがVR体験のプレイ評価に係るシーンであれば、当然プレイ評価も損なわれてしまうかもしれない。
これはほんの一例に過ぎない。一時的とはいえ、VR体験中のユーザ(プレーヤ)に、トラッキングのズレを感じさせる場面が生じると、いかにリアルであるかを大切にするVR体験にとっては、そのVR体験の評価を大きく損なう原因となってしまうだろう。
本発明は、VRにおけるユーザサポートを向上するための技術を提供すること、換言すると、VRにおける没入感を阻害させない技術を提供することを目的として考案されたものである。
上述した課題を解決するための第1の発明は、コンピュータシステムに、仮想現実空間と実空間とを対応づけて、ユーザが装着するHMD(ヘッドマウントディスプレイ)に前記仮想現実空間の画像を表示させるためのプログラムであって、
前記ユーザの身体部位又は前記ユーザが具備するコントローラを基準体として前記実空間内の前記基準体をトラッキングする基準体トラッキング手段(例えば、図10の処理部200、ゲーム進行制御部210、コントローラトラッキング部216、図11のコントローラトラッキングデータ707、図16のステップS6)、
前記仮想現実空間において所与の仮想オブジェクト(例えば、図3の仮想ケーキ14)の位置及び姿勢を、前記基準体の位置及び姿勢に対応付けて追従させるように制御する追従制御手段(例えば、図10の処理部200、ゲーム進行制御部210、追従制御部218、図16のステップS38)、
前記仮想オブジェクトが前記仮想現実空間内の所与の位置又は所与のエリア(以下、包括して「到達位置」という;例えば、図7の移動目標位置Pm)へ到達した際の到達姿勢を少なくとも含む到達状態を設定する到達状態設定手段(例えば、図10の処理部200、ゲーム進行制御部210、到達状態設定部222、図14の理想状態定義データ570、図17のステップS64)、
前記仮想オブジェクトの前記到達位置への接近に応じて、前記仮想オブジェクトの姿勢を、前記追従制御手段により追従されている姿勢(以下「追従姿勢」という)から前記到達姿勢に変更する制御を行う変更制御手段(例えば、図10の処理部200、ゲーム進行制御部210、変更制御部224、図17のステップS66〜S86)、
として前記コンピュータシステムを機能させるためのプログラムである。
第1の発明によれば、基準体に追従制御される仮想オブジェクトが到達位置に接近するのに応じて、その姿勢を、設定された到達姿勢に自動で変更することができる。よって、VRにおけるユーザサポートを向上させること、換言するとVRにおける没入感を阻害させない技術を提供することができる。
第2の発明は、前記到達状態設定手段が、前記到達位置に向かう前記仮想オブジェクトの方位別(例えば、図6の理想状態設定区域30)に前記到達状態を対応付けて設定し、前記変更制御手段は、前記仮想オブジェクトが前記到達位置へ接近する方位と、前記方位別の前記到達状態とに基づいて、変更する制御を行う第1の発明のプログラムである。
第2の発明によれば、仮想オブジェクトが到達位置へ向けてどの方向から接近してくるかに応じて細かく到達状態を設定することができる。よって、仮想オブジェクトの到達状態をより自然に見せることができるようになる。
第3の発明は、前記変更制御手段が、前記仮想オブジェクトから前記到達位置までの距離が所与の変更制御発動条件(例えば、図9の補正制御発動条件距離Lc)を満たした場合に前記変更の制御を発動する、第1又は第2の発明のプログラムである。
第3の発明によれば、変更制御の影響を必要な場面に限定し、それ以外では基本的には基準体の動きに仮想オブジェクトをそのまま追従させることで、VR体験の操作感と、ユーザサポートとを上手く両立させることができる。
第4の発明は、前記変更制御発動条件を満たした後、前記仮想オブジェクトから前記到達位置までの距離が所与の近接条件を満たした場合に、自動的に前記仮想オブジェクトの位置を前記到達位置に移動させる自動移動制御手段(例えば、図19の自動移動制御部228、図21のステップS67、S69)、として前記コンピュータシステムを更に機能させるための第3の発明のプログラム。
第4の発明によれば、ある程度仮想オブジェクトが到達位置に接近してからは自動で仮想オブジェクトを到達位置まで移動させることができる。
第5の発明は、前記変更制御手段が、前記仮想オブジェクトから前記到達位置までの距離が短くなるに従って、前記仮想オブジェクトの姿勢を前記到達姿勢に近づけるように変更する、第1〜第4の何れか発明のプログラムである。
第5の発明によれば、徐々に到達姿勢に近づけるように変更が行われるので、ユーザサポートの介入を円滑かつ自然に実現できる。
第6の発明は、前記到達状態には、前記仮想オブジェクトが前記到達位置に到達した際の到達時動作、及び/又は、到達時表示形態が含まれ、前記変更制御手段は、前記仮想オブジェクトから前記到達位置までの距離が短くなるに従って、前記仮想オブジェクトの状態を前記到達状態に近づけるように変更する、第5の発明のプログラムである。
ここで言う「到達時動作」には、例えば、振動や拡縮、回転なども含めることができる。またここで言う「到達時表示形態」には、仮想オブジェクトの外観、表示サイズ、表示色、明度、透明度、を含めることができる。
第6の発明によれば、到達状態に到達時の動作や表示形態も設定できるようになるので、ユーザサポートを応用するシチュエーションを多様化できる。
第7の発明は、前記仮想現実空間内の所与のキャラクタの所与の部位に、前記到達位置を設定する到達位置設定手段(例えば、図19の到達位置設定部220、図17のステップS60)、として前記コンピュータシステムを更に機能させるための第1〜第6の何れかの発明のプログラムである。
第7の発明によれば、ユーザが仮想現実空間に存在するキャラクタに仮想オブジェクトを近づけるといったシチュエーションへの応用が可能になる。
第8の発明は、前記到達状態設定手段が、前記キャラクタの前記部位の向きに応じて、前記到達姿勢を設定する、第7の発明のプログラムである。
第8の発明によれば、到達位置が設定されたキャラクタの部位の向きに応じて到達姿勢を決定することができる。
第9の発明は、コンピュータシステムに、仮想現実空間と実空間とを対応づけて、ユーザが装着するHMD(ヘッドマウントディスプレイ)に前記仮想現実空間の画像を表示させるためのプログラムであって、前記ユーザの身体部位又は前記ユーザが具備するコントローラを基準体として前記実空間内の前記基準体をトラッキングする基準体トラッキング手段、前記仮想現実空間において所与の仮想オブジェクトの位置及び姿勢を、前記基準体の位置及び姿勢に対応付けて追従させるように制御する追従制御手段、前記仮想オブジェクトが前記仮想現実空間内の所与のキャラクタの所与の部位の位置(以下「到達位置」という)へ到達した際の前記仮想オブジェクトの表示形態を少なくとも含む到達状態を設定する到達状態設定手段、前記仮想オブジェクトの前記到達位置への接近に応じて、前記仮想オブジェクトの状態を前記到達状態に変更する制御を行う変更制御手段、として前記コンピュータシステムを機能させるためのプログラムである。
第9の発明によれば、仮想オブジェクトの表示形態(表示モデル、表示サイズ、表示色、明度、透明度、を含む)を変更することによって、VRにおけるユーザサポートを向上するための技術を提供すること、換言すると、VRにおける没入感を阻害させない技術を提供できる。
具体的な例を挙げると、例えば、到達位置がエリアとして設定され、仮想オブジェクトの表示モデルが到達位置に近づいた場合、想定されるトラッキングズレを許容するほどの大きさを有する別の表示モデルに変更する。そして、仮想オブジェクトの到達位置への到達判定を、変更された表示モデルと、到達位置のエリアとのコリジョン判定で行うとすると、トラッキングズレが生じていてもトラッキングズレに起因する違和感をユーザに与えずに済ませることができる。
第10の発明は、前記仮想オブジェクトの前記到達位置への接近に応じて、前記キャラクタの位置及び/又は姿勢を制御するキャラクタ制御手段(例えば、図10のキャラクタ制御部226、図12のイベント対応設定データ530、イベント用動作533、図17のステップS102〜S104)、として前記コンピュータシステムを更に機能させるための第7〜第9の何れかの発明のプログラムである。
第10の発明によれば、仮想オブジェクトの接近に応じて、到達位置が設定されたキャラクタの側の位置や姿勢も変化させることができる。よって、より複雑なシーンへの応用が可能になる。
第11の発明は、前記キャラクタが、前記ユーザのアバターキャラクタである、第7〜第10の何れかの発明のプログラムである。
第11の発明によれば、ユーザが仮想現実空間における自身に対して仮想オブジェクトを近づけるといったシチュエーションにもユーザサポートを応用できるようになる。
第12の発明は、前記実空間内の前記HMDをトラッキングするHMDトラッキング手段(例えば、図10のHMDトラッキング部214、図16のステップS6)、前記HMDトラッキング手段によりトラッキングされた前記HMDの位置に基づいて、前記仮想現実空間における前記アバターキャラクタの前記所与の部位の位置を判定する手段(例えば、図10の追従制御部218、図15のアバターキャラクタ制御パラメータ値リスト720、図16のステップS8)、として前記コンピュータシステムを更に機能させるための第11の発明のプログラムである。
第12の発明によれば、アバターキャラクタの所与の部位の位置を判定できるようになるので、例えば到達位置をアバターキャラクタの一部に設定することも可能になる。
第13の発明は、前記変更制御手段が、前記仮想オブジェクトの姿勢を、前記追従姿勢から前記到達姿勢に直ちに変更する、第1又は第2の発明のプログラムである。
第13の発明によれば、仮想オブジェクトの姿勢を追従姿勢から到達姿勢に直ちに変更することが可能となる。このため、例えば、注意喚起や警告といった利用方法に応用できるようになる。
第14の発明は、前記到達状態には、前記仮想オブジェクトが前記到達位置に到達した際の到達時動作、及び/又は、到達時表示形態が含まれ、前記変更制御手段は、前記仮想オブジェクトの姿勢の変更に合わせて、前記仮想オブジェクトの状態を前記到達状態に変更する、第13の発明のプログラムである。
第14の発明によれば、到達位置に到達した際の仮想オブジェクトの動作や表示形態も直ちに変更できるようになる。
第15の発明は、仮想現実空間と実空間とを対応づけて、ユーザが装着するHMD(ヘッドマウントディスプレイ)に前記仮想現実空間の画像を表示する制御を行うコンピュータシステムであって、
前記ユーザの身体部位又は前記ユーザが具備するコントローラを基準体として前記実空間内の前記基準体をトラッキングする基準体トラッキング手段(例えば、図1のHMD6、コントローラ8、トラッキング用カメラ7、ゲーム制御装置1100、図10の処理部200、ゲーム進行制御部210、コントローラトラッキング部216、図11のコントローラトラッキングデータ707、図16のステップS6)と、
前記仮想現実空間において所与の仮想オブジェクトの位置及び姿勢を、前記基準体の位置及び姿勢に対応付けて追従させるように制御する追従制御手段(例えば、図1のゲーム制御装置1100、図10の処理部200、ゲーム進行制御部210、追従制御部218、図16のステップS38)と、
前記仮想オブジェクトが前記仮想現実空間内の所与の位置又は所与のエリア(以下、包括して「到達位置」という)へ到達した際の到達姿勢を少なくとも含む到達状態を設定する到達状態設定手段(例えば、図1のゲーム制御装置1100、図10の処理部200、ゲーム進行制御部210、到達状態設定部222、図14の理想状態定義データ570、図17のステップS64)と、
前記仮想オブジェクトの前記到達位置への接近に応じて、前記仮想オブジェクトの姿勢を、前記追従制御手段により追従されている姿勢(以下「追従姿勢」という)から前記到達姿勢に変更する制御を行う変更制御手段(例えば、図1のゲーム制御装置1100、図10の処理部200、ゲーム進行制御部210、変更制御部224、図17のステップS66〜S86)と、を備えたコンピュータシステムである。
第15の発明によれば、第1の発明と同様の作用効果を有するコンピュータシステムを実現できる。なお、ここで言う「コンピュータシステム」は、単独のコンピュータに限らず、複数のコンピュータが通信接続された形態であってもよい。
第16の発明は、仮想現実空間と実空間とを対応づけて、ユーザが装着するHMD(ヘッドマウントディスプレイ)に前記仮想現実空間の画像を表示する制御を行うコンピュータシステムであって、前記ユーザの身体部位又は前記ユーザが具備するコントローラを基準体として前記実空間内の前記基準体をトラッキングする基準体トラッキング手段と、前記仮想現実空間において所与の仮想オブジェクトの位置及び姿勢を、前記基準体の位置及び姿勢に対応付けて追従させるように制御する追従制御手段と、前記仮想オブジェクトが前記仮想現実空間内の所与のキャラクタの所与の部位の位置(以下「到達位置」という)へ到達した際の前記仮想オブジェクトの表示形態を少なくとも含む到達状態を設定する到達状態設定手段と、前記仮想オブジェクトの前記到達位置への接近に応じて、前記仮想オブジェクトの状態を前記到達状態に変更する制御を行う変更制御手段と、を備えたコンピュータシステムである。
第16の発明によれば、第9の発明と同様の作用効果を有するコンピュータシステムを実現できる。なお、ここで言う「コンピュータシステム」は、単独のコンピュータに限らず、複数のコンピュータが通信接続された形態であってもよい。
ゲームシステム(仮想現実体験提供装置)の構成の一例を示す図。 コントローラの構成例を示す図。 ユーザサポートの前提を説明するための図。 ユーザサポートの原理を説明するための図(その1)。 ユーザサポートの原理を説明するための図(その2)。 理想状態を設定する区域の例について説明するための概念図。 理想状態の設定概念と補正割合の変化の例を説明するための図(その1)。 理想状態の設定概念と補正割合の変化の例を説明するための図(その2)。 移動対象オブジェクトの補正の仕方について説明するための概念図。 ゲームシステムの機能構成例を示す機能ブロック図。 記憶部が記憶するプログラムやデータの例を示す図。 仮想オブジェクト初期設定データのデータ構成例を示す図。 ベント定義データのデータ構成例を示す図。 理想状態定義データのデータ構成例を示す図。 仮想現実空間制御データのデータ構成例を示す図。 ゲームシステムにおける処理の流れを説明するためのフローチャート。 制御パラメータ値返納処理の流れを説明するためのフローチャート。 ゲームシステムのシステム構成の変形例を示す図。 ゲームシステムの機能構成の変形例を示す機能ブロック図。 イベント定義データのデータ構成の変形例を示す図。 制御パラメータ値変更処理の変形例における処理の流れを説明するためのフローチャート。
図1は、本実施形態におけるゲームシステム1000の構成の一例を示す図である。本実施形態のゲームシステム1000は、仮想現実体験(VR体験)をユーザに提供する仮想現実体験提供装置である。ゲームシステム1000は、プレーヤがヘッドトラッキング機能付きのVR(Virtual Reality)型のHMDを頭部に装着するとともにコントローラを把持して、実空間である所定のプレイフィールド内を移動しながらプレイするゲームを実行するためにデザインされたコンピュータシステムである。
具体的には、ゲームシステム1000は、保護壁3と保護シート4とで画成されたプレイフィールドと、プレーヤ2が頭部に装着するヘッドフォン5及びHMD6と、プレーヤ2が把持するコントローラ8と、HMD6やコントローラ8の位置や姿勢のトラッキングをするための複数のトラッキング用カメラ7と、これら(HMD6・コントローラ8・トラッキング用カメラ7)とデータ通信可能に接続されたゲーム制御装置1100と、を備える。
本実施形態のゲームシステム1000はシングルプレイ用を想定しており、保護壁3・保護シート4・HMD6・コントローラ8・トラッキング用カメラ7のセット(図示の例では3台で1セット)が1組備えられているとする。しかし、ゲームシステム1000を、マルチプレイ用として運用する場合には、適宜、それらを1組として、複数組をゲーム制御装置1100に接続すればよい。
なお、ゲーム操作のデザインによっては1人当たりのコントローラ8は複数でもよい。また、1セットとされるトラッキング用カメラ7の台数や配置位置関係は、採用するトラッキング技術によって適宜設定可能であり、図示の例に限定されるものではない。例えば、マルチプレイであっても、トラッキング用カメラ7のセットを兼用とし、トラッキング用カメラ7のセットは1組で実現するとしてもよい。
保護壁3は、HMD6を装着したプレーヤ2が衝突しても怪我をしないように表面を弾性体で覆った壁体である。柵体やネットでもよい。
保護シート4は、HMD6を装着したプレーヤ2が転倒しても怪我をしないように床面を被う保護材である。例えば、人が立つなどの静的荷重に対しては適度な硬さを示すが、衝撃は適切に吸収する弾性体シートである。なお、保護シート4の代わりに、プレーヤ2にヘルメットの装着や、肩・肘・膝などへの保護パッドの装着を義務づけるとしてもよい。
ヘッドフォン5は、プレーヤ2の左右の耳をそれぞれ被う左右のスピーカ部を備える。1つのスピーカ部が備えるスピーカの数は適宜設定可能である。
HMD6は、頭部の向きと方向とがトラッキング可能なVR型のヘッドマウントディスプレイである。本実施形態では、装着すると両眼が被われて周囲の様子が見えなくなる没入型(非透過型)とするが、透過制御により透過/非透過を制御できるタイプでもよい。その場合、非常時を除くゲームプレイ中は基本的に非透過に制御されるものとする。
なお、本実施形態のHMD6は、3軸加速度センサと、ジャイロセンサと、トラッキング用のマーカとして機能する単数又は複数の発光部と、ヘッドフォン5と、を一体に有するタイプとする。ただし、3軸加速度センサ・ジャイロセンサ・発光部は、HMD6のプレイフィールド内での位置や姿勢を追跡するヘッドトラッキングを実現するために使用されるので、採用するトラッキング技術によって不要な要素は適宜省略できる。
図2は、コントローラ8の構成例を示す図である。本実施形態のコントローラ8は、人が片手で把持できるサイズの棒状の把持部81と、その先端に設けられた先端発光体82と、を有する。
把持部81は、コントローラ制御基板85と、バッテリー86とを内蔵する。適宜その表面に、操作スイッチやダイヤルスイッチなどを設けても良い。
コントローラ制御基板85は、CPU851と、ICメモリ852と、インターフェースIC853と、無線通信モジュール854と、3軸加速度センサ855と、ジャイロセンサ856と、を備える。勿論、これら以外の電子部品も適宜備えることができる。
CPU851は、ICメモリ852に記憶されているプログラムを実行することにより、先端発光体82の発光制御と、3軸加速度センサ855及びジャイロセンサ856による検出信号を無線通信モジュール854を介してゲーム制御装置1100へ送信する制御と、を実行する。
なお、3軸加速度センサ855と、ジャイロセンサ856と、先端発光体82とは、コントローラ8のプレイフィールド内での位置や姿勢を追跡するコントローラトラッキングを実現するために使用されるので、採用するトラッキング技術によって不要な要素は適宜省略できる。
また、コントローラ8の外観形状は、これに限らず適宜設定可能である。家庭用据置型ゲーム装置のゲームコントローラをコントローラ8として使用してもよいし、専用のコントローラ8を設けることとしてもよい。専用のコントローラ8を設ける場合には、その形状は適宜設定でき、例えば指輪型や、腕輪型、指サック型、などでもよい。
図1に戻って、トラッキング用カメラ7は、プレイフィールド内を撮影範囲に収め、HMD6やコントローラ8を撮影した画像の信号やデータを、ゲーム制御装置1100へ送信する。そして、撮影した画像は、公知のモーションキャプチャ技術と同様にして、HMD6のプレイフィールド内での位置や姿勢を追跡するヘッドトラッキングや、コントローラ8のプレイフィールド内での位置や姿勢を追跡するコントローラトラッキングに使用される。なお、採用するトラッキング技術によっては、トラッキング用カメラ7を省略してもよい。或いは、カメラに代えて深度センサを採用するとしてもよい。
ゲーム制御装置1100は、ゲームシステム1000に含まれるコンピュータシステムの1つである。本実施形態のゲーム制御装置1100は、本体装置1101と、タッチパネル1108と、を有し、本体装置1101は、プレイ対価支払部1110と、制御基板1150とを搭載する。
プレイ対価支払部1110は、ゲームプレイの対価の支払いを受け付け、支払操作の検知信号を制御基板1150へ出力する。プレイ対価支払部1110は、例えば硬貨投入装置や、仮想通貨に紐付けられた情報を記憶する媒体(例えば、クレジットカード、プリペイドカード、電子マネーカード、ユーザカードなど)の読み取り装置で実現され、現金やクレジット、仮想通貨による支払いに対応する。勿論、ゲームプレイの対価の支払いが不要な構成であってもよい。
制御基板1150には、CPU(Central Processing Unit)1151やGPU(Graphics Processing Unit)、DSP(Digital Signal Processor)などの各種マイクロプロセッサ、VRAMやRAM,ROM等の各種ICメモリ1152、通信装置1153が搭載されている。なお、制御基板1150の一部又は全部は、ASIC(Application Specific Integrated Circuit)や、FPGA(field-programmable gate array)、SoC(System on a Chip)により実現するとしてもよい。
そして、ゲーム制御装置1100は、制御基板1150が所定のプログラム及びデータに基づいて演算処理することにより、1)ユーザ登録等に係るユーザ管理機能と、2)ヘッドトラッキング及びコントローラトラッキングの機能と、3)HMD6及びコントローラ8を1組のユーザ端末と見なしたゲーム進行に係る各種制御を実行するゲーム管理機能と、を実現する。つまり、本実施形態におけるゲームは、一種のクライアント・サーバ型のオンラインゲームとして実現される。
なお、制御基板1150が実行する制御は、これらに限らず、クレジットや仮想通貨によるプレイ対価の支払いに係る制御を、適宜含む。マルチプレイ用にデザインした場合には、他のゲーム制御装置1100を使用する他プレーヤとのマッチング機能を行うとしてもよい。
また、本実施形態ではゲーム制御装置1100を単体として記しているが、それら各機能を分担する複数のコンピュータを搭載して相互に内部バスを介してデータ通信可能に接続した構成であっても良い。或いは、離れた場所に設置された独立した複数のコンピュータを、通信回線(有線/無線を問わない)を介してデータ通信させることで、全体としてゲーム制御装置1100として機能させる構成であっても良い。
[原理の説明]
図3は、本実施形態におけるユーザサポートの前提を説明するための図である。図の上側が仮想現実空間の状態を示し、図の下側が実空間の状況を示している。
本実施形態のVR体験は、仮想恋人10と一緒に様々なイベントをこなすことで仮想恋人10がプレーヤに抱く好感度を高めさせ、仮想恋人10からプレーヤへ愛の告白を受けることをゴールとする恋愛シミュレーションゲームである。
図示の状態は、とあるデートイベントの冒頭であり、「あーん」と口を開けて待っている仮想恋人10に仮想ケーキ14を食べさせてあげるシーンであり、仮想テーブル12から仮想ケーキ14を仮想フォーク16で刺して、仮想ケーキ14の向きを食べやすく合わせながら仮想恋人10の口へ運んで挿入するシーンを示している。すなわち、プレーヤは、移動対象とされる仮想オブジェクト(移動対象オブジェクト:仮想ケーキ14)を、移動目標位置(到達位置:仮想恋人10の口)へ、理想とする状態(この場合、仮想ケーキ14の向きと仮想恋人10の口の向きを合わせる)にして運搬するシーンである。
HMD6を装着したプレーヤ2の視界には、コントローラ8を基準体として追従制御される仮想手20(仮想現実空間におけるプレーヤ2の仮想身体部位)が仮想フォーク16を持った状態で表示される。仮想フォーク16の姿勢とコントローラ8の姿勢とは、移動対象を移動目標位置へ移動させるまでの間、所定の相対関係に固定されている。図示の例では、フォークの長手方向とコントローラ8の長手方向とが所定の関係に固定されている。
図4及び図5は、本実施形態におけるユーザサポートの原理を説明するための図である。図4は側面から見た図、図5は上から見た図に相当する。
図4及び図5それぞれの上側は、コントローラ8のトラッキングにズレが生じている状態(現状)を強調して表している。すなわち、様々な理由によりコントローラ8のトラッキングにズレが生じると、仮想フォーク16の姿勢とコントローラ8の姿勢との対応付け(追従関係)にズレが生じてしまう。図示の例では、コントローラ8は水平状の姿勢であるのに対して仮想フォーク16は斜め右上方に向けた姿勢になっている。両者の姿勢の対応付けにズレが生じた状態である。この状況で、仮想ケーキ14を理想の状態で仮想恋人10の口に差し込むには、プレーヤは不自然なほどに手首を曲げなければならない。
この不自然な手首の曲げは、仮想現実空間と実空間との違いを際立たせ、VR体験の没入感やVRのリアリティを損なう上に、プレーヤに無理な操作を強いることとなりゲームへの評価も損なう結果となる。そこで本実施形態では、図4及び図5それぞれの下側に示すように、移動対象オブジェクトを理想状態(移動対象オブジェクトが移動目標位置(到達位置)へ到達した際に理想とされる状態(到達状態)に近づけるように補正を行う。
図6は、理想状態を設定する区域の例について説明するための概念図である。
本実施形態における理想状態は、仮想ケーキ14及び仮想フォーク16が、仮想恋人10の口に向けて、どの方位から接近してくるかによって幾通りか用意されている。
具体的には、仮想恋人10の口に移動目標位置Pmを設定し、移動目標位置Pmを基点として顔の正面方向を基準方向とする。なお、移動目標位置Pmは適宜移動目標エリアとすることができる。
そして、基準方向に基づいて仮想恋人10の前方に、複数の理想状態設定区域30を設定し区域毎に理想状態を設定する。本実施形態では、正面側の空間を上下左右に分割し、第1区域30a〜第4区域30dの4つの理想状態設定区域30を設定するが、分割数や分割境界の数、区域の形状は適宜設定可能である。区域の形状は同じ形状でも良いし、それぞれ固有の形状であってもよい。
また、本実施形態では、これらの理想状態設定区域30(30a〜30d)の上下左右それぞれの更に外側に警告区域30eを設定し、警告目的のための特別な理想状態を設定する(詳細後述)。警告区域30eは、実空間における保護壁3や保護シート4などの境界物との衝突が心配される領域である。プレイフィールドが、保護壁3や保護シート4などで画成されない十分に広いオープンスペースであれば、警告区域30eを省略することができる。
なお、これらの理想状態設定区域30(30a〜30e)が設定されていない空間、例えば、仮想恋人10の背後の空間では理想状態が存在しないので移動対象オブジェクトの位置や姿勢の補正は行われないことになる。
図7及び図8は理想状態の設定概念と補正の例を説明するための図である。図7は、仮想恋人10を上から見た図に相当し、代表として第1区域30aと第2区域30bとを示している。図8は、仮想恋人10を側面から見た図に相当し、代表として第1区域30aと第4区域30dとを示している。
仮想恋人10は、静物ではないのでゲームプレイ中さまざまな動作をする。その位置や姿勢は一定とは言えない。そこで、理想状態は、基準方向(移動目標位置Pmを基点として仮想恋人10の顔正面方向)に基づいて区域毎に所定の演算式により求められるようになっている。
例えば、第1区域30aの理想状態は、1)右手にあたる仮想手20で仮想フォーク16を持ち、且つ2)仮想ケーキ14の所定先端部が仮想恋人10の口を向き、且つ3)仮想ケーキ14の長手方向が基準方向に対して前方やや左上方より浅い角度で交差する姿勢、と設定される。
第2区域30bの理想状態は、1)左手にあたる仮想手20で仮想フォーク16を持ち、且つ2)仮想ケーキ14の所定先端部が仮想恋人10の口を向き、且つ3)仮想ケーキ14の長手方向が基準方向に対して前方やや右上方より浅い角度で交差する姿勢、と設定される。
第4区域30dの理想状態は、1)右手にあたる仮想手20で仮想フォーク16を持ち、且つ2)仮想ケーキ14の所定先端部が仮想恋人10の口を向き、且つ3)仮想ケーキ14の長手方向が基準方向に対して前方やや左下方より浅い角度で交差する姿勢、と設定される。
つまり、それぞれの区域の設定されている方位から、仮想ケーキ14・仮想フォーク16・仮想手20のセットが仮想恋人10の口へ目がけてアプローチする上で、最終的に仮想ケーキ14を口に挿入するのに自然で理想的とされる位置と姿勢とが設定される。
そして、仮想ケーキ14・仮想フォーク16・仮想手20への補正は、移動目標位置Pmへの接近度合、具体的には移動目標位置Pmから仮想手20(コントローラ8の位置)までの距離Lに応じて、距離Lが小さい程より強く補正される。
よって、図4や図5のようにトラッキングのズレが生じているとしても、図7及び図8に示すように、仮想ケーキ14・仮想フォーク16・仮想手20が仮想恋人10の口に近づくにつれて、プレーヤ2にはそれと気付かれないように徐々に理想状態に近づくように円滑且つ自然に補正される。
一方、警告区域30eについては、警告目的の理想状態が設定されている。具体的には、あからさまにプレーヤが異変を感じ、それ以上コントローラ8を警告区域30eに移動させるのが好ましくないと感じさせる状態を設定する。
例えば、仮想フォーク16ごと滑り落ちる、仮想ケーキ14が崩れて仮想フォーク16から落ちる、と言った移動対象オブジェクトの位置や姿勢の異常状態を設定すると好適である。また、仮想ケーキ14や仮想フォーク16、仮想手20の表示モデル(表示形態の一例)が警告表示体に変化する、仮想ケーキ14が警告色に染まる、仮想ケーキ14が明滅する、仮想ケーキ14が振動する、と言った移動対象オブジェクトの動作や表示形態(表示モデル、表示サイズ、表示色、明度、透明度、を含む意)の異常状態を設定すると好適である。
図9は、移動対象オブジェクトの補正の仕方について説明するための概念図である。
第1区域30a〜第4区域30dについては、移動目標位置Pm(仮想恋人10の口)から、仮想手20までの距離Lを変数とする所定の補正割合導出関数f1で、補正に適用される補正割合が決定される(図中のN%)。そして、補正割合0%に相当する現状(図中の点線表記)と、補正割合100%に相当する理想状態(図中の破線表記)との間で、適用される補正割合に応じて中割りされた状態を求め、これを補正制御の「目標状態」とする(図中の実線表記)。すなわち、本実施形態では、距離Lがゼロに近づくほど、仮想ケーキ14・仮想フォーク16・仮想手20の位置や姿勢、動作、表示形態の制御パラメータ値を、現状の値から目標状態の値に近づけるように変更して仮想ケーキ14・仮想フォーク16・仮想手20の表示に係る制御パラメータ値を更新する。
なお、位置や姿勢、動作、表示形態のうちどの制御パラメータ値を変更対象とするかは、移動対象オブジェクトのゲーム内における役割に応じて適宜設定可能である。本実施形態では、少なくとも姿勢を変更対象とする。
補正導出関数は、移動対象オブジェクトのゲーム内における役割に応じて適宜設定可能である。本実施形態では、第1区域30a〜第4区域30dでは、補正制御発動条件距離Lc以下の範囲で、距離Lに反比例して補正割合が100%に近づく補正導出関数f1が設定されている。一方、警告区域30eでは、補正制御発動条件距離以下になると常に補正割合が100%になる補正導出関数が設定されている。すなわち、移動対象オブジェクトが警告区域30eに入ると直ちに理想状態を再現するように補正される。
[機能構成の説明]
図10は、本実施形態におけるゲームシステム1000の機能構成例を示す機能ブロック図である。本実施形態におけるゲームシステム1000は、操作入力部100と、処理部200と、音出力部390と、画像表示部392と、通信部394と、記憶部500とを備える。
操作入力部100は、ゲームシステム1000の管理やゲームプレイのための各種操作を入力するための手段である。本実施形態では、図1のHMD6及びトラッキング用カメラ7は操作入力部100の1つであり、プレーヤ2が見ている位置や方向、プレーヤの身体部位の位置を入力する機能を果たし、トラッキング用カメラ7及びコントローラ8は操作入力部100の1つであり、プレーヤの身体部位の位置を入力する機能を果たす。
処理部200は、例えばCPUやGPU等のマイクロプロセッサや、ASIC、FPGA、ICメモリなどの電子部品によって実現され、操作入力部100や記憶部500を含む各機能部との間でデータの入出力を行う。図1の制御基板1150がこれに該当する。そして、処理部200は、所定のプログラムやデータ、操作入力部100からの操作入力信号、HMD6やコントローラ8、トラッキング用カメラ7などから受信したデータに基づいて各種の演算処理を実行して、ゲームシステム1000の動作を統合的に制御する。
具体的には、本実施形態の処理部200は、ゲーム進行制御部210と、計時部280と、音生成部290と、画像生成部292と、通信制御部294とを含む。勿論、これら以外の機能部も適宜含めることができる。
ゲーム進行制御部210は、ゲームの実行管理に係る各種処理を行う。具体的には、ゲーム進行制御部210は、仮想現実空間設定部212と、HMDトラッキング部214と、コントローラトラッキング部216と、追従制御部218と、到達位置設定部220と、到達状態設定部222と、変更制御部224と、キャラクタ制御部226と、を有する。
なお、本実施形態のゲームは、シングルプレイを前提としているが、もしPvP(Player versus Player)形式でゲームを実行する場合には、ゲーム進行制御部210に対戦者のマッチングに関する制御を実行させることとしてもよい。
仮想現実空間設定部212は、仮想3次元空間に各種背景オブジェクトを配置して、仮想現実空間を設定・管理する。
HMDトラッキング部214は、HMD6のトラッキングに係る処理を実行する。プレーヤの視点位置及び視線方向をトラッキングするとも言える。
コントローラトラッキング部216は、コントローラ8又はそれを具備するプレーヤ2の身体部位の位置及び姿勢のトラッキングに係る処理を実行する。本実施形態では、移動対象オブジェクトの移動は、コントローラ8を基準体として追従制御することにより実現されるので、コントローラトラッキング部216は、プレーヤ(ユーザ)の身体部位又はユーザが具備するコントローラを基準体として実空間内の基準体の位置をトラッキングする手段であるとも言える。
なお、本実施形態では、コントローラ8が具備される身体部位としてプレーヤ2の右手を例示したが、ゲーム内容やコントローラの形態によっては、左手は勿論のこと、手指、関節、脚、頭部、腹部、背、肩、額、口、鼻、などその他の部位でもよい。
追従制御部218は、仮想現実空間において移動対象オブジェクト(仮想オブジェクト)の位置及び姿勢を、基準体の位置及び姿勢に対応付けて追従させるように制御する。本実施形態では、仮想ケーキ14・仮想フォーク16・仮想手20を一体として、コントローラ8の位置と姿勢に追従するように制御する。
到達位置設定部220は、仮想現実空間内にプレーヤが移動させる仮想オブジェクト(移動対象オブジェクト)の到達位置(移動目標位置Pm)を設定する。本実施形態では、仮想現実空間内の所与のキャラクタの所与の部位に、到達位置を設定することができる。すなわち、仮想恋人10の口に到達位置を設定することができる。
到達状態設定部222は、プレーヤが移動させる仮想オブジェクトが仮想現実空間内の所与の位置(又は所与のエリア)へ到達した際の到達姿勢を少なくとも含む到達状態、本実施形態で言うところの理想状態を設定する。
具体的には、到達状態設定部222は、到達位置に向かう仮想オブジェクトの方位別に到達状態を対応付けて設定する。本実施形態では、理想状態設定区域30(30a〜30e)別に理想状態を設定する(図7,図8参照)。
また、到達状態設定部222は、到達位置が仮想現実空間内の所与のキャラクタに設定されている場合、その設定されている部位の向きに応じて到達姿勢を設定することができる。本実施形態では、仮想恋人10の基準方向に基づいて理想状態が決まることがこれに該当する。
変更制御部224は、移動させる仮想オブジェクトの到達位置への接近に応じて、当該仮想オブジェクトの姿勢を、追従制御部218により追従されている姿勢(追従姿勢)から到達姿勢(理想状態)に変更する制御を、当該仮想オブジェクトから対応する到達位置までの距離Lが所与の変更制御発動条件を満たした場合に実行する(補正制御発動条件距離Lc;図9参照)。
具体的には、変更制御部224は、移動される仮想オブジェクトが到達位置へ接近する方位(逆説的には、移動目標位置へのアプローチ方位)と方位別の到達状態とに基づいて、接近するに従って(当該仮想オブジェクトから到達位置までの距離が短くなるに従って)、当該仮想オブジェクトの姿勢を到達姿勢に近づけるように変更制御することができる。
また、変更制御部224は、所定の急変発動条件を満たした場合には、移動される仮想オブジェクトの姿勢を、追従姿勢から到達姿勢に直ちに変更することができる。本実施形態では、警告区域30eへの仮想手20の到達を急変発動条件とし、警告目的の理想状態へ補正割合100%で直ちに補正制御することがこれに該当する。
キャラクタ制御部226は、プレーヤに移動される仮想オブジェクトがその到達位置へ接近するのに応じて、到達位置が設定されたキャラクタの位置及び/又は姿勢を制御する。本実施形態では、仮想ケーキ14が仮想恋人10に近づくと仮想恋人10自らが仮想ケーキ14に口を寄せるようなお迎えの動作をさせる。
計時部280は、システムクロックを利用して現在日時や制限時間等の計時を行う。
音生成部290は、音声データの生成や合成、デコードなどをする回路やIC、ソフトウェアの実行により実現され、ゲームシステム1000のシステム管理やゲームプレイに係る立体音響や、操作音、BGMなどの音声データを生成或いはデコードする。そして、システム管理に関する音声やゲームプレイに係る音声の信号を音出力部390へ出力する。
音出力部390は、音声信号から音声を再生して放音する。図1の例ではヘッドフォン5や、タッチパネル1108に一体的に備えられたスピーカ(不図示)がこれに該当する。
画像生成部292は、ゲームシステム1000のシステム管理に関する画像や、ゲームプレイに必要な画像等を生成し、画像表示部392へ出力することができる。
画像表示部392は、画像生成部292から入力される画像信号に基づいてシステム管理のための各種画像や、ゲームプレイに必要な画像を表示する。例えば、フラットパネルディスプレイ、ブラウン管(CRT)、プロジェクター、ヘッドマウントディスプレイといった画像表示装置によって実現できる。図1の例では、HMD6及びタッチパネル1108がこれに該当する。
通信制御部294は、データ通信に係るデータ処理を実行し、通信部394を介して外部装置とのデータのやりとりを実現する。
通信部394は、所定のネットワークと接続して通信を実現する。例えば、無線通信機、モデム、TA(ターミナルアダプタ)、有線用の通信ケーブルのジャックや制御回路等によって実現される。図1の例では通信装置1153が該当する。
これらは、例えば、他のゲームシステム1000とマルチプレイのために通信接続したり、ゲームプレイの対価の支払いを仮想通貨やクレジットカード決済で行う場合には、プレーヤが所持する仮想通貨の管理サーバやクレジットカード決済用のサーバと通信するのに使用される。勿論、これら以外にもプログラムやデータの取得・更新の為に所定のサーバと通信するとしてもよい。
記憶部500は、処理部200にゲームシステム1000を統合的に制御させるための諸機能を実現するためのプログラムや各種データ等を記憶する。また、処理部200の作業領域として用いられ、処理部200が各種プログラムに従って実行した演算結果などを一時的に記憶する。この機能は、例えばRAMやROMなどのICメモリ、ハードディスク等の磁気ディスク、CD−ROMやDVDなどの光学ディスク、オンラインストレージなどによって実現される。図1の例ではICメモリ1152がこれに該当する。
図11は、本実施形態の記憶部500に記憶されるプログラムやデータの例を示す図である。記憶部500は、システムプログラム501と、ゲームプログラム503と、仮想現実空間初期設定データ510と、アバターキャラクタ初期設定データ516と、仮想オブジェクト初期設定データ520と、イベント定義データ540と、を予め記憶する。また、逐次生成・管理されるデータとして、プレイデータ700と、現在日時800と、を記憶する。その他、タイマや、カウンタ、各種フラグなどの情報を適宜記憶できる。
システムプログラム501は、処理部200が読み出して実行することでゲームシステム1000(この場合、ゲーム制御装置1100)にコンピュータとして必要な基本的な入出力機能を実現するためのシステムプログラムである。
ゲームプログラム503は、処理部200が読み出して実行することで、ゲーム進行制御部210、計時部280などの機能を実現させるためのプログラムである。
仮想現実空間初期設定データ510は、仮想現実空間を構築するための各種データを格納する。例えば、仮想テーブル12(図3参照)のように背景物となる各種オブジェクトのモデルデータ、テクスチャデータ、初期配置位置データなどを格納する。
アバターキャラクタ初期設定データ516は、仮想現実空間におけるプレーヤ2を代理するオブジェクトを定義するデータである。本実施形態では、仮想手20のような身体部位の一部のみを表示する構成とするが全身を表示する構成とするならば全身分のデータを含むとしてもよい。
仮想オブジェクト初期設定データ520は、ゲームに登場するアバターキャラクタ以外の仮想オブジェクト毎に用意される。本実施形態では、仮想恋人10、仮想テーブル12、仮想ケーキ14、仮想フォーク16それぞれについて用意されることになる(図3参照)。
1つの仮想オブジェクト初期設定データ520は例えば図12に示すように、固有の仮想オブジェクトID521と、当該仮想オブジェクトのモデルデータ522と、標準の表示形態を定義する標準表示形態523と、標準の動作を定義する標準動作524と、出現タイミング525と、初期配置位置526と、初期配置姿勢527と、対応付け開始条件528と、イベント対応設定データ530と、を含む。勿論、これら以外のデータも適宜含めることができる。
対応付け開始条件528は、コントローラ8と当該仮想オブジェクトとの対応づけを開始する条件である。対応付けされると、それが解除されるまで当該仮想オブジェクトはコントローラ8に対して追従制御されることとなる。本実施形態では、仮想ケーキ14に係る対応付け開始条件528には、仮想手20が所定の基準値以下の距離まで仮想ケーキ14に接近したことを示す距離を設定する。なお、コントローラ8の操作スイッチを使って、仮想フォーク16を仮想ケーキ14に刺す操作、或いは仮想ケーキ14を持つ操作の入力を当該条件に加えてもよい。
イベント対応設定データ530は、当該仮想オブジェクトがイベントの発動に対応して特別な表示形態に変わったり特別な動作をする場合に設定される。
1つのイベント対応設定データ530は、1)当該設定データがどのイベントに適用されるかを定義する適用イベントID531と、2)当該イベントにおいて限定的に適用される当該仮想オブジェクトの表示形態を定義するイベント用表示形態532と、3)当該イベントにおいて限定的に適用される当該仮想オブジェクトの動作を定義するイベント用動作533と、4)当該イベント用動作を発動させる条件を定義するイベント用動作発動条件534と、を含む。勿論、これら以外のデータも適宜含めることができる。
本実施形態では、仮想ケーキ14を持つ仮想手20が仮想恋人10に近づくと、仮想恋人10が仮想ケーキ14を迎えに行くような口を寄せる動作をするように設定されている。よって、仮想恋人10に係るイベント用動作533には、移動対象オブジェクトに口を寄せる動作を実現するためのデータが定義され、イベント用動作発動条件534には、仮想ケーキ14・仮想手20(コントローラ8又はそれを具備するプレーヤの身体部位である基準体)との相対距離の閾値が定義される
イベント定義データ540は、ゲーム内でプレーヤ2が仮想オブジェクトの移動・運搬を伴うイベント毎に用意され、当該イベントを実現するための各種データを格納する。本実施形態では、仮想ケーキ14を仮想恋人10の口に運ぶイベントの定義データが用意されている。
1つのイベント定義データ540は、例えば図13に示すように、1)固有のイベントID541と、2)当該イベントが開始される条件を定義するイベント開始条件542と、3)当該イベントが終了されるイベント終了条件543と、4)イベントにて移動される仮想オブジェクトを示す移動対象オブジェクトIDリスト544と、5)当該イベントにおける移動対象オブジェクトの移動目標位置Pm(図7〜図8参照)を定義する移動目標位置定義データ560と、6)理想状態設定区域30(図6参照)毎に用意される理想状態定義データ570と、を含む。勿論、これら以外のデータも適宜含めることができる。
移動目標位置定義データ560は、設定対象オブジェクトID561と、位置座標562と、を含む。
設定対象オブジェクトID561は、移動目標位置Pmを仮想オブジェクトのある部分に設定する場合に、当該仮想オブジェクトの識別情報を格納する。仮想現実空間の特定場所に設定する場合には「NULL」が設定される。本実施形態では、仮想恋人10のオブジェクトIDが設定されることになる。
位置座標562には、移動目標位置Pmを仮想オブジェクトのある部分に設定する場合には、当該ある部分を特定するための当該仮想オブジェクトの代表点を基準とする相対位置座標が設定され、仮想現実空間の特定場所に設定する場合にはワールド座標系の特定座標が設定される。本実施形態では、仮想恋人10の口の位置座標が設定されることになる。
1つの理想状態定義データ570は、例えば図14に示すように、理想状態設定区域定義データ571と、理想状態設定素材データ572とを含む。
理想状態設定区域定義データ571は、理想状態設定区域30(図6参照)を定義する。移動対象オブジェクトが移動目標位置へ接近アプローチする方位の範囲として定義する。
理想状態設定素材データ572は、理想状態を設定するための素材となる各種データを格納する。本実施形態では、理想制御パラメータ値導出関数リスト573と、指定理想制御パラメータ値リスト574と、補正割合定義データ575と、を含む。理想制御パラメータ値導出関数リスト573と指定理想制御パラメータ値リスト574は、何れか一方が設定されると他方が未設定の状態とされる
理想制御パラメータ値導出関数リスト573は、移動対象オブジェクト(本実施形態における仮想ケーキ14)の理想状態を実現する制御パラメータ値を、その都度算出する必要がある場合に設定され、制御パラメータ値毎に用意される導出関数が単数又は複数格納される。
本実施形態では、第1区域30a〜第4区域30dに対応づけられる理想制御パラメータ値導出関数リスト573では、仮想ケーキ14の理想状態の位置座標及び姿勢それぞれを導出する関数が格納される。特に姿勢を導出するための関数には、移動目標位置Pmが設定された仮想オブジェクト(仮想恋人10)の特定パラメータ(仮想恋人10の正面を示す単位方向:図7参照)を変数として含むように設定されている。なお、導出関数に換えて、距離Lに応じたテーブルデータとしてもよい。
指定理想制御パラメータ値リスト574は、移動対象オブジェクトの理想状態の制御パラメータ値を固定する場合に設定される。本実施形態では、警告区域30eに対応づけられる指定理想制御パラメータ値リスト574は、仮想ケーキ14が崩れ落ちたり、仮想フォーク16が滑り落ちたりする動作、仮想ケーキ14が明滅するなど、警告目的に用意された特定の理想状態を再現するための各種制御パラメータ値(位置・姿勢・動作・表示形態など)が含まれる。
補正割合定義データ575は、補正割合を決定するためのデータである。本実施形態では、距離L(図7,図8参照)を変数とした補正割合導出関数f1(図9参照)又はそれに相当するテーブルデータとする。
図11に戻って、プレイデータ700は、ゲームプレイ毎に用意され、ゲーム進行状況を記述する各種データを格納する。本実施形態ではシングルプレイを前提として説明しているので1つのみ図示しているが、マルチプレイの場合には複数用意されることになる。
1つのプレイデータ700は、プレーヤアカウント701と、プレイ開始日時703と、HMDトラッキングデータ705と、コントローラトラッキングデータ707と、仮想現実空間制御データ710と、を含む。勿論、これら以外のデータも適宜含めることができる。
HMDトラッキングデータ705と、コントローラトラッキングデータ707は、それぞれHMD6及びコントローラ8のプレイフィールド内の位置と姿勢の追跡データであって、トラッキング処理により逐一更新される。
仮想現実空間制御データ710は、仮想現実空間に設定される各種要素の制御データを格納する。例えば図15に示すように、右眼用仮想カメラ制御データ711と、左眼用仮想カメラ制御データ712と、アバターキャラクタ制御パラメータ値リスト720と、仮想オブジェクト制御パラメータ値リスト730と、移動目標位置座標740と、距離742と、理想制御パラメータ値リスト744と、補正割合746と、目標制御パラメータ値リスト748と、を含む。勿論、これら以外のデータも適宜含めることができる。
右眼用仮想カメラ制御データ711と、左眼用仮想カメラ制御データ712は、仮想現実空間内におけるプレーヤの頭部に設定された右眼用仮想カメラ及び左眼用仮想カメラの制御データであって、それぞれ、仮想現実空間内における配置位置座標と姿勢データとを含み、HMDトラッキングデータ705に基づいて逐一変更される。右眼用仮想カメラ及び左眼用仮想カメラは、それぞれHMD6にて右眼/左眼用として表示する仮想現実空間の画像を撮影する。
アバターキャラクタ制御パラメータ値リスト720は、仮想現実空間におけるプレーヤの代理としての存在であるアバターキャラクタの制御に係る各種データを格納する。本実施形態では、仮想手20(図3参照)に係る制御パラメータ値を格納する仮想手制御パラメータ値リスト721を含む。勿論、図示はされていないが、アバターキャラクタの各身体部位の位置や姿勢を示すデータが適宜含まれている。
仮想オブジェクト制御パラメータ値リスト730は、アバターキャラクタ以外でゲームに登場する各種仮想オブジェクト毎に用意され、当該オブジェクトの状態を管理するための各種制御パラメータ値を格納する。本実施形態では、仮想恋人10、仮想テーブル12、仮想ケーキ14、仮想フォーク16それぞれについて用意されることになる。
そして、1つの仮想オブジェクト制御パラメータ値リスト730は、位置座標731と、姿勢732と、動作制御パラメータ値733と、表示形態設定データ734と、を含む。勿論、これら以外のデータも適宜含めることができる。
移動目標位置座標740は、移動目標位置Pmの位置座標を示す(図6〜図8参照)。
距離742は、移動目標位置Pmと移動対象オブジェクト(本実施形態では仮想ケーキ14)又は当該オブジェクトを運ぶ基準体(コントローラ8又はコントローラを持つ手)との距離である。
理想制御パラメータ値リスト744は、理想状態を記述する各種制御パラメータ値を格納する。理想状態定義データ570に基づいて算出された結果が格納される(図14参照)。
補正割合746は、その時適用される補正割合を格納する。補正割合定義データ575に基づいて求められた結果が格納される(図14参照)。
目標制御パラメータ値リスト748は、移動対象オブジェクトの仮想オブジェクト制御パラメータ値リスト730が補正されるべき目標値を格納する。本実施形態では、移動対象オブジェクトの現状と理想状態との間に補正割合746に応じて中割りされた値が格納されることになる(図9参照)。
[動作の説明]
図16は、ゲームシステム1000における処理の流れについて説明するためのフローチャートである。ここで説明する処理の流れは、処理部200がシステムプログラム501とゲームプログラム503とを実行することにより実現される。
ゲームシステム1000は、先ずログインしたユーザ向けに新たなプレイデータ700を用意して、仮想3次元空間に仮想現実空間を形成する(ステップS4)。
すなわち、仮想現実空間初期設定データ510及び仮想オブジェクト初期設定データ520(図11参照)に基づいて、仮想3次元空間に各種仮想オブジェクトを配置して仮想現実空間を形成し、そこに右眼用仮想カメラと、左眼用仮想カメラと、アバターキャラクタ(仮想手20を含む)などを配置する。
次に、ゲームシステム1000は、HMD6とコントローラ8のトラッキングを開始し(ステップS6)、それぞれのトラッキングの結果に応じて右眼用仮想カメラ及び左眼用仮想カメラ、アバターキャラクタ(仮想手20を含む)の追従制御を開始する(ステップS8)。
これ以降、HMD6にはプレーヤ2の頭部の向きに応じた仮想現実空間の景色が立体視として表示される。プレーヤ2が手に持っているコントローラ8の実空間の位置に仮想手20(図3参照)が追従するので、プレーヤ2が自分の手を見ようと頭の向き或いは手の位置を調整すれば、仮想現実空間の景色の中に仮想手20が見えるようになる。つまり、VR体験としての基本的な視覚要素が実現される。
次に、ゲームシステム1000は、ゲームを開始する(ステップS30)。そして、イベント定義データ540(図13参照)を参照して、イベント開始条件542が満たされたイベントが有れば(ステップS32のYES)、当該イベントを発動させる(ステップS34)。
具体的には、本実施形態のイベントは、移動対象オブジェクトを移動させる要素を含むので、該当するイベント定義データ540の移動対象オブジェクトIDリスト544の示す仮想オブジェクトの仮想オブジェクト初期設定データ520を参照して(図12参照)、初期配置位置526に初期配置姿勢527を実現するように仮想現実空間に配置する。当該発動したイベント対応設定データ530がある場合には、当該データが適用されるものとする。
なお、本実施形態では、移動対象オブジェクトは仮想現実空間内に配置されたばかりで、コントローラ8又は当該コントローラを具備するプレーヤの身体部位である基準体(以下、コントローラ8とする。)との対応づけはされていない。勿論、ゲーム内容、イベント内容によっては、初期配置の段階で、移動対象オブジェクトとコントローラ8の対応づけが行われる場合があってもよい。
次に、ゲームシステム1000は、配置済みの移動対象オブジェクトの対応付け開始条件528(図12参照)が満たされているかを判定する(ステップS36)。
そして、対応付け開始条件が満たされていれば(ステップS36のYES)、ゲームシステム1000は、配置済みの移動対象オブジェクトとコントローラ8との対応付けを開始する(ステップS38)。両者が対応付けされることにより、ゲームシステム1000は、これ以降、当該時点におけるコントローラ8と移動対象オブジェクトの双方の位置及び姿勢が、当該時点における相対関係(又は所与の相対関係)を維持するように、移動対象オブジェクトをコントローラ8とが一体に移動制御される。本実施形態では、仮想ケーキ14・仮想フォーク16・仮想手20がこれ以降、一体的に仮想現実空間内を移動するようになる。そして、ゲームシステム1000は、制御パラメータ値変更処理を実行する(ステップS40)。
図17は、制御パラメータ値変更処理の流れを説明するためのフローチャートである。同処理は、移動対象オブジェクトの追従状態を補正する補正処理と言い換えることもできる。
同処理において、ゲームシステム1000は、先ず移動目標位置Pmを設定する(ステップS60)。具体的には、現在発動されているイベントのイベント定義データ540(図13参照)の移動目標位置定義データ560に従って、プレイデータ700に移動目標位置座標740を設定する(図15参照)。設定対象オブジェクトID561が何れかの仮想オブジェクトを示している場合は、移動目標位置座標740は、逐一当該仮想オブジェクトの代表位置に対して位置座標562が示す相対位置座標を維持するように逐次更新される。
次に、ゲームシステム1000は、対応付けされた移動対象オブジェクトが何れの理想状態設定区域30(図6参照)に存在するかを判定する(ステップS62)。具体的には、現在発動されているイベントのイベント定義データ540の理想状態定義データ570それぞれの理想状態設定区域定義データ571(図14参照)と、移動対象オブジェクト又はコントローラ8又は仮想手20の位置とを比較して判定する。
そして、移動対象オブジェクトが存在する理想状態設定区域30の理想状態設定素材データ572に基づいて理想状態を設定する(ステップS64)。具体的には、移動対象オブジェクトが存在する理想状態設定区域30の理想状態設定素材データ572に基づいて、プレイデータ700に理想制御パラメータ値リスト744を設定する(図15参照)。
次に、ゲームシステム1000は、移動対象オブジェクトと移動目標位置Pmとの距離742(図15参照)を算出する(ステップS66)。そして、移動対象オブジェクトが存在する理想状態設定区域30の補正割合定義データ575(図14参照)に従って適用する補正割合746(図15参照)を決定する(ステップS68)。
次に、ゲームシステム1000は、移動対象オブジェクトが理想状態になっているかを判定する(ステップS80)。
ここでもし否定ならば(ステップS80のNO)、移動対象オブジェクトの仮想オブジェクト制御パラメータ値リスト730と理想制御パラメータ値リスト744と補正割合746とに基づいて、目標制御パラメータ値リスト748を決定する(ステップS82;図9参照)。
そして、ゲームシステム1000は、移動対象オブジェクトの仮想オブジェクト制御パラメータ値リスト730の各値を目標制御パラメータ値リスト748の値に変更し(ステップS84)、移動対象オブジェクト及びこれと一体的に移動する仮想オブジェクトの表示を更新する(ステップS86)。
次に、移動目標位置が仮想オブジェクトに設定されているか判定する(ステップS100)。本実施形態の例では、移動目標位置Pmは仮想恋人10の口に設定されているので肯定となる。
そして、肯定の場合で(ステップS100のYES)、且つ当該イベントに対応するイベント対応設定データ530(図12参照)が設定されていてそのイベント用動作発動条件534が満たされるならば(ステップS102のYES)、ゲームシステム1000は、当該仮想オブジェクトのイベント用動作533を発動させる(ステップS104)。本実施形態では、仮想恋人10が口を仮想ケーキ14に寄せるような動作を開始することになる。
ステップS62〜S104は、移動対象オブジェクトが移動目標位置Pmに到達するまで繰り返され(ステップS110のNO)、移動目標位置Pmに到達すると(ステップS110のYES)、制御パラメータ値変更処理を終了する。
図16に戻って、ゲームシステム1000は、ステップS32〜S40をゲーム終了条件が満たされるまで繰り返し(ステップS130のNO)、ゲーム終了条件が満たされると(ステップS130のYES)、一連の処理を終了する。
以上、本実施形態によれば、VRにおけるユーザサポートを向上するための技術、換言するとVRにおける没入感を阻害させない技術を提供することができる。すなわち、仮想現実空間内で移動対象オブジェクトを移動目標位置Pm(到達目標位置)まで移動させるシーンにおいて、移動対象オブジェクトを所与の理想の姿勢で到達させるために、トラッキング誤差が生じているために、コントローラ8を持つ手を不自然な方向に曲げなければならないような事態を低減できる。そして、無理な操作がきっかけとなるVRのリアリティ感の毀損を防止し、ゲームストーリのスムーズな進行を助けることができる。
〔変形例〕
以上、本発明を適用した実施形態の一例について説明したが、本発明を適用可能な形態は上記形態に限定されるものではなく適宜構成要素の追加・省略・変更を施すことができる。
[その1]
例えば、上記実施形態では、VR体験をゲームとして説明したが、ゲームのジャンルや内容は適宜設定可能である。また、ゲームではなく、仮想の世界を旅したり探索するといったVR体験を提供するものであってもよい。
[その2]
また、ゲームジャンルやゲーム内、VR体験を提供形態に応じて、プレーヤ(ユーザ)が仮想現実空間内で移動させる仮想オブジェクトの種類や状況は適宜設定可能である。仮想現実空間におけるモノとしての役割に応じて、その仮想現実空間におけるサイズや特性も適宜設定可能である。
例えば、移動対象オブジェクトは仮想ケーキ14のままとし、移動目標位置Pmをプレーヤのアバターキャラクタの口に設定すれば、プレーヤが自らケーキを口に運んで食べるシーンに本発明を適用できる。
具体的には、イベント定義データ540(図13参照)の移動目標位置定義データ560では、設定対象オブジェクトID561にアバターキャラクタを示すIDを設定し、位置座標562にアバターキャラクタの口位置(例えば、右眼用仮想カメラ及び左眼用仮想カメラを両眼と見なして、そこから所定距離下方の位置)を設定する。
そして、アバターキャラクタ制御パラメータ値リスト720(図15参照)に、アバターキャラクタの口位置と口の向きとを含む仮想口制御パラメータ値を用意する。仮想口制御パラメータ値の口位置は、右眼用仮想カメラ又は左眼用仮想カメラに対して所定の相対位置に有るとし、仮想口制御パラメータ値の口の向きは、右眼用仮想カメラ又は左眼用仮想カメラの向きと同方向とすることができる。
また、移動対象オブジェクトの役割によっては、1つの移動オブジェクトに設定される移動目標位置Pmも複数設定してもよい。例えば、移動対象オブジェクトをテーブルに置かれている仮想スマートフォンとする場合、移動目標位置Pmをプレーヤのアバターキャラクタの右耳と左耳と顔の正面との3箇所に設定することができる。この場合、これら移動目標位置Pm毎に、当該移動目標位置Pmで仮想スマートフォンを使用するために理想とされる仮想スマートフォンの姿勢の分け方によって、理想状態設定区域30を単数又は複数用意すればよい。そして、理想状態では正面スピーカが耳元に向く状態を理想状態に設定すればよい。
またその他の例としては、移動対象オブジェクトを鍵とし、移動目標位置Pmをドアの鍵穴とすることもできる。この場合、鍵の理想状態は鍵の長手方向とドアの鍵穴の向きとが合った状態とすればよい。
もし、ゲーム世界の設定がファンタジーであれば、移動対象オブジェクトの元の姿は「妖精」であるが、移動目標位置Pmに接近するにつれて「鍵」に姿を変えてゆくといった表示モデルの変形要素も追加可能である。具体的には、移動体オブジェクトの仮想オブジェクト初期設定データ520(図12参照)のモデルデータ522に「妖精」の表示モデルを設定し、イベント対応設定データ530のイベント表示形態532に「鍵」の表示モデルを設定すればよい。そして、ステップS82及びS84(図17参照)にて、移動目標位置Pmに近づくにつれて、仮想オブジェクト制御パラメータ値リスト730(図15参照)の表示形態設定データ734を、「妖精」の表示モデルから「鍵」の表示モデルへ補正割合746に応じてモーフィングしたように変更すればよい。
また、移動対象オブジェクトを赤ちゃんとして、移動目標位置Pmをその母親の胸元又は背中としてもよい。この場合、前者ならば理想状態は母親が赤ちゃんを抱きかかえ易い姿勢とすれば良いし、後者ならば母親が赤ちゃんをおんぶし易い姿勢とすればよい。
[その3]
また、上記実施形態では、移動対象オブジェクトの姿勢を補正する例を示したが、姿勢の補正を省略する構成も可能である。また、移動対象オブジェクトの移動目標位置Pmへの到達判定をコリジョン判定により実現することもできる。
具体的には、例えば、RPGにおいて、プレーヤが仲間のNPCの傷を治療するイベントとする。その設定として、1)移動対象オブジェクトを、アバターキャラクタが手に持った治療魔法のポーションとし、2)移動目標位置PmをNPCの傷口を含むコリジョン判定エリア(移動目標エリア)として設定し、3)移動対象オブジェクトの表示モデルを、移動目標位置Pmに近づくと光の球に変形させる表示形態の変更設定とし、4)光の球(変形後の表示モデル)の大きさを元の治療魔法のポーションよりも大きく設定する。そして、5)移動対象オブジェクトの移動目標位置Pmへの到達判定を、光の球の表示モデルと、移動目標エリアとのコリジョン判定で行う。
この場合、トラッキングズレが生じていても、移動対象オブジェクトの位置や姿勢を補正しなくとも、光の球が傷口に近づけばイベントの目的は達せられることになる。つまり、VRにおけるユーザサポートを向上できる。
[その4]
また、トラッキング技術は適宜選定可能であると述べたが、例えば図18で示すゲームシステム1000Bのように、プレーヤ2を正面から撮影するカメラや、プレーヤ2の正面各部までの距離を測定する測距センサを備えたセンサユニット70を用いて、プレーヤ2の骨格の動作を認識するタイプのジェスチャー認識技術を用いて、上記実施形態のヘッドトラッキング及びコントローラトラッキングの代用とすることができる。この場合、コントローラ8をトラッキングするというよりも、コントローラ8を具備する身体部位(図の例では手)を基準体としてトラッキングすることになる。
[その5]
また、上記実施形態では、移動対象オブジェクトが移動目標位置Pmに到達するまで制御パラメータ値を理想状態に近づけるように補正変更を行う構成であったが、ある程度まで移動目標位置Pmに接近すると、以降移動目標位置Pmに到達するまでを自動のアニメーション処理にて実現するとしてもよい。
その場合、図19に示すように、ゲームシステム1000は、ゲーム進行制御部210に自動移動制御部228を追加すればよい。
自動移動制御部228は、変更制御発動条件(上記実施形態におけるイベント開始条件542)が満たされた後、移動対象オブジェクト(移動される仮想オブジェクト)からその移動目標位置Pm(到達位置)までの距離が所与の近接条件を満たした場合に、自動的に当該仮想オブジェクトの位置を到達位置に移動させる自動移動制御を実行する。
そして、図20に示すように、自動移動制御を実現するために理想状態設定区域30毎に自動移動定義データ580を追加する。
1つの自動移動定義データ580は、理想状態設定区域定義データ581と、近接条件582と、自動移動データ583とを含む。勿論、これら以外のデータも適宜含めることができる。
近接条件582は、移動対象オブジェクトと移動目標位置Pmとの距離の閾値が設定される。その値は、移動対象オブジェクトのゲーム内における役割、大きさ、移動目標位置Pmの位置関係などに応じて適宜設定可能である。ただし、アニメーションが発動されると、プレーヤの目には、移動対象オブジェクトが移動目標位置Pmに勝手に動いていったかのように不自然な動きとして見える可能性があるので、設定する値には注意を要する。
そして、図21に示すように、制御パラメータ値変更処理において、距離Lを算出したならば、近接条件582が満たされているかを判定するステップを追加する(ステップS67)。そして、満たされている場合にはステップS68〜S86をスキップし、代わりに、自動移動データ583に従った移動対象オブジェクトの自動移動、いわゆる自動アニメーションを実行する(ステップS69)。なお、自動移動制御を実行している間は、移動対象オブジェクトのコントローラ8への対応付けは解除し、コントローラ8への追従制御は行わないものとする。
2…プレーヤ
6…HMD
7…トラッキング用カメラ
8…コントローラ
10…仮想恋人
12…仮想テーブル
14…仮想ケーキ
16…仮想フォーク
20…仮想手
30…理想状態設定区域
30e…警告区域
200…処理部
210…ゲーム進行制御部
212…仮想現実空間設定部
214…HMDトラッキング部
216…コントローラトラッキング部
218…追従制御部
220…到達位置設定部
222…到達状態設定部
224…変更制御部
226…キャラクタ制御部
228…自動移動制御部
500…記憶部
501…システムプログラム
503…ゲームプログラム
510…仮想現実空間初期設定データ
516…アバターキャラクタ初期設定データ
520…仮想オブジェクト初期設定データ
528…対応付け開始条件
530…イベント対応設定データ
533…イベント用動作
534…イベント用動作発動条件
540…イベント定義データ
544…移動対象オブジェクトIDリスト
560…移動目標位置定義データ
570…理想状態定義データ
571…理想状態設定区域定義データ
572…理想状態設定素材データ
573…理想制御パラメータ値導出関数リスト
574…指定理想制御パラメータ値リスト
575…補正割合定義データ
580…自動移動定義データ
582…近接条件
583…自動移動データ
700…プレイデータ
705…HMDトラッキングデータ
707…コントローラトラッキングデータ
710…仮想現実空間制御データ
720…アバターキャラクタ制御パラメータ値リスト
730…仮想オブジェクト制御パラメータ値リスト
731…位置座標
732…姿勢
733…動作制御パラメータ値
734…表示形態設定データ
740…移動目標位置座標
742…距離
744…理想制御パラメータ値リスト
746…補正割合
748…目標制御パラメータ値リスト
1000…ゲームシステム
1100…ゲーム制御装置
1150…制御基板
L…距離
Lc…補正制御発動条件距離
Pm…移動目標位置
f1…補正導出関数

Claims (16)

  1. コンピュータシステムに、仮想現実空間と実空間とを対応づけて、ユーザが装着するHMD(ヘッドマウントディスプレイ)に前記仮想現実空間の画像を表示させるためのプログラムであって、
    前記ユーザの身体部位又は前記ユーザが具備するコントローラを基準体として前記実空間内の前記基準体をトラッキングする基準体トラッキング手段、
    前記仮想現実空間において所与の仮想オブジェクトの位置及び姿勢を、前記基準体の位置及び姿勢に対応付けて追従させるように制御する追従制御手段、
    前記仮想オブジェクトが前記仮想現実空間内の所与の位置又は所与のエリア(以下、包括して「到達位置」という)へ到達した際の到達姿勢を少なくとも含む到達状態を設定する到達状態設定手段、
    前記仮想オブジェクトの前記到達位置への接近に応じて、前記仮想オブジェクトの姿勢を、前記追従制御手段により追従されている姿勢(以下「追従姿勢」という)から前記到達姿勢に変更する制御を行う変更制御手段、
    として前記コンピュータシステムを機能させるためのプログラム。
  2. 前記到達状態設定手段は、前記到達位置に向かう前記仮想オブジェクトの方位別に前記到達状態を対応付けて設定し、
    前記変更制御手段は、前記仮想オブジェクトが前記到達位置へ接近する方位と、前記方位別の前記到達状態とに基づいて、変更する制御を行う、
    請求項1に記載のプログラム。
  3. 前記変更制御手段は、前記仮想オブジェクトから前記到達位置までの距離が所与の変更制御発動条件を満たした場合に前記変更の制御を発動する、
    請求項1又は2に記載のプログラム。
  4. 前記変更制御発動条件を満たした後、前記仮想オブジェクトから前記到達位置までの距離が所与の近接条件を満たした場合に、自動的に前記仮想オブジェクトの位置を前記到達位置に移動させる自動移動制御手段、
    として前記コンピュータシステムを更に機能させるための請求項3に記載のプログラム。
  5. 前記変更制御手段は、前記仮想オブジェクトから前記到達位置までの距離が短くなるに従って、前記仮想オブジェクトの姿勢を前記到達姿勢に近づけるように変更する、
    請求項1〜4の何れか一項に記載のプログラム。
  6. 前記到達状態には、前記仮想オブジェクトが前記到達位置に到達した際の到達時動作、及び/又は、到達時表示形態が含まれ、
    前記変更制御手段は、前記仮想オブジェクトから前記到達位置までの距離が短くなるに従って、前記仮想オブジェクトの状態を前記到達状態に近づけるように変更する、
    請求項5に記載のプログラム。
  7. 前記仮想現実空間内の所与のキャラクタの所与の部位に、前記到達位置を設定する到達位置設定手段、
    として前記コンピュータシステムを更に機能させるための請求項1〜6の何れか一項に記載のプログラム。
  8. 前記到達状態設定手段は、前記キャラクタの前記部位の向きに応じて、前記到達姿勢を設定する、
    請求項7に記載のプログラム。
  9. コンピュータシステムに、仮想現実空間と実空間とを対応づけて、ユーザが装着するHMD(ヘッドマウントディスプレイ)に前記仮想現実空間の画像を表示させるためのプログラムであって、
    前記ユーザの身体部位又は前記ユーザが具備するコントローラを基準体として前記実空間内の前記基準体をトラッキングする基準体トラッキング手段、
    前記仮想現実空間において所与の仮想オブジェクトの位置及び姿勢を、前記基準体の位置及び姿勢に対応付けて追従させるように制御する追従制御手段、
    前記仮想オブジェクトが前記仮想現実空間内の所与のキャラクタの所与の部位の位置(以下「到達位置」という)へ到達した際の前記仮想オブジェクトの表示形態を少なくとも含む到達状態を設定する到達状態設定手段、
    前記仮想オブジェクトの前記到達位置への接近に応じて、前記仮想オブジェクトの状態を前記到達状態に変更する制御を行う変更制御手段、
    として前記コンピュータシステムを機能させるためのプログラム。
  10. 前記仮想オブジェクトの前記到達位置への接近に応じて、前記キャラクタの位置及び/又は姿勢を制御するキャラクタ制御手段、
    として前記コンピュータシステムを更に機能させるための請求項7〜9の何れか一項に記載のプログラム。
  11. 前記キャラクタは、前記ユーザのアバターキャラクタである、
    請求項7〜10の何れか一項に記載のプログラム。
  12. 前記実空間内の前記HMDをトラッキングするHMDトラッキング手段、
    前記HMDトラッキング手段によりトラッキングされた前記HMDの位置に基づいて、前記仮想現実空間における前記アバターキャラクタの前記所与の部位の位置を判定する手段、
    として前記コンピュータシステムを更に機能させるための請求項11に記載のプログラム。
  13. 前記変更制御手段は、前記仮想オブジェクトの姿勢を、前記追従姿勢から前記到達姿勢に直ちに変更する、
    請求項1又は2に記載のプログラム。
  14. 前記到達状態には、前記仮想オブジェクトが前記到達位置に到達した際の到達時動作、及び/又は、到達時表示形態が含まれ、
    前記変更制御手段は、前記仮想オブジェクトの姿勢の変更に合わせて、前記仮想オブジェクトの状態を前記到達状態に変更する、
    請求項13に記載のプログラム。
  15. 仮想現実空間と実空間とを対応づけて、ユーザが装着するHMD(ヘッドマウントディスプレイ)に前記仮想現実空間の画像を表示する制御を行うコンピュータシステムであって、
    前記ユーザの身体部位又は前記ユーザが具備するコントローラを基準体として前記実空間内の前記基準体をトラッキングする基準体トラッキング手段と、
    前記仮想現実空間において所与の仮想オブジェクトの位置及び姿勢を、前記基準体の位置及び姿勢に対応付けて追従させるように制御する追従制御手段と、
    前記仮想オブジェクトが前記仮想現実空間内の所与の位置又は所与のエリア(以下、包括して「到達位置」という)へ到達した際の到達姿勢を少なくとも含む到達状態を設定する到達状態設定手段と、
    前記仮想オブジェクトの前記到達位置への接近に応じて、前記仮想オブジェクトの姿勢を、前記追従制御手段により追従されている姿勢(以下「追従姿勢」という)から前記到達姿勢に変更する制御を行う変更制御手段と、
    を備えたコンピュータシステム。
  16. 仮想現実空間と実空間とを対応づけて、ユーザが装着するHMD(ヘッドマウントディスプレイ)に前記仮想現実空間の画像を表示する制御を行うコンピュータシステムであって、
    前記ユーザの身体部位又は前記ユーザが具備するコントローラを基準体として前記実空間内の前記基準体をトラッキングする基準体トラッキング手段と、
    前記仮想現実空間において所与の仮想オブジェクトの位置及び姿勢を、前記基準体の位置及び姿勢に対応付けて追従させるように制御する追従制御手段と、
    前記仮想オブジェクトが前記仮想現実空間内の所与のキャラクタの所与の部位の位置(以下「到達位置」という)へ到達した際の前記仮想オブジェクトの表示形態を少なくとも含む到達状態を設定する到達状態設定手段と、
    前記仮想オブジェクトの前記到達位置への接近に応じて、前記仮想オブジェクトの状態を前記到達状態に変更する制御を行う変更制御手段と、
    を備えたコンピュータシステム。
JP2016078395A 2016-04-08 2016-04-08 プログラム及びコンピュータシステム Active JP6672047B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2016078395A JP6672047B2 (ja) 2016-04-08 2016-04-08 プログラム及びコンピュータシステム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016078395A JP6672047B2 (ja) 2016-04-08 2016-04-08 プログラム及びコンピュータシステム

Publications (2)

Publication Number Publication Date
JP2017188041A JP2017188041A (ja) 2017-10-12
JP6672047B2 true JP6672047B2 (ja) 2020-03-25

Family

ID=60045632

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016078395A Active JP6672047B2 (ja) 2016-04-08 2016-04-08 プログラム及びコンピュータシステム

Country Status (1)

Country Link
JP (1) JP6672047B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7111645B2 (ja) * 2019-03-28 2022-08-02 株式会社バーチャルキャスト 制御プログラム
KR20220111918A (ko) 2021-02-03 2022-08-10 삼성전자주식회사 캐릭터 애니메이션 동작 제어 방법 및 장치
CN114419099A (zh) * 2022-01-18 2022-04-29 腾讯科技(深圳)有限公司 捕捉待渲染虚拟对象的运动轨迹的方法

Also Published As

Publication number Publication date
JP2017188041A (ja) 2017-10-12

Similar Documents

Publication Publication Date Title
US10713001B2 (en) Control method and virtual reality experience provision apparatus
US10636212B2 (en) Method for generating image to be displayed on head tracking type virtual reality head mounted display and image generation device
JP5800501B2 (ja) 表示制御プログラム、表示制御装置、表示制御システム、及び、表示制御方法
US20190102928A1 (en) Virtual Reality
US20150070274A1 (en) Methods and systems for determining 6dof location and orientation of head-mounted display and associated user movements
CN109313511A (zh) 提供虚拟空间的方法、提供虚拟体验的方法、程序以及记录介质
JP6342038B1 (ja) 仮想空間を提供するためのプログラム、当該プログラムを実行するための情報処理装置、および仮想空間を提供するための方法
US9443340B2 (en) Computer readable storage medium having stored thereon image processing program, image processing apparatus, image processing method, and image processing system
CN106873767B (zh) 一种虚拟现实应用的运行控制方法和装置
KR20220012990A (ko) 인공 현실 시스템들을 위한 팔 응시-구동 사용자 인터페이스 요소 게이팅
CN109308115B (zh) 虚拟现实***中显示用户移动的方法及相关装置
US11049325B2 (en) Information processing apparatus, information processing method, and program
CN107930119A (zh) 信息处理方法、装置、电子设备及存储介质
JP6672047B2 (ja) プログラム及びコンピュータシステム
JP2019175323A (ja) シミュレーションシステム及びプログラム
JP6257825B1 (ja) 仮想空間を介して通信するための方法、当該方法をコンピュータに実行させるためのプログラム、および当該プログラムを実行するための情報処理装置
JP2022125053A (ja) 境界設定装置、境界設定方法及びプログラム
JP6794390B2 (ja) シミュレーションシステム及びプログラム
JP2018171320A (ja) シミュレーションシステム及びプログラム
JP6918189B2 (ja) シミュレーションシステム及びプログラム
JP2015008987A (ja) プログラムおよびゲーム装置
JP2019020832A (ja) 情報処理方法、装置、および当該情報処理方法をコンピュータに実行させるためのプログラム
JP5816435B2 (ja) 表示制御プログラム、表示制御装置、表示制御システム、表示制御方法
JP6728111B2 (ja) 仮想空間を提供する方法、仮想体験を提供する方法、プログラム、および記録媒体
KR20200116380A (ko) 모바일을 이용한 vr 디바이스에 호환 가능한 스포츠 기기와 컨테츠 제공 방법

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190405

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20191212

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: 20200204

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200304

R150 Certificate of patent or registration of utility model

Ref document number: 6672047

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