(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6457989
(24)【登録日】2018年12月28日
(45)【発行日】2019年1月23日
(54)【発明の名称】ゲームプログラム及びゲーム装置
(51)【国際特許分類】
A63F 13/212 20140101AFI20190110BHJP
A63F 13/25 20140101ALI20190110BHJP
A63F 13/5255 20140101ALI20190110BHJP
A63F 13/5375 20140101ALI20190110BHJP
G06T 19/00 20110101ALI20190110BHJP
G06F 3/01 20060101ALI20190110BHJP
【FI】
A63F13/212
A63F13/25
A63F13/5255
A63F13/5375
G06T19/00 300B
G06F3/01 570
G06F3/01 510
【請求項の数】5
【全頁数】10
(21)【出願番号】特願2016-201174(P2016-201174)
(22)【出願日】2016年10月12日
(65)【公開番号】特開2018-61667(P2018-61667A)
(43)【公開日】2018年4月19日
【審査請求日】2017年4月5日
【新規性喪失の例外の表示】特許法第30条第2項適用 2016年9月15日〜2016年9月18日幕張メッセで開催された「東京ゲームショウ2016」において公開
(73)【特許権者】
【識別番号】000129149
【氏名又は名称】株式会社カプコン
(74)【代理人】
【識別番号】100083806
【弁理士】
【氏名又は名称】三好 秀和
(74)【代理人】
【識別番号】100101247
【弁理士】
【氏名又は名称】高橋 俊一
(74)【代理人】
【識別番号】100095500
【弁理士】
【氏名又は名称】伊藤 正和
(74)【代理人】
【識別番号】100098327
【弁理士】
【氏名又は名称】高松 俊雄
(72)【発明者】
【氏名】岡部 眞輝
(72)【発明者】
【氏名】森 善龍
【審査官】
西村 民男
(56)【参考文献】
【文献】
特許第5869177(JP,B1)
【文献】
特開2015−232783(JP,A)
【文献】
特開2015−231445(JP,A)
【文献】
特開2013−258614(JP,A)
【文献】
特開2011−258158(JP,A)
【文献】
国際公開第2016/148072(WO,A1)
【文献】
米国特許出願公開第2014/0049558(US,A1)
【文献】
Oculus Riftで頭の動き+タップで簡単に Unity4.6 UIを選択できるやつを作ってみた,2014年10月 2日,[online] 2018年4月19日検索,URL,http://tips.hecomi.com/entry/2014/10/02/005313
(58)【調査した分野】(Int.Cl.,DB名)
A63F9/24,13/00−13/98,
G06F3/01,3/048−3/0489,
G06T19/00,
G09G5/00−5/36,5/377−5/42
(57)【特許請求の範囲】
【請求項1】
ユーザがヘッドマウントディスプレイを装着してプレイするゲームを提供するゲームプログラムであって、
コンピュータを
前記ヘッドマウントディスプレイからユーザの頭の動き情報を入力する入力手段、
前記ヘッドマウントディスプレイと前記ユーザが把持するコントローラの位置情報及び前記コントローラの傾き情報を取得する位置情報取得手段、
前記ユーザの頭の動き情報に基づいて仮想空間内の仮想カメラを制御するカメラ制御手段、
前記位置情報に基づいて前記仮想空間内における前記コントローラの仮想位置を決定し、当該仮想位置を基準としてコントローラオブジェクトを配置するとともに、前記コントローラの動きに同期させて前記コントローラオブジェクトを動かすコントローラオブジェクト制御手段、
操作方法を示す操作方法オブジェクトを前記仮想空間内に配置する操作方法オブジェクト制御手段、として機能させ、
前記操作方法オブジェクト制御手段は、所定の条件を満たす場合、前記操作方法オブジェクトを前記コントローラオブジェクトの近傍に配置し、前記操作方法オブジェクトを前記コントローラの動きに同期させて動かすことを特徴とするゲームプログラム。
【請求項2】
前記所定の条件は、前記仮想位置が所定の空間内であることを特徴とする請求項1に記載のゲームプログラム。
【請求項3】
前記操作方法オブジェクトの周囲と前記仮想カメラのそれぞれに判定領域を設定し、判定領域が重なったか否かを判定する判定手段として前記コンピュータを機能させることを特徴とする請求項1又は2に記載のゲームプログラム。
【請求項4】
前記判定手段は、前記操作方法オブジェクトの周囲に2重の判定領域を設定し、当該2重の判定領域のそれぞれと前記仮想カメラの判定領域との重なりを判定することを特徴とする請求項3に記載のゲームプログラム。
【請求項5】
請求項1乃至4のいずれかに記載のゲームプログラムを記憶したプログラム記憶部と、
前記プログラム記憶部に記憶されたゲームプログラムを実行するコンピュータと、
を備えたゲーム装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ヘッドマウントディスプレイを用いるゲームプログラム及びゲーム装置に関する。
【背景技術】
【0002】
近年、ヘッドマウントディスプレイ(HMD)が普及しつつある。HMDを利用したバーチャルリアリティ(VR)に対応したVRゲームでは、ユーザは、仮想3次元空間内に実際に存在しているかのような感覚が得られる。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2012−085106号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
ゲーム内で取得したトロフィー、メダル、あるいはフィギュアなどのリワードを閲覧できるビューワー機能が知られている。従来のゲームでは、コントローラを操作してフィギュア等を回転させていた。
【0005】
VRゲームがビューワー機能を備えると、リワードが実際に存在するかのように見せることができる。ユーザは、リワードを手にとって様々な角度から観察したいと考えられる。
【0006】
本発明は、上記に鑑みてなされたものであり、HMDを使用するVR空間においてオブジェクトを直感的に観察できるようにすることを目的とする。
【課題を解決するための手段】
【0007】
本発明に係るゲームプログラムは、ユーザがヘッドマウントディスプレイを装着してプレイするゲームを提供するゲームプログラムであって、コンピュータを前記ヘッドマウントディスプレイからユーザの頭の動き情報を入力する入力手段、前記ヘッドマウントディスプレイと前記ユーザが把持するコントローラの位置情報及び前記コントローラの傾き情報を取得する位置情報取得手段、前記ユーザの頭の動き情報に基づいて仮想空間内の仮想カメラを制御するカメラ制御手段、前記位置情報に基づいて前記仮想空間内における前記コントローラの仮想位置を決定し、当該仮想位置を基準としてコントローラオブジェクトを配置するとともに、前記コントローラの動きに同期させて前記コントローラオブジェクトを動かすコントローラオブジェクト制御手段、
操作方法を示す操作方法オブジェクトを前記仮想空間内に配置する
操作方法オブジェクト制御手段、として機能させ、前記
操作方法オブジェクト制御手段は、所定の条件を満たす場合、前記
操作方法オブジェクトを前記コントローラオブジェクトの近傍に配置し、前記
操作方法オブジェクトを前記コントローラの動きに同期させて動かすことを特徴とする。
【発明の効果】
【0008】
本発明によれば、HMDを使用するVR空間においてオブジェクトを直感的に観察できるようにすることができる。
【図面の簡単な説明】
【0009】
【
図2】
図1のゲーム機のハードウェア構成を示すブロック図である。
【
図3】
図1のヘッドマウントディスプレイのハードウェア構成を示すブロック図である。
【
図4】本実施形態のゲーム装置の機能的な構成を示す機能ブロック図である。
【
図5】ビューワーモードの処理の流れを示すフローチャートである。
【
図6】ビューワーモードの画面の例を示す図である。
【
図8】コントローラのモデルの上にフィギュアのモデルを貼り付けた様子を示す図である。
【
図9】コントローラモデルに操作方法などの情報を付加した様子を示す図である。
【発明を実施するための形態】
【0010】
以下、本発明の実施形態について図面を用いて説明する。
【0011】
[ゲームシステム]
図1は、本実施形態のゲームシステムの構成を示す概略図である。
【0012】
図1に示すゲームシステムは、ゲーム機100、検出器150、コントローラ200、及びHMD300を備える。ゲーム機100は、ゲームプログラムを実行可能な、演算処理装置及び記憶装置を備えたコンピュータである。ゲーム機100は、家庭用のゲーム専用機、パーソナルコンピュータ、スマートフォンなどの携帯端末、あるいはアーケードゲーム機であってもよい。検出器150は、コントローラ200及びHMD300の3次元位置及び傾きを検出し、その位置情報等をゲーム機100へ送信する。コントローラ200は、ユーザの入力した操作をゲーム機100へ送信する。コントローラ200は、有線あるいは無線でゲーム機100に接続される。HMD300は、ユーザの頭部に装着され、ユーザの頭部の回転角及び動きを検出してゲーム機100へ送信するとともに、ゲーム機100から受信した画像を表示する。HMD300は、有線あるいは無線でゲーム機100に接続される。
【0013】
図2は、ゲーム機100のハードウェア構成を示すブロック図である。ゲーム機100は、中央演算処理装置(CPU)101、ROM(Read Only Memory)102、RAM(Random Access Memory)103、GPU(Graphics Processing Unit)104、SPU(Sound Processing Unit)105、インタフェース106、及びDRIVE107を備える。CPU101は、ゲームプログラムを実行する。ROM102は、システムプログラムを記憶する。RAM103は、ゲームプログラム及び各種データを記憶する。GPU104は、仮想空間の画像を生成する。SPU105は、音声を処理する。インタフェース106は、コントローラ200及びHMD300を接続し、操作情報とHMD情報を入力する。インタフェース106は、GPU104とSPU105で処理された画像と音声を出力する。DRIVE107は、ゲームプログラムを記録した記録媒体からゲームプログラムを読み出してRAM103に格納する。記録媒体は、CD、DVD、Blu−Ray(登録商標) Diskなどの光ディスクであってもよいし、磁気ディスク、あるいは半導体メモリであってもよい。ゲーム機100が通信機能を備えて、ネットワークを介してゲームプログラムを取得してもよい。
【0014】
図3は、HMD300のハードウェア構成を示すブロック図である。HMD300は、表示部301A,301B、ジャイロセンサ302、加速度センサ303、及び制御部304を備える。表示部301A,301Bは、それぞれ右眼用画像、左眼用画像を表示する。右眼用画像と左眼用画像が視差を有すると、ユーザの見る画像は3次元立体画像となる。ジャイロセンサ302は、ユーザの頭部の回転角を検知する。HMD300を装着したユーザの頭部を原点として、ユーザの正面方向にロール軸、ユーザの左方向にピッチ軸、ユーザの頭上方向にヨー軸をとる。ジャイロセンサ302は、各軸についてユーザ頭部の回転角(ロール角、ピッチ角、ヨー角)を検知する。加速度センサ303は、ユーザの頭部の動きを検知する。制御部304は、ゲーム機100から画像を受信して表示部301A,301Bに表示させる。また、制御部304は、ジャイロセンサ302及び加速度センサ303で検知したデータをゲーム機100に送信する。
【0015】
[ビューワーモード]
本実施形態では、ビューワーモードについて説明する。ビューワーモードは、ユーザがゲーム中に取得したゲームキャラクタのフィギュア等を見ることができる機能である。本実施形態では、コントローラ200の動きに同期させて仮想3次元空間内のフィギュアを動かす。具体的には、コントローラ200とHMD300の位置を検出し、検出したコントローラ200の位置に対応させて仮想3次元空間内にコントローラ200の形状のモデル(以下、「コントローラモデル」と称する)を表示し、コントローラモデル上にフィギュアのモデルを貼り付けて表示する。ユーザがコントローラ200を傾けると、仮想3次元空間内のコントローラモデルが傾いて表示され、さらに、コントローラモデル上のフィギュアも傾いて表示される。
【0016】
本実施形態のゲーム装置50について説明する。
【0017】
図4は、本実施形態のゲーム装置50の機能的な構成を示す機能ブロック図である。
図4に示すゲーム装置50は、入力部51、検出部52、処理部53、及び出力部54を備える。ゲーム機100は、本実施形態のゲームプログラムを実行することにより、
図4に示す機能部を備えたゲーム装置50として動作する。ゲーム機100は、図示していない機能も発揮するが、ここでは本実施形態に関係する機能部のみを図示している。
【0018】
入力部51は、コントローラ200からユーザの操作情報を入力し、HMD300からユーザの頭の向きや動きなどのHMD情報を入力する。
【0019】
検出部52は、検出器150からコントローラ200とHMD300の実空間における位置情報を取得する。また、検出部52は、検出器150からコントローラ200の傾き情報を取得する。
【0020】
処理部53は、ビューワーモードにおける各種処理を実行する。具体的には、処理部53は、HMD情報に基づいて仮想カメラを設定する処理、コントローラ200の位置に基づいて仮想3次元空間内にコントローラモデルを配置する処理、ゲームキャラクタの選択を受け付ける処理、ゲームキャラクタをフィギュア化してコントローラモデル上に配置する処理等を実行する。
【0021】
出力部54は、仮想3次元空間内のゲームキャラクタ、コントローラモデル、及びフィギュア等を仮想カメラで撮影し、2次元画像を生成する。出力部54が視差を有する右眼用画像と左眼用画像を生成し、HMD300が各画像を表示部301A,301Bのそれぞれで表示することで、ユーザはHMD300で3次元立体画像を見ることができる。また、出力部54は、ユーザの操作に応じて表示中のフィギュアのボイスを出力する。
【0022】
続いて、ビューワーモードの処理について説明する。
【0023】
図5は、ビューワーモードの処理の流れを示すフローチャートである。ユーザの操作により、メインメニュー等からビューワーモードに遷移する。
【0024】
処理部53は、ゲームキャラクタの選択を受け付けて、選択されたゲームキャラクタを手前に移動させる(ステップS11)。
【0025】
本実施形態のビューワーモードでは、
図6に示すように、ゲーム中に取得したフィギュアに対応するゲームキャラクタが仮想3次元空間内に並べられる。ビューワーモードの背景としてムービーを再生する場合は、ゲームキャラクタが背景から浮いているように見えなくするため、ゲームキャラクタの足元に板状のオブジェクトを配置し、さらにスモークを焚いた演出を施してもよい。
【0026】
ユーザは、コントローラ200のスティックを操作する、あるいは視線をゲームキャラクタに向けることでゲームキャラクタを選択する。ユーザがゲームキャラクタを選択すると、選択されたゲームキャラクタは手前に移動する。手前に移動したゲームキャラクタをお立ち台に立たせてもよい。
【0027】
ゲームキャラクタが選択された後、処理部53は、仮想3次元空間内において、コントローラモデルがフィギュア化エリア内に存在するか否か判定する(ステップS12)。
【0028】
図7は、フィギュア化エリアの例を示す図である。フィギュア化エリア60は、仮想3次元空間内に設定された所定の空間である。フィギュア化エリア60内にコントローラモデル62を入れるとゲームキャラクタがフィギュア化されてコントローラモデル62の近傍に配置される。検出器150は、コントローラ200が備えるマーカーを検出し、コントローラ200の位置や傾きを検出するので、検出器150がコントローラ200を精度良くトラッキングできる実空間に対応させてフィギュア化エリア60を設定する。例えば、ユーザの体によってコントローラ200のマーカーが隠れにくいユーザの正面にフィギュア化エリア60を設定する。
【0029】
仮想3次元空間内におけるコントローラモデル62を表示する位置は、実空間におけるコントローラ200とHMD300の位置関係に基づいて決定できる。仮想カメラをHMD300の位置に対応させて、コントローラ200とHMD300の位置関係に基づいて仮想3次元空間におけるコントローラモデル62の位置を決定する。
【0030】
コントローラモデル62がフィギュア化エリア60内に存在する場合(ステップS12のYES)、処理部53は、ステップS11で選択されたゲームキャラクタをフィギュア化(縮小)してコントローラモデル62の近傍に配置する(ステップS13)。
【0031】
ユーザがコントローラ200を動かしてコントローラモデル62をフィギュア化エリア60内に入れると、
図8に示すように、ゲームキャラクタのフィギュア61がコントローラモデル62上に表示される。選択したゲームキャラクタが縮小してコントローラモデル62に飛び乗る演出を入れてもよい。なお、ユーザに対して、フィギュア化エリア60内にコントローラモデル62を持っていくことでフィギュア61がコントローラモデル62に乗ることをメッセージ等で知らせておく。フィギュア化エリア60を視覚的に表示してもよい。
【0032】
コントローラモデル62上に表示されたフィギュア61は、コントローラ200の動きに連動して動く。例えば、ユーザがコントローラ200を傾けると仮想3次元空間内のコントローラモデル62が傾き、コントローラモデル62上に表示されたフィギュア61も傾く。このとき、ユーザがコントローラ200のボタンを操作することで、フィギュア61に所定の動き等をさせてもよい。例えば、ユーザがコントローラ200の左右ボタンを押下したときは、フィギュア61をコントローラモデル62上で左回り、右回りに回転させる。あるいは、ユーザがコントローラ200の音声ボタンを押下したときは、フィギュア61からボイスを出力する。
【0033】
ユーザがコントローラ200をHMD300に近づけすぎたときに、フィギュアが仮想カメラにめり込むことを防止するため、フィギュアの周囲と仮想カメラに判定領域を設定し、判定領域が重なったときは表示を暗くしてもよい。フィギュアの周囲に2重の判定領域を設定し、外側の判定領域が仮想カメラの判定領域に重なったときに、徐々に表示を暗くし始め、内側の判定領域が重なったときは表示を完全に黒くしてもよい。
【0034】
コントローラモデルがフィギュア化エリアから出た場合は、フィギュアをゲームキャラクタに戻す処理を行う。
【0035】
なお、検出器150のトラッキング精度がよければ、フィギュア化エリアを設定しなくてもよい。この場合、ゲームキャラクタを選択した後、コントローラ200のボタンを操作するなどの所定の操作が行われたときにゲームキャラクタをフィギュア化する。
【0036】
また、フィギュア61の鑑賞時にコントローラモデル62を表示しなくてもよいし、コントローラ200の形状とは異なるモデル(例えばフィギュア台など)をコントローラモデル62の代わりに表示してもよい。コントローラモデル62を表示しない場合でも、コントローラ200の位置に基づいて仮想3次元空間内にフィギュア61を表示する。
【0037】
[コントローラモデルの表示]
続いて、コントローラモデルの表示について説明する。
【0038】
HMD300を使用するVRゲームでは、ユーザが操作方法を確認するためには、HMD300を外して取扱説明書を見る必要があった。
【0039】
本実施形態では、仮想3次元空間内に表示したコントローラモデルに操作方法などの情報を付加して表示することで、操作方法等を素早く確認することを可能にした。
【0040】
図9は、仮想3次元空間において、コントローラモデルに操作方法などの情報を付加した様子を示す図である。
【0041】
本実施形態では、検出器150が検出したコントローラ200の位置に基づいてコントローラモデル62を仮想3次元空間内に表示し、仮想3次元空間内のコントローラモデル62を基準として、情報欄63及び各ボタンの機能説明64A〜64Dを表示する。これにより、仮想カメラの位置はユーザの頭部に対応し、コントローラモデル62の位置はユーザが把持するコントローラ200に対応するので、ユーザは、把持するコントローラ200を見る動作をするだけで操作方法等を確認できる。
【0042】
情報欄63には、例えば、ゲームシーンの説明あるいはムービーを見ているときは歌詞を表示する。機能説明64A〜64Dは、コントローラモデル62の各ボタンをそれぞれ指し示して各ボタンの機能を記載する。
【0043】
情報欄63及び機能説明64A〜64Dの表示は任意にオンオフできるものであってもよい。
【0044】
なお、ビューワーモードだけでなく、通常のゲームプレイ時にも、コントローラモデルに操作方法等の情報を付加して表示してもよい。通常のゲームプレイ時は、コントローラモデルが所定の空間内に存在するとき、例えば、ユーザがコントローラ200を目の前に持ち上げたときに、操作方法等の情報を付加してコントローラモデルを表示してもよい。
【0045】
以上説明したように、本実施の形態によれば、検出器150からコントローラ200の位置と傾きの情報を受信し、コントローラ200の位置に対応させて仮想3次元空間内にフィギュアを表示し、コントローラ200の動きに同期させて仮想3次元空間内のフィギュアを動かすことにより、ユーザは、仮想3次元空間内でフィギュアを手に取るように直感的に観察することが可能となる。
【0046】
本実施の形態によれば、検出器150のトラッキング精度の良い実空間に対応させて、仮想3次元空間内にフィギュア化エリアを設定し、コントローラモデルがフィギュア化エリア内に入ったときに、コントローラ200の動きに同期させてフィギュアを動かすことにより、フィギュアの動きを精度よくコントローラ200の動きに同期させることが可能となる。
【0047】
本実施の形態によれば、フィギュアの周囲と仮想カメラに判定領域を設定し、判定領域が重なったときは表示を暗くすることにより、フィギュアが仮想カメラにめり込むことを防止できる。
【0048】
本実施の形態によれば、仮想3次元空間内のコントローラモデルを基準として操作方法等を表示することにより、ユーザは、コントローラモデルを見るだけで素早く操作方法を確認することが可能となる。
【符号の説明】
【0049】
100…ゲーム機 101…CPU 102…ROM 103…RAM 104…GPU 105…SPU 106…インタフェース 107…DRIVE 200…コントローラ 300…HMD 301A,301B…表示部 302…ジャイロセンサ 303…加速度センサ 304…制御部 50…ゲーム装置 51…入力部 52…検出部 53…処理部 54…出力部 60…フィギュア化エリア 61…フィギュア 62…コントローラモデル