[go: up one dir, main page]

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

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

Info

Publication number
JP2018171309A
JP2018171309A JP2017071915A JP2017071915A JP2018171309A JP 2018171309 A JP2018171309 A JP 2018171309A JP 2017071915 A JP2017071915 A JP 2017071915A JP 2017071915 A JP2017071915 A JP 2017071915A JP 2018171309 A JP2018171309 A JP 2018171309A
Authority
JP
Japan
Prior art keywords
moving body
user
processing unit
information
moving
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
JP2017071915A
Other languages
English (en)
Inventor
田宮 幸春
Yukiharu Tamiya
幸春 田宮
ローム チャールズ
Rohm Charles
ローム チャールズ
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 JP2017071915A priority Critical patent/JP2018171309A/ja
Publication of JP2018171309A publication Critical patent/JP2018171309A/ja
Pending legal-status Critical Current

Links

Landscapes

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

Abstract

【課題】頭部装着型表示装置を用いたシステムにおいて、実空間と仮想空間の状況の相違に起因して不自然な事態や不適切な事態等が発生してしまうのを抑制できるシミュレーションシステム等の提供。
【解決手段】シミュレーションシステムは、視界を覆うように頭部装着型表示装置を装着するユーザの位置情報、方向情報及び姿勢情報の少なくとも1つを含むユーザ情報を取得する情報取得部と、仮想空間設定部と、ゲーム処理部と、ユーザ情報に基づいて第1の移動体を仮想空間において移動させる処理を行う移動体処理部と、頭部装着型表示装置の表示画像を生成する表示処理部を含む。表示処理部は、所与の条件が成立した場合に、ユーザに対応する第2の移動体を表示し、移動体処理部は、取得されたユーザ情報に基づいて、第2の移動体を、仮想空間において移動させる処理を行う。
【選択図】図18

Description

本発明は、シミュレーションシステム及びプログラム等に関する。
従来より、HMD(頭部装着型表示装置)をユーザが頭部に装着し、HMDの画面に表示される画像をユーザが見ることで、いわゆるバーチャルリアリティー(VR)の世界を体感できるシミュレーションシステムが知られている。このようなシミュレーションシステムの従来技術としては、例えば特許文献1等に開示される技術がある。
特開平11−309269号公報
HMDを用いたシミュレーションシステムでは、仮想空間において仮想カメラから見える画像がHMDに表示される。このような画像をHMDに表示することで、ユーザの視界の全周囲に亘って、広大なVR空間が広がるようになるため、ユーザの仮想現実感を格段に向上できる。
このようなHMDを用いるシミュレーションシステムでは、ユーザに対応するユーザ移動体が仮想空間内で移動するが、実空間でのユーザの周囲の状況と、仮想空間でのユーザ移動体の周囲の状況は異なる。例えば実空間では、ユーザの前方に障害物が存在しないのに、仮想空間においては、ユーザ移動体の前方に障害物(障害物オブジェクト)が存在するような状況が発生する。このような状況が発生すると、例えば実空間でユーザが前方に移動することで、仮想空間のユーザ移動体が障害物をすり抜けて通過してしまうような事態が生じてしまう。またユーザがHMDを頭部に装着すると、周囲が見えなくなったり、非常に見えにくくなるため、ユーザ同士がぶつかってしまったり、ユーザの装備品等が他のユーザにぶつかるなどの問題が生じるおそれもある。
本発明の幾つかの態様によれば、頭部装着型表示装置を用いたシステムにおいて、実空間と仮想空間の状況の相違に起因して不自然な事態や不適切な事態等が発生してしまうのを抑制できるシミュレーションシステム及びプログラム等を提供できる。
本発明の一態様は、視界を覆うように頭部装着型表示装置を装着するユーザの位置情報、方向情報及び姿勢情報の少なくとも1つを含むユーザ情報を取得する情報取得部と、仮想空間の設定処理を行う仮想空間設定部と、前記仮想空間でのゲームの処理を行うゲーム処理部と、取得された前記ユーザ情報に基づいて、第1の移動体を、前記仮想空間において移動させる処理を行う移動体処理部と、前記ユーザが装着する前記頭部装着型表示装置の表示画像を生成する表示処理部と、を含み、前記表示処理部は、所与の条件が成立した場合に、前記ユーザに対応する第2の移動体を表示し、前記移動体処理部は、取得された前記ユーザ情報に基づいて、前記第2の移動体を、前記仮想空間において移動させる処理を行うシミュレーションシステムに関係する。また本発明は、上記各部としてコンピュータを機能させるプログラム、又は該プログラムを記憶したコンピュータ読み取り可能な情報記憶媒体に関係する。
本発明の一態様によれば、ユーザの位置情報、方向情報及び姿勢情報の少なくとも1つを含むユーザ情報が取得され、取得されたユーザ情報に基づいて、第1の移動体を仮想空間で移動させる処理が行われ、ユーザが装着する頭部装着型表示装置の表示画像が生成される。そして本発明の一態様では、所与の条件が成立すると、ユーザに対応する第2の移動体が表示され、取得されたユーザ情報に基づいて、第2の移動体が仮想空間において移動する。このようにすれば、所与の条件が成立すると、第1の移動体とは別の第2の移動体が表示され、ユーザに対応する当該第2の移動体が、ユーザ情報に基づいて仮想空間において移動するようになる。このようにすれば、例えば実空間と仮想空間の状況の相違に起因して不自然な事態や不適切な事態等が発生してしまうおそれがある場合には、所与の条件を成立させて、第1の移動体は別の第2の移動体を表示して、ユーザに対応する移動体として、仮想空間で移動させることが可能になる。これにより、実空間と仮想空間の状況の相違に起因して不自然な事態や不適切な事態等が発生してしまうのを効果的に抑制できるようになる。
また本発明の一態様では、前記移動体処理部は、前記ユーザに対応する前記第2の移動体と、前記第2の移動体に対して重ねて配置される前記第1の移動体とを、取得された前記ユーザ情報に基づいて、前記仮想空間において移動させる処理を行ってもよい。
このように、ユーザに対応する第2の移動体に対して重ねて配置される第1の移動体を、ユーザ情報に基づき第2の移動体と共に移動させることで、実空間と仮想空間の状況の相違に起因して不自然な事態や不適切な事態等が発生してしまうのを抑制できるようになる。
また本発明の一態様では、前記ゲーム処理部は、前記ユーザに対応する前記第2の移動体の代わりに前記第1の移動体と他のオブジェクトとのヒット演算処理を行ってもよい。
このようにすれば、他のオブジェクトがヒットすることによる影響を、第2の移動体に対しては及ばさないようにしながら、第1の移動体に対して及ぼすような制御が可能になる。
また本発明の一態様では、前記ゲーム処理部は、前記第1の移動体に前記他のオブジェクトがヒットしたと判定した場合に、前記ヒット判定処理の結果に基づく処理を、前記第1の移動体に対して行ってもよい。
このようにすれば、ヒット判定処理の結果に基づく処理が第1の移動体に対して行われ、第2の移動体に対して行われないようになり、実空間と仮想空間の状況の相違に起因して不自然な事態や不適切な事態等が発生してしまうのを抑制する処理が可能になる。
また本発明の一態様では、前記第1の移動体と前記第2の移動体の配置関係が変化した場合に、前記配置関係の変化を前記ユーザに報知する処理を行う報知処理部を含んでもよい(報知処理部としてコンピュータを機能させてもよい)。
このようにすれば、第1の移動体と第2の移動体の配置関係が変化してしまった場合に、ユーザに対する報知により、配置関係を元に戻すことをユーザに促すことなどが可能になる。
また本発明の一態様では、前記ゲーム処理部は、前記第1の移動体と前記第2の移動体の配置関係が元の配置関係に戻った場合に、ゲームの再開処理を行ってもよい。
このようにすれば、第1、第2の移動体が元の配置関係に戻ることで、ゲームを再開できるようになるため、配置関係を戻すことの効果的な動機づけをユーザに与えることが可能になる。
また本発明の一態様では、前記表示処理部は、前記第1の移動体と前記第2の移動体の配置関係の変化、前記第1の移動体の状態の変化及び前記ユーザのゲームパラメータの変化の少なくとも1つに応じて、前記第2の移動体の表示態様を変化させる処理を行ってもよい。
このようにすれば、第1、第2の移動体の配置関係の変化や第1の移動体の状態の変化やユーザのゲームパラメータの変化を、ユーザに対して視覚的に伝えることが可能になる。
また本発明の一態様では、前記表示処理部は、実空間において前記ユーザと他の物体とが衝突の接近関係になったと判定された場合に、前記第2の移動体の視認性を高める処理を行ってもよい。
このように視認性を高めれば、第2の移動体を視覚的に認識することが容易になり、実空間におけるユーザと他の物体との衝突の発生等を防止できるようになる。
また本発明の一態様では、前記表示処理部は、前記第2の移動体の前記視認性を高める処理として、前記第2の移動体を非表示状態から表示状態に変化させる処理、前記第2の移動体を非表示状態から半透明状態に変化させる処理、又は前記第2の移動体の半透明状態をより不透明な状態にする処理を行ってもよい。
このようにすれば、第2の移動体が、非表示状態から表示状態又は半透明状態に変化したり、より不透明な状態になることで、第2の移動体の視認性が高まり、実空間での衝突の発生の防止等を図れるようになる。
また本発明の一態様では、前記移動体処理部は、前記仮想空間の所与の場所において、前記第1の移動体の交換処理を行ってもよい。
このようにすれば、ユーザは、仮想空間の所与の場所に移動することで、第1の移動体を別の移動体に交換して、ゲームをプレイできるようになる。
また本発明の一態様では、前記移動体処理部は、複数種類の移動体の中から前記ユーザにより選択された移動体を、前記第1の移動体として設定してもよい。
このようにすれば、ユーザは、複数種類の移動体の中から所望の移動体を選択して、第2の移動体に重ねて配置される第1の移動体として用いることが可能になる。
また本発明の一態様では、前記ゲーム処理部は、前記第2の移動体に前記第1の移動体が重ねて配置されている状態と、前記第2の移動体に前記第1の移動体が重ねて配置されていない状態とで、前記第2の移動体の対戦処理用のパラメータを異ならせてもよい。
このようにすれば、第2の移動体に第1の移動体が重ねて配置されている状態か配置されていない状態かに応じて、異なる対戦処理用のパラメータを設定して、対戦処理を実行できるようになる。
また本発明の一態様は、前記表示処理部は、前記所与の条件が成立する前は、前記第2の移動体を非表示にする又は前記第2の移動体の一部を表示し、前記所与の条件が成立した場合に、前記第2の移動体を表示してもよい。
このようにすれば、所与の条件が成立する前は、第2の移動体は、表示されない、或いはその一部だけが表示され、所与の条件が成立すると、初めて、第2の移動体が表示されるようになる。そして、表示された第2の移動体を用いて、実空間と仮想空間の状況の相違に起因する不自然な事態や不適切な事態が発生するのを抑制できるようになる。
また本発明の一態様では、前記表示処理部は、前記所与の条件が成立して前記第2の移動体を表示する場合には、前記第1の移動体の位置に対応する位置に前記第2の移動体を表示し、前記移動体処理部は、前記第2の移動体が表示された後、取得された前記ユーザ情報に基づいて、前記第2の移動体を、前記仮想空間において移動させる処理を行ってもよい。
このようにすれば、所与の条件が成立すると、ユーザ情報に基づき移動していた第1の移動体の位置に対応する位置に、第2の移動体が表示され、その後、例えばその位置から、当該第2の移動体がユーザ情報に基づき移動するようになる。
また本発明の一態様では、前記第1の移動体は、前記第2の移動体の外殻となる移動体であってもよい。
このようにすれば、第2の移動体の外殻となる移動体を、第1の移動体として第2の移動体に重ねて配置し、第2の移動体と共に仮想空間で移動させることが可能になる。
また本発明の一態様では、前記第1の移動体は、前記第2の移動体のサイズ又は形状に対応するサイズ又は形状を有する移動体であってもよい。
このように、第1の移動体と第2の移動体のサイズ又は形状を揃えれば、所与の条件の成立時に第1の移動体の代わりに第2の移動体を表示する処理や、第2の移動体に重ねて第1の移動体を配置して移動する処理を、適切に実行することが可能になる。
本実施形態のシミュレーションシステムの構成例を示すブロック図。 図2(A)、図2(B)は本実施形態に用いられるHMDの一例。 図3(A)、図3(B)は本実施形態に用いられるHMDの他の例。 シミュレーションシステムで用いられるフィールドの説明図。 図5(A)、図5(B)は実空間のユーザと当該ユーザに対応する仮想空間のアバター移動体、外殻移動体についての説明図。 図6(A)、図6(B)はアバター移動体に外殻移動体を重ねて配置する本実施形態の手法の説明図。 HMDに表示されるゲーム画像の例。 図8(A)、図8(B)は弾のヒット時における本実施形態の手法についての説明図。 図9(A)、図9(B)は障害物とのヒット時における本実施形態の手法についての説明図。 図10(A)、図10(B)は障害物とのヒット時における比較例の手法の問題点の説明図。 図11(A)、図11(B)は障害物とのヒット時における本実施形態の手法についての説明図。 図12(A)、図12(B)は外殻移動体の表示態様を変化させる手法の説明図。 図13(A)、図13(B)は外殻移動体の表示態様を変化させる手法の説明図。 外殻移動体の交換処理の説明図。 図15(A)〜図15(C)は実空間での衝突判定時にアバター移動体の表示態様を変化させる手法の説明図。 外殻移動体の選択画面の例。 図17(A)、図17(B)は外殻移動体との配置関係にズレが生じた場合におけるアバター移動体の対戦用パラメータの設定手法の説明図。 本実施形態の詳細な処理例を説明するフローチャート。 本実施形態の詳細な処理例を説明するフローチャート。
以下、本実施形態について説明する。なお、以下に説明する本実施形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また本実施形態で説明される構成の全てが、本発明の必須構成要件であるとは限らない。
1.シミュレーションシステム
図1は、本実施形態のシミュレーションシステム(シミュレータ、ゲームシステム)の構成例を示すブロック図である。本実施形態のシミュレーションシステムは例えばバーチャルリアリティ(VR)をシミュレートするシステムであり、ゲームコンテンツを提供するゲームシステム、スポーツ競技シミュレータや運転シミュレータなどのリアルタイムシミュレーションシステム、SNSのサービスを提供するシステム、映像等のコンテンツを提供するコンテンツ提供システム、或いは遠隔作業を実現するオペレーティングシステムなどの種々のシステムに適用可能である。なお、本実施形態のシミュレーションシステムは図1の構成に限定されず、その構成要素(各部)の一部を省略したり、他の構成要素を追加するなどの種々の変形実施が可能である。
操作部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、報知処理部117、表示処理部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は、ヒット判定処理などのヒット演算処理を実行する。
報知処理部117(報知処理のプログラムモジュール)は各種の報知処理を行う。例えばユーザに対する警告の報知処理などを行う。報知処理は、例えば画像や音による報知処理であってもよいし、振動や音響や空気砲などの体感装置を用いた報知処理であってもよい。例えば実空間のフィールドに設けられる各種の体感装置(光、振動、空気砲又は音等による体感装置)などにより報知処理を実現してもよい。
表示処理部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に指示する処理などである。
そして本実施形態のシミュレーションシステムは、図1に示すように、情報取得部111と、仮想空間設定部112と、移動体処理部113と、ゲーム処理部115と、表示処理部120を含む。
情報取得部111は、例えば視界を覆うようにHMD200を装着するユーザの位置情報、方向情報及び姿勢情報の少なくとも1つを含むユーザ情報を取得する。例えば情報取得部111は、HMD200のトラッキング情報などに基づいて、実空間でのユーザの位置情報、方向情報及び姿勢情報の少なくとも1つを含むユーザ情報(ユーザトラッキング情報)を取得する。位置情報は、実空間でのユーザの視点の位置情報であってもよく、方向情報は、実空間でのユーザの視線の方向情報であってもよい。位置情報、方向情報は、ユーザが実空間(現実世界)のフィールド(プレイフィールド、シミュレーションフィールド、プレイエリア)に位置する場合に、そのフィールドでの位置情報、方向情報(所与の位置を原点とする座標系での位置座標、各座標軸回りでの回転角度)であってもよい。姿勢情報は、ユーザの各姿勢(立ち姿勢、しゃがみ姿勢又は座り姿勢等)を特定したり、或いはユーザの各部位(胴体、頭、手又は足等)の位置、方向を特定するための情報である。例えば情報取得部111は、HMD200の位置情報、方向情報を、当該HMD200を装着するユーザの位置情報、方向情報として取得してもよい。
仮想空間設定部112は仮想空間の設定処理を行う。例えば、移動体(第1、第2の移動体)、障害物オブジェクト、背景オブジェクト又はマップオブジェクトのオブジェクトを仮想空間に配置設定する処理を行う。例えば実空間でのユーザの位置情報、方向情報が取得された場合に、取得された位置情報、方向情報に基づいて、ユーザに対応する第2の移動体や第2の移動体に重ねて配置される第1の移動体の位置、方向を設定して、仮想空間に配置する処理を行う。オブジェクトである第1、第2の移動体の位置、方向等の情報は、例えばオブジェクト情報記憶部172に記憶される。
ゲーム処理部115は、仮想空間でのゲームの処理を行う。例えばゲームを開始する処理、ゲームを進行させる処理、ゲームを終了する処理、或いはゲーム成績を演算する処理などのゲーム処理を行う。
移動体処理部113は、第1の移動体を、取得されたユーザ情報(位置情報、方向情報)に基づいて、仮想空間において移動させる処理を行う。例えば実空間でのユーザの移動に追従して移動するように、仮想空間で第1の移動体を移動させる。例えば第1の移動体の移動速度や移動加速度に基づいて、第1の移動体の位置等をフレーム毎に更新する処理を行って、第1の移動体を仮想空間(仮想フィールド)において移動させる。また移動体処理部113は、取得されたユーザ情報(姿勢情報)に基づいて、第1の移動体を動作させる処理を行う。例えばモーションデータに基づいて、第1の移動体の姿勢等を変化させるモーション処理を行う。
表示処理部120は、ユーザが装着するHMD200の表示画像を生成する。例えば仮想空間において仮想カメラから見える画像を、HMD200の表示画像として生成する。例えば仮想カメラ制御部114は、HMD200を装着するユーザの視点に対応する仮想カメラの制御処理を行う。例えば仮想カメラ制御部114は、ユーザの一人称視点として設定される仮想カメラの制御を行う。例えば仮想空間において移動する第1の移動体(第2の移動体)の視点に対応する位置に、仮想カメラを設定して、仮想カメラの視点位置や視線方向を設定することで、仮想カメラの位置(位置座標)や姿勢(回転軸回りでの回転角度)を制御する。そして表示処理部120は、HMD200の表示画像(表示映像)として、仮想空間において仮想カメラ(ユーザ視点)から見える画像を生成する。例えば仮想空間であるオブジェクト空間において所与の視点から見える画像を生成する。生成される画像は例えば立体視用の画像である。
このように本実施形態では、実空間のユーザの位置情報、方向情報又は姿勢情報等のユーザ情報が取得され、取得されたユーザ情報に基づいて、第1の移動体が仮想空間内で移動する。そして表示処理部120は、所与の条件が成立した場合に、ユーザに対応する第2の移動体を表示する。即ち、第1の移動体とは別の第2の移動体を表示する。例えばユーザに対応する第2の移動体に重なるように配置されていた第1の移動体が離脱することで、第2の移動体が表示されるようになる。例えば第2の移動体の外殻移動体である第1の移動体が、第2の移動体から離脱することで、第1の移動体に覆われていた第2の移動体が出現して、表示されるようになる。
そして移動体処理部113は、取得されたユーザ情報に基づいて、第2の移動体を、仮想空間において移動させる処理を行う。例えば、所与の条件が成立することで表示された、ユーザに対応する第2の移動体を、ユーザ情報に基づき、例えば実空間でのユーザの移動に追従して移動するように、仮想空間において移動させる。例えば第2の移動体の移動速度や移動加速度に基づいて、第2の移動体の位置等をフレーム毎に更新する処理を行って、ユーザに対応する第2の移動体を仮想空間において移動させる。また移動体処理部113は、取得されたユーザ情報(姿勢情報)に基づいて、ユーザに対応する第2の移動体を動作させる処理を行う。例えばモーションデータに基づいて、第2の移動体の姿勢等を変化させるモーション処理を行う。
ここで、例えば第1の移動体が障害物などの他のオブジェクトに衝突(ヒット)したり、第1の移動体が敵からの攻撃等により破壊されたり、第2の移動体を出現させるイベントが発生したり、第1の移動体が第2の移動体から離脱するイベントが発生したり、或いはユーザにより所与の操作が行われた場合(操作部160を用いた操作)などに、所与の条件が成立する。
このように本実施形態では、実空間のユーザの位置情報、方向情報又は姿勢情報等のユーザ情報が取得され、取得されたユーザ情報に基づいて、第1の移動体が仮想空間内で移動すると共に、所与の条件が成立すると、第1の移動体とは別の第2の移動体が表示され、当該第2の移動体が、取得されたユーザ情報に基づいて仮想空間内で移動するようになる。これにより、実空間でのユーザの周囲の状況と、仮想空間での周囲の状況に相違がある場合に、例えば第1の移動体とは別の第2の移動体を出現させて、当該相違に起因した不自然な事態や不適切な事態が発生するのを抑制することが可能になる。
また本実施形態では移動体処理部113は、ユーザに対応する第2の移動体と、第2の移動体に対して重ねて配置される第1の移動体とを、取得されたユーザ情報(位置情報、方向情報)に基づいて、仮想空間において移動させる処理を行う。例えば実空間でのユーザの移動に追従して移動するように、仮想空間で第1、第2の移動体を移動させる。また移動体処理部113は、取得されたユーザ情報(姿勢情報)に基づいて、第1、第2の移動体を動作させる処理を行う。例えばモーションデータに基づいて、第1、第2の移動体の姿勢等を変化させるモーション処理を行う。
このように本実施形態では、実空間のユーザの位置情報、方向情報又は姿勢情報等のユーザ情報が取得され、取得されたユーザ情報に基づいて、ユーザに対応する第2の移動体と、第2の移動体に重ねて配置される第1の移動体とが、仮想空間内で移動する。そして、この仮想空間での画像がHMD200に表示される。例えば本実施形態により実現されるゲームは、視界を覆うHMD200を装着したユーザ(プレーヤ)が、位置検知されつつ、仮想空間に対応した実空間上を移動することによって、仮想空間上を自由移動してプレイするゲームである。そして当該ゲームにおいて、仮想空間上には、ユーザの視点位置に存在するように移動制御される第2の移動体(アバター)と、第2の移動体に重ねて配置される第1の移動体(外殻、義体)とが、ユーザの動きに応じて制御される。
このようにすれば、ユーザに対応する第2の移動体のみならず、第2の移動体に重なるように配置された第1の移動体が、仮想空間において移動するようになる。これにより、実空間でのユーザの周囲の状況と、仮想空間での第2の移動体(ユーザ視点)の周囲の状況に相違がある場合に、例えば第2の移動体から第1の移動体を離脱させることで(配置関係にズレを生じさせることで)、当該相違に起因した不自然な事態や不適切な事態が発生するのを抑制できる。例えばHMD200を装着してプレイするゲームでは、実空間には存在しない仮想空間内の障害物(仮想空間にしか設定していない壁などの遮蔽物)のオブジェクトについては、対応する障害物が実空間には実在しないため、ユーザに対応する第2の移動体が当該障害物のオブジェクトを通過できてしまうという問題がある。本実施形態では、第2の移動体に重ねて配置される第1の移動体が、第2の移動体から離脱(幽体離脱)できるようにして、当該問題を解決している。
ここで第2の移動体に対して重ねて配置される第1の移動体は、例えば第2の移動体との間で位置情報、方向情報又は姿勢情報等のユーザ情報を共用することなどにより実現できる。例えば第1の移動体は、第2の移動体に付随する移動体である。例えば第2の移動体の位置、方向を変化させる場合に、それに連動して第1の移動体の位置、方向を変化させる。或いは第2の移動体の姿勢を変化させる場合に、それに連動して第1の移動体の姿勢を変化させる。第1の移動体は、例えば第2の移動体を内包する移動体であり、例えば後述するような外殻移動体である。
一方、第2の移動体は、例えばユーザに対応するアバター移動体(ユーザキャラクタ)である。第2の移動体は、画像として表示されないような仮想的な移動体であってもよいし、画像として表示される移動体であってもよい。例えば第2の移動体は、位置、方向等のオブジェクトのデータは存在するが、仮想空間内のオブジェクトとして表示されないような移動体であってもよい。例えば第1の移動体に他のオブジェクトがヒットすることなどにより、第1、第2の移動体の配置関係にズレが発生するような場合に、仮想空間内に第2の移動体を登場させ、第2の移動体を表示オブジェクトとして表示するようにしてもよい。
ゲーム処理部115は、第1の移動体と他のオブジェクトとのヒット演算処理を行う。具体的には、第2の移動体の代わりに第1の移動体と他のオブジェクト(攻撃等)とのヒット演算処理を行う。このヒット演算処理はヒット演算処理部116が実行する。他のオブジェクトは、第1の移動体にヒットする被ヒット物であり、仮想空間において表示されるオブジェクトであってもよいし、仮想空間において非表示の仮想的なオブジェクトであってもよい。他のオブジェクトは、弾や剣等の攻撃用のオブジェクトであってもよいし、自然体験シミュレーションにおける落石等のオブジェクトであってもよいし、仮想空間に配置される障害物、壁等の配置オブジェクトであってもよい。
例えばゲーム処理部115(ヒット演算処理部116)は、第1の移動体に対して他のオブジェクトがヒットしたか否かを判定するヒット判定処理や、ヒットによるダメージ量の演算処理や、ヒット用の演出処理などを、ヒット演算処理として行う。ヒット判定処理は、例えば第1の移動体に対して設定されたヒットボリュームと、他のオブジェクトに設定されたヒットボリュームの交差判定処理などにより実現できる。或いは第1の移動体のヒットボリュームと、他のオブジェクトのヒット方向(飛翔方向)に対応する線分との交差判定処理などによりヒット判定処理を実現してもよい。
そしてゲーム処理部115は、第1の移動体に他のオブジェクトがヒットしたと判定した場合に、ヒット判定処理の結果に基づく処理を、第1の移動体に対して行う。ヒット判定処理の結果に基づく処理は、例えば第1の移動体に対して、弾や剣等の他のオブジェクトがヒットしたと判定された場合に、第1の移動体の耐久力を表すパラメータ(ヒットポイント等)を減少させる処理や、耐久力がゼロになった場合に、第1の移動体を破壊したり、消滅させるなどの処理である。またヒット判定処理の結果に基づく処理は、第1の移動体に対して、障害物、壁等の他のオブジェクトがヒットしたと判定された場合に、第1の移動体の配置位置を変化させ、第1の移動体と第2の移動体の配置関係にズレを生じさせる処理である。
このように本実施形態では、第1の移動体のみにヒットチェックが設定されている。例えば実空間には実在しないが、仮想空間に存在するオブジェクト(敵の弾、仮想壁等)について、第2の移動体とはヒット判定せず、第1の移動体のみとヒット判定する。第1の移動体は、オブジェクトがヒットしたと判定された場合には、破壊、位置ズレ等の影響を受ける。例えば第1の移動体の耐久力を表すパラメータであるヒットポイントを減少させる処理が行われる。そしてヒットポイントがゼロになれば、破壊されたと判定される。例えば被弾などのヒットにより第1の移動体が破壊されて崩壊した場合には、第2の移動体の足元に第1の移動体が残骸として表示されるような演出処理を行う。或いは、第1の移動体にオブジェクトがヒットしたことで、第2の移動体に対して重なっていた第1の移動体の配置位置が変化し、第1の移動体と第2の移動体の配置関係にズレを生じさせる。
また報知処理部117は、第1の移動体と第2の移動体の配置関係が変化した場合(ズレが生じた場合)に、配置関係の変化をユーザに報知する処理を行う。例えば、上述したように、他のオブジェクトが第1の移動体にヒットすることなどにより、第1の移動体と第2の移動体の配置関係にズレが生じた場合に、ズレが生じたことをユーザに報知する処理を行う。この報知処理は、HMD200により表示される画像を用いた報知処理でもよいし、ヘッドホンやスピーカからの音を用いた報知処理でもよい。或いは、振動デバイスの振動や、発光素子の発光などを用いた報知処理でもよい。
そしてゲーム処理部115は、第1の移動体と第2の移動体の配置関係が元の配置関係に戻った場合に、ゲームの再開処理を行う。例えば他のオブジェクトのヒット等により第1の移動体と第2の移動体の配置関係にズレが生じた場合に、ゲームの進行処理又はゲームの対戦処理等のゲーム処理を、一旦、停止する。そして実空間でのユーザの移動動作等により、第1の移動体と第2の移動体が元の配置関係に戻った場合に、停止したゲーム処理を再開する。例えば第2の移動体の位置に第1の移動体が移動し、第2の移動体に対して第1の移動体が重なるなどして、元の配置関係に戻った場合に、停止していたゲーム進行処理や対戦処理などのゲーム処理を再開する。
このように本実施形態では、第1の移動体と第2の移動体の配置関係に変化(ズレ)があった場合、それをユーザに報知する。例えば仮想空間の障害物である壁等を、ユーザが無理矢理に通過しようとして、第1の移動体の配置位置がずれた場合に、それをユーザに報知する。そしてユーザが、通過前の位置に戻り、第1の移動体と第2の移動体との配置関係のズレが無くなると、ゲームを再開する。
また表示処理部120は、第1の移動体と第2の移動体の配置関係の変化、第1の移動体の状態の変化及びユーザのゲームパラメータの変化の少なくとも1つに応じて、第2の移動体の表示態様を変化させる処理を行う。例えば他のオブジェクトのヒット等により、第1の移動体と第2の移動体の配置関係にズレが生じた場合に、第2の移動体の表示態様を変化させる処理を行う。例えば第2の移動体の画像の画素値(輝度、明るさ)又は半透明度(不透明度)などを変化させる処理を行う。例えば外殻である第1の移動体の配置位置がずれて、第2の移動体が露出状態になった場合に、第2の移動体の視認性を高める処理を、表示態様の変化処理として行う。或いは、他のオブジェクト(攻撃)のヒットにより、第1の移動体が破壊状態になるなどして、第1の移動体の状態が変化したり、ユーザのゲームポイント、ヒットポイント、耐久力等のゲームパラメータが変化した場合に、第2の移動体の表示態様を変化させる処理を行う。例えば第2の移動体の画像の画素値(輝度、明るさ)又は半透明度(不透明度)などを変化させる処理を行う。具体的には第2の移動体の視認性を高める処理を、表示態様の変化処理として行う。
また表示処理部120は、実空間においてユーザと他の物体とが衝突の接近関係になったと判定された場合に、第2の移動体の視認性を高める処理を行う。例えば実空間においてユーザと他の物体との距離が所与の距離以下になったり、ユーザの位置を基準に設定された距離範囲内に他の物体が入った場合や、或いは、他の物体の位置を基準に設定された距離範囲内にユーザが入った場合に、ユーザと他の物体とが衝突の接近関係になったと判定する。この衝突の接近関係の判定処理の際には、ユーザや他の物体の速度や加速度などに基づく衝突の予測処理を行ってもよい。そしてユーザと他の物体とが衝突の接近関係になったと判定された場合に、例えば、仮想空間での第2の移動体が、より見やすくなるように、その視認性を高める処理を行う。
例えば表示処理部120は、第2の移動体の視認性を高める処理として、第2の移動体を非表示状態から表示状態に変化させる処理、第2の移動体を非表示状態から半透明状態に変化させる処理、又は第2の移動体の半透明状態をより不透明な状態にする処理などを行う。例えば視認性を高める処理として、非表示であった第2の移動体が、表示されたり、半透明表示されるような処理を行う。或いは、半透明状態である第2の移動体の不透明度を増加させて、より不透明な状態になるような処理を行う。
また移動体処理部113は、仮想空間の所与の場所(指定場所)において、第1の移動体の交換処理を行う。例えば仮想空間内に、交換処理が可能な交換場所(換装場)を設ける。そして、その交換場所において、第2の移動体に対して重ねて配置される第1の移動体を交換できるようにする。例えば、第1の移動体が破壊されたり、消滅して、第2の移動体が露出状態になった場合に、破壊したり消滅した移動体の代わりの第1の移動体を、当該交換場所において装備(装着)できるようにする。
例えば第1の移動体が破壊された場所で、新しい第1の移動体に交換(換装)されてしまうと、ゲームのリアル度や面白味が低下してしまう。このため、実空間でのユーザの移動に伴い、第1の移動体が破壊されて非装備になってしまった第2の移動体のみを移動させる。そして、基地(本部、拠点)などのゲームフィールドの周縁部に配置された交換場所に、ユーザに対応する第2の移動体(アバター移動体)が移動することで、新たな第1の移動体を装備できるようにする。そして、その後は、第2の移動体に対して新たな第1の移動体が重なった状態で移動できるようにする。
また移動体処理部113は、複数種類の移動体の中からユーザにより選択された移動体を、第1の移動体として設定する。例えば移動体の選択画面をHMD200等に表示し、ユーザが所望する移動体を、第1の移動体として選択できるようにする。これにより、選択された第1の移動体が、第2の移動体に重ねて配置されて仮想空間を移動できるようになり、第1、第2の移動体が仮想空間を移動するゲームが実現される。例えば第1の移動体として、性能(攻撃力、守備力又は耐久力等)、様態(容姿、デザイン)、又はサイズなどが異なる複数種類の移動体が用意される。ユーザは、これらの複数種類の移動体の中から、ユーザに対応する第2の移動体に対して付随させる第1の移動体を選択する。この場合に、ユーザのプレイレベル、プレイ時間、プレイ回数、或いはユーザが支払ったコストなどに応じて、第1の移動体としてユーザが選択可能かについての判定処理を行うようにしてもよい。例えば、ユーザのプレイレベルが所定レベル以上であることや、プレイ時間が所定の時間以上であることや、プレイ回数が所定回数以上であることや、ユーザが支払ったコストが所定コスト以上であることを条件として、第1の移動体として選択できるようにしてもよい。ここでコストは、例えばユーザが支払うゲーム内通貨や、ユーザがコストの支払いのために消費するゲームポイントなどである。
またゲーム処理部115は、第2の移動体に第1の移動体が重ねて配置されている状態と、第2の移動体に第1の移動体が重ねて配置されていない状態とで、第2の移動体の対戦処理用のパラメータを異ならせてもよい。例えば第2の移動体に対して第1の移動体が重ねて配置されている場合には、敵からの攻撃に対して、設定された防御力で防御できるようにすると共に、敵に対して攻撃可能なように、第2の移動体の対戦処理用のパラメータを設定する。一方、第2の移動体に対して第1の移動体が重ねて配置されていない状態では、第2の移動体に対する敵からの攻撃に対して無敵状態に設定したり、第2の移動体による攻撃が不可となるように、第2の移動体の対戦処理用のパラメータを設定する。或いは、第2の移動体に対する攻撃のヒットを有効にしながら、第2の移動体の防御力を低下させて、非常に脆くなるような性能に設定してもよい。
また表示処理部120は、所与の条件が成立する前は、第2の移動体を非表示にする又は第2の移動体の一部を表示し、所与の条件が成立した場合に、第2の移動体を表示する。即ち、所与の条件が成立するまでは、第2の移動体は表示されなかったり、その一部だけが表示される。例えば第2の移動体は、外殻移動体である第1の移動体に覆われて視覚的に見えないようになっていたり、その一部だけが見えないようになっている。或いは、所与の条件が成立するまでは、第2の移動体を非存在とする。そして例えば障害物等の他のオブジェクトにヒット(衝突)したり、所定のイベントが発生すると、非表示又はその一部だけが表示されていた第2の移動体が表示されるようになる。例えば外殻移動体として第2の移動体を覆っていた第1の移動体が離脱することなどで、第2の移動体が表示されるようになる。そして、この第2の移動体が、取得されたユーザ情報に基づいて、仮想空間内を移動する。
また表示処理部120は、所与の条件が成立して第2の移動体を表示する場合には、第1の移動体の位置に対応する位置に前記第2の移動体を表示する。そして移動体処理部113は、第2の移動体が表示された後、取得されたユーザ情報に基づいて、第2の移動体を、仮想空間において移動させる処理を行う。例えば所与の条件が成立した際の第1の移動体の位置に対応する位置に、第2の移動体を表示する。例えば第2の移動体に第1の移動体が重ねて配置されている場合に、第1の移動体が離脱すると、その離脱位置に第2の移動体が表示される。そして第1の移動体が離脱して、第2の移動体が表示された後は、取得されたユーザ情報に基づいて、第2の移動体が移動するようになる。即ち、実空間のユーザに追従するように第2の移動体が移動する。
また第1の移動体は、例えば第2の移動体の外殻となる移動体である。この第1の移動体である外殻移動体は、例えば第2の移動体を内包するように配置される移動体である。例えば外殻移動体は、第2の移動体に装備(装着)される装備物である。なお外殻移動体は第2の移動体の全てを覆っている必要は無く、第2の移動体の一部が外部に露出するような装備態様であってもよい。また外殻移動体のサイズは、第2の移動体のサイズに応じたサイズになっており、例えば外殻移動体と第2の移動体は同一(略同一)のサイズにすることができる。
具体的には、第1の移動体は、第2の移動体のサイズ又は形状に対応するサイズ又は形状を有する移動体である。サイズ又は形状が対応するとは、第1、第2の移動体の両者が無関係のサイズ又は形状ではなく、第1、第2の移動体のサイズ又は形状の間に所定の関係があるということである。例えば第1の移動体は、第2の移動体と同一(略同一)のサイズ又は形状を有する移動体である。第1の移動体と第2の移動体のサイズ又は形状は完全に一致している必要はなく、例えば第1の移動体の方が第2の移動体よりもサイズが若干大きいなど、種々の態様が考えられる。例えば第1の移動体が第2の移動体の倍以上のサイズになることは、ここでは想定されていない。
また仮想カメラ制御部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に設けられたモーションセンサを用いて実現してもよい。
3.本実施形態の手法
次に本実施形態の手法について詳細に説明する。なお、以下では本実施形態の手法を、対戦ゲームに適用した場合を主に例にとり説明する。但し、本実施形態はこれに限定されず、種々のゲーム(RPG、アクションゲーム、競争ゲーム、スポーツゲーム、ホラー体験ゲーム、電車や飛行機等の乗り物のシミュレーションゲーム、パズルゲーム、コミュニケーションゲーム、或いは音楽ゲーム等)に適用でき、ゲーム以外にも適用可能である。また以下では、第2の移動体が、ユーザに対応するアバター移動体(ユーザ移動体、ユーザキャラクタ)であり、第1の移動体が、アバター移動体の外殻とな外殻移動体(外殻装備、義体)である場合を例にとり説明するが、本実施形態はこれに限定されるものではない。
3.1 外殻移動体
図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にぶつかってしまうなどの問題が生じる。
ゲームプレイの開始前に、ユーザは、自身の分身であるアバター移動体(広義には第2の移動体)の義体(外殻装備)となる外殻移動体(広義には第1の移動体)を選択する。例えば図5(A)は、実空間(現実世界)のユーザUS1、US2を示しており、ユーザUS1、US2は、HMD1、HMD2を装着すると共にガン型コントローラGN1、GN2を所持している。これに対して仮想空間においては、ユーザUS1、US2に対応するアバター移動体MA1、MA2と、外殻移動体MS1、MS2が登場する。
例えば外殻移動体MS1、MS2は、ガン型コントローラGN1、GN2に対応する銃GS1、GS2(銃オブジェクト)を所持している。外殻移動体MS1、MS2は、例えば脳の神経ネットにデバイスを直接接続する電脳化技術や手足にロボット技術を適用する義体化技術により実現されるというゲーム設定になっている。
外殻移動体MS1、MS2(第1の移動体)は、例えばアバター移動体MA1、MA2(第2の移動体)に対して重ねて配置(表示)される。但し本実施形態はこれに限定されない。例えば、通常時は、外殻移動体MS1、MS2(第1の移動体)だけが仮想空間内を移動し、所与の条件が成立した場合(例えば障害物と衝突した場合又は外殻移動体が破壊された場合等)に、アバター移動体MA1、MA2(第2の移動体)が表示されてもよい。例えば、それまでは非表示又は一部だけが表示されていたアバター移動体MA1、MA2が出現して、表示されてもよい。そして表示されたアバター移動体MA1、MA2は、位置情報、方向情報又は姿勢情報等のユーザ情報に基づいて仮想空間内を移動する。例えばユーザUS1、US2に追従するように移動したり、ユーザUS1、US2の動作に対応するように動作する。即ち、ユーザUS1、US2の分身(ゴースト)であるアバター移動体MA1、MA2は、非表示の仮想的なオブジェクトであってもよいし、画面上に表示されるオブジェクトであってもよい。例えばアバター移動体MA1、MA2は、外殻移動体MS1、MS2が非装備になった時に、表示オブジェクトとして出現するものであってもよい。即ち、アバター移動体MA1、MA2は、外殻移動体MS1、MS2が非装備になるなどの所与の条件が成立した場合に、仮想空間に出現して表示されるものであってもよい。
後述の図16で説明するように、ユーザは、用意された複数種類の外殻移動体の中から、所望の外殻移動体を選択し、ユーザの分身(ゴースト)であるアバター移動体を、外殻移動体の内部に移動させる。このように外殻移動体(義体)の選択が行われた後、敵と対戦する対戦ゲームが開始する。この場合に、敵からの攻撃によるヒット判定、攻撃のヒットによるヒットポイントの減少処理、ヒットポイントがゼロになった場合の破壊処理は、ゴーストであるアバター移動体ではなく、外殻移動体に対して行われる。例えば敵からの攻撃が外殻移動体にヒットしたと判定されると、外殻移動体のヒットポイントが減少し、ヒットポイントがゼロになると外殻移動体が破壊(消滅)される。この場合に後述の図14で説明するように、ユーザは、破壊された外殻移動体を新しい外殻移動体に交換して、再装備することができる。
図6(A)では、実空間においてユーザUSがA1に示すように移動している。ユーザUSは、視界を覆うようにHMD200を装着し、手にはガン型コントローラを所持している。そして図4に示すような実空間のフィールドFLを移動する。すると、実空間において移動するユーザUSの位置情報が取得され、取得された位置情報に基づいて、図6(B)のA2、A3に示すように、外殻移動体MS(アバター移動体MA)が仮想空間において移動する。また実空間でのユーザUSの方向情報が取得され、仮想空間の外殻移動体MS(アバター移動体MA)もその方向情報に対応する方向を向くようになる。また実空間でのユーザUSの姿勢情報が取得され、仮想空間の外殻移動体MS(アバター移動体MA)もその姿勢情報に対応する姿勢を取るようになる。例えば実空間においてユーザUSが、手や足を動かせば、仮想空間での外殻移動体MS(アバター移動体MA)もそれに応じて手や足を動かすようになる。
そして図6(B)に示すように本実施形態では、例えば外殻移動体MSはアバター移動体MAに対して重ねて配置される。例えば外殻移動体MSに内包されるようにアバター移動体MAが配置される。例えば外殻移動体MS(第1の移動体)は、アバター移動体MA(第2の移動体)のサイズ又は形状に対応するサイズ又は形状を有する移動体となっている。例えば外殻移動体MSとアバター移動体MAは略同一のサイズ又は形状になっている。但し外殻移動体MSは、アバター移動体MAを覆うものであるため、その分だけアバター移動体MAよりもサイズが大きくてもよい。また外殻移動体MSとアバター移動体MAは、例えば人型という意味では同じ形状であるが、外殻移動体MSは種々の装備を有しており、その点においてアバター移動体MAの形状と異なるようになっていてもよい。
外殻移動体MSが重ねて配置されて装備された状態において、アバター移動体MAは例えば外から見えない状態になっており、いわゆるゴーストとして外殻移動体MSの中に入っている状態になっている。例えばアバター移動体MAは、位置情報、方向情報、姿勢情報などのデータは存在するが、画像としては表示されない仮想的なオブジェクトになっている。
またアバター移動体MAは、外殻移動体MSが重ねて配置されている状態において、画像として表示されるオブジェクトであってもよい。例えば外殻移動体MSがアバター移動体MAの全てを覆うのではなく、外殻移動体MSの一部(開口等)において、中に居るアバター移動体MAが視覚的に見えるような表示態様であってもよい。例えばアバター移動体MAは、外殻移動体MSの動作処理(モーション処理)に使用される動作データ(モーションデータ)に基づき動作することができ、ゴーストの移動体である。例えば後述のように外殻移動体MSに他のオブジェクト(攻撃)がヒットすることなどにより、アバター移動体MAと外殻移動体MSの配置関係にズレが生じたことを条件に、アバター移動体MAを表示物として表示するようにしてもよい。
このように本実施形態では、通常時は、外殻移動体MS(第1の移動体)が仮想空間内を移動し、ユーザは、この外殻移動体MSを用いてゲームをプレイする。そして所与の条件が成立すると、ユーザに対応するアバター移動体MA(第2の移動体)が表示される。例えば配置関係にズレが生じるような状況になった場合に、アバター移動体MAが表示される。例えばアバター移動体MAが生成されて表示される。そして、表示されたアバター移動体MAは、取得されたユーザ情報に基づいて、仮想空間内を移動する。
具体的には、所与の条件が成立する前は、アバター移動体MAは、表示されなかったり、或いはその一部が表示される。例えば外殻移動体MSに覆われることでアバター移動体MAが非表示になったり、外殻移動体MSの一部において、中に居るアバター移動体MAが見える状態になっている。そして所与の条件が成立すると、アバター移動体MAが表示される。そして、このように所与の条件が成立してアバター移動体MAを表示する場合には、外殻移動体MSの位置に対応する位置にアバター移動体MAが表示される。例えば後述するように、外殻移動体MSが障害物等に衝突したり、外殻移動体MSが破壊されると、外殻移動体MSが衝突した位置や破壊された位置に、アバター移動体MAが表示される。そして、このようにアバター移動体MAが表示された後、アバター移動体MAは、取得されたユーザ情報に基づいて仮想空間内を移動する。
図7は本実施形態により生成されるゲーム画像の例である。このゲーム画像は各ユーザが装着するHMDに表示される。例えば図7は、図5(A)のユーザUS1のHMD1に表示されるゲーム画像の例であり、ユーザUS1の外殻移動体MS1の手や所持する銃GS1(銃オブジェクト)が表示されている。また味方チームのユーザUS2、US3に対応する外殻移動体MS2、MS3や、敵チームのユーザに対応する外殻移動体MB1、MB2、MB3が表示されている。味方チームの外殻移動体MS1、MS2、MS3は、所持する銃GS1、GS2、GS3により敵側に対して攻撃を行い、敵チームの外殻移動体MB1、MB2、MB3は、所持する銃GB1、GB2、GB3により攻撃を行う。
以上のように本実施形態では、図6(A)のようにHMDを装着するユーザUSの位置情報、方向情報及び姿勢情報の少なくとも1つを含むユーザ情報が取得される。そして図6(B)に示すように、ユーザに対応するアバター移動体MA(第2の移動体)と、アバター移動体MAに対して重ねて配置される外殻移動体MS(第1の移動体)を、取得されたユーザ情報に基づいて、仮想空間において移動させたり動作させる処理が行われる。そしてユーザUSが装着するHMDには、図7に示すような表示画像が生成されて表示される。
このように本実施形態では、仮想空間において、ユーザの視点位置に存在するように移動制御されるアバター移動体と、アバター移動体に重ねて配置される外殻移動体が、ユーザの動きに応じて移動制御される。即ち、通常ならばユーザに対応するユーザ移動体は1つしか用意されないが、本実施形態では、ユーザ移動体として、ユーザの分身(ゴースト)に対応するアバター移動体と、アバター移動体の外殻(義体)となる外殻移動体が用意される。このようにすれば、例えばアバター移動体と外殻移動体とを、個別に制御したり表示処理することが可能になる。例えば、他のオブジェクトからの影響を外殻移動体だけに作用させて、アバター移動体には作用させないような処理が可能になる。これにより、実空間の状況と仮想空間の状況の相違に起因して不自然な事態や不適切な事態が発生してしまうのを抑制できるようになる。
例えば本実施形態では、ヒット判定処理等のヒット演算処理を、アバター移動体の代わりに、外殻移動体と他のオブジェクトとの間で行うようにする。そして外殻移動体に他のオブジェクトがヒットしたと判定した場合に、ヒット判定処理の結果に基づく処理を、外殻移動体に対して行う。
例えば図8(A)では、敵からの攻撃である弾SHが飛来している。この場合にヒット判定処理等のヒット演算処理は、外殻移動体MSと弾SH(広義には他のオブジェクト)との間で行う。例えばアバター移動体MAと弾SHとの間ではヒット判定処理を行わずに、外殻移動体MSと弾SHの間で行う。例えば外殻移動体MSに対して設定されたヒットボリュームと、弾SHとの交差判定処理によりヒット判定処理を実現する。この場合に弾SHに対してもヒットボリュームを設定して、外殻移動体MSとヒットボリュームの交差判定処理を行ってもよいし、弾SHについては軌道だけを求めて、外殻移動体MSのヒットボリュームと弾SHの軌道との交差判定処理を行ってもよい。
そして外殻移動体MSに弾SHがヒットしたと判定した場合には、外殻移動体MSのヒットポイント(広義には耐久力を表すパラメータ)を減少させる処理をヒット演算処理として行う。即ち、外殻移動体MSに弾SH(他のオブジェクト)がヒットしたと判定した場合に、ヒット判定処理の結果に基づく処理であるヒットポイントを減少させる処理を、外殻移動体MSに対して行い、アバター移動体MAに対しては行わないようにする。そしてヒットポイントがゼロになったと判定された場合(所与の条件が成立した場合)には、外殻移動体MSが破壊されたと判断し、例えば図8(B)のようにアバター移動体MAを露出(出現)させる。例えばアバター移動体MAの足元に外殻移動体MSが残骸として表示されるような演出処理を行う。残骸である外殻移動体MSは所与の時間が経過すると消滅する。
このようにアバター移動体MAは、図8(A)の通常状態では、外殻移動体MSに内包されて非表示状態になっているが、図8(B)のように外殻移動体MSが破壊されると、外部に露出して表示状態になる。即ち、所与の条件が成立するまでは、外殻移動体MSだけが表示され、アバター移動体MAは非表示になる。そして所与の条件が成立すると、アバター移動体MAが表示され、外殻移動体MSと同様に、ユーザの移動、動作に追従して、アバター移動体MAが移動、動作する。また図8(B)に示すように、アバター移動体MAは、外殻移動体MSの位置に対応する位置に表示される。なお、アバター移動体MAを表示する場合に、アバター移動体MAを不透明オブジェクトとして表示するようにしてもよいし、ゴーストのように半透明オブジェクトとして表示するようにしてもよい。
また図9(A)では、実空間においてユーザUSがB1に示すように移動しているが、ユーザUSの前方側には障害物は存在していない。一方、図9(B)では、仮想空間において、ユーザUSに対応する外殻移動体MS、アバター移動体MAがB2、B3に示すように移動しており、外殻移動体MS、アバター移動体MAの前方には障害物OBS(障害物オブジェクト)が存在している。
この場合に図10(A)、図10(B)の比較例の手法では、図10(A)のように実空間のユーザUSが移動した場合に、図10(B)に示すように外殻移動体MS、アバター移動体MAが障害物OBSを通過してしまう事態が生じている。即ち、実空間においてユーザUSの前方側には、仮想空間の障害物OBSに対応する障害物は存在しないため、ユーザUSは障害物に遮られることなく、自由に前方に移動できる。このため、実空間には実在しない障害物OBSが仮想空間に存在する場合に、図10(B)のように外殻移動体MS、アバター移動体MAが当該障害物OBSをすり抜けてしまうという不自然な事態が生じてしまう。このような事態が生じると、仮想空間において、ゲームの設定上、ユーザに見せたくないような部分についても、ユーザが見ることができてしまう不適切な事態が生じてしまう。例えば仮想空間に設定された壁をすり抜けて、壁の向こうが見えてしまうようになり、例えば本来は見えないはずの壁の向こう側においても背景等のオブジェクトを配置しなければならなくなる。このため、仮想空間の設定のためのデータ量が膨大になってしまう問題が発生する。
このような問題を解決するために本実施形態では、例えば図11(A)に示すように実空間のユーザUSが移動した場合にも、図11(B)に示すように、障害物OBS(広義には他のオブジェクト)とのヒット判定処理は、外殻移動体MSに対して行い、アバター移動体MAに対しては行わないようにする。このようにすれば、アバター移動体MAは、障害物OBSとのヒット判定処理が行われないことで、障害物OBSをすり抜けてしまうが、外殻移動体MSは、障害物OBSとのヒット判定処理が行われることで、障害物OBSをすり抜けることができないようになる。即ち、外殻移動体MSに障害物OBSがヒットしたと判定されると、外殻移動体MSについてはその移動が停止する。即ち、外殻移動体MSに障害物OBS(他のオブジェクト)がヒットしたと判定した場合に、ヒット判定処理の結果に基づく処理である移動の停止処理を、外殻移動体MSに対して行い、アバター移動体MAに対しては行わないようにする。そして図11(A)のように実空間のユーザUSが、仮想空間の障害物OBSに対応する位置を越えて前方に移動した場合に、このユーザUSの移動に対して、図11(B)に示すよう、外殻移動体MSは追従せずに、ユーザUSに対応するアバター移動体MAだけが追従して移動する。
図11(B)のように外殻移動体MSが障害物OBSの手前側に取り残されて、アバター移動体MAだけが障害物OBSを通過してしまう事態が生じると、自身の視点の周りに外殻移動体MSが存在しないことに気づいたユーザUSは、障害物OBSの手前側に対応する位置に戻るようになる。これによりゲームプレイを適正に再開できるようになる。
このように本実施形態では、外殻移動体MSが障害物OBSに衝突するなどして、所与の条件が成立すると、図11(B)に示すようにアバター移動体MAが表示される。そして図11(A)、図11(B)に示すように、外殻移動体MSから離脱したアバター移動体MAは、ユーザUSの位置情報、方向情報又は姿勢情報等のユーザ情報に基づいて、仮想空間内を移動する。例えば外殻移動体MSは障害物OBSに衝突することで、取り残されて停止しているが、アバター移動体MAは、ユーザUSの移動、動作に追従するように、仮想空間内を自由に移動する。またこのアバター移動体MAは、外殻移動体MSの位置に対応する位置に表示されて出現する。例えば図9(B)のように外殻移動体MSが障害物OBSに衝突して、外殻移動体MSからアバター移動体MAが離脱(幽体離脱)する場合に、その衝突位置や離脱位置にアバター移動体MAが表示される。そして、その後は、ユーザ情報に基づいて、図11(B)に示すように仮想空間内を移動する。
また本実施形態では図11(B)に示すように外殻移動体MSとアバター移動体MAの配置関係が変化した場合(配置関係にズレが生じた場合。所与の条件が成立した場合)に、配置関係の変化(ズレ)をユーザUSに報知する処理を行う。
例えば図11(A)では、ユーザUSのHMDに対して警告画面を表示する処理が、配置関係の変化(所与の条件の成立)をユーザUSに伝える報知処理として行われている。またユーザUSのヘッドホンにより「戻って!」というような音声を出力する処理が、報知処理として行われている。或いは報知処理として、HMDに設けられた振動デバイスを振動させる処理を行ってもよい。或いは、実空間のフィールドに設けられた、光、振動、空気砲又は音等による体感装置を用いて、配置関係の変化をユーザUSに伝える報知処理を実現してもよい。
このような報知処理を行うことで、図11(A)のユーザUSは、障害物OBSの手前側に対応する位置に戻るようになる。そして本実施形態では、アバター移動体MAと外殻移動体MSの配置関係が元の配置関係に戻ったことを条件に、ゲームの再開処理を行う。
例えば図11(A)、図11(B)のように、アバター移動体MAと外殻移動体MSの配置関係にズレが生じた場合(所与の条件が成立した場合)には、ゲーム進行処理又は対戦処理などのゲーム処理を、一旦、停止する。そしてユーザUSが、自身の視点の周りに外殻移動体MSが存在しないことに気づいたり、HMDの画像やヘッドホンの音による警告の報知処理が行われることで、仮想空間での障害物OBSの手前側に対応する実空間の元の位置に引き返したとする。このように元の位置に引き返すと、アバター移動体MAに対して外殻移動体MSが重なった状態である元の配置関係に戻ることになる。そして、停止していたゲーム処理の再開処理が行われる。例えば停止していたゲーム進行処理が再開する。或いは、図11(B)のような状態では、後述するように、通常モードの対戦処理が停止し、アバター移動体MAが無敵状態になったり、ユーザが敵に対して攻撃できなくなる。この場合に、ユーザUSが元の位置に引き返し、アバター移動体MAと外殻移動体MSが元の配置関係に戻ると、停止していた通常モードの対戦処理が再開する。例えばアバター移動体MAの無敵状態が解除され、敵に対しても攻撃できるようになる。これにより、その後のゲーム処理を適正に実行できるようになる。
3.2 表示態様の変化処理
本実施形態では、アバター移動体と外殻移動体の配置関係の変化、外殻移動体の状態の変化、或いはユーザのゲームパラメータの変化に応じて、アバター移動体(第2の移動体)の表示態様を変化させる処理を行う。
例えば図12(A)、図12(B)では、図11(A)に示すようにユーザUSが移動することで、外殻移動体MSに対してだけ障害物OBSとのヒット判定処理が行われて、アバター移動体MAは障害物OBSをすり抜けた状態になっている。即ち、アバター移動体MAと外殻移動体MSの配置関係にズレが生じている。そして図12(A)では、アバター移動体MAと外殻移動体MSの配置関係のズレは小さいが、図12(B)では、ズレが大きくなっている。このようにアバター移動体MAと外殻移動体MSの配置関係に変化があった場合(所与の条件が成立した場合)に、その変化に応じてアバター移動体MAの表示態様を変化させる。
例えば図12(A)のように配置関係のズレが小さい場合には、アバター移動体MAを非表示状態にしたり、透明に近い半透明状態にする。一方、図12(B)のように配置関係のズレが大きくなると、図12(A)で非表示状態であったアバター移動体MAを、図12(B)では表示状態にする。或いは図12(A)で半透明状態であったアバター移動体MAを、図12(B)では、より不透明な状態にするというような表示態様の変化処理を行う。
このようにすれば、アバター移動体MAの表示態様が変化することで、ユーザUSは、アバター移動体MAと外殻移動体MSの配置関係にズレが生じことや、そのズレが大きくなったことを視覚的に認識できるようになる。そしてユーザUSが、障害物OBSの手前側の元の位置に戻ることで、適正にゲームを再開することが可能になる。
また図13(A)、図13(B)では、図8(A)のように弾SHが外殻移動体MSにヒットすることで、外殻移動体MSのヒットポイントがゼロになって、外殻移動体MSが破壊状態になっている。この場合に図13(A)、図13(B)に示すようにアバター移動体MAの表示態様を変化させる。例えば図13(A)で非表示状態であったアバター移動体MAを、図13(B)では表示状態にする。或いは図13(A)で半透明状態であったアバター移動体MAを、図13(B)では、より不透明な状態にするというような表示態様の変化処理を行う。
例えば図13(A)のように外殻移動体MSが完全に破壊される前の状態においては、アバター移動体MAを非表示状態にしたり、透明に近い半透明状態にする。一方、図13(B)のように外殻移動体MSが完全に破壊されてアバター移動体MAの前に崩れ落ちた状態では、図13(A)で非表示状態であったアバター移動体MAを、図13(B)では表示状態にする。或いは図13(A)で半透明状態であったアバター移動体MAを、図13(B)では、より不透明な状態にする。
例えば図13(A)、図13(B)の表示態様の変化を、経過時間に応じて行ってもよい。例えば非表示状態又は半透明状態であったアバター移動体MAを、例えばヒットポイント等のゲームパラメータがゼロになってからの経過時間に応じて、不透明度が高くなるように表示態様を変化させる。
また図13(A)、図13(B)では外殻移動体MSの状態の変化(ヒットポイントの変化、非破壊状態から破壊状態への変化等)に応じて、アバター移動体MAの表示態様を変化させているが、ユーザのゲームパラメータの変化に応じて、アバター移動体MAの表示態様を変化させてもよい。例えばヒットポイント等の耐久力を表すゲームパラメータを、外殻移動体MSのゲームパラメータとして扱うのではなく、ユーザのゲームパラメータとして扱う。そしてユーザのヒットポイント等のゲームパラメータの変化に応じて、アバター移動体MAの表示態様を変化させる。例えば外殻移動体MSが消失して、アバター移動体MAが露出した場合に、ユーザのヒットポイント等のゲームパラメータの変化に応じて、アバター移動体MAの表示態様を変化させてもよい。またヒットポイント以外のユーザのゲームパラメータ(ユーザのステータスパラメータ、得点等のゲームポイント又は課金ポイント等)の変化に応じて、アバター移動体MAの表示態様を変化させてもよい。
また本実施形態では、仮想空間の所与の場所において、第1の移動体の交換処理を行えるようにしている。例えば図14では仮想空間のフィールドVFLにおいて、ユーザUS1は、自身のアバター移動体の外殻移動体が図8(B)のように破壊されている。この場合にフィールドVFLには、外殻移動体の換装場(交換場所)が設定されており、ユーザUS1のアバター移動体が、外殻移動体が破壊された場所から換装場に移動する。そして換装場に到着すると、例えば後述の図16に示すような選択画面が表示され、ユーザUS1は、破壊された外殻移動体の代わりとなる外殻移動体を装備できるようになる。外殻移動体を換装場において交換するためには、例えばユーザUS1のゲームポイント又はゲーム内通貨の消費が必要になる。
例えば図14において、ユーザUS1の外殻移動体が破壊された場所で外殻移動体が交換されてしまうと、ゲームが興ざめとなってしまう事態が生じる。このため、フィールドFL(ゲームステージ)の周縁部等の基地(本部、拠点)に、換装場を設ける。そして外殻移動体が破壊された状態のアバター移動体が、換装場に移動することで、破壊された外殻移動体の代わりとなる外殻移動体を装備できるようにする。こうすることで、ユーザは、外殻移動体を再び装備して、ゲームを再開できるようになる。
また図14において、外殻移動体が破壊されてアバター移動体だけの状態となったユーザUS1が、フィールドVFLを移動する際に、他のユーザUS2に接近して衝突してしまうおそれがある。例えばアバター移動体が、透明状態又は半透明状態などの視認性が低い状態に設定されていると、他のユーザUS2は、ユーザUS1のアバター移動体の存在に気づかず、実空間においてユーザUS1、US2の衝突が発生するおそれがある。
そこで本実施形態では、実空間においてユーザと他の物体とが衝突の接近関係になったと判定された場合に、アバター移動体(第2の移動体)の視認性を高める処理を行う。例えば図15(A)では、実空間のユーザUS1とユーザUS2(広義には他の物体)の衝突判定処理が行われている。この衝突判定処理では、例えばユーザUS1、US2間の距離が所与の距離以下になった場合には、ユーザUS1、US2が衝突の接近関係になったと判定(衝突のおそれがあると判定)する。或いは、ユーザUS1、US2の一方のユーザを基準とした距離範囲内に、他方のユーザが入った場合に、ユーザUS1、US2が衝突の接近関係になったと判定してもよい。
そしてユーザUS1、US2が衝突の接近関係になったと判定された場合には、図15(B)、図15(C)に示すように、ユーザUS1のアバター移動体MA1の視認性を高める処理を行う。ここで視認性を高める処理としては、種々の態様が考えられる。
例えば図15(B)においてアバター移動体MA1が非表示状態である場合には、図15(C)の視認性を高める処理として、アバター移動体MA1を非表示状態(透明状態)から表示状態(不透明状態)に変化させる処理、或いは非表示状態から半透明状態に変化させる処理を行う。
また図15(B)においてアバター移動体MA1が半透明状態である場合には、図15(B)の視認性を高める処理として、アバター移動体MA1の半透明状態をより不透明な状態にする処理を行う。例えばアバター移動体MA1、背景の画像の画素値(RGB値、輝度値)を、各々、IA、IBとし、半透明処理におけるアバター移動体MA1のα値をαA、背景のα値をαB(例えばαB=1−αA)とする。このとき、合成後の画素値は、IP=αA×IA+αB×IB=αA×IA+(1−αA)×IBと表すことができる。この場合に、アバター移動体MA1の半透明状態をより不透明な状態にする処理は、例えばαAを大きくする処理により実現できる。
このようにユーザUS1、US2が衝突の接近関係になった場合に、アバター移動体MAの視認性を高める処理を行えば、ユーザUS2のHMD2に対して、視認性が増加したアバター移動体MA1の画像が映るようになる。従って、ユーザUS2は、アバター移動体MA1を視覚的に十分に認識できるようになり、仮想空間でのアバター移動体MA1との衝突を避けることで、実世界でのユーザUS1との衝突を回避できるようになる。
なおユーザUS2の外殻移動体MS2も破壊された場合には、ユーザUS2のアバター移動体MA2についても視認性を高める処理を行えばよい。また、ユーザUS1、US2が衝突の接近関係になった場合に、衝突の報知処理を行ってもよい。例えば図11(A)と同様に、画像、音、又は体感装置を用いて、衝突の接近関係になったことをユーザUS2(US1)に報知する。例えばHMD2に表示される画像やヘッドホンから出力される音により、衝突の報知処理を行う。或いは振動や音響や空気砲などの体感装置を用いて、衝突の報知処理を行うようにしてもよい。
また本実施形態では、複数種類の移動体の中からユーザにより選択された移動体を、外殻移動体(第1の移動体)として設定するようにしている。
例えばゲームの開始時等において、図16に示すような外殻移動体の選択画面を表示する。図16では、外殻移動体MSA、MSB、MSC等が、ユーザが選択可能な外殻移動体として表示されている。これらの外殻移動体MSA、MSB、MSCは、例えば攻撃力、守備力、耐久力、移動力等のゲームパラメータが互いに異なる移動体となっている。また外殻移動体MSA、MSB、MSCは、様態(容姿、デザイン)やサイズなども互いに異なっている。こうすることでユーザは、ゲーム開始時等において、ユーザの好みの外殻移動体を選択して装備できるようになる。また図14の換装場においても図16に示すような選択画面を表示して、交換先となる外殻移動体をユーザに選択させてもよい。
なお、ユーザのプレイレベル、プレイ時間、プレイ回数、或いはユーザが支払ったコスト(対価)などに応じて、ユーザが選択可能な外殻移動体を異ならせてもよい。例えばユーザのプレイレベルが高いほど、或いはプレイ時間が長いほど、或いはプレイ回数が多いほど、或いは支払ったコストが高いほど、より性能が高かったり、よりデザイン性が高かったり、或いは、よりレアな外殻移動体を、ユーザが選択できるようにする。このようにすれば、ユーザは、自身が所望する外殻移動体を選択可能にすることが動機づけとなって、ゲームをプレイするようになり、ゲームの面白味やゲームに対するユーザの熱中度を高めることが可能になる。
また本実施形態では、アバター移動体に外殻移動体が重ねて配置されている状態である装備状態(所与の条件が成立していない状態)と、アバター移動体に外殻移動体が重ねて配置されていない状態である非装備状態(所与の条件が成立した状態)とで、アバター移動体の対戦処理用のパラメータを異ならせている。
例えば図17(A)では、敵からの攻撃により外殻移動体MSが破壊されることで、外殻移動体MSが非装備状態になっている。この場合にはアバター移動体MAは、攻撃不能状態に設定され、無敵状態に設定される。例えば、外殻移動体MSが装備状態である場合に所与の値となる攻撃力のパラメータ(対戦処理用パラメータ)が、非装備状態ではゼロに設定され、攻撃不能状態に設定される。また外殻移動体MSが装備状態である場合に所与の値となる守備力のパラメータ(対戦処理用パラメータ)が、非装備状態では無限大に設定され、無敵状態に設定される。
また図17(B)では、外殻移動体MSに対してだけ障害物OBSとのヒット判定処理が行われることで、外殻移動体MSが非装備状態になっている。即ちアバター移動体MAと外殻移動体MSの配置関係にズレが生じている。この場合にも、上述と同様にアバター移動体MAは、攻撃不能状態に設定され、無敵状態に設定される。即ち、外殻移動体MSが非装備状態である場合と装備状態である場合とで、例えば攻撃力、守備力等のパラメータである対戦処理用のパラメータを異ならせている。
図17(A)、図17(B)のように、外殻移動体が非装備状態である場合に、アバター移動体を攻撃不能状態、無敵状態に設定することで、ユーザのゲームプレイは実質的に停止される。そして例えば図14に示すように、外殻移動体が非装備であるアバター移動体のままで、換装所に移動して、新たな外殻移動体に交換することで、攻撃不能状態、無敵状態が解除される。そしてユーザは、通常のゲームプレイを再開できるようになる。
なお外殻移動体が非装備状態である場合に、アバター移動体を攻撃可能状態に設定してもよい。例えばアバター移動体が武器等を持って攻撃できるようにする。この場合にアバター移動体の攻撃力のパラメータを、装備状態に比べて低い攻撃力になるように設定してもよい。また外殻移動体が非装備状態である場合に、アバター移動体を無敵状態にはせずに、敵からの攻撃のヒットが有効になるように設定してもよい。そして、例えばアバター移動体の防御力のパラメータを、装備状態に比べて低い防御力になるように設定してもよい。例えば敵からの攻撃に対して非常に脆い性能になるように、アバター移動体の防御力を設定する。このように外殻移動体の装備状態と非装備状態とで、対戦処理用のパラメータを異ならせることで、ゲームプレイの多様性や戦略的な面白味を向上できるようになる。
4.詳細な処理
次に本実施形態の詳細な処理例について図18、図19のフローチャートを用いて説明する。
図18では、まずユーザの位置情報、方向情報及び姿勢情報の少なくとも1つを含むユーザ情報を取得する(ステップS1)。例えばHMDの位置情報、方向情報を取得することで、ユーザの位置情報、方向情報等を取得できる。そして、ユーザに対応するアバター移動体及び外殻移動体の移動処理を行う(ステップS2)。例えば、取得された実空間でのユーザの位置情報や方向情報に基づいて、アバター移動体及び外殻移動体を仮想空間で移動させる処理を行う。またユーザの姿勢情報が取得される場合には、取得された姿勢情報に基づいて、アバター移動体及び外殻移動体を動作させるモーション処理を行う。
次に、敵の攻撃(弾等の被ヒット物)がヒットしたか否かを判定する(ステップS3)。そして攻撃がヒットした場合には、外殻移動体のヒットポイントを減らす等のヒット演算処理を行う(ステップS4)。即ち、図8(A)、図8(B)、図11(A)、図11(B)で説明したように、他のオブジェクト(弾、障害物等)とのヒット判定処理や、ヒット判定処理の結果に基づくヒットポイントの演算等の処理は、アバター移動体の代わり、外殻移動体を用いて行われる。
次に、障害物との衝突又は外殻移動体の破壊等により、アバター移動体と外殻移動体の配置関係にズレが生じる状態になったか否かを判断する(ステップS5)。例えば図8(B)や図11(B)に示すような状態になったか否かを判断する。そして、アバター移動体と外殻移動体の配置関係にズレが生じた場合には、配置関係にズレ(変化)が生じたことをユーザに伝えるための報知処理を行う(ステップS6)。例えば図11(A)に示すように、HMDに表示される画像やヘッドホンからの音等を用いて、配置関係にズレ(変化)が生じたことの報知処理を行う。またアバター移動体の表示態様を変化させる処理やアバター移動体の対戦用パラメータを変更する処理を行う(ステップS7、S8)。例えば図12(A)〜図13(B)に示すように、アバター移動体の視認性を高める表示態様の変化処理を行ったり、図17(A)、図17(B)に示すように、アバター移動体を攻撃不能状態や無敵状態にするというような対戦用パラメータの変更処理を行う。
図19は衝突の接近関係になった場合の本実施形態の処理例を示すフローチャートである。まず、実空間においてユーザと他の物体(他のユーザ、障害物)が衝突の接近関係になったか否かを判断する(ステップS11)。例えば図15(A)に示すような接近関係になったか否かを判断する。そして衝突の接近関係になった場合には、衝突の警告処理等の衝突判定時用の処理を実行する(ステップS12)。例えば、他の物体が接近したことで衝突のおそれがあることをユーザに知らせる処理等を行う。具体的には、外殻移動体が破壊状態か否かを判断し(ステップS13)、破壊状態である場合には、アバター移動体の視認性を高める処理を行う(ステップS14)。例えば図15(B)、図15(C)で説明したように、アバター移動体を、非表示状態から表示状態又は半透明状態に変化させたり、或いはアバター移動体の不透明度を高める処理などを行う。
なお、上記のように本実施形態について詳細に説明したが、本発明の新規事項および効果から実体的に逸脱しない多くの変形が可能であることは当業者には容易に理解できるであろう。従って、このような変形例はすべて本発明の範囲に含まれるものとする。例えば、明細書又は図面において、少なくとも一度、より広義または同義な異なる用語(第1の移動体、第2の移動体、弾・障害物、耐久力を表すパラメータ等)と共に記載された用語(外殻移動体、アバター移動体、他のオブジェクト、ヒットポイント等)は、明細書又は図面のいかなる箇所においても、その異なる用語に置き換えることができる。またユーザ情報の取得処理、仮想空間の設定処理、第1、第2の移動体の設定処理、第1、第2の移動体の移動処理、ゲーム処理、ヒット演算処理、表示態様を変化させる処理、視認性を高める処理、報知処理、表示処理等も、本実施形態で説明したものに限定されず、これらと均等な手法・処理・構成も本発明の範囲に含まれる。また本発明は種々のゲームに適用できる。また本発明は、業務用ゲーム装置、家庭用ゲーム装置、又は多数のユーザが参加する大型アトラクションシステム等の種々のシミュレーションシステムに適用できる。
US、US1〜US4、ユーザ、GN、GN1〜GN4 ガン型コントローラ、
MA、MA1、MA2 アバター移動体、MS、MS1〜MS3 外殻移動体、
MB1〜MB3 外殻移動体(敵)、GS1〜GS3 GB1〜GB3 銃、
SH 弾、OBS 障害物、FL、VFL フィールド、
HMD、HMD1〜HMD4 頭部装着型表示装置、
100 処理部、102 入力処理部、110 演算処理部、111 情報取得部、
112 仮想空間設定部、113 移動体処理部、114 仮想カメラ制御部、
115 ゲーム処理部、116 ヒット演算処理部、117 報知処理部、
120 表示処理部、130 音処理部、140 出力処理部、
150 撮像部、151、152 カメラ、160 操作部、
170 記憶部、172 オブジェクト情報記憶部、178 描画バッファ、
180 情報記憶媒体、192 音出力部、194 I/F部、
195 携帯型情報記憶媒体、196 通信部、
200 HMD(頭部装着型表示装置)、201〜205 受光素子、
210 センサ部、220 表示部、231〜238 発光素子、240 処理部、
250 処理装置、252 ケーブル、260 ヘッドバンド、270 ヘッドホン、
280、284 ベースステーション、
281、282、285、286 発光素子、290 ガン型コントローラ

Claims (17)

  1. 視界を覆うように頭部装着型表示装置を装着するユーザの位置情報、方向情報及び姿勢情報の少なくとも1つを含むユーザ情報を取得する情報取得部と、
    仮想空間の設定処理を行う仮想空間設定部と、
    前記仮想空間でのゲームの処理を行うゲーム処理部と、
    取得された前記ユーザ情報に基づいて、第1の移動体を、前記仮想空間において移動させる処理を行う移動体処理部と、
    前記ユーザが装着する前記頭部装着型表示装置の表示画像を生成する表示処理部と、
    を含み、
    前記表示処理部は、
    所与の条件が成立した場合に、前記ユーザに対応する第2の移動体を表示し、
    前記移動体処理部は、
    取得された前記ユーザ情報に基づいて、前記第2の移動体を、前記仮想空間において移動させる処理を行うことを特徴とするシミュレーションシステム。
  2. 請求項1において、
    前記移動体処理部は、
    前記ユーザに対応する前記第2の移動体と、前記第2の移動体に対して重ねて配置される前記第1の移動体とを、取得された前記ユーザ情報に基づいて、前記仮想空間において移動させる処理を行うことを特徴とするシミュレーションシステム。
  3. 請求項1又は2において、
    前記ゲーム処理部は、
    前記ユーザに対応する前記第2の移動体の代わりに前記第1の移動体と他のオブジェクトとのヒット演算処理を行うことを特徴とするシミュレーションシステム。
  4. 請求項3において、
    前記ゲーム処理部は、
    前記第1の移動体に前記他のオブジェクトがヒットしたと判定した場合に、前記ヒット判定処理の結果に基づく処理を、前記第1の移動体に対して行うことを特徴とするシミュレーションシステム。
  5. 請求項1乃至4のいずれかにおいて、
    前記第1の移動体と前記第2の移動体の配置関係が変化した場合に、前記配置関係の変化を前記ユーザに報知する処理を行う報知処理部を含むことを特徴とするシミュレーションシステム。
  6. 請求項5において、
    前記ゲーム処理部は、
    前記第1の移動体と前記第2の移動体の配置関係が元の配置関係に戻った場合に、ゲームの再開処理を行うことを特徴とするシミュレーションシステム。
  7. 請求項1乃至6のいずれかにおいて、
    前記表示処理部は、
    前記第1の移動体と前記第2の移動体の配置関係の変化、前記第1の移動体の状態の変化及び前記ユーザのゲームパラメータの変化の少なくとも1つに応じて、前記第2の移動体の表示態様を変化させる処理を行うことを特徴とするシミュレーションシステム。
  8. 請求項1乃至7のいずれかにおいて、
    前記表示処理部は、
    実空間において前記ユーザと他の物体とが衝突の接近関係になったと判定された場合に、前記第2の移動体の視認性を高める処理を行うことを特徴とするシミュレーションシステム。
  9. 請求項8において、
    前記表示処理部は、
    前記第2の移動体の前記視認性を高める処理として、前記第2の移動体を非表示状態から表示状態に変化させる処理、前記第2の移動体を非表示状態から半透明状態に変化させる処理、又は前記第2の移動体の半透明状態をより不透明な状態にする処理を行うことを特徴とするシミュレーションシステム。
  10. 請求項1乃至9のいずれかにおいて、
    前記移動体処理部は、
    前記仮想空間の所与の場所において、前記第1の移動体の交換処理を行うことを特徴とするシミュレーションシステム。
  11. 請求項1乃至10のいずれかにおいて、
    前記移動体処理部は、
    複数種類の移動体の中から前記ユーザにより選択された移動体を、前記第1の移動体として設定することを特徴とするシミュレーションシステム。
  12. 請求項1乃至11のいずれかにおいて、
    前記ゲーム処理部は、
    前記第2の移動体に前記第1の移動体が重ねて配置されている状態と、前記第2の移動体に前記第1の移動体が重ねて配置されていない状態とで、前記第2の移動体の対戦処理用のパラメータを異ならせることを特徴とするシミュレーションシステム。
  13. 請求項1乃至12のいずれかにおいて、
    前記表示処理部は、
    前記所与の条件が成立する前は、前記第2の移動体を非表示にする又は前記第2の移動体の一部を表示し、前記所与の条件が成立した場合に、前記第2の移動体を表示することを特徴とするシミュレーションシステム。
  14. 請求項1乃至13のいずれかにおいて、
    前記表示処理部は、
    前記所与の条件が成立して前記第2の移動体を表示する場合には、前記第1の移動体の位置に対応する位置に前記第2の移動体を表示し、
    前記移動体処理部は、
    前記第2の移動体が表示された後、取得された前記ユーザ情報に基づいて、前記第2の移動体を、前記仮想空間において移動させる処理を行うことを特徴とするシミュレーションシステム。
  15. 請求項1乃至14のいずれかにおいて、
    前記第1の移動体は、前記第2の移動体の外殻となる移動体であることを特徴とするシミュレーションシステム。
  16. 請求項1乃至15のいずれかにおいて、
    前記第1の移動体は、前記第2の移動体のサイズ又は形状に対応するサイズ又は形状を有する移動体であることを特徴とするシミュレーションシステム。
  17. 視界を覆うように頭部装着型表示装置を装着するユーザの位置情報、方向情報及び姿勢情報の少なくとも1つを含むユーザ情報を取得する情報取得部と、
    仮想空間の設定処理を行う仮想空間設定部と、
    前記仮想空間でのゲームの処理を行うゲーム処理部と、
    取得された前記ユーザ情報に基づいて、第1の移動体を、前記仮想空間において移動させる処理を行う移動体処理部と、
    前記ユーザが装着する前記頭部装着型表示装置の表示画像を生成する表示処理部として、
    コンピュータを機能させ、
    前記表示処理部は、
    所与の条件が成立した場合に、前記ユーザに対応する第2の移動体を表示し、
    前記移動体処理部は、
    取得された前記ユーザ情報に基づいて、前記第2の移動体を、前記仮想空間において移動させる処理を行うことを特徴とするプログラム。
JP2017071915A 2017-03-31 2017-03-31 シミュレーションシステム及びプログラム Pending JP2018171309A (ja)

Priority Applications (1)

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

Applications Claiming Priority (1)

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

Publications (1)

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

Family

ID=64106751

Family Applications (1)

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

Country Status (1)

Country Link
JP (1) JP2018171309A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021215246A1 (ja) * 2020-04-21 2021-10-28 ソニーグループ株式会社 画像処理装置、画像処理方法、および、プログラム
JPWO2021230073A1 (ja) * 2020-05-13 2021-11-18
WO2024232255A1 (ja) * 2023-05-11 2024-11-14 ソニーグループ株式会社 情報処理装置、情報処理方法、記録媒体
JP2025012902A (ja) * 2023-07-14 2025-01-24 株式会社コナミアミューズメント ゲームシステム、ゲーム制御方法およびプログラム

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021215246A1 (ja) * 2020-04-21 2021-10-28 ソニーグループ株式会社 画像処理装置、画像処理方法、および、プログラム
JPWO2021215246A1 (ja) * 2020-04-21 2021-10-28
US20230130815A1 (en) * 2020-04-21 2023-04-27 Sony Group Corporation Image processing apparatus, image processing method, and program
JPWO2021230073A1 (ja) * 2020-05-13 2021-11-18
WO2021230073A1 (ja) * 2020-05-13 2021-11-18 ソニーグループ株式会社 情報処理装置、情報処理方法、及び表示装置
US12293453B2 (en) 2020-05-13 2025-05-06 Sony Group Corporation Information processing apparatus, information processing method, and display apparatus for performing a collision avoidance process for avoiding a collision of a virtual camera against a target object
WO2024232255A1 (ja) * 2023-05-11 2024-11-14 ソニーグループ株式会社 情報処理装置、情報処理方法、記録媒体
JP2025012902A (ja) * 2023-07-14 2025-01-24 株式会社コナミアミューズメント ゲームシステム、ゲーム制御方法およびプログラム
JP7655577B2 (ja) 2023-07-14 2025-04-02 株式会社コナミアミューズメント ゲームシステム、ゲーム制御方法およびプログラム

Similar Documents

Publication Publication Date Title
US11014000B2 (en) Simulation system, processing method, and information storage medium
US11865453B2 (en) Simulation system, process method, and information storage medium
US11738270B2 (en) Simulation system, processing method, and information storage medium
US11094106B2 (en) Simulation system, processing method, and information storage medium for changing a display object in response to a movement of a field of view
JP6438207B2 (ja) 画像生成システム及びプログラム
JP5161256B2 (ja) プログラム、情報記憶媒体、及び、画像生成装置
WO2018124280A1 (ja) シミュレーションシステム、画像処理方法及び情報記憶媒体
JP7144796B2 (ja) シミュレーションシステム及びプログラム
WO2018012395A1 (ja) シミュレーションシステム、処理方法及び情報記憶媒体
JP6298130B2 (ja) シミュレーションシステム及びプログラム
JP7071823B2 (ja) シミュレーションシステム及びプログラム
JP2019175323A (ja) シミュレーションシステム及びプログラム
JP2019152899A (ja) シミュレーションシステム及びプログラム
JP2018171319A (ja) シミュレーションシステム及びプログラム
JP2018171309A (ja) シミュレーションシステム及びプログラム
JP2019175322A (ja) シミュレーションシステム及びプログラム
JP6794390B2 (ja) シミュレーションシステム及びプログラム
JP6660321B2 (ja) シミュレーションシステム及びプログラム
JP2019176934A (ja) シミュレーションシステム
JP2019213764A (ja) シミュレーションシステム
JP2018171320A (ja) シミュレーションシステム及びプログラム
JP6918189B2 (ja) シミュレーションシステム及びプログラム
JP2006263321A (ja) プログラム、情報記憶媒体、及び画像生成システム