[go: up one dir, main page]

JP2018171320A - シミュレーションシステム及びプログラム - Google Patents

シミュレーションシステム及びプログラム Download PDF

Info

Publication number
JP2018171320A
JP2018171320A JP2017071997A JP2017071997A JP2018171320A JP 2018171320 A JP2018171320 A JP 2018171320A JP 2017071997 A JP2017071997 A JP 2017071997A JP 2017071997 A JP2017071997 A JP 2017071997A JP 2018171320 A JP2018171320 A JP 2018171320A
Authority
JP
Japan
Prior art keywords
vibration
hit
user
unit
game
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.)
Pending
Application number
JP2017071997A
Other languages
English (en)
Inventor
藤田 浩司
Koji Fujita
浩司 藤田
慎也 丹羽
Shinya Niwa
慎也 丹羽
小原 利也
Toshiya Obara
利也 小原
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.)
Bandai Namco Entertainment Inc
Original Assignee
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 Bandai Namco Entertainment Inc filed Critical Bandai Namco Entertainment Inc
Priority to JP2017071997A priority Critical patent/JP2018171320A/ja
Publication of JP2018171320A publication Critical patent/JP2018171320A/ja
Pending legal-status Critical Current

Links

Landscapes

  • User Interface Of Digital Computer (AREA)

Abstract

【課題】ヒットイベントでのヒット情報等を反映させた装着体の振動部の振動制御を実現できるシミュレーションシステム等の提供。【解決手段】シミュレーションシステムは、仮想空間設定部と移動体処理部とゲーム処理部と表示処理部と制御部を含む。ユーザが身体に装着する装着体の前面部に少なくとも1つの前面側振動部が設けられ、装着体の後面部に少なくとも1つの後面側振動部が設けられる。ゲーム処理部は、ユーザ移動体と他のオブジェクトとのヒット演算処理を行い、ヒット方向及びヒット位置の少なくとも一方を含むヒット情報を求める。制御部は、ユーザ移動体と他のオブジェクトとのヒットイベントが発生した場合に、前記ヒット情報に基づいて、前面側振動部及び後面側振動部の一方の振動部である第1の振動部を振動させた後、前面側振動部及び後面側振動部の他方の振動部である第2の振動部を振動させる。【選択図】図19

Description

本発明は、シミュレーションシステム及びプログラム等に関する。
従来より、ユーザの触覚を利用した直感的なマンマシーンインターフェースを実現する技術が知られている。例えば特許文献1には、接触検出器や動き検出器を含むセンサ回路と、触覚テキスタイル(haptic textile)と、センサ回路からの作動信号に基づいて触覚フィードバックを生成するように構成された作動面とを有する装置が開示されている。この特許文献1の従来技術では、触覚テキスタイルにより触覚フィードバックの衣服を実現する手法が提案されている。
特表2012−511781号公報
しかしながら特許文献1では、ユーザ移動体に他のオブジェクトがヒットする際のヒット演算処理で求められたヒット情報を、ユーザが装着する装着体の振動制御に反映させる手法については提案されていなかった。また装着体の前面側の振動部と後面側の振動部の適切な振動制御手法についても提案されていなかった。
本発明の幾つかの態様によれば、ヒットイベントでのヒット情報等を反映させた装着体の振動部の振動制御を実現できるシミュレーションシステム及びプログラム等を提供できる。
本発明の一態様は、仮想空間の設定処理を行う仮想空間設定部と、前記仮想空間を移動するユーザ移動体の移動処理を行う移動体処理部と、ユーザが身体に装着体を装着してプレイするゲームのゲーム処理を行うゲーム処理部と、前記ゲーム処理の結果に基づいて、表示画像を生成する表示処理部と、制御部とを含み、前記装着体の前面部に、少なくとも1つの前面側振動部が設けられ、前記装着体の後面部に、少なくとも1つの後面側振動部が設けられ、前記ゲーム処理部は、前記ユーザ移動体と他のオブジェクトとのヒット演算処理を行って、ヒット方向及びヒット位置の少なくとも一方を含むヒット情報を求め、前記制御部は、前記ユーザ移動体と前記他のオブジェクトとのヒットイベントが発生した場合に、前記ヒット情報に基づいて、前記前面側振動部及び前記後面側振動部の一方の振動部である第1の振動部を振動させた後、前記前面側振動部及び前記後面側振動部の他方の振動部である第2の振動部を振動させる振動制御を行うシミュレーションシステムに関係する。また本発明は、上記各部としてコンピュータを機能させるプログラム、又は該プログラムを記憶したコンピュータ読み取り可能な情報記憶媒体に関係する。
本発明の一態様によれば、仮想空間においてユーザ移動体を移動させる移動処理が行われると共に、ユーザが身体に装着体を装着してプレイするゲームのゲーム処理が行われ、ゲーム処理の結果に基づいて表示画像を生成される。またユーザが装着する装着体は、前面部に前面側振動部が設けられ、後面部に後面側振動部が設けられる。また、ユーザ移動体と他のオブジェクトとのヒット演算処理が行われて、ヒット方向及びヒット位置の少なくとも一方を含むヒット情報が求められる。そしてユーザ移動体と他のオブジェクトとのヒットイベントが発生すると、ヒット情報に基づいて、前面側振動部及び後面側振動部の一方の振動部である第1の振動部を振動させた後、他方の振動部である第2の振動部を振動させる振動制御が行われる。このようにすれば、ヒットイベントが発生すると、ヒット情報に基づいて、前面側振動部及び後面側振動部の一方である第1の振動部が振動した後、他方である第2の振動部が振動するようになる。従って、あたかも他のオブジェクトが身体を貫通したかのような仮想現実を、ユーザに体感させることができ、ヒットイベントでのヒット情報等を反映させた装着体の振動部の振動制御を実現できるようになる。
また本発明の一態様では、前記制御部は、前記第1の振動部として複数の第1の振動部が設けられる場合に、前記複数の第1の振動部の中から振動させる振動部を選択する処理を、前記ヒット情報に基づいて行ってもよい。
このようにすれば、ヒットイベントが発生すると、装着体の前面側振動部及び後面側振動部の一方である複数の第1の振動部の中から、ヒット情報に応じた振動部が選択されて振動するようになり、ヒット情報を反映させた振動制御を実現できるようになる。
また本発明の一態様では、前記制御部は、前記第2の振動部として複数の第2の振動部が設けられる場合に、前記複数の第2の振動部の中から振動させる振動部を選択する処理を、前記ヒット情報に基づいて行ってもよい。
このようにすれば、ヒットイベントが発生すると、装着体の前面側振動部及び後面側振動部の他方である複数の第2の振動部の中から、ヒット情報に応じた振動部が選択されて振動するようになり、ヒット情報を反映させた振動制御を実現できるようになる。
また本発明の一態様では、前記制御部は、前記第1の振動部を振動させる第1のタイミングから、前記第2の振動部を振動させる第2のタイミングまでの振動間隔の長さを変化させてもよい。
このようにすれば、第1の振動部が振動する第1のタイミングから第2の振動部が振動する第2のタイミングまでの振動間隔の長さが様々に変化するようになり、ユーザの仮想現実感をより向上できる振動制御の実現が可能になる。
また本発明の一態様では、前記ヒット情報はヒット速度を含み、前記制御部は、前記ヒット速度に基づいて前記振動間隔の長さを変化させてもよい。
このようにすれば、第1の振動部が振動する第1のタイミングから第2の振動部が振動する第2のタイミングまでの振動間隔の長さを、ヒット情報のヒット速度に基づいて設定できるようになり、ヒット速度を反映させた振動間隔の制御が可能になる。
また本発明の一態様では、ユーザが身体に装着体を装着してプレイするゲームのゲーム処理を行うゲーム処理部と、前記ゲーム処理の結果に基づいて、前記ユーザに表示する画像を生成する表示処理部と、制御部とを含み、前記装着体には複数の振動部が設けられ、前記制御部は、複数の前記振動部のうちの第1の振動部を振動させる第1のタイミングから、複数の前記振動部のうちの第2の振動部を振動させる第2のタイミングまでの振動間隔の長さを、前記ゲームにおいて発生する振動イベントの種類又は内容に応じて変化させるシミュレーションシステムに関係する。また本発明は、上記各部としてコンピュータを機能させるプログラム、又は該プログラムを記憶したコンピュータ読み取り可能な情報記憶媒体に関係する。
本発明の一態様によれば、仮想空間においてユーザ移動体を移動させる移動処理が行われると共に、ユーザが身体に装着体を装着してプレイするゲームのゲーム処理が行われ、ゲーム処理の結果に基づいて表示画像を生成される。そして振動イベントが発生すると、ユーザの装着体の第1の振動部を振動させる第1のタイミングから、第2の振動部を振動させる第2のタイミングまでの振動間隔の長さが、振動イベントの種類又は内容に応じた長さに設定されるようになり、ユーザの仮想現実感をより向上できる振動制御の実現が可能になる。
また本発明の一態様では、前記表示処理部は、前記ユーザが視界を覆うように装着する頭部装着型表示装置の表示画像を生成してもよい。
このようにユーザの視界が頭部装着型表示装置により覆われている場合には、ユーザの装着体の振動部を振動させることで、振動イベントやヒットイベントでの仮想現実感を効果的に向上できるようになる。
また本発明の一態様では、前記制御部は、前記装着体の前記振動制御に応じた演出処理を行ってもよい。
このようにすれば、装着体の振動制御に連動した演出処理を行うことが可能になり、ユーザに与える仮想現実感の更なる向上を図れるようになる。
本実施形態のシミュレーションシステムの構成例を示すブロック図。 図2(A)、図2(B)は本実施形態に用いられるHMDの一例。 図3(A)、図3(B)は本実施形態に用いられるHMDの他の例。 シミュレーションシステムで用いられるフィールドの説明図。 図5(A)、図5(B)は実空間のユーザと当該ユーザに対応する移動体についての説明図。 HMDに表示されるゲーム画像の例。 剣型コントローラを用いるゲームの説明図。 HMDに表示されるゲーム画像の例。 図9(A)、図9(B)は複数の振動部が設けられた装着体であるジャケットの説明図。 ソレノイドを用いた振動部の構成例。 図11(A)、図11(B)は実空間でのユーザの移動に応じた仮想空間のユーザ移動体の移動処理の説明図。 図12(A)、図12(B)は弾のヒット時における振動制御手法の説明図。 図13(A)、図13(B)はヒット情報に基づく振動部の振動制御手法の説明図。 図14(A)、図14(B)はヒット情報に基づく振動部の振動制御手法の説明図。 図15(A)、図15(B)はヒット情報のヒット位置に基づく振動部の選択手法の説明図。 図16(A)〜図16(C)はヒット情報のヒット速度やヒットイベントの種類、内容に応じた振動間隔の設定手法の説明図。 図17(A)〜図17(D)はヒットイベント、振動イベントの種々の例の説明図。 本実施形態の詳細な処理例を説明するフローチャート。 本実施形態の詳細な処理例を説明するフローチャート。
以下、本実施形態について説明する。なお、以下に説明する本実施形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また本実施形態で説明される構成の全てが、本発明の必須構成要件であるとは限らない。
1.シミュレーションシステム
図1は、本実施形態のシミュレーションシステム(シミュレータ、ゲームシステム)の構成例を示すブロック図である。本実施形態のシミュレーションシステムは例えばバーチャルリアリティ(VR)をシミュレートするシステムであり、ゲームコンテンツを提供するゲームシステム、スポーツ競技シミュレータや運転シミュレータなどのリアルタイムシミュレーションシステム、SNSのサービスを提供するシステム、映像等のコンテンツを提供するコンテンツ提供システム、或いは遠隔作業を実現するオペレーティングシステムなどの種々のシステムに適用可能である。なお、本実施形態のシミュレーションシステムは図1の構成に限定されず、その構成要素(各部)の一部を省略したり、他の構成要素を追加するなどの種々の変形実施が可能である。
装着体50は、ユーザが身体に装着するものである。身体は、例えばユーザの首よりも下方の部分(胴体、腰、脚部又は腕等)である。装着体50には複数の振動部V1〜VNが設けられている。振動部V1〜VNは取付具により装着体50に取り付けられている。
操作部160は、ユーザ(プレーヤ)が種々の操作情報(入力情報)を入力するためのものである。操作部160は、例えば操作ボタン、方向指示キー、ジョイスティック、ハンドル、ペダル又はレバー等の種々の操作デバイスにより実現できる。操作部160は、例えばユーザの装備品であるガン型コントローラや剣型コントローラ等のコントローラなどにより実現できる。
記憶部170は各種の情報を記憶する。記憶部170は、処理部100や通信部196などのワーク領域として機能する。ゲームプログラムや、ゲームプログラムの実行に必要なゲームデータは、この記憶部170に保持される。記憶部170の機能は、半導体メモリ(DRAM、VRAM)、HDD(ハードディスクドライブ)、SSD、光ディスク装置などにより実現できる。記憶部170は、オブジェクト情報記憶部172、描画バッファ178を含む。
情報記憶媒体180(コンピュータにより読み取り可能な媒体)は、プログラムやデータなどを格納するものであり、その機能は、光ディスク(DVD、BD、CD)、HDD、或いは半導体メモリ(ROM)などにより実現できる。処理部100は、情報記憶媒体180に格納されるプログラム(データ)に基づいて本実施形態の種々の処理を行う。即ち情報記憶媒体180には、本実施形態の各部としてコンピュータ(入力装置、処理部、記憶部、出力部を備える装置)を機能させるためのプログラム(各部の処理をコンピュータに実行させるためのプログラム)が記憶される。
HMD200(頭部装着型表示装置)は、ユーザの頭部に装着されて、ユーザの眼前に画像を表示する装置である。HMD200は非透過型であることが望ましいが、透過型であってもよい。またHMD200は、いわゆるメガネタイプのHMDであってもよい。
HMD200は、センサ部210、表示部220、処理部240を含む。なおHMD200に発光素子を設ける変形実施も可能である。センサ部210は、例えばヘッドトラッキングなどのトラッキング処理を実現するためものである。例えばセンサ部210を用いたトラッキング処理により、HMD200の位置、方向を特定する。HMD200の位置、方向が特定されることで、ユーザの視点位置、視線方向(ユーザの位置、方向)を特定できる。
トラッキング方式としては種々の方式を採用できる。トラッキング方式の一例である第1のトラッキング方式では、後述の図2(A)、図2(B)で詳細に説明するように、センサ部210として複数の受光素子(フォトダイオード等)を設ける。そして外部に設けられた発光素子(LED等)からの光(レーザー等)をこれらの複数の受光素子により受光することで、現実世界の3次元空間でのHMD200(ユーザの頭部)の位置、方向を特定する。第2のトラッキング方式では、後述の図3(A)、図3(B)で詳細に説明するように、複数の発光素子(LED)をHMD200に設ける。そして、これらの複数の発光素子からの光を、外部に設けられた撮像部で撮像することで、HMD200の位置、方向を特定する。第3のトラッキング方式では、センサ部210としてモーションセンサを設け、このモーションセンサを用いてHMD200の位置、方向を特定する。モーションセンサは例えば加速度センサやジャイロセンサなどにより実現できる。例えば3軸の加速度センサと3軸のジャイロセンサを用いた6軸のモーションセンサを用いることで、現実世界の3次元空間でのHMD200の位置、方向を特定できる。なお、第1のトラッキング方式と第2のトラッキング方式の組合わせ、或いは第1のトラッキング方式と第3のトラッキング方式の組合わせなどにより、HMD200の位置、方向を特定してもよい。またHMD200の位置、方向を特定することでユーザの視点位置、視線方向を特定するのではなく、ユーザの視点位置、視線方向(位置、方向)を直接に特定するトラッキング処理を採用してもよい。
HMD200の表示部220は例えば有機ELディスプレイ(OEL)や液晶ディスプレイ(LCD)などにより実現できる。例えばHMD200の表示部220には、ユーザの左目の前に設定される第1のディスプレイ又は第1の表示領域と、右目の前に設定される第2のディスプレイ又は第2の表示領域が設けられており、立体視表示が可能になっている。立体視表示を行う場合には、例えば視差が異なる左目用画像と右目用画像を生成し、第1のディスプレイに左目用画像を表示し、第2のディスプレイに右目用画像を表示する。或いは1つのディスプレイの第1の表示領域に左目用画像を表示し、第2の表示領域に右目用画像を表示する。またHMD200には左目用、右目用の2つの接眼レンズ(魚眼レンズ)が設けられており、これによりユーザの視界の全周囲に亘って広がるVR空間が表現される。そして接眼レンズ等の光学系で生じる歪みを補正するための補正処理が、左目用画像、右目用画像に対して行われる。この補正処理は表示処理部120が行う。
HMD200の処理部240は、HMD200において必要な各種の処理を行う。例えば処理部240は、センサ部210の制御処理や表示部220の表示制御処理などを行う。また処理部240が、3次元音響(立体音響)処理を行って、3次元的な音の方向や距離や広がりの再現を実現してもよい。
音出力部192は、本実施形態により生成された音を出力するものであり、例えばスピーカ又はヘッドホン等により実現できる。
I/F(インターフェース)部194は、携帯型情報記憶媒体195とのインターフェース処理を行うものであり、その機能はI/F処理用のASICなどにより実現できる。携帯型情報記憶媒体195は、ユーザが各種の情報を保存するためのものであり、電源が非供給になった場合にもこれらの情報の記憶を保持する記憶装置である。携帯型情報記憶媒体195は、ICカード(メモリカード)、USBメモリ、或いは磁気カードなどにより実現できる。
通信部196は、有線や無線のネットワークを介して外部(他の装置)との間で通信を行うものであり、その機能は、通信用ASIC又は通信用プロセッサなどのハードウェアや、通信用ファームウェアにより実現できる。
なお本実施形態の各部としてコンピュータを機能させるためのプログラム(データ)は、サーバ(ホスト装置)が有する情報記憶媒体からネットワーク及び通信部196を介して情報記憶媒体180(あるいは記憶部170)に配信してもよい。このようなサーバ(ホスト装置)による情報記憶媒体の使用も本発明の範囲内に含めることができる。
処理部100(プロセッサ)は、操作部160からの操作情報や、HMD200でのトラッキング情報(HMDの位置及び方向の少なくとも一方の情報。視点位置及び視線方向の少なくとも一方の情報)や、プログラムなどに基づいて、ゲーム処理(シミュレーション処理)、仮想空間設定処理、移動体処理、仮想カメラ制御処理、表示処理、或いは音処理などを行う。
処理部100の各部が行う本実施形態の各処理(各機能)はプロセッサ(ハードウェアを含むプロセッサ)により実現できる。例えば本実施形態の各処理は、プログラム等の情報に基づき動作するプロセッサと、プログラム等の情報を記憶するメモリにより実現できる。プロセッサは、例えば各部の機能が個別のハードウェアで実現されてもよいし、或いは各部の機能が一体のハードウェアで実現されてもよい。例えば、プロセッサはハードウェアを含み、そのハードウェアは、デジタル信号を処理する回路及びアナログ信号を処理する回路の少なくとも一方を含むことができる。例えば、プロセッサは、回路基板に実装された1又は複数の回路装置(例えばIC等)や、1又は複数の回路素子(例えば抵抗、キャパシター等)で構成することもできる。プロセッサは、例えばCPU(Central Processing Unit)であってもよい。但し、プロセッサはCPUに限定されるものではなく、GPU(Graphics Processing Unit)、或いはDSP(Digital Signal Processor)等、各種のプロセッサを用いることが可能である。またプロセッサはASICによるハードウェア回路であってもよい。またプロセッサは、アナログ信号を処理するアンプ回路やフィルター回路等を含んでもよい。メモリ(記憶部170)は、SRAM、DRAM等の半導体メモリであってもよいし、レジスターであってもよい。或いはハードディスク装置(HDD)等の磁気記憶装置であってもよいし、光学ディスク装置等の光学式記憶装置であってもよい。例えば、メモリはコンピュータにより読み取り可能な命令を格納しており、当該命令がプロセッサにより実行されることで、処理部100の各部の処理(機能)が実現されることになる。ここでの命令は、プログラムを構成する命令セットでもよいし、プロセッサのハードウェア回路に対して動作を指示する命令であってもよい。
処理部100は、入力処理部102、演算処理部110、出力処理部140を含む。演算処理部110は、情報取得部111、仮想空間設定部112、移動体処理部113、仮想カメラ制御部114、ゲーム処理部115、制御部118、表示処理部120、音処理部130を含む。上述したように、これらの各部により実行される本実施形態の各処理は、プロセッサ(或いはプロセッサ及びメモリ)により実現できる。なお、これらの構成要素(各部)の一部を省略したり、他の構成要素を追加するなどの種々の変形実施が可能である。
入力処理部102は、操作情報やトラッキング情報を受け付ける処理や、記憶部170から情報を読み出す処理や、通信部196を介して情報を受信する処理を、入力処理として行う。例えば入力処理部102は、操作部160を用いてユーザが入力した操作情報やHMD200のセンサ部210等により検出されたトラッキング情報を取得する処理や、読み出し命令で指定された情報を、記憶部170から読み出す処理や、外部装置(サーバ等)からネットワークを介して情報を受信する処理を、入力処理として行う。ここで受信処理は、通信部196に情報の受信を指示したり、通信部196が受信した情報を取得して記憶部170に書き込む処理などである。
演算処理部110は、各種の演算処理を行う。例えば情報取得処理、仮想空間設定処理、移動体処理、仮想カメラ制御処理、ゲーム処理(シミュレーション処理)、制御処理、表示処理、或いは音処理などの演算処理を行う。
情報取得部111(情報取得処理のプログラムモジュール)は種々の情報の取得処理を行う。例えば情報取得部111は、ユーザの位置情報、方向情報及び姿勢情報の少なくとも1つを含むユーザ情報(ユーザトラッキング情報)を取得する。
仮想空間設定部112(仮想空間設定処理のプログラムモジュール)は、複数のオブジェクトが配置される仮想空間(オブジェクト空間)の設定処理を行う。例えば、移動体(人、ロボット、車、電車、飛行機、船、モンスター又は動物等)、マップ(地形)、建物、観客席、コース(道路)、樹木、壁、水面などの表示物を表す各種オブジェクト(ポリゴン、自由曲面又はサブディビジョンサーフェイスなどのプリミティブ面で構成されるオブジェクト)を仮想空間に配置設定する処理を行う。即ちワールド座標系でのオブジェクトの位置や回転角度(向き、方向と同義)を決定し、その位置(X、Y、Z)にその回転角度(X、Y、Z軸回りでの回転角度)でオブジェクトを配置する。具体的には、記憶部170のオブジェクト情報記憶部172には、仮想空間でのオブジェクト(パーツオブジェクト)の位置、回転角度、移動速度、移動方向等の情報であるオブジェクト情報がオブジェクト番号に対応づけて記憶される。仮想空間設定部112は、例えば各フレーム毎にこのオブジェクト情報を更新する処理などを行う。
移動体処理部113(移動体処理のプログラムモジュール)は、仮想空間内で移動する移動体についての種々の処理を行う。例えば仮想空間(オブジェクト空間、ゲーム空間)において移動体を移動させる処理や、移動体を動作させる処理を行う。例えば移動体処理部113は、操作部160によりユーザが入力した操作情報や、取得されたトラッキング情報や、プログラム(移動・動作アルゴリズム)や、各種データ(モーションデータ)などに基づいて、移動体(モデルオブジェクト)を仮想空間内で移動させたり、移動体を動作(モーション、アニメーション)させる制御処理を行う。具体的には、移動体の移動情報(位置、回転角度、速度、或いは加速度)や動作情報(パーツオブジェクトの位置、或いは回転角度)を、1フレーム(例えば1/60秒)毎に順次求めるシミュレーション処理を行う。なおフレームは、移動体の移動・動作処理(シミュレーション処理)や画像生成処理を行う時間の単位である。移動体は、例えば実空間のユーザ(プレーヤ)に対応する仮想空間の仮想ユーザ(仮想プレーヤ、アバター)や、或いは当該仮想ユーザが搭乗(操作)する搭乗移動体(操作移動体)などである。
ゲーム処理部115(ゲーム処理のプログラムモジュール)はユーザがゲームをプレイするための種々のゲーム処理を行う。別の言い方をすれば、ゲーム処理部115(シミュレーション処理部)は、ユーザが仮想現実(バーチャルリアリティ)を体験するための種々のシミュレーション処理を実行する。ゲーム処理は、例えば、ゲーム開始条件が満たされた場合にゲームを開始する処理、開始したゲームを進行させる処理、ゲーム終了条件が満たされた場合にゲームを終了する処理、或いはゲーム成績を演算する処理などである。ゲーム処理部115はヒット演算処理部116を含む。ヒット演算処理部116は、ヒット判定処理などのヒット演算処理を実行する。
制御部118(制御処理のプログラムモジュール)は、装着体50の複数の振動部V1〜VNの制御処理を行う。制御部118の詳細については後述する。
表示処理部120(表示処理のプログラムモジュール)は、ゲーム画像(シミュレーション画像)の表示処理を行う。例えば処理部100で行われる種々の処理(ゲーム処理、シミュレーション処理)の結果に基づいて描画処理を行い、これにより画像を生成し、HMD200の表示部220に表示する。具体的には、座標変換(ワールド座標変換、カメラ座標変換)、クリッピング処理、透視変換、或いは光源処理等のジオメトリ処理が行われ、その処理結果に基づいて、描画データ(プリミティブ面の頂点の位置座標、テクスチャ座標、色データ、法線ベクトル或いはα値等)が作成される。そして、この描画データ(プリミティブ面データ)に基づいて、透視変換後(ジオメトリ処理後)のオブジェクト(1又は複数プリミティブ面)を、描画バッファ178(フレームバッファ、ワークバッファ等のピクセル単位で画像情報を記憶できるバッファ)に描画する。これにより、オブジェクト空間(仮想空間)において仮想カメラ(所与の視点。左目用、右目用の第1、第2の視点)から見える画像が生成される。なお、表示処理部120で行われる描画処理は、頂点シェーダ処理やピクセルシェーダ処理等により実現することができる。
音処理部130(音処理のプログラムモジュール)は、処理部100で行われる種々の処理の結果に基づいて音処理を行う。具体的には、楽曲(音楽、BGM)、効果音、又は音声などのゲーム音を生成し、ゲーム音を音出力部192に出力させる。なお音処理部130の音処理の一部(例えば3次元音響処理)を、HMD200の処理部240により実現してもよい。
出力処理部140は各種の情報の出力処理を行う。例えば出力処理部140は、記憶部170に情報を書き込む処理や、通信部196を介して情報を送信する処理を、出力処理として行う。例えば出力処理部140は、書き込み命令で指定された情報を、記憶部170に書き込む処理や、外部の装置(サーバ等)に対してネットワークを介して情報を送信する処理を行う。送信処理は、通信部196に情報の送信を指示したり、送信する情報を通信部196に指示する処理などである。
そして本実施形態のシミュレーションシステムは、ゲーム処理部115と、制御部118と、表示処理部120を含む。また仮想空間設定部112と、移動体処理部113を更に含むことができる。
仮想空間設定部112は仮想空間の設定処理を行う。例えば、移動体、障害物、背景又はマップのオブジェクトを仮想空間に配置設定する処理を行う。例えば実空間でのユーザの位置情報、方向情報が取得された場合に、取得された位置情報、方向情報に基づいて、ユーザに対応するユーザ移動体(ユーザキャラクタ等)の位置、方向を設定して、仮想空間に配置する処理を行う。オブジェクトであるユーザ移動体の位置、方向等の情報は、例えばオブジェクト情報記憶部172に記憶される。ユーザ移動体は、例えば実空間でユーザの移動に追従して仮想空間(オブジェクト空間)において移動するオブジェクト(表示物)である。ユーザ移動体としては、ユーザに対応するアバター移動体(ユーザキャラクタ、仮想ユーザ)や、アバター移動体が搭乗する搭乗移動体や、アバター移動体が装着する外殻移動体などがある。外殻移動体は、アバター移動体(ゴースト)に重なるように配置されて仮想空間を移動する。外殻移動体は、アバター移動体を内包する移動体であり、ユーザの義体として表現されるものある。
なお、ゲーム処理に基づく画像が表示される表示部としてHMD200を用いない場合等において、ユーザ移動体は、操作部160からの操作情報に基づいてゲーム空間(仮想空間)を移動するものであってもよい。例えば現実世界のユーザは、表示部の画像を見ながら操作部160を操作してゲームをプレイする。そしてユーザ移動体は、操作部160の操作に応じてゲーム空間を移動する。
移動体処理部113は、仮想空間を移動するユーザ移動体の移動処理を行う。例えば移動体処理部113は、ユーザに対応するユーザ移動体(アバター移動体、搭乗移動体、外殻移動体)を、情報取得部111により取得されたユーザ情報(位置情報、方向情報)に基づいて、仮想空間において移動させる処理を行う。例えば実空間でのユーザの移動に追従して移動するように、仮想空間でユーザ移動体を移動させる。例えばユーザ移動体の移動速度や移動加速度に基づいて、ユーザ移動体の位置等をフレーム毎に更新する処理を行って、ユーザ移動体を仮想空間(仮想フィールド)において移動させる。また移動体処理部113は、情報取得部111により取得されたユーザ情報(姿勢情報)に基づいて、ユーザ移動体を動作させる処理を行う。例えばモーションデータに基づいて、ユーザ移動体の姿勢等を変化させるモーション処理を行う。
ゲーム処理部115は、ユーザが身体に装着体50を装着してプレイするゲームのゲーム処理を行う。例えばゲーム処理部115は、仮想空間でのゲームの処理を行う。例えばゲームを開始する処理、ゲームを進行させる処理、ゲームを終了する処理、或いはゲーム成績を演算する処理などのゲーム処理を行う。
表示処理部120は、ゲーム処理の結果に基づいて表示画像を生成する。例えばユーザが装着するHMD200の表示画像を生成する。例えば仮想空間において仮想カメラから見える画像を、表示画像として生成する。例えば仮想カメラ制御部114は、ユーザの視点に対応する仮想カメラの制御処理を行う。例えば仮想カメラ制御部114は、ユーザの一人称視点として設定される仮想カメラの制御を行う。例えば仮想空間において移動する移動体(仮想プレーヤ等)の視点に対応する位置に、仮想カメラを設定して、仮想カメラの視点位置や視線方向を設定することで、仮想カメラの位置(位置座標)や姿勢(回転軸回りでの回転角度)を制御する。そして表示処理部120は、HMD200等の表示画像(表示映像)として、仮想空間において仮想カメラ(ユーザ視点)から見える画像を生成する。例えば仮想空間であるオブジェクト空間において所与の視点から見える画像を生成する。生成される画像は例えば立体視用の画像である。
そして本実施形態では、ユーザが身体(胴体等)に装着する装着体50には複数の振動部V1〜VNが設けられている。装着体50は、ユーザが身体(例えば首より下方の身体)に装着するものである。具体的には、後述するジャケット(ベスト)やジャンパーなどの上着、或いはズボンなどの衣服である。但し装着体は剣ゲームにおける鎧のようなものであってもよいし、自然体験ゲームにおける身体の装備品であってもよい。
そして制御部118は、装着体50の複数の振動部V1〜VNの振動制御を行う。例えばゲーム処理部115はゲーム処理を行い、制御部118は、ゲーム状況に応じて、装着体50の複数の振動部V1〜VNの振動制御を行う。
具体的には本実施形態では、装着体50の前面部に、少なくとも1つの前面側振動部が設けられ、装着体50の後面部に、少なくとも1つの後面側振動部が設けられる。前面部は、装着体50を装着するユーザの例えば正面側であり、後面部は、装着体50を装着するユーザの例えば背面側である。
そしてゲーム処理部115は、ユーザ移動体と他のオブジェクトとのヒット演算処理を行う。そしてヒット演算処理により、ヒット方向及びヒット位置の少なくとも一方を含むヒット情報を求める。このヒット演算処理はヒット演算処理部116が実行する。
ここで、他のオブジェクトは、ユーザ移動体にヒットする被ヒット物であり、仮想空間において表示されるオブジェクトであってもよいし、仮想空間において非表示の仮想的なオブジェクトであってもよい。他のオブジェクトは、弾や剣等の攻撃用のオブジェクトであってもよいし、自然体験シミュレーションにおける落石等のオブジェクトであってもよいし、仮想空間に配置される障害物、壁等の配置オブジェクトであってもよい。
またヒット方向(ヒットベクトル、攻撃方向、攻撃ベクトル)は、例えばユーザ移動体に他のオブジェクトがヒットしたときの他のオブジェクトの移動方向である。例えばヒット方向は、ユーザ移動体に向かって飛翔する他のオブジェクトの軌道に基づいて特定できる。ヒット位置は、ユーザ移動体に対して他のオブジェクトがヒットした位置(当たった位置、衝突位置)である。例えばヒット判定処理における交差判定処理での交差位置に基づいてヒット位置を特定できる。またヒット情報は、このようなヒット方向、ヒット位置以外に、ヒット速度、ヒットの強さ又はヒットの属性などの情報を含むことができる。
そして制御部118は、ユーザ移動体と他のオブジェクトとのヒットイベントが発生した場合に、ヒット情報に基づいて、装着体50の振動部の振動制御を行う。即ちゲーム処理部115(ヒット演算処理部116)が、他のオブジェクトのヒット方向及びヒット位置の少なくとも一方を含むヒット情報を求め、制御部118は、このヒット情報に基づいて、装着体50の振動部の振動制御を行う。このようにすれば、ヒット演算処理でのヒット情報(ヒット方向、ヒット位置等)を反映させた振動制御を実現できるようになる。
なお、ヒット情報を、ヒットイベントが発生した後に求め、求められたヒット情報に基づいて振動制御を行ってもよい。或いは、ヒットイベントが発生する前に、ヒット情報(予測ヒット情報)を事前に求めておいて、ヒットイベントが発生した場合に、事前に求められたヒット情報(予測ヒット情報)に基づいて、振動制御を行ってもよい。
そして制御部118は、ヒットイベントが発生した場合に、ヒット方向及びヒット位置の少なくとも一方を含むヒット情報に基づいて、前面側振動部及び後面側振動部の一方の振動部である第1の振動部を振動させた後、前面側振動部及び後面側振動部の他方の振動部である第2の振動部を振動させる振動制御を行う。
例えば、他のオブジェクトがユーザ移動体(装着体)の前面部にヒットした場合には、前面側振動部が第1の振動部となり、後面側振動部が第2の振動部となる。一方、他のオブジェクトがユーザ移動体(装着体)の後面部にヒットした場合には、後面側振動部が第1の振動部となり、前面側振動部が第2の振動部となる。
そして制御部118は、ヒット情報に基づいて、他のオブジェクトがユーザ移動体(装着体)の前面部にヒットしたと判断した場合には、前面側振動部である第1の振動部を振動させ、所与の振動間隔の期間経過後に、後面側振動部である第2の振動部を振動させる。一方、制御部118は、ヒット情報に基づいて、他のオブジェクトがユーザ移動体(装着体)の後面部にヒットしたと判断した場合には、後面側振動部である第1の振動部を振動させ、所与の振動間隔の期間経過後に、前面側振動部である第2の振動部を振動させる。このようにすれば、弾や剣等の他のオブジェクトが、あたかもユーザの身体を貫通したかのような仮想現実感をユーザに与えることが可能になる。
また制御部118は、第1の振動部として複数の第1の振動部が設けられる場合に、複数の第1の振動部の中から振動させる振動部を選択する処理を、ヒット情報に基づいて行う。また制御部118は、第2の振動部として複数の第2の振動部が設けられる場合に、複数の第2の振動部の中から振動させる振動部を選択する処理を、ヒット情報に基づいて行う。例えばヒット方向又はヒット位置などのヒット情報に基づいて、複数の第1の振動部の中から選択された振動部を振動させる。またヒット方向又はヒット位置などのヒット情報に基づいて、複数の第2の振動部の中から選択された振動部を振動させる。
例えば他のオブジェクトがユーザ移動体の前面部にヒットした場合には、前面側振動部が第1の振動部となり、後面側振動部が第2の振動部となる。従って、この場合には、複数の前面側振動部である複数の第1の振動部の中からヒット情報に基づき選択された振動部を振動させる。そして所与の振動間隔の期間経過後に、複数の後面側振動部である複数の第2の振動部の中からヒット情報に基づき選択された振動部を振動させる。
例えば他のオブジェクトがユーザ移動体の後面部にヒットした場合には、後面側振動部が第1の振動部となり、前面側振動部が第2の振動部となる。従って、この場合には、複数の後面側振動部である第1の振動部の中からヒット情報に基づき選択された振動部を振動させる。そして所与の振動間隔の期間経過後に、複数の前面側振動部である第2の振動部の中からヒット情報に基づき選択された振動部を振動させる。
このようにすれば、あたかもユーザの身体を貫通したかのような仮想現実感をユーザに与えることができる共に、ヒット演算処理でのヒット情報(ヒット方向、ヒット位置)を反映させた振動制御を実現できるようになる。
また制御部118は、第1の振動部を振動させる第1のタイミングから、第2の振動部を振動させる第2のタイミングまでの振動間隔の長さを変化させる。第1の振動部は、先に振動させる方の振動部であり、前面側振動部及び後面側振動部の一方の振動部である。第2の振動部は、後に振動させる方の振動部であり、前面側振動部及び後面側振動部の他方の振動部である。例えば制御部118は、ヒットイベント(広義には振動イベント)の種類又は内容に応じて、振動間隔の長さを変化させる。例えば、ピストルの弾がヒットするイベント、ライフルの弾がヒットするイベント、バズーカの弾がヒットするイベント、ミサイルがヒットするイベント、剣がヒットするイベントというように、ヒットイベントのカテゴリーがグループ分けされる場合に、どのカテゴリーのグループに属するかが、ヒットイベントの種類になる。またヒットイベントの内容は、例えばヒットの強さパラメータ、ヒットの攻撃力パラメータ、ヒットの速さパラメータ、又はヒットの属性パラメータなど、ヒット演算処理のパラメータにより表されるものである。例えば同じ種類(カテゴリーのグループ)のヒットイベント(ピストル、ライフル、バズーカ、ミサイル、剣)であっても、ヒット演算処理のパラメータが異なれば、ヒットイベントの内容が異なることになる。
またヒット情報はヒット速度を含み、制御部118は、ヒット速度に基づいて振動間隔の長さを変化させる。例えばヒット速度に応じて、振動間隔の長さを増加したり、減少させる。ヒット速度は、ヒットの速さパラメータであり、例えば、弾やミサイルの速度である。制御部118は、例えばヒットする弾、ミサイル等の速度が速い場合には、振動間隔を短くし、速度が遅い場合には、振動間隔を長くする。こうすることで、更にリアルな貫通表現等を実現できるようになる。
なお以上では、振動イベントが、ユーザ移動体と他のオブジェクトとのヒットイベントである場合について説明したが、本実施形態はこれに限定されず、振動イベントは、ヒットイベント以外のイベントであってもよい。振動イベントは、他のオブジェクトがユーザ移動体にヒットするイベントだけではなく、例えばユーザ移動体から離れた場所で発生する爆発イベント、ユーザ移動体の身体の状態(例えば震える、身体が破壊される等)から発生するイベントなどの種々のイベントを想定できる。そして制御部118は、第1の振動部を振動させる第1のタイミングから、第2の振動部を振動させる第2のタイミングまでの期間の長さを、ゲームにおいて発生する振動イベントの種類又は内容に応じて変化させてもよい。
また本実施形態では、表示処理部120は、ユーザが視界を覆うように装着するHMD200の表示画像を生成している。このように、ユーザが視界を覆うようにHMD200を装着する場合には、装着体の振動部を振動させるような体感装置は、ユーザの仮想現実感の向上のために有効である。
但し、表示処理部120は、HMD200以外の表示部の表示画像を生成してもよい。例えば家庭用ゲーム装置におけるテレビ、パーソナルコンピュータや業務用ゲーム装置におけるモニターディプレイなどの表示部の表示画像を生成してもよい。
また制御部118は、装着体50の振動制御に応じた演出処理を行う。例えば装着体50の振動部の振動制御に連動して、ゲーム音での効果音の演出処理を行ったり、ゲーム画像での演出画像の生成処理を行う。例えば振動させる振動部の個数、振動させる振動部の範囲、或いは振動のタイミングに合わせて、効果音を出力したり、演出画像を表示する。例えば振動部の個数が多いほど、或いは振動部の範囲が広いほど、振動に伴い出力される効果音の音量を大きくしたり、より演出効果の高い演出画像を表示する。また第1の振動部を第1のタイミングで振動させた後、第2のタイミングで第2の振動部を振動させる場合に、これらの第1、第2のタイミングにおいて、対応する効果音を出力したり、演出画像を表示する。例えば振動部の各振動制御に対して、効果音や演出画像を対応づけて記憶部170に記憶しておき、制御部118は、各振動制御に対応づけた効果音を出力したり、演出画像を表示する制御を行うようにする。このようにすることで、振動部の振動制御に連動した効果音の出力や演出画像の表示が可能になり、より演出効果の高い振動制御を実現できるようになる。
また本実施形態では情報取得部111は、例えば視界を覆うようにHMD200を装着するユーザの位置情報、方向情報及び姿勢情報の少なくとも1つを含むユーザ情報を取得する。例えば情報取得部111は、HMD200のトラッキング情報などに基づいて、実空間でのユーザの位置情報、方向情報及び姿勢情報の少なくとも1つを含むユーザ情報(ユーザトラッキング情報)を取得する。位置情報は、実空間でのユーザの視点の位置情報であってもよく、方向情報は、実空間でのユーザの視線の方向情報であってもよい。位置情報、方向情報は、ユーザが実空間(現実世界)のフィールド(プレイフィールド、シミュレーションフィールド、プレイエリア)に位置する場合に、そのフィールドでの位置情報、方向情報(所与の位置を原点とする座標系での位置座標、各座標軸回りでの回転角度)であってもよい。姿勢情報は、ユーザの各姿勢(立ち姿勢、しゃがみ姿勢又は座り姿勢等)を特定したり、或いはユーザの各部位(胴体、頭、手又は足等)の位置、方向を特定するための情報である。例えば情報取得部111は、HMD200の位置情報、方向情報を、当該HMD200を装着するユーザの位置情報、方向情報として取得してもよい。
また仮想カメラ制御部114は、ユーザの視点情報のトラッキング情報に基づいて、ユーザの視点変化に追従するように仮想カメラを制御する。
例えば入力処理部102(入力受け付け部)は、HMD200を装着するユーザの視点情報のトラッキング情報を取得する。例えばユーザの視点位置、視線方向の少なくとも1つである視点情報のトラッキング情報(視点トラッキング情報)を取得する。このトラッキング情報は、例えばHMD200のトラッキング処理を行うことで取得できる。なおトラッキング処理によりユーザの視点位置、視線方向を直接に取得するようにしてもよい。一例としては、トラッキング情報は、ユーザの初期視点位置からの視点位置の変化情報(視点位置の座標の変化値)、及び、ユーザの初期視線方向からの視線方向の変化情報(視線方向の回転軸回りでの回転角度の変化値)の少なくとも一方を含むことができる。このようなトラッキング情報が含む視点情報の変化情報に基づいて、ユーザの視点位置や視線方向(ユーザの頭部の位置、姿勢の情報)を特定できる。
そして仮想カメラ制御部114は、取得されたトラッキング情報(ユーザの視点位置及び視線方向の少なくとも一方の情報)に基づいて仮想カメラの視点位置、視線方向を変化させる。例えば、仮想カメラ制御部114は、実空間でのユーザの視点位置、視線方向の変化に応じて、仮想空間での仮想カメラの視点位置、視線方向(位置、姿勢)が変化するように、仮想カメラを設定する。このようにすることで、ユーザの視点情報のトラッキング情報に基づいて、ユーザの視点変化に追従するように仮想カメラを制御できる。
また本実施形態では、ユーザがプレイするゲームのゲーム処理として、仮想現実のシミュレーション処理を行う。仮想現実のシミュレーション処理は、実空間での事象を仮想空間で模擬するためのシミュレーション処理であり、当該事象をユーザに仮想体験させるための処理である。例えば実空間のユーザに対応するアバター移動体(仮想ユーザ)やその搭乗移動体などのユーザ移動体を、仮想空間で移動させたり、移動に伴う環境や周囲の変化をユーザに体感させるための処理を行う。
なお図1の本実施形態のシミュレーションシステムの処理は、施設に設置されるPC等の処理装置、ユーザが装着する処理装置、或いはこれらの処理装置の分散処理などにより実現できる。或いは、本実施形態のシミュレーションシステムの処理を、サーバシステムと端末装置により実現してもよい。例えばサーバシステムと端末装置の分散処理などにより実現してもよい。
2.トラッキング処理
次にトラッキング処理の例について説明する。図2(A)に本実施形態のシミュレーションシステムに用いられるHMD200の一例を示す。図2(A)に示すようにHMD200には複数の受光素子201、202、203(フォトダイオード)が設けられている。受光素子201、202はHMD200の前面部に設けられ、受光素子203はHMD200の左側面に設けられている。またHMDの右側面、上面等にも不図示の受光素子が設けられている。
またユーザUSは、現実世界の銃を模したガン型コントローラ290を所持しており、このガン型コントローラ290にも、受光素子204、205(フォトダイオード)が設けられている。これらの受光素子204、205を用いることで、ガン型コントローラ290の位置や方向を特定できる。またガン型コントローラ290には、銃の引き金のスイッチが設けられており、このスイッチを操作することで、仮想空間の移動体が銃を発砲する。なおガン型コントローラ290には少なくとも1つの受光素子が設けられていればよい。
またHMD200には、ヘッドバンド260等が設けられており、ユーザUSは、より良い装着感で安定的に頭部にHMD200を装着できるようになっている。また、HMD200には、不図示のヘッドホン端子が設けられており、このヘッドホン端子にヘッドホン270(音出力部192)を接続することで、例えば3次元音響(3次元オーディオ)の処理が施されたゲーム音を、ユーザUSは聴くことが可能になる。なお、ユーザUSの頭部の頷き動作や首振り動作をHMD200のセンサ部210等により検出することで、ユーザUSの操作情報を入力できるようにしてもよい。
またユーザUSは、処理装置250を例えば背中に装着している。例えばユーザUSはジャケット(ベスト)を着ており、このジャケットの背面側に処理装置250が取り付けられている。処理装置250は例えばノート型PC等の情報処理装置により実現される。そしてこの処理装置250とHMD200はケーブル252により接続されている。例えば処理装置250は、HMD200に表示される画像(ゲーム画像等)の生成処理を行い、生成された画像のデータがケーブル252を介してHMD200に送られ、HMD200に表示される。この処理装置250は、このような画像の生成処理以外にも、本実施形態の各処理(情報取得処理、仮想空間設定処理、移動体処理、仮想カメラ制御処理、ゲーム処理、制御処理、表示処理又は音処理等)を行うことが可能になっている。なお、本実施形態の各処理を、施設に設置されたPC等の処理装置(不図示)により実現したり、当該処理装置と、ユーザUSが装着する処理装置250の分散処理により実現してもよい。
図2(B)に示すように、ユーザUSの周辺には、ベースステーション280、284が設置されている。ベースステーション280には発光素子281、282が設けられ、ベースステーション284には発光素子285、286が設けられている。発光素子281、282、285、286は、例えばレーザー(赤外線レーザー等)を出射するLEDにより実現される。ベースステーション280、284は、これら発光素子281、282、285、286を用いて、例えばレーザーを放射状に出射する。そして図2(A)のHMD200に設けられた受光素子201〜203等が、ベースステーション280、284からのレーザーを受光することで、HMD200のトラッキングが実現され、ユーザUSの頭の位置や向く方向(視点位置、視線方向)を検出できるようになる。またガン型コントローラ290に設けられる受光素子204、205が、ベースステーション280、284からのレーザーを受光することで、ガン型コントローラ290の位置及び方向の少なくとも一方を検出できるようになる。
図3(A)にHMD200の他の例を示す。図3(A)では、HMD200に対して複数の発光素子231〜236が設けられている。これらの発光素子231〜236は例えばLEDなどにより実現される。発光素子231〜234は、HMD200の前面部に設けられ、発光素子235や不図示の発光素子236は、背面側に設けられる。これらの発光素子231〜236は、例えば可視光の帯域の光を出射(発光)する。具体的には発光素子231〜236は、互いに異なる色の光を出射する。またユーザUSが所持するガン型コントローラ290にも、発光素子237、238(LED)が設けられている。なおガン型コントローラ290には少なくとも1つの発光素子が設けられていればよい。
そして図3(B)に示す撮像部150を、ユーザUSの周囲の少なくとも1つの場所(例えば前方側、或いは前方側及び後方側など)に設置し、この撮像部150により、HMD200の発光素子231〜236の光を撮像する。即ち、撮像部150の撮像画像には、これらの発光素子231〜236のスポット光が映る。そして、この撮像画像の画像処理を行うことで、ユーザUSの頭部(HMD)のトラッキングを実現する。即ちユーザUSの頭部の3次元位置や向く方向(視点位置、視線方向)を検出する。
例えば図3(B)に示すように撮像部150には第1、第2のカメラ151、152が設けられており、これらの第1、第2のカメラ151、152の第1、第2の撮像画像を用いることで、ユーザUSの頭部の奥行き方向での位置等が検出可能になる。またHMD200に設けられたモーションセンサのモーション検出情報に基づいて、ユーザUSの頭部の回転角度(視線)も検出可能になっている。従って、このようなHMD200を用いることで、ユーザUSが、周囲の360度の全方向うちのどの方向を向いた場合にも、それに対応する仮想空間(仮想3次元空間)での画像(ユーザの視点に対応する仮想カメラから見える画像)を、HMD200の表示部220に表示することが可能になる。
また撮像部150により、ガン型コントローラ290の発光素子237、238の光を撮像する。即ち、撮像部150の撮像画像には、発光素子237、238のスポット光が映り、この撮像画像の画像処理を行うことで、HMD200の場合と同様に、ガン型コントローラ290の位置及び方向の少なくとも一方を検出できる。
なお、発光素子231〜238として、可視光ではなく赤外線のLEDを用いてもよい。また、例えばデプスカメラ等を用いるなどの他の手法で、ユーザの頭部の位置や動き等を検出するようにしてもよい。
また、ユーザの視点位置、視線方向(ユーザの位置、方向)を検出するトラッキング処理の手法は、図2(A)〜図3(B)で説明した手法には限定されない。例えばHMD200に設けられたモーションセンサ等を用いて、HMD200の単体でトラッキング処理を実現してもよい。即ち、図2(B)のベースステーション280、284、図3(B)の撮像部150などの外部装置を設けることなく、トラッキング処理を実現する。或いは、公知のアイトラッキング、フェイストラッキング又はヘッドトラッキングなどの種々の視点トラッキング手法により、ユーザの視点位置、視線方向などの視点情報等を検出してもよい。またガン型コントローラ290の位置、方向の検出を、ガン型コントローラ290に設けられたモーションセンサを用いて実現してもよい。
また図2(A)、図3(A)では、ユーザUSは、図1の装着体50の一例であるジャケット52を身体に装着している。後述の図9(A)、図9(B)に示すようにジャケット52(広義には装着体)には複数の振動部(VF1〜VF9、VB1〜VB9)が設けられている。
3.本実施形態の手法
次に本実施形態の手法について詳細に説明する。なお、以下では本実施形態の手法を、対戦ゲームに適用した場合を主に例にとり説明する。但し、本実施形態はこれに限定されず、種々のゲーム(RPG、アクションゲーム、競争ゲーム、スポーツゲーム、ホラー体験ゲーム、電車や飛行機等の乗り物のシミュレーションゲーム、パズルゲーム、コミュニケーションゲーム、或いは音楽ゲーム等)に適用でき、ゲーム以外にも適用可能である。また以下では、ユーザ移動体が、ユーザのアバター移動体(仮想ユーザ、ユーザキャラクタ)である場合を例にとり説明するが、ユーザ移動体は、ユーザが搭乗する搭乗移動体(例えばロボット、戦車、戦闘機又は車等)などであってもよい。
3.1 ゲームの説明
まず本実施形態により実現されるゲームについて説明する。図4〜図6は本実施形態により実現されるガンシューティングゲーム(FPSゲーム)の説明図である。
図4は、本実施形態のシミュレーションシステムで用いられるフィールドの説明図である。このシミュレーションシステムでは、現実世界の施設等にフィールドFL(プレイフィールド、プレイエリア、プレイ空間)が用意され、ユーザUS1〜US4はこのフィールドFLにおいて移動する。フィールドFLには、壁等により実現される仕切りWLが設けられている。
ユーザUS1〜US4は、HMD1〜HMD4を装着すると共にガン型コントローラGN1〜GN4(広義にはコントローラ)を所持している。またユーザUS1〜US4は、図2(A)で説明したような処理装置250(不図示)を例えば背中に装着している。これらのユーザUS1〜US4は、例えばチーム対戦ゲームのためにチーム(広義にはグループ)を組んでいる。HMD1〜HMD4には仮想空間での映像が映し出されており、ユーザUS1〜US4は、この映像を見ながら対戦ゲーム等のゲームをプレイする。例えばHMD1〜HMD4が非透過型のHMDである場合には、ユーザUS1〜US4の視界がHMD1〜HMD4により覆われるため、現実世界の様子を見ることが困難になる。このため、例えばユーザUS1の背後に位置するユーザUS2がユーザUS1にぶつかってしまうなどの問題が生じる。
ゲームプレイの開始前に、ユーザは、自身の分身となるユーザ移動体(アバター)を選択する。例えば図5(A)は、実空間(現実世界)のユーザUS1、US2を示しており、ユーザUS1、US2は、HMD1、HMD2を装着すると共にガン型コントローラGN1、GN2を所持している。
またユーザUS1、US2は、後述の図9(A)、図9(B)に示すようなジャケット52(装着体)を身体に装着している。
これに対して仮想空間においては、ユーザUS1、US2の分身となるユーザ移動体MV1、MV2が登場する。これらのユーザ移動体MV1、MV2は、ゲームのキャラクタの装備品や着衣を装着している。例えば義体と呼ばれる外殻移動体を装備している。またユーザ移動体MV1、MV2は、実空間のガン型コントローラGN1、GN2に対応する銃GV1、GV2(銃の表示物)を所持している。実空間のユーザUS1、US2が、ガン型コントローラGN1、GN2を上下左右に動かすと、仮想空間(仮想世界)のユーザ移動体MV1、MV2が、銃GV1、GV2を上下左右に動かすことになる。
図6は本実施形態により生成されるゲーム画像の例である。このゲーム画像は各ユーザが装着するHMDに表示される。例えば図6は、図5(A)のユーザUS1のHMD1に表示されるゲーム画像の例であり、ユーザUS1のユーザ移動体MV1の手や所持する銃GV1(銃オブジェクト)が表示されている。また味方チームのユーザUS2、US3に対応するユーザ移動体MV2、MV3や、敵チームのユーザに対応する敵移動体MB1、MB2、MB3が表示されている。味方チームのユーザ移動体MV1、MV2、MV3は、所持する銃GV1、GV2、GV3により敵側に対して攻撃を行い、敵チームの敵移動体MB1、MB2、MB3は、所持する銃GB1、GB2、GB3により攻撃を行う。
図7、図8は本実施形態により実現される剣ゲームの説明図である。図7に示すようにユーザUSは、視界を覆うようにHMD200を装着する。そして例えば右手で剣型コントローラ10を持ち、左手でコントローラ80を持つ。具体的にはユーザUSは、右手で把持部20(持ち手)を持つことで、剣のように剣型コントローラ10を持つことになる。
剣型コントローラ10には、先端部と把持部20との間に、反動及び振動の少なくとも一方を発生する発生機構30が設けられている。また後端部と把持部20の間に、振動を発生する発生機構60が設けられている。また剣型コントローラ10の先端部には、剣型コントローラ10の位置情報や姿勢情報を検出するためのコントローラ70が取り付けられている。
発生機構30は、錘32と受け部34を含む。そして発生機構30は、錘32を受け部34に衝突させることで、反動(反力)を発生する。またこの反動の発生に伴い、振動も発生させることができる。反動は、例えば他に力や作用を及ぼしたときにその反作用で押し返されることである。例えば本実施形態では、ユーザが実空間において剣型コントローラ10を持って、剣で振る動作を行う。そして仮想空間において、その剣に対応する剣のオブジェクトが敵移動体等の他のオブジェクトにヒットすると、そのヒットについての仮想的な反動が、発生機構30により実現される。例えば剣がヒットした方向とは反対方向の反力が働いたかのようにユーザが感じることができる反動を、発生機構30が発生する。これにより反力があたかも生じたかのようにユーザは感じることができ、剣のヒットによる仮想的な反動の発生を実現できる。
なお振動を発生する発生機構60は、トランスデューサーを有しており、発生機構30の反動の発生に時間的に遅れて、発生機構60による振動が発生する。また剣型コントローラ10、コントローラ80の位置情報や姿勢情報は、図2(A)〜図3(B)等で説明したトラッキング処理などにより取得される。またユーザUSは後述の図9(A)、図9(B)で説明するようなジャケット52(装着体)を身体に装着している。
図8はHMD200の表示されるゲーム画像の例である。ゲーム画像には敵移動体OBE(敵キャラクタ)や、敵移動体OBEが持つ剣SWE、盾SLEや、背景などのオブジェクトが表示されている。またユーザUSに対応するユーザ移動体(ユーザキャラクタ、アバタ)の右の手HR、左の手HLや、右の手HRが持つ剣SWや、左の手HLが持つ盾SLなどのオブジェクトも表示されている。
例えば図7の実空間においてユーザUSが右の手で持っている剣型コントローラ10を動かすと、その動きに連動して、図8の仮想空間での右の手HRや剣SWも動くようになる。また図7の実空間においてユーザUSが左の手で持っているコントローラ80を動かすと、その動きに連動して、図8の仮想空間での左の手HLや盾SLも動くようになる。即ち、実空間の剣型コントローラ10は仮想空間の剣SWに対応し、実空間のコントローラ80は仮想空間の盾SLに対応することになる。
図8は、一人称視点のゲーム画像であり、実空間のユーザUSに対応する仮想空間のユーザ移動体(ユーザキャラクタ)の視点での画像が表示されている。なお実際には、HMD200によりユーザUSに対して、視界の全周囲に亘って広がるVR空間の画像が表示される。
3.2 振動ジャケット、振動部
本実施形態のシミュレーションシステムでは、ユーザが身体に装着体50を装着してゲームをプレイする。図5(A)、図7では、装着体50としてジャケット52を着衣している。なお、以下では、装着体50がジャケット52である場合を例に説明するが、装着体50はジャケット52には限定されず、ジャケット以外のジャンパー等の上着や、ズボンや、鎧や、或いは胸、腰、腕等に装着するベルトなどの種々の身体の装着物を考えることができる。
ジャケット52には複数の振動部が設けられている。図9(A)は、ジャケット52の前面側振動部として振動部VF1〜VF9が設けられ、後面側振動部として振動部VB1〜VB9が設けられている。なお振動部の個数は任意であり、例えば前面側振動部として1〜8個又は10個以上の振動部を設けたり、後面側振動部として1〜8個又は10個以上の振動部を設けてもよい。またジャケット52の前面部と後面部の一方にだけに複数の振動部を設けてもよいし、ジャケット52の右側面や左側面などの側面に1又は複数の振動部を設けてもよい。また図9(A)、図9(B)では、複数の振動部が格子状に配置されているが、振動部の配置態様はこれに限定されず、格子状ではない2次元マトリクス状の配置や、1次元マトリクス状の配置などの種々の配置態様を想定できる。
図10は振動部(VF1〜VF9、VB1〜VB9)の実現構成の一例である。図10の振動部はソレノイド90により実現されている。ソレノイド90の一端側にはバネ94の一端が取り付けられ、このバネ94により、通常状態ではソレノイド90は方向DR1側に引っ張られている。なおバネ94の他端PJは例えばジャケット52の裏側面等に固定される。またソレノイド90は取付具96によりジャケット52に取り付けられている。
そしてソレノイド90に対して駆動信号が入力されて通電が行われると、ソレノイド90のプランジャー92が方向DR2側に移動して、ユーザの体98に当たる。これによりユーザは、弾や剣のヒット時における振動を体感できる。
なお振動部は、ソレノイド以外にも、トランスデューサー、振動モータ、バネ&振動モータ、空圧又は電動のシリンダ、リニアモータなどの種々の振動デバイスにより実現できる。
トランスデューサーは、音信号を変換するものであり、ハイパワーのサブウーハーに相当するものである。例えば図1の制御部118が音ファイルの再生処理を行うと、それによる音信号がトランスデューサーに入力される。そして例えば音信号の低域成分に基づいて振動が発生する。振動モータは、例えば、偏芯した錘を回転させることで振動を発生する。具体的には駆動軸(ローター軸)の両端に偏心した錘を取り付けてモータ自体が揺れるようにする。バネ&振動モータの組合わせでは、モータをロック解除に使用して振動を発生する。シリンダでは、空圧又は電動で図10の方向DR1、DR2に沿ってシリンダのロッド部を直線運動させる。リニアモータでも、図10の方向DR1、DR2に沿った直線運動を行わせる。
本実施形態では、ジャケット(装着体)に振動部を装着して、ゲーム状況(ヒットイベント、振動イベント)に応じて振動部の振動制御を行う手法を採用している。この振動制御手法としては種々の実現態様を想定できる。
例えばジャケット(ベスト)の前面部のみに1つの振動部を取り付けて、ゲームでのヒットイベント(広義には振動イベント)が発生した場合(制御部から被弾信号を受けた場合)に、当該振動部を振動させる。
或いはジャケットの例えば前面部等に複数の振動部を取り付けて、ゲームでのヒットイベントが発生した場合に、複数の振動部のうち選択された振動部を振動させる。例えば、ヒット位置(攻撃を受けた位置)の情報に基づいて、複数の振動部のうちのどの振動部を振動させるかを選定して振動させる。
或いは、ジャケットの前面部と後面部の各々に1個の振動部を取り付けて、ヒットイベントが発生した場合(制御部から被弾信号を受けた場合)に、前面部の振動部と後面部の振動部を時間差を設けて振動させて、弾が貫通したかのような体感をユーザに与える。
或いは、ジャケットの前面部と後面部の各々に複数の振動部を取り付けて、ヒット位置(攻撃位置)の情報やヒット方向(攻撃方向)の情報に基づいて、まず前面部の振動部のうちの、どれを振動させるかを決定し、続いて、後面部の振動部のうちのどれを振動させるかを決定する。また前面部の振動部の振動と後面部の振動部の振動の発生間隔(振動間隔)を、どのくらいの間隔にするかを、ヒット速度(攻撃速度)に応じて決定する。例えば弾丸の攻撃ならばヒット速度は速く、剣が突き刺さる攻撃ならばヒット速度が遅いと判断する。また、剣の攻撃などでは、剣を突き刺した後、剣先を円運動させるような攻撃表現を実現してもよい。具体的には前面部で振動させる振動部は同じままにして、後面部において振動させる振動部を、剣先の円運動に応じて選択する。以上のように装着体に設けられた振動部を用いた振動制御手法としては種々の実施態様を考えることができる。
3.3 振動制御の具体例
次に本実施形態の振動制御手法の具体例について説明する。図11(A)、図11(B)は実空間を移動するユーザUSと仮想空間を移動するユーザ移動体MVの関係を示す図である。
図11(A)では、実空間においてユーザUSがA1に示すように移動している。ユーザUSは、視界を覆うようにHMD200を装着し、手にはガン型コントローラGNを所持している。そして図4に示すような実空間のフィールドFLを移動する。すると、実空間において移動するユーザUSの位置情報が取得され、取得された位置情報に基づいて、図11(B)のA2に示すように、ユーザ移動体MVが仮想空間において移動する。また実空間でのユーザUSの方向情報が取得され、仮想空間のユーザ移動体MVもその方向情報に対応する方向を向くようになる。また実空間でのユーザUSの姿勢情報が取得され、仮想空間のユーザ移動体MVもその姿勢情報に対応する姿勢を取るようになる。例えば実空間においてユーザUSが、手や足を動かせば、仮想空間でのユーザ移動体MVもそれに応じて手や足を動かすようになる。
このように図11(A)、図11(B)では、ユーザの位置、方向、姿勢の変化に応じて、ユーザに対応する仮想空間のユーザ移動体の位置、方向、姿勢も変化するようになる。そしてHMDを用いるシステムでは、ユーザの視界の全周囲に亘って広大なVR空間が広がるような画像がHMDに表示されるため、ユーザの仮想現実感を格段に向上できる。
一方、ガンシューティングゲームにおいては、図6に示すように敵からの攻撃がユーザ移動体にヒットするヒットイベント(被弾イベント)が発生する。この場合にHMDの表示画像やヘッドホンへの出力音だけでは、このようなヒットイベントをユーザにリアルに体感させることは難しい。即ち、弾がヒットするような画像がHMDに表示されたり、弾のヒットを表す効果音がヘッドホンから出力されても、弾のヒットによる振動等の体感がなければ、弾がヒットしたことの仮想現実感をユーザに対して十分に与えることができない。
そこで本実施形態では、このような弾等のヒットイベント(振動イベント)などのゲーム状況に応じて、装着体に設けられた振動部を振動させる手法を採用している。
例えば図12(A)では、仮想空間において、敵からの弾SH(広義には他のオブジェクト)がユーザ移動体MVにヒットするヒットイベントが発生している。このようなヒットイベントが発生した場合に、図12(B)に示すように、実空間において、ユーザUSが装着するジャケット52の振動部VFを振動させる。
具体的には本実施形態では、仮想空間の設定処理が行われ、図11(A)、図11(B)で説明したように、仮想空間を移動するユーザ移動体MVの移動処理が行われる。またユーザUSが身体にジャケット52(装着体)を装着してプレイするゲームのゲーム処理が行われ、図6、図8に示すように、ゲーム処理の結果に基づいて、表示画像が生成される。例えば本実施形態ではこの表示画像はHMDに表示される。
そして本実施形態では図9(A)、図9(B)に示すように、装着体であるジャケット52には複数の振動部(VF1〜VF9、VB1〜VB9)が設けられる。また図12(A)に示すようにユーザ移動体MVと他のオブジェクトである弾SHとのヒット演算処理が行われる。そしてユーザ移動体MVと他のオブジェクトである弾SHとのヒットイベントが発生した場合に、装着体であるジャケット52の複数の振動部の振動制御が行われる。例えば複数の振動部の中から、弾SHのヒット方向やヒット位置などに応じて選択された振動部を振動させる振動制御が行われる。
このようにすることでユーザUSは、HMDに表示される仮想空間において、ユーザUSに対応するユーザ移動体MVに対して弾SHがヒットするイベントが発生すると、そのヒットイベントに応じて、実世界において自身が装着するジャケット52において、ヒット方向やヒット位置に対応する振動部が振動するようになる。従って、HMDのリアルな映像による仮想現実感に加えて、ジャケット52の振動部の振動による体感をユーザに与えることが可能になり、ユーザの仮想現実感を格段に向上することが可能になる。
なお、本実施形態では、図6、図8のような画像を、HMDに表示するのではなく、家庭用ゲーム装置におけるテレビや、パーソナルコンピュータや業務用ゲーム装置におけるモニターディプレイなどの表示部に表示するような実施態様でもよい。この場合には、ユーザUSが身体に装着体を装着してプレイするゲームのゲーム処理が行われ、そのゲーム処理の結果に基づいて、表示画像が生成されて表示部に表示される。この場合に表示部には、ユーザの一人称視点での画像を表示してもよいし、ユーザ移動体(ユーザキャラクタ)を後方から見た三人称視点での画像を表示してもよい。そしてユーザがゲームのコントローラ(操作部)を操作することで、ゲーム空間においてユーザ移動体が移動するようになる。
図13(A)、図13(B)はヒット情報に基づく振動部の振動制御手法の説明図である。本実施形態では、ヒット方向及びヒット位置の少なくとも一方を含むヒット情報に基づいて、複数の振動部の中から振動させる振動部を選択する処理を行う。
このようにすれば、ヒット演算処理により求められたヒット情報を反映させた振動部の振動制御を実現できるようになり、仮想空間でのゲーム状況に対応したリアルな振動制御を実現できるようになる。
具体的には図13(A)〜図14(B)では、ジャケット52(装着体)の前面部に、前面側の振動部VF1〜VF9が設けられ、ジャケット52の後面部に、後面側の振動部VB1〜VB9が設けられている。このときに本実施形態では、ヒットイベント(振動イベント)が発生した場合に、ヒット情報に基づいて、前面側の振動部及び後面側の振動部の一方の振動部である第1の振動部を振動させた後、前面側の振動部及び後面側の振動部の他方の振動部である第2の振動部を振動させる振動制御を行う。ここでヒット情報は、ヒット方向及びヒット位置の少なくとも一方を含む情報である。
即ち本実施形態では、2つの振動部の振動間隔に時間差を設けることで、あたかも弾が自身の身体を貫通したかのような仮想現実をユーザに対して与えている。そして本実施形態では、このように時間差を設けた振動において、先に振動する方の振動部を第1の振動部とし、後に振動する方の振動部を第2の振動部としている。
そして図13(A)、図13(B)は、先に振動する第1の振動部が、前面側の振動部であり、後に振動する第2の振動部が、後面側の振動部である場合の例である。例えば図13(A)では、第1の振動部である前面側の振動部VF6を振動させた後、第2の振動部である後面側の振動部VB4を振動させている。図13(B)では、第1の振動部である前面側の振動部VF2を振動させた後、第2の振動部である後面側の振動部VB5を振動させている。
一方、図14(A)、図14(B)は、先に振動する第1の振動部が、後面側の振動部であり、後に振動する第2の振動部が、前面側の振動部である場合の例である。例えば図14(A)では、第1の振動部である後面側の振動部VB4を振動させた後、第2の振動部である前面側の振動部VF6を振動させている。図14(B)では、第1の振動部である後面側の振動部VB5を振動させた後、第2の振動部である前面側の振動部VF2を振動させている。
このように本実施形態では、第1の振動部を振動させた後、第2の振動部を振動させるというように、2つの振動部の振動間隔に時間差を設ける振動制御を行うことで、あたかも弾が自身の身体を貫通したかのような仮想現実をユーザに対して与えている。これにより、弾等のヒットイベントの発生時にユーザに与える仮想現実感を大幅に向上できるようになる。
そして、このような振動制御を行うためには、まず、図12(A)のユーザ移動体MVの前面部に弾SHがヒットしたのか、或いはユーザ移動体MVの後面部に弾SHがヒットしたのかを判定する必要がある。
ユーザ移動体MVの前面部に弾SHがヒットした場合には、図13(A)、図13(B)に示すように、第1の振動部である前面側の振動部VF6、VF2を振動させた後、第2の振動部である後面側の振動部VB4、VB5を振動させればよい。
一方、ユーザ移動体MVの後面部に弾SHがヒットした場合には、図14(A)、図14(B)に示すように、第1の振動部である後面側の振動部VB4、VB5を振動させた後、第2の振動部である前面側の振動部VF6、VF2を振動させればよい。
そして、ユーザ移動体MVの前面部に弾SHがヒットしたのか、或いはユーザ移動体MVの後面部に弾SHがヒットしたのかの判定には、ヒット方向DHT及びヒット位置PHTの少なくとも一方を含むヒット情報を用いることができる。
例えば図13(A)、図13(B)では、ヒット方向DHTに基づいて、弾SHが、ユーザ移動体MVの前方側から飛んで来たと判断できる。或いは、ヒット位置PHTに基づいて、弾SHがユーザ移動体MVの前面部にヒットしたと判断できる。従って、この場合には、図13(A)、図13(B)に示すように、前面側の振動部VF6、VF2を振動させた後、後面側の振動部VB4、VB5を振動させる振動制御を行う。
一方、図14(A)、図14(B)では、ヒット方向DHTに基づいて、弾SHが、ユーザ移動体MVの後方側から飛んで来たと判断できる。或いは、ヒット位置PHTに基づいて、弾SHがユーザ移動体MVの後面部にヒットしたと判断できる。従って、この場合には、図14(A)、図14(B)に示すように、後面側の振動部VB4、VB5を振動させた後、前面側の振動部VF6、VF2を振動させる振動制御を行う。
また図13(A)〜図14(B)に示すように、前面側や後面側に複数の振動部がある場合に、複数の振動部の中から振動させる振動部を選択する処理が必要になる。そこで本実施形態では、複数の振動部の中から振動させる振動部を選択する処理を、ヒット情報に基づいて行う。
具体的には本実施形態では、先に振動させる第1の振動部として、複数の第1の振動部が設けられる場合に、複数の第1の振動部の中から振動させる振動部を選択する処理を、ヒット情報に基づいて行う。或いは、後に振動させる第2の振動部として、複数の第2の振動部が設けられる場合に、複数の第2の振動部の中から振動させる振動部を選択する処理を、ヒット情報に基づいて行う。
例えば図13(A)、図13(B)は、先に振動させる複数の第1の振動部が、前面側の振動部VF1〜VF9であり、後に振動させる複数の第2の振動部が、後面側の振動部VB1〜VB9である場合の例である。この場合に、複数の前面側の振動部VF1〜VF9(複数の第1の振動部)の中から振動させる振動部を選択する処理と、複数の後面側の振動部VB1〜VB9(複数の第2の振動部)の中から振動させる振動部を選択する処理を、ヒット情報であるヒット方向DHTに基づいて行う。
例えば図13(A)では、図12(A)の弾SHのヒット方向DHTは、ユーザ移動体MVの左前側から右後ろ側への方向になっている。この場合には、このヒット方向DHTの軌道に沿った前面側の振動部VF6と後面側の振動部VB4を選択して、振動させる。例えば前面側の振動部VF6を振動させた後、所与の振動間隔の期間経過後に、後面側の振動部VB4を振動させる。これによりユーザは、あたかも本物の弾が自身の身体の左前側から右後ろ側へと貫通したかのような仮想現実を感じることができる。
図13(B)では、弾SHのヒット方向DHTは、ユーザ移動体MVの下方前側から上方後ろ側への方向になっている。この場合には、このヒット方向DHTの軌道に沿った前面側の振動部VF2と後面側の振動部VB5を選択して、振動させる。例えば前面側の振動部VF2を振動させた後、所与の振動間隔の期間経過後に、後面側の振動部VB5を振動させる。これによりユーザは、あたかも本物の弾が自身の身体の下方前側から上方後ろ側へと貫通したかのような仮想現実を感じることができる。
一方、図14(A)、図14(B)は、先に振動させる複数の第1の振動部が、後面側の振動部VB1〜VB9であり、後に振動させる複数の第2の振動部が、前面側の振動部VF1〜VF9である場合の例である。この場合に、複数の後面側の振動部VB1〜VB9(複数の第1の振動部)の中から振動させる振動部を選択する処理と、複数の前面側の振動部VF1〜VF9(複数の第2の振動部)の中から振動させる振動部を選択する処理と、ヒット情報であるヒット方向DHTに基づいて行う。
例えば図14(A)では、弾SHのヒット方向DHTは、ユーザ移動体MVの右後ろ側から左前側への方向になっている。この場合には、このヒット方向DHTの軌道に沿った後面側の振動部VB4と前面側の振動部VF6を選択して、振動させる。例えば後面側の振動部VB4を振動させた後、所与の振動間隔の期間経過後に、前面側の振動部VF6を振動させる。これによりユーザは、あたかも本物の弾が自身の身体の右後ろ側から左前側へと貫通したかのような仮想現実を感じることができる。
図14(B)では、弾SHのヒット方向DHTは、ユーザ移動体MVの上方後ろ側から下方前側への方向になっている。この場合には、このヒット方向DHTの軌道に沿った後面側の振動部VB5と前面側の振動部VF2を選択して、振動させる。例えば後面側の振動部VB5を振動させた後、所与の振動間隔の期間経過後に、前面側の振動部VF2を振動させる。これによりユーザは、あたかも本物の弾が自身の身体の上方後ろ側から下方前側へと貫通したかのような仮想現実を感じることができる。
このように図13(A)〜図14(B)では、所定個数(例えば9個)の振動部が、ユーザの前面部と後面部の各々に格子状に配置され、ヒット情報に基づき適切な振動部が選択されて振動する。従って、ヒット方向等のヒット情報を反映させた好適な仮想現実感をユーザに与えることが可能になる。
なお図13(A)〜図14(B)では、ヒット方向DHTに基づいて振動部の選択処理を行っているが、ヒット位置PHTに基づいて振動部の選択処理を行ってもよい。
例えば図12(A)において、弾SHがユーザ移動体MVの身体の中央部にヒットしたと判定されたとする。この場合には図15(A)に示すように、身体の中央部のヒット位置PHTに対応する前面側の振動部VF5と後面側の振動部VB5を振動させる振動制御を行う。これによりユーザは、あたかも本物の弾が自身の身体の前側の中央部から後ろ側の中央部へと貫通したかのような仮想現実を感じることができる。
一方、弾SHがユーザ移動体MVの身体の中央部の下側にヒットしたと判定されたとする。この場合には図15(B)に示すように、身体の中央部の下側のヒット位置PHTに対応する前面側の振動部VF2と後面側の振動部VB2を振動させる振動制御を行う。これによりユーザは、あたかも本物の弾が自身の身体の前側の中央部下側から後ろ側の中央部下側へと貫通したかのような仮想現実を感じることができる。弾のヒット位置PHTが中央部の右側、左側、上側、斜め側等である場合にも、同様の振動制御を行うことができる。また、ヒット情報のヒット方向DHTとヒット位置PHTの両方を用いて、前面側の振動部と後面側の振動部を振動させる振動制御を行ってもよい。このようにすれば、弾が身体を貫通する仮想現実の体感処理を、より正確に実現する振動制御が可能になる。
また弾のヒット方向DHTやヒット位置PHTなどのヒット情報はユーザ移動体MVを標的として攻撃を行う敵の攻撃方向等の演算処理を行うことで特定できる。例えば図2(A)〜図3(B)で説明したトラッキング手法などにより、敵のユーザが所持するガン型コントローラの位置情報、方向情報を取得し、これらの位置情報、方向情報に基づいて攻撃方向を求めるヒット演算処理を行い、ヒット方向DHTやヒット位置PHTを特定する。この場合に、例えばユーザ移動体と敵移動体の相対的な位置関係や方向関係を反映させて、ヒット方向DHTやヒット位置PHTを特定すればよい。
また本実施形態では、第1の振動部を振動させる第1のタイミングから、第2の振動部を振動させる第2のタイミングまでの振動間隔の長さを、ヒットイベント(振動イベント)の種類又は内容に応じて変化させる。具体的には振動間隔の長さを、ヒット情報に含まれるヒット速度に基づいて変化させる。
ここで、第1の振動部は、先に振動させる方の振動部であり、第2の振動部は、後に振動させる方の振動部である。前述したように図13(A)、図13(B)では、前面側の振動部(VF1〜VF9)が第1の振動部になり、後面側の振動部(VB1〜VB9)が第2の振動部になる。一方、図14(A)、図14(B)では、後面側の振動部(VB1〜VB9)が第1の振動部になり、前面側の振動部(VF1〜VF9)が第2の振動部になる。
例えば図16(A)では、第1の振動部である前面側の振動部VFがタイミングT1(第1のタイミング)で振動している。そしてタイミングT1から振動間隔TVの期間経過後のタイミングT2(第2のタイミング)で、第2の振動部である後面側の振動部VBが振動している。このような振動間隔TVによる振動の時間差を設けることで、弾が貫通しているかのように感じる仮想現実感を実現できる。なお、前述したように第1の振動部が後面側の振動部であり、第2の振動部が前面側の振動部であってもよい。
そして図16(B)では、弾のヒット速度が遅いため、振動部VFを振動させるタイミングT1から振動部VBを振動させるタイミングT2までの振動間隔TVを長くする。一方、図16(C)では、弾のヒット速度が速いため、振動部VFを振動させるタイミングT1から振動部VBを振動させるタイミングT2までの振動間隔TVを短くする。このようにすれば、速度が遅い弾については、振動間隔TVが長くなることで、長い時間間隔で弾が身体を貫通するような仮想現実感をユーザに与えることができる。一方、速度が速い弾については、振動間隔TVが短くなることで、短い時間間隔で弾が身体を貫通するような仮想現実感をユーザが与えることができる。従って、弾のヒット速度を反映させた弾の貫通表現を実現でき、ユーザの仮想現実感を更に向上できる。
このように本実施形態では、振動間隔TVの長さを、ヒット速度に基づき変化させている。別の言い方をすれば、振動間隔TVの長さを、ヒットイベント(振動イベント)の種類や内容に応じて変化させている。例えばヒット速度が速い武器の攻撃が行われる第1の種類のイベントでは、振動間隔TVを短くする。一方、ヒット速度が遅い武器の攻撃が行われる第2の種類のイベントでは、振動間隔TVを長くする。即ち、振動間隔TVの長さを、ヒットイベントの種類に応じて変化させる。或いは、同じ武器を使用する同じ種類のイベントにおいて、例えば敵の攻撃速度のパラメータが高くなることで、当該武器による攻撃のヒット速度が速くなる場合には、振動間隔TVを短くする。また敵の攻撃速度のパラメータが低くなることで、当該武器による攻撃のヒット速度が遅くなる場合には、振動間隔TVを長くする。即ち、振動間隔TVの長さを、ヒットイベントの内容に応じて変化させる。
以上のようにすることで、ヒットイベントの種類や内容に応じた長さの振動間隔で、振動部が振動するようになるため、ヒットイベントの種類や内容を反映させた振動制御を実現できるようになる。
以上のように本実施形態では、ジャケット52等の装着体に対して複数の振動部が設けられ、ゲーム処理に基づく画像が表示部に表示されると共に、ゲーム状況に応じて、装着体の複数の振動部の振動制御が行われる。このようにすれば、表示部に表示されるゲーム画像に連動させた振動部の振動制御が可能になり、ゲーム処理の結果に基づく表示画像を生成しながら、ユーザがプレイするゲームの状況を反映させた装着体の振動部の振動制御を実現できる。
特に表示部としてHMDを用いる場合には、ユーザの視界はHMDにより覆われるため、装着体の複数の振動部を用いた振動制御は、ユーザの仮想現実感の向上のために有効である。例えばHMDにより視界が覆われることで、ユーザは、装着体での複数の振動部の振動を、あたかも本物の弾等が自身に対してヒットしたかのように感じるようになり、ゲームの仮想現実感を大幅に向上できる。例えば図13(A)〜図15(B)に示すように、ヒット方向やヒット位置等のヒット情報を反映させた振動制御を行えば、そのヒット方向やヒット位置等で弾等が実際にヒットしたかのような仮想現実感をユーザに与えることができる。また図16(A)〜図16(C)に示すように振動間隔による振動の時間差を設けることで、ヒットした弾等が自身の身体を貫通したかのように感じる仮想現実感を実現できる。
なお本実施形態でのヒットイベントとしては、図17(A)に示すような弾SH等の攻撃物がユーザ移動体MVにヒットするイベントが考えられるが、図17(B)に示すように敵移動体OBEの剣SWE等の武器がユーザ移動体にヒットするイベントであってもよい。このようにすれば図7、図8に示すような剣ゲームにおいて、ユーザが敵を斬ったという感触については、剣型コントローラ10の反動等の発生機構30により実現しながら、敵から斬られたことによる衝撃の感触については、ジャケット52等の装着体の振動部の振動制御により実現できるようになる。
またヒットイベントにおいてユーザ移動体MVにヒットするオブジェクトは、図17(A)、図17(B)のような弾SH等の攻撃物や剣SWE等の武器には限定されない。例えば図17(C)では、岩山等が崩れたことによる岩RKのオブジェクトがユーザ移動体MVにヒットしており、このような岩RKのヒットの際の衝撃の感覚についても、装着体の振動部の振動制御により実現できる。即ち本実施形態の手法は、弾や武器を用いた対戦ゲームのみならず、岩などの物体がぶつかって来るような自然体験のシミュレーションゲーム等にも適用できる。
また本実施形態の手法は、他のオブジェクトがヒットするヒットイベント以外の振動イベントにも適用可能である。例えば図17(D)では、ユーザ移動体MVの近くにおいて爆発EXPが発生しており、この爆発EXPによる振動イベントが発生した場合に、ユーザの装着体の振動部を振動させる振動制御を行ってもよい。このようにすれば、爆発EXPによる爆風等をユーザに体感させることができ、本当に爆発が起きたかのような仮想現実感をユーザに与えることが可能になる。
また本実施形態では、振動部の振動制御に応じた演出処理を行ってもよい。例えば振動部の振動制御に連動して、ユーザに出力される効果音の演出処理を行ったり、ゲーム画像での演出画像の生成処理を行う。例えば図17(A)、図17(B)で弾SHや剣SWEがヒットした場合に、そのヒットに連動した効果音を出力したり、エフェクト画像を生成する。また図17(C)のように岩RKがヒットするイベントでは、岩が崩れる際の効果音やエフェクト画像を生成する。また図17(D)に示すように爆発EXPの振動イベントが発生した場合には、爆発EXPに対応する効果音やエフェクト画像を生成する。そして例えば振動させる振動部の個数や範囲、或いは振動のタイミングに合わせて、効果音を出力したり、演出画像を表示する。このようにすることで、振動部の振動制御に連動した効果音の出力や演出画像の表示が可能になり、ユーザの仮想現実感を更に高めることが可能になる。
4.詳細な処理
次に本実施形態の詳細な処理例について図18、図19のフローチャートを用いて説明する。
図18は本実施形態の全体的な処理例を示すフローチャートである。まずユーザの位置情報、方向情報及び姿勢情報の少なくとも1つを含むユーザ情報を取得する(ステップS1)。例えばHMDの位置情報、方向情報を取得することで、ユーザの位置情報、方向情報等を取得できる。そして、ユーザに対応するユーザ移動体の移動処理を行う(ステップS2)。例えば、取得された実空間でのユーザの位置情報や方向情報に基づいて、ユーザ移動体を仮想空間で移動させる処理を行う。またユーザの姿勢情報が取得される場合には、取得された姿勢情報に基づいて、ユーザ移動体を動作させるモーション処理を行う。
次に、ヒット演算処理等のゲーム処理を実行する(ステップS3)。例えば他のオブジェクトがユーザ移動体にヒットしたか否かを判定するヒット演算処理や、ゲームを進行させるゲーム進行処理などを実行する。そして装着体の振動部の振動制御処理を行う(ステップS4)。例えばヒット演算処理等の結果に基づいて、ゲーム状況に応じた振動部の振動制御処理を行う。そしてゲーム処理の結果に基づいてHMDの表示画像を生成して、HMDに表示する(ステップS5)。
図19はヒット情報に基づく振動制御処理のフローチャートである。まずユーザ移動体に弾等のオブジェクトがヒットしたか否かを判定する(ステップS11)。このヒット判定処理は、例えばユーザ移動体のヒットボリュームと、弾等のオブジェクト又は軌道との交差判定処理などにより実現できる。
弾等のオブジェクトがユーザ移動体にヒットした場合には、ヒット方向、ヒット位置及びヒット速度の少なくとも1つを含むヒット情報を取得する(ステップS12)。例えばオブジェクトがユーザ移動体にヒットした際のオブジェクトの移動方向、移動位置、移動速度を、各々、ヒット方向、ヒット位置、ヒット速度として取得できる。そしてヒット情報のヒット方向やヒット位置に基づいて、前面側の振動部と後面側の振動部の一方の振動部である第1の振動部と、他方の振動部である第2の振動部を選択する(ステップS13)。第1の振動部は、先に振動させる方の振動部であり、前面側の振動部と後面側の振動部の一方の振動部である。第2の振動部は、後に振動させる方の振動部であり、前面側の振動部と後面側の振動部の他方の振動部である。そして図13(A)〜図15(B)で説明した手法により、複数の第1の振動部の中から振動させる振動部を選択する処理と、複数の第2の振動部の中から振動させる振動部を選択する処理を行う。これらの振動部の選択処理は、ヒット情報のヒット方向やヒット位置に基づいて行う。
次にヒット情報のヒット速度に基づいて、第1の振動部と第2の振動部の振動間隔を設定する(ステップS14)。例えば図16(A)〜図16(C)で説明したように、ヒット速度に応じて、第1の振動部と第2の振動部の振動間隔を長くしたり、短くする。そして第1の振動部と第2の振動部を、設定された振動間隔で振動させる(ステップS15)。即ち図13(A)〜図15(B)で選択された第1の振動部(前面側振動部、後面側振動部の一方)と第2の振動部(前面側振動部、後面側振動部の他方)を、図16(A)〜図16(C)に示すような振動間隔で振動させる。
なお、上記のように本実施形態について詳細に説明したが、本発明の新規事項および効果から実体的に逸脱しない多くの変形が可能であることは当業者には容易に理解できるであろう。従って、このような変形例はすべて本発明の範囲に含まれるものとする。例えば、明細書又は図面において、少なくとも一度、より広義または同義な異なる用語(装着体、他のオブジェクト、振動イベント等)と共に記載された用語(ジャケット、弾・剣、ヒットイベント等)は、明細書又は図面のいかなる箇所においても、その異なる用語に置き換えることができる。またユーザ情報の取得処理、仮想空間の設定処理、移動体の移動処理、ゲーム処理、ヒット演算処理、振動制御処理、表示処理等も、本実施形態で説明したものに限定されず、これらと均等な手法・処理・構成も本発明の範囲に含まれる。また本発明は種々のゲームに適用できる。また本発明は、業務用ゲーム装置、家庭用ゲーム装置、又は多数のユーザが参加する大型アトラクションシステム等の種々のシミュレーションシステムに適用できる。
V1〜VN 振動部、VF、VF1〜VF9 前面側の振動部、
VB、VB1〜VB9 後面側の振動部、
DHT ヒット方向、PHT ヒット位置、TV 振動間隔、
US、US1〜US4 ユーザ、GN、GN1〜GN4 ガン型コントローラ、
HMD、HMD1〜HMD4 頭部装着型表示装置、
MV、MV1〜MV3、MB1〜MB3 ユーザ移動体、FL フィールド、
GV1〜GV3、GB1〜GB3 銃、
SH 弾、SWE 剣、RK 岩、EXP 爆発、
10 剣型コントローラ、20 把持部、30 発生機構、32 錘、
34 受け部、50 装着体、52 ジャケット、
60 発生機構、70、80 コントローラ、
90 ソレノイド、92 プランジャー、94 バネ、96 取付具、98 体、
100 処理部、102 入力処理部、110 演算処理部、111 情報取得部、
112 仮想空間設定部、113 移動体処理部、114 仮想カメラ制御部、
115 ゲーム処理部、116 ヒット演算処理部、118 制御部、
118 制御部、120 表示処理部、130 音処理部、140 出力処理部、
150 撮像部、151、152 カメラ、160 操作部、
170 記憶部、172 オブジェクト情報記憶部、178 描画バッファ、
180 情報記憶媒体、192 音出力部、194 I/F部、
195 携帯型情報記憶媒体、196 通信部、
200 HMD(頭部装着型表示装置)、201〜203 受光素子、210 センサ部、
220 表示部、231〜236 発光素子、240 処理部、
280、284 ベースステーション、281、282、285、286 発光素子

Claims (10)

  1. 仮想空間の設定処理を行う仮想空間設定部と、
    前記仮想空間を移動するユーザ移動体の移動処理を行う移動体処理部と、
    ユーザが身体に装着体を装着してプレイするゲームのゲーム処理を行うゲーム処理部と、
    前記ゲーム処理の結果に基づいて、表示画像を生成する表示処理部と、
    制御部とを含み、
    前記装着体の前面部に、少なくとも1つの前面側振動部が設けられ、前記装着体の後面部に、少なくとも1つの後面側振動部が設けられ、
    前記ゲーム処理部は、
    前記ユーザ移動体と他のオブジェクトとのヒット演算処理を行って、ヒット方向及びヒット位置の少なくとも一方を含むヒット情報を求め、
    前記制御部は、
    前記ユーザ移動体と前記他のオブジェクトとのヒットイベントが発生した場合に、前記ヒット情報に基づいて、前記前面側振動部及び前記後面側振動部の一方の振動部である第1の振動部を振動させた後、前記前面側振動部及び前記後面側振動部の他方の振動部である第2の振動部を振動させる振動制御を行うことを特徴とするシミュレーションシステム。
  2. 請求項1において、
    前記制御部は、
    前記第1の振動部として複数の第1の振動部が設けられる場合に、前記複数の第1の振動部の中から振動させる振動部を選択する処理を、前記ヒット情報に基づいて行うことを特徴とするシミュレーションシステム。
  3. 請求項1又は2において、
    前記制御部は、
    前記第2の振動部として複数の第2の振動部が設けられる場合に、前記複数の第2の振動部の中から振動させる振動部を選択する処理を、前記ヒット情報に基づいて行うことを特徴とするシミュレーションシステム。
  4. 請求項1乃至3のいずれかにおいて、
    前記制御部は、
    前記第1の振動部を振動させる第1のタイミングから、前記第2の振動部を振動させる第2のタイミングまでの振動間隔の長さを変化させることを特徴とするシミュレーションシステム。
  5. 請求項4において、
    前記ヒット情報はヒット速度を含み、
    前記制御部は、
    前記ヒット速度に基づいて前記振動間隔の長さを変化させることを特徴とするシミュレーションシステム。
  6. ユーザが身体に装着体を装着してプレイするゲームのゲーム処理を行うゲーム処理部と、
    前記ゲーム処理の結果に基づいて、前記ユーザに表示する画像を生成する表示処理部と、
    制御部とを含み、
    前記装着体には複数の振動部が設けられ、
    前記制御部は、
    複数の前記振動部のうちの第1の振動部を振動させる第1のタイミングから、複数の前記振動部のうちの第2の振動部を振動させる第2のタイミングまでの振動間隔の長さを、前記ゲームにおいて発生する振動イベントの種類又は内容に応じて変化させることを特徴とするシミュレーションシステム。
  7. 請求項1乃至6のいずれかにおいて、
    前記表示処理部は、
    前記ユーザが視界を覆うように装着する頭部装着型表示装置の表示画像を生成することを特徴とするシミュレーションシステム。
  8. 請求項1乃至7のいずれかにおいて、
    前記制御部は、
    前記装着体の前記振動制御に応じた演出処理を行うことを特徴とするシミュレーションシステム。
  9. 仮想空間の設定処理を行う仮想空間設定部と、
    前記仮想空間を移動するユーザ移動体の移動処理を行う移動体処理部と、
    ユーザが身体に装着体を装着してプレイするゲームのゲーム処理を行うゲーム処理部と、
    前記ゲーム処理の結果に基づいて、表示画像を生成する表示処理部と、
    制御部として、
    コンピュータを機能させ、
    前記装着体の前面部に、少なくとも1つの前面側振動部が設けられ、前記装着体の後面部に、少なくとも1つの後面側振動部が設けられ、
    前記ゲーム処理部は、
    前記ユーザ移動体と他のオブジェクトとのヒット演算処理を行って、ヒット方向及びヒット位置の少なくとも一方を含むヒット情報を求め、
    前記制御部は、
    前記ユーザ移動体と前記他のオブジェクトとのヒットイベントが発生した場合に、前記ヒット情報に基づいて、前記前面側振動部及び前記後面側振動部の一方の振動部である第1の振動部を振動させた後、前記前面側振動部及び前記後面側振動部の他方の振動部である第2の振動部を振動させる振動制御を行うことを特徴とするプログラム。
  10. ユーザが身体に装着体を装着してプレイするゲームのゲーム処理を行うゲーム処理部と、
    前記ゲーム処理の結果に基づいて、前記ユーザに表示する画像を生成する表示処理部と、
    制御部として、
    コンピュータを機能させ、
    前記装着体には複数の振動部が設けられ、
    前記制御部は、
    複数の前記振動部のうちの第1の振動部を振動させる第1のタイミングから、複数の前記振動部のうちの第2の振動部を振動させる第2のタイミングまでの振動間隔の長さを、前記ゲームにおいて発生する振動イベントの種類又は内容に応じて変化させることを特徴とするプログラム。
JP2017071997A 2017-03-31 2017-03-31 シミュレーションシステム及びプログラム Pending JP2018171320A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2017071997A JP2018171320A (ja) 2017-03-31 2017-03-31 シミュレーションシステム及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017071997A JP2018171320A (ja) 2017-03-31 2017-03-31 シミュレーションシステム及びプログラム

Publications (1)

Publication Number Publication Date
JP2018171320A true JP2018171320A (ja) 2018-11-08

Family

ID=64106768

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017071997A Pending JP2018171320A (ja) 2017-03-31 2017-03-31 シミュレーションシステム及びプログラム

Country Status (1)

Country Link
JP (1) JP2018171320A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109583344A (zh) * 2018-11-21 2019-04-05 红相股份有限公司 一种基于深度学习的电力设备红外图像处理方法
WO2023171421A1 (ja) * 2022-03-10 2023-09-14 株式会社ソニー・インタラクティブエンタテインメント 通知制御システム、通知制御方法、プログラム
WO2023189406A1 (ja) * 2022-03-31 2023-10-05 株式会社栗本鐵工所 出力制御装置、出力制御プログラム及び出力制御方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07185129A (ja) * 1993-12-27 1995-07-25 Sega Enterp Ltd ゲーム機
JP2009070263A (ja) * 2007-09-14 2009-04-02 Japan Science & Technology Agency 貫通触感覚提示装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07185129A (ja) * 1993-12-27 1995-07-25 Sega Enterp Ltd ゲーム機
JP2009070263A (ja) * 2007-09-14 2009-04-02 Japan Science & Technology Agency 貫通触感覚提示装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
"全身でゲームを体感できるVRスーツが登場。ソードアートオンラインに一歩近づいた? | Hardlight VR(ハード", KICKSTARTER FAN!, JPN6021002957, 24 February 2017 (2017-02-24), ISSN: 0004563665 *
渡邊淳司 ほか: "腹部通過仮現運動を利用した貫通感覚提示", 情報処理学会論文誌, vol. 第49巻第10号, JPN6021002959, October 2008 (2008-10-01), JP, pages 3542 - 3545, ISSN: 0004563666 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109583344A (zh) * 2018-11-21 2019-04-05 红相股份有限公司 一种基于深度学习的电力设备红外图像处理方法
WO2023171421A1 (ja) * 2022-03-10 2023-09-14 株式会社ソニー・インタラクティブエンタテインメント 通知制御システム、通知制御方法、プログラム
WO2023189406A1 (ja) * 2022-03-31 2023-10-05 株式会社栗本鐵工所 出力制御装置、出力制御プログラム及び出力制御方法

Similar Documents

Publication Publication Date Title
US11014000B2 (en) Simulation system, processing method, and information storage medium
JP7071823B2 (ja) シミュレーションシステム及びプログラム
US9779633B2 (en) Virtual reality system enabling compatibility of sense of immersion in virtual space and movement in real space, and battle training system using same
KR101926178B1 (ko) 가상 공간에의 몰입감과 실제 공간에서의 이동을 양립할 수 있는 가상 현실 시스템 및 이를 이용한 전투 훈련 시스템
CN110769906B (zh) 模拟系统、图像处理方法以及信息存储介质
CN109478340A (zh) 模拟系统、处理方法以及信息存储介质
JP2019122496A (ja) シミュレーションシステム及びプログラム
JP6935218B2 (ja) シミュレーションシステム及びプログラム
JP2019046120A (ja) 仮想体験を提供するためにコンピュータで実行される方法、プログラム及びコンピュータ
JP6425846B1 (ja) プログラム、情報処理装置、及び情報処理方法
JP6774260B2 (ja) シミュレーションシステム
JP2018097517A (ja) 情報処理方法、装置、および当該情報処理方法をコンピュータに実行させるためのプログラム
JP2018175505A (ja) 情報処理方法、装置、および当該情報処理方法をコンピュータに実行させるためのプログラム
JP2018171320A (ja) シミュレーションシステム及びプログラム
JP2018175849A (ja) 情報処理方法、装置、および当該情報処理方法をコンピュータに実行させるためのプログラム
JP2018171309A (ja) シミュレーションシステム及びプログラム
JP2019168962A (ja) プログラム、情報処理装置、及び情報処理方法
JP6290490B1 (ja) 情報処理方法、装置、および当該情報処理方法をコンピュータに実行させるためのプログラム
JP2019176934A (ja) シミュレーションシステム
JP2019133309A (ja) プログラム、情報処理装置、及び情報処理方法
JP6419268B1 (ja) 情報処理方法、装置、および当該情報処理方法をコンピュータに実行させるためのプログラム
JP6918189B2 (ja) シミュレーションシステム及びプログラム
JP6298557B1 (ja) 情報処理方法、装置、および当該情報処理方法をコンピュータに実行させるためのプログラム
JP2019211865A (ja) コンピュータプログラム、情報処理装置および情報処理方法
JP2019179434A (ja) プログラム、情報処理装置、及び情報処理方法

Legal Events

Date Code Title Description
A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20200313

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200326

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200327

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20200327

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20200327

A625 Written request for application examination (by other person)

Free format text: JAPANESE INTERMEDIATE CODE: A625

Effective date: 20200326

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20210122

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210202

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20210803