実施の形態に係るゲーム装置は、表示制御装置の一例であり、仮想三次元空間にオブジェクトやキャラクタなどが配置されたゲーム世界の画像を生成して表示する。このゲーム世界において、動物や植物などのオブジェクトや、プレイヤーの体を表現したプレイヤーキャラクタは、複数の光の粒子により構成されており、幻想的な心象世界を表現したゲーム世界の映像表現がプレイヤーに提供される。この映像表現は、全ての物質が素粒子から構成されていることと対応しており、ゲーム世界において粒子がエネルギーの源であるようなイメージをプレイヤーに想起させる。プレイヤーがプレイヤーキャラクタを操作して、ゲーム世界に配置されたオブジェクトに触れると、ゲーム装置は、オブジェクトを構成する粒子が光り輝きながらプレイヤーキャラクタに吸い込まれる様子を表示する。プレイヤーは、ゲーム世界において動物や植物などに触れ、互いに共鳴し合い、エネルギーを吸収するといった、斬新で心地良い癒しの感覚を体験することができる。これにより、プレイヤーは、ゲームを通じて精神状態を向上させることができる。
このような映像表現は、据え置き型の表示装置や携帯型の表示装置などに表示されてもよいが、ヘッドマウントディスプレイ(HMD)を使用した方がより効果的である。この場合、ゲーム装置は、プレイヤーキャラクタの目の位置に視点位置を設定し、ヘッドマウントディスプレイの向きに合わせて視線方向を変化させながら、オブジェクトが配置された仮想三次元空間をレンダリングし、生成した一人称視点の画像をヘッドマウントディスプレイに表示する。これにより、プレイヤーは、自身が幻想的な心象世界の中に現実に存在しているかのような深い没入感を得ることができる。また、より現実感の高い映像表現の中で、斬新で心地良い癒しの感覚を体験することができるので、より効果的に精神状態を高めることができる。
図1は、実施の形態に係るゲームシステム1の構成例を示す。ゲームシステム1は、ゲーム装置10と、ヘッドマウントディスプレイ100と、プレイヤーが把持して操作する入力装置20a及び20b(「入力装置20」と総称する)と、ヘッドマウントディスプレイ100を装着したプレイヤーを撮影する撮像装置14と、画像を表示する出力装置15とを備える。出力装置15はテレビであってよい。ゲーム装置10は、アクセスポイント(AP)などを介して、インターネットなどの外部のネットワークに接続される。
本実施の形態のゲーム装置10は、複数のゲーム装置10のプレイヤーがゲーム世界を共有して同時にゲームを実行することを可能とするために設けられたゲームサーバ3に接続される。ゲームサーバ3は、ゲームに参加しているゲーム装置10のそれぞれからプレイヤーキャラクタの位置などの情報を取得し、取得した情報をそれぞれのゲーム装置10に配信する。
ヘッドマウントディスプレイ100は、プレイヤーの頭部に装着されて、仮想現実(VR)の映像世界をプレイヤーに提供する。ヘッドマウントディスプレイ100にヘッドトラッキング機能をもたせ、プレイヤーの頭部の動きに連動して表示画像を更新することで、映像世界への没入感を高められる。
ゲーム装置10は、処理装置11、出力制御装置12、及び記憶装置13を備える。処理装置11は、プレイヤーにより入力装置20に入力された操作情報や、入力装置20及びヘッドマウントディスプレイ100の位置情報や姿勢情報などを受け付けて、ゲームアプリケーションを実行する。処理装置11と入力装置20とはケーブルで接続されてよく、また既知の無線通信プロトコルで接続されてもよい。出力制御装置12は、処理装置11で生成された画像データをヘッドマウントディスプレイ100に出力する処理ユニットであり、出力制御装置12とヘッドマウントディスプレイ100とはケーブルで接続されてよく、また既知の無線通信プロトコルで接続されてもよい。記憶装置13は、ゲームアプリケーションのプログラムデータ、ゲームアプリケーションにより使用される仮想三次元空間の形状データ、配置されるオブジェクトやキャラクタの形状データなどを記憶する。
撮像装置14はステレオカメラであって、ヘッドマウントディスプレイ100を装着したプレイヤーを所定の周期で撮影し、撮影画像を処理装置11に供給する。後述するが、ヘッドマウントディスプレイ100にはプレイヤーの頭部をトラッキングするためのマーカ(トラッキング用LED)が設けられ、処理装置11は、撮影画像に含まれるマーカの位置に基づいてヘッドマウントディスプレイ100の動きを検出する。ヘッドマウントディスプレイ100には姿勢センサ(加速度センサ及びジャイロセンサ)が搭載され、処理装置11は、姿勢センサで検出されたセンサデータをヘッドマウントディスプレイ100から取得することで、マーカの撮影画像の利用とあわせて、高精度のトラッキング処理を実施する。なお、トラッキング処理については従来より様々な手法が提案されており、処理装置11は、ヘッドマウントディスプレイ100の動きを検出できるものであれば、どのようなトラッキング手法を採用してもよい。
また、後述するが、入力装置20には、現実空間における入力装置20の姿勢(例えば、位置及び向き)を検出するためのマーカ(発光部)が設けられ、処理装置11は、撮影画像に含まれるマーカの位置・態様に基づいて入力装置20の位置及び向きを検出する。変形例として、入力装置20には、姿勢センサ(例えば、加速度センサ及びジャイロセンサ)が搭載されてもよい。処理装置11は、姿勢センサで検出されたセンサデータを入力装置20から取得し、マーカの撮影画像の利用に代えて、または、マーカの撮影画像の利用とあわせて、入力装置20の存在位置及び向きを検出してもよい。なお、入力装置20の位置及び向きを検出できるものであれば、他の公知の手法を採用してもよい。
プレイヤーは、ヘッドマウントディスプレイ100を使用して画像を見るので、出力装置15は必ずしも必要ではないが、出力装置15を用意することで、別の視聴者が画像を見ることができる。出力制御装置12又は処理装置11は、ヘッドマウントディスプレイ100を装着したプレイヤーが見ている画像と同じ画像を出力装置15に表示させてもよいが、別の画像を表示させてもよい。例えば、ヘッドマウントディスプレイ100を装着したプレイヤーと別の視聴者とが一緒にゲームをプレイするような場合、出力装置15には、当該別の視聴者のキャラクタ視点からのゲーム画像が表示されてもよい。
ヘッドマウントディスプレイ100は、プレイヤーが頭部に装着することによりその眼前に位置する表示パネルに画像を表示する表示装置である。ヘッドマウントディスプレイ100は、左目用表示パネルに左目用の画像を、右目用表示パネルに右目用の画像を、それぞれ別個に表示する。これらの画像は左右の視点から見た視差画像を構成し、立体視を実現する。なおプレイヤーは光学レンズを通して表示パネルを見るため、ゲーム装置10は、レンズによる光学歪みを補正した視差画像データをヘッドマウントディスプレイ100に供給する。この光学歪みの補正処理は、処理装置11、出力制御装置12のいずれが行ってもよい。
なお出力制御装置12による機能は、処理装置11に組み込まれてもよい。つまりゲーム装置10の処理ユニットは、1台の処理装置11から構成されても、また処理装置11および出力制御装置12から構成されてもよい。以下においては、VR画像をヘッドマウントディスプレイ100に提供する機能を、まとめてゲーム装置10の機能として説明する。
図2は、実施の形態に係るヘッドマウントディスプレイ100の外観図である。ヘッドマウントディスプレイ100は、本体部110、頭部接触部112、及び発光部114を備える。
本体部110には、ディスプレイ、位置情報を取得するためのGPSユニット、姿勢センサ、通信装置などが備えられる。頭部接触部112には、プレイヤーの体温、脈拍、血液成分、発汗、脳波、脳血流などの生体情報を計測することのできる生体情報取得センサが備えられてもよい。発光部114は、ゲーム装置10から指示された色で発光し、撮像装置14により撮像される画像においてヘッドマウントディスプレイ100の位置を算出するための基準として機能する。
ヘッドマウントディスプレイ100には、さらに、プレイヤーの目を撮影するカメラが設けられてもよい。ヘッドマウントディスプレイ100に搭載されたカメラにより、プレイヤーの視線、瞳孔の動き、瞬きなどを検出することができる。
本実施の形態においては、ヘッドマウントディスプレイ100について説明するが、本実施の形態の表示制御技術は、狭義のヘッドマウントディスプレイ100に限らず、めがね、めがね型ディスプレイ、めがね型カメラ、ヘッドフォン、ヘッドセット(マイクつきヘッドフォン)、イヤホン、イヤリング、耳かけカメラ、帽子、カメラつき帽子、ヘアバンドなどを装着した場合にも適用することができる。
図3は、ヘッドマウントディスプレイ100の機能構成図である。ヘッドマウントディスプレイ100は、入力インタフェース122、出力インタフェース130、バックライト132、通信制御部140、ネットワークアダプタ142、アンテナ144、記憶部150、GPSユニット161、無線ユニット162、姿勢センサ164、外部入出力端子インタフェース170、外部メモリ172、時計部180、表示装置190、及び制御部160を備える。
これらの構成は、ハードウエアコンポーネントでいえば、任意のコンピュータのCPU、メモリ、メモリにロードされたプログラムなどによって実現されるが、ここではそれらの連携によって実現される機能ブロックを描いている。したがって、これらの機能ブロックがハードウエアのみ、ソフトウエアのみ、又はそれらの組合せによっていろいろな形で実現できることは、当業者には理解されるところである。
制御部160は、画像信号、センサ信号などの信号や、命令やデータを処理して出力するメインプロセッサである。入力インタフェース122は、入力ボタンなどから操作信号や設定信号を受け付け、制御部160に供給する。出力インタフェース130は、制御部160から画像信号を受け取り、表示装置190に表示させる。バックライト132は、表示装置190を構成する液晶ディスプレイにバックライトを供給する。
通信制御部140は、ネットワークアダプタ142又はアンテナ144を介して、有線又は無線通信により、制御部160から入力されるデータを外部に送信する。通信制御部140は、また、ネットワークアダプタ142またはアンテナ144を介して、有線又は無線通信により、外部からデータを受信し、制御部160に出力する。
記憶部150は、制御部160が処理するデータやパラメータ、操作信号などを一時的に記憶する。
GPSユニット161は、制御部160からの操作信号にしたがって、GPS衛星から位置情報を受信して制御部160に供給する。無線ユニット162は、制御部160からの操作信号にしたがって、無線基地局から位置情報を受信して制御部160に供給する。
姿勢センサ164は、ヘッドマウントディスプレイ100の本体部110の向きや傾きなどの姿勢情報を検出する。姿勢センサ164は、ジャイロセンサ、加速度センサ、角加速度センサなどを適宜組み合わせて実現される。
外部入出力端子インタフェース170は、USB(Universal Serial Bus)コントローラなどの周辺機器を接続するためのインタフェースである。外部メモリ172は、フラッシュメモリなどの外部メモリである。
時計部180は、制御部160からの設定信号によって時間情報を設定し、時間データを制御部160に供給する。
図4は、入力装置20の外観構成を示す。図4(a)は、入力装置20の上面構成を示し、図4(b)は、入力装置20の下面構成を示す。入力装置20は、発光体22及びハンドル24を有する。発光体22は、その外側を光透過性を有する樹脂で球体に形成され、内側に発光ダイオードや電球などの発光素子を有する。内側の発光素子が発光すると、外側の球体全体が光る。ハンドル24の上面には、操作ボタン30、32、34、36、38が設けられ、下面には操作ボタン40が設けられる。プレイヤーはハンドル24の端部を手で把持した状態で、操作ボタン30、32、34、36、38を親指で操作し、操作ボタン40を人差し指で操作する。操作ボタン30、32、34、36、38は、押下式に構成され、プレイヤーは押下することで操作する。操作ボタン40は、アナログ量を入力できるものであってよい。
図5は、入力装置20の内部構成を示す。入力装置20は、無線通信モジュール48、処理部50、発光部62、及び操作ボタン30、32、34、36、38、40を備える。無線通信モジュール48は、ゲーム装置10の無線通信モジュールとの間でデータを送受信する機能をもつ。処理部50は、入力装置20における所期の処理を実行する。
処理部50は、メイン制御部52、入力受付部54、3軸加速度センサ56、3軸ジャイロセンサ58、及び発光制御部60を有する。メイン制御部52は、無線通信モジュール48との間で必要なデータの送受を行う。
入力受付部54は、操作ボタン30、32、34、36、38、40からの入力情報を受け付け、メイン制御部52に送る。3軸加速度センサ56は、XYZの3軸方向の加速度成分を検出する。3軸ジャイロセンサ58は、XZ平面、ZY平面、YX平面における角速度を検出する。なお、ここでは、入力装置20の幅方向をX軸、高さ方向をY軸、長手方向をZ軸と設定する。3軸加速度センサ56および3軸ジャイロセンサ58は、入力装置20のハンドル24内に配置され、ハンドル24内の中心近傍に配置されることが好ましい。無線通信モジュール48は、操作ボタンからの入力情報とともに、3軸加速度センサ56による検出値情報、及び3軸ジャイロセンサ58による検出値情報を、所定の周期でゲーム装置10の無線通信モジュールに送信する。この送信周期は、たとえば11.25m秒に設定される。
発光制御部60は、発光部62の発光を制御する。発光部62は、赤色LED64a、緑色LED64b、青色LED64cを有し、複数色の発光を可能とする。発光制御部60は、赤色LED64a、緑色LED64b、青色LED64cの発光を調整して、発光部62を所望の色に発光させる。
無線通信モジュール48はゲーム装置10から発光指示を受け取ると、メイン制御部52に供給し、メイン制御部52は、発光制御部60に発光指示を供給する。発光制御部60は、発光部62が発光指示により指定された色で発光するように、赤色LED64a、緑色LED64b、青色LED64cの発光を制御する。たとえば発光制御部60は、各LEDをPWM(パルス幅変調)制御で点灯制御してもよい。
図6は、ゲーム装置10の機能構成図である。ゲーム装置10の処理装置11は、視点制御部201、プレイヤーキャラクタ制御部202、オブジェクト制御部203、判定部204、吸収制御部205、エネルギー管理部206、画像生成部207、及び音声生成部208を備える。これらの機能ブロックも、ハードウエアのみ、ソフトウエアのみ、又はそれらの組合せによっていろいろな形で実現できる。
視点制御部201は、ゲーム世界の画像を生成するための視点の位置を制御する。視点制御部201は、プレイヤーキャラクタの目の近傍に視点を設定し、プレイヤーキャラクタの移動に伴って視点の位置を移動させる。本実施の形態では、一人称視点の画像を生成するので、プレイヤーキャラクタの移動と視点位置の移動はほぼ同義である。本実施の形態では、リラックスした状態でゲーム世界を浮遊しているような感覚をプレイヤーに与えるために、ゲーム世界において予め定められた経路に沿って、定められた速度で視点位置を自動的に移動させる。視点制御部201は、定められた範囲(例えば、半径数m~数十mの範囲)内であれば、プレイヤーの指示やゲームの状況などに応じて視点の位置や移動速度を変更してもよい。例えば、入力装置20に対する指示入力や、入力装置20又はヘッドマウントディスプレイ100の動きや姿勢などに応じて、定められた範囲内で視点の位置や移動速度を変更してもよい。移動可能な範囲は、ゲーム世界における位置や地形などに応じて変化されてもよい。例えば、広大な草原においては移動可能な範囲を広くしてもよいし、洞窟内や狭い道などにおいては移動可能な範囲を全くなくし、予め定められた経路上しか移動できないようにしてもよい。
視点制御部201は、プレイヤーキャラクタの視線が所定時間以上ゲームオブジェクトの方に向いているとき、すなわち、ゲーム世界に配置されたオブジェクトやキャラクタなどのターゲットが表示画面の中心付近に所定時間(例えば、2~3秒)保持されたとき(これを「フォーカス」ともいう)に、そのターゲットの方に視点位置を移動させてもよい。ターゲットが表示画面の中心付近に所定時間保持され、かつ、プレイヤーが片手又は両手をターゲットの方へ伸ばしたときに、そのターゲットにフォーカスしたと判定してもよい。また、プレイヤーキャラクタがターゲットから所定の範囲内にいるときや、プレイヤーキャラクタがターゲットに触れているときなどに、視点位置をターゲットの近傍に滞在させてもよい。これにより、視点位置を自動的に移動させつつも、プレイヤーがあるオブジェクトやキャラクタに興味を持ち、そのオブジェクトやキャラクタに触れたり共鳴し合ったりしたいと感じた場合には、そのターゲットを自動的に判定し、そのターゲットとの相互作用が可能な位置でプレイヤーキャラクタを滞在させることができる。別の例では、視点制御部201は、プレイヤーからの指示に応じて視点位置を変更してもよい。例えば、入力装置20に対する指示入力や、入力装置20又はヘッドマウントディスプレイ100の動きや姿勢などに応じて、視点位置を変更してもよい。
プレイヤーキャラクタ制御部202は、プレイヤーの体の少なくとも一部を表現したプレイヤーキャラクタを制御する。本実施の形態では、プレイヤーがプレイヤーキャラクタを操作してオブジェクトに触れることができるようにするために、入力装置20の動きに合わせてプレイヤーキャラクタの手と腕を動かす。プレイヤーキャラクタ制御部202は、入力装置20に代えて、複数の操作ボタンを備えるコントローラの動きに合わせてプレイヤーキャラクタの手と腕を動かしてもよいし、撮像装置14により撮像されたプレイヤーの手と腕の動きに合わせてプレイヤーキャラクタの手と腕を動かしてもよい。後者の場合、プレイヤーキャラクタ制御部202は、マーカーなどが付されたスーツを着用したプレイヤーを撮像装置14により撮像し、マーカーの動きを解析することによりプレイヤーの動きを取得してもよいし、マーカーなどを用いずにプレイヤーを撮像装置14により撮像し、既知の任意のモーションキャプチャー技術によりプレイヤーの動きを取得してもよい。プレイヤーキャラクタの背後や上方などに視点位置を設定して三人称視点の画像を生成する例においては、ヘッドマウントディスプレイ100の動きに合わせてプレイヤーキャラクタの頭部を動かしてもよいし、撮像装置14により撮像されるプレイヤーの体の動きに合わせてプレイヤーキャラクタの全身を動かしてもよい。
プレイヤーキャラクタ制御部202は、プレイヤーの意識レベル、リラックスレベルなどに応じて、プレイヤーキャラクタの表示態様を決定する。プレイヤーの意識レベルやリラックスレベルなどは、ゲーム中にプレイヤーが獲得したエネルギーの値、プレイヤーの心拍数、血圧、体温、脳波などの観測値、プレイヤーの撮像画像を解析することにより得られる情報などに基づいて決定されてもよい。
オブジェクト制御部203は、ゲーム世界に配置されたオブジェクトを制御する。オブジェクトは、プレイヤーキャラクタとの間で相互作用することが可能なインタラクティブなオブジェクトと、プレイヤーキャラクタとの間で相互作用しない非インタラクティブなオブジェクトとを含む。インタラクティブなオブジェクトは、プレイヤーキャラクタと接触したときにプレイヤーキャラクタにエネルギーを与えることが可能なエネルギーオブジェクトと、プレイヤーキャラクタと接触したときに変形するなどの相互作用は可能であるがプレイヤーキャラクタにエネルギーを与えない非エネルギーオブジェクトとを含む。エネルギーオブジェクトは、例えば、動物、植物、水晶の結晶などの形状を有してもよいし、球、立方体、直方体、回転楕円体、錐体、錐台体などの任意の形状を有してもよい。
オブジェクト制御部203は、動物などの移動可能なオブジェクトを自動的に移動させる。オブジェクト制御部203は、植物などのオブジェクトが風に揺られるように制御する。オブジェクト制御部203は、水中に存在するオブジェクトが水流に乗ってゆらゆらと流れるように制御する。オブジェクト制御部203は、オブジェクトを構成する複数の粒子を、ゆらゆらと揺り動くように制御する。これにより、プレイヤーの精神状態をリラックスさせることができる。
オブジェクト制御部203は、プレイヤーがオブジェクトに所定時間フォーカスしたときに、ターゲットのオブジェクトをプレイヤーキャラクタの方へ移動させてもよい。これにより、プレイヤーは、興味を持ったオブジェクトを注視することで、オブジェクトを近くに呼び寄せて触れたり共鳴したりすることができる。オブジェクト制御部203は、オブジェクトがフォーカスされたときに、そのオブジェクトが表示画面の中心付近に保持された時間や、保持された位置などに応じて、そのオブジェクトを構成する粒子の動きや表示の態様を変化させてもよい。例えば、オブジェクトが表示画面の中心付近に保持された時間が長いほど、また、オブジェクトが保持された位置が表示画面の中心に近いほど、そのオブジェクトを構成する粒子を凝集させたり、濃い色で表示したりすることにより、そのオブジェクトの形状が明確になるようにしてもよい。逆に、オブジェクトの表示位置が表示画面の中心から遠ざかると、そのオブジェクトを構成する粒子を徐々に拡散させたり、薄い色で表示したりすることにより、そのオブジェクトが空間に溶けていくような演出を施してもよい。これにより、効果的にプレイヤーの注意をオブジェクトに向けさせることができる。この機能により、プレイヤーは、ゲームプレイ中、周囲のオブジェクトやキャラクタなどに関心を持ち、そちらに注意を向けるという訓練を繰り返すことになるので、プレイヤーの集中力や注意力を向上させることができる。
判定部204は、プレイヤーキャラクタとオブジェクトとが接触したか否かを判定する。判定部204は、プレイヤーキャラクタの体の外表面とオブジェクトの外表面との間の距離が所定値未満となったときにプレイヤーキャラクタとオブジェクトとが接触したと判定してもよい。
吸収制御部205は、判定部204によりプレイヤーキャラクタとオブジェクトとが接触したと判定された場合、プレイヤーキャラクタと接触したオブジェクトに含まれる複数の粒子がプレイヤーキャラクタに吸収される様子を表すアクションを実行させる。吸収制御部205は、プレイヤーキャラクタが接触したオブジェクトの種類に応じて、実行されるアクションを決定してもよい。例えば、水晶などのエネルギー体とプレイヤーキャラクタが接触した場合、エネルギー体がプレイヤーキャラクタに弾き飛ばされたり、プレイヤーキャラクタに押されて変形したりした後、エネルギー体から内部の粒子が飛び出し、飛び出した粒子がプレイヤーキャラクタの方に移動するアクションを実行させてもよい。吸収制御部205は、動物や植物などとプレイヤーキャラクタが接触した場合、プレイヤーキャラクタと動物や植物などが心を通わせて互いに共鳴し合った後、表面の近傍に存在していた粒子を交換して互いに吸収し合うアクションを実行させてもよい。このときに、吸収制御部205は、脳波を変化させる作用があると言われているバイノーラルビートやクリスタルボウルなどの音を音声生成部208に生成させて出力させてもよい。これにより、プレイヤーをリラックスした脳波状態に誘導することができるので、より心地良い感覚をプレイヤーに与えることができる。
エネルギー管理部206は、プレイヤーキャラクタがオブジェクトから吸収した粒子の量をプレイヤーが獲得したエネルギーとして管理する。エネルギー管理部206は、プレイヤーキャラクタがゲーム世界に浮遊している粒子と接触したときにもエネルギーを加算する。エネルギー管理部206は、後述するように、動物や植物などのオブジェクトと共鳴したときにエネルギーを加算する。エネルギー管理部206は、ゲームサーバ3などから現実世界の情勢の良否を表す情報を取得してゲーム画面に表示する。エネルギー管理部206は、プレイヤーが獲得したエネルギーが所定値に達すると、現実世界の情勢を表す情報を好転させる。これにより、プレイヤーは、ゲームを通じて、自身の精神状態を向上させるだけでなく、現実世界を浄化することができるような感覚を味わうことができる。
画像生成部207は、視点制御部201により設定された視点位置と、ヘッドマウントディスプレイ100の向きに合わせて設定された視線方向を用いて、仮想三次元空間をレンダリングすることにより、ゲーム世界の画像を生成する。画像生成部207は、ヘッドマウントディスプレイ100の向きに合わせて、仮想三次元空間の画像を生成するための視線方向を変化させる。
音声生成部208は、ゲーム世界における音声を生成する。音声生成部208は、ゲーム世界に配置されたオブジェクトや粒子などに音源を設定し、オブジェクトや粒子の種類に応じた固有の音を音源から発生させ、ゲーム世界における音声を生成する。
以下、ゲーム画面を参照しながら、各構成の動作についてより詳細に説明する。
図7は、ヘッドマウントディスプレイ100の表示装置190に表示されるゲーム画面の例を示す。ゲーム画面には、ゲーム世界をレンダリングした画像と、プレイヤーキャラクタ300の手と、ゲーム世界に配置されたオブジェクトである木310が表示されている。プレイヤーキャラクタ300の手の内部には、粒子303が表示される。プレイヤーキャラクタ制御部202は、入力装置20の動きに合わせてプレイヤーキャラクタ300の手の位置を移動させる。
図8は、ゲーム世界に配置されたオブジェクトの例を示す。図8(a)に示す木310は、図8(b)に拡大して示すように、多数の光の粒子312により構成される。オブジェクト制御部203は、木310を構成する粒子312をゆらゆらと揺動させる。
図9は、ゲーム世界に配置されたプレイヤーキャラクタの例を示す。図9(a)に示すように、プレイヤーキャラクタ300の形状は、プレイヤーの体を模したモデル301により規定される。図9(b)に示すように、プレイヤーキャラクタ300は、モデル301の中に配置された、ベースとなるガス状の薄いベースボディ302と、ベースボディ302の中や周囲を移動する多数の光の粒子303により表現される。ベースボディ302の内部には、粒子303の配置位置や移動先などを指定するためのロケータ304が配置されている。プレイヤーキャラクタ制御部202は、ベースボディ302をその場でゆっくりと揺動させるとともに、粒子303をモデル301の内部で行き来させる。
プレイヤーキャラクタ制御部202は、プレイヤーの意識レベルによって段階的にプレイヤーキャラクタ300の表示態様を変化させるとともに、プレイヤーのリラックスレベル、呼吸や浄化などのアクションによってリアルタイムに表示態様を変化させる。
プレイヤーキャラクタ制御部202は、プレイヤーのリラックスレベルに応じてベースボディ302のサイズや色を変化させる。例えば、プレイヤーのリラックスレベルが高いほど、ベースボディ302を大きくし、白に近い色に変化させる。また、プレイヤーキャラクタ制御部202は、プレイヤーのリラックスレベルに応じて粒子303の移動速度を変化させる。例えば、プレイヤーのリラックスレベルが高いほど、粒子303の移動速度を遅くする。これにより、プレイヤーのリラックスレベルを視覚的に分かりやすく示すことができる。
プレイヤーキャラクタ制御部202は、プレイヤーの意識レベルに応じて、ベースボディ302の下半身の長さ、下半身から発生する粒子303の量、ベースボディ302を包む光の強さ又は色、光の強さ又は色が変化する速度、色の種類などを変化させる。これにより、プレイヤーは、自身の意識レベルを容易に客観視することができるとともに、他のプレイヤーのプレイヤーキャラクタがゲーム画面に表示される場合には、他のプレイヤーの意識レベルも容易に把握することができる。
プレイヤーキャラクタ制御部202は、プレイヤーが入力装置20を胸の辺りで保持している間、プレイヤーキャラクタ300が手を胸に当てている様子を表示するとともに、粒子303の移動速度を速くし、粒子303の光を強くし、粒子303がプレイヤーキャラクタ300の体内を流れるときの音を変化させることにより、プレイヤーキャラクタ300の体が浄化され、エネルギーが体いっぱいに満ちた感覚を演出する。このとき、エネルギー管理部206は、プレイヤーのエネルギーを増加させる。
図10及び図11は、プレイヤーが呼吸するときのプレイヤーキャラクタの映像表現の例を示す。プレイヤーキャラクタ制御部202は、撮像装置14により撮像されたプレイヤーの画像を解析し、プレイヤーの肩の上下の動きや胸の前後の動きなどからプレイヤーの呼吸動作を把握する。プレイヤーが息を吸っている間、プレイヤーキャラクタ制御部202は、図10(a)に示すように、プレイヤーキャラクタ300の顔の前方に粒子を出現させ、プレイヤーキャラクタ300の口に向けて移動させる。また、図10(b)に示すように、プレイヤーキャラクタ300のモデル301を膨張させる。このとき、図10(c)に示すように、モデル301内の粒子303が分散するので密度が薄くなる。プレイヤーが息を吐いている間、プレイヤーキャラクタ制御部202は、図11(a)に示すように、プレイヤーキャラクタ300の顔の前方に残っていた粒子320を口から離れるように移動させる。また、図11(b)に示すように、プレイヤーキャラクタ300のモデル301を収縮させる。このとき、図11(c)に示すように、モデル301内の粒子303が凝集するので密度が濃くなり、モデル301の形状が明確になる。このように、呼吸の動作を可視化することにより、プレイヤーに呼吸を意識させることができる。
図12は、プレイヤーキャラクタとオブジェクト又は粒子との相互作用について説明するための図である。吸収制御部205は、プレイヤーキャラクタ300の周囲の第1の範囲331内にある粒子330をプレイヤーキャラクタ300の方に移動させる。第1の範囲331は、プレイヤーキャラクタ300の周囲に設定され、カプセル状の形状を有する。この第1の範囲331と粒子330とのコリジョン判定及びプレイヤーキャラクタ300への移動は、オブジェクトに対しては実行されない。
判定部204は、ゲーム世界に配置されている粒子330又はオブジェクトが、プレイヤーキャラクタ300の周囲の第2の範囲332の境界と接触したか否かを判定する。第2の範囲332は、第1の範囲331よりも狭く、プレイヤーキャラクタ300のモデルに近似した形状を有する。粒子330又はオブジェクトが第2の範囲332に入ったと判定された場合、吸収制御部205は、粒子330又はオブジェクトの表示態様を、プレイヤーキャラクタと接触したことを表す表示態様に変化させる。例えば、吸収制御部205は、粒子330又はオブジェクトの種類に応じた色で粒子330又はオブジェクトを光らせる。また、吸収制御部205は、第2の範囲332内にある粒子330に音源を設定し、粒子330又はオブジェクトの種類に応じた音を音源から発する。別の例では、第2の範囲332とは異なる第4の範囲内にある粒子330に音源を設定してもよい。
吸収制御部205は、プレイヤーキャラクタの目の前方の第3の範囲333の中に入らないように粒子330を移動させる。例えば、吸収制御部205は、第3の範囲333の境界に接触した粒子330を第3の範囲333の境界に沿って移動させる。これにより、ヘッドマウントディスプレイ100を使用してゲーム画面を見ているプレイヤーの目に粒子が当たってくるような映像が表示されないようにすることができる。
図13は、粒子がプレイヤーキャラクタに吸収される際の吸収アクションの例を示す。粒子330がプレイヤーキャラクタ300の顔又は体に接触した場合は、図13(a)に示すように、吸収制御部205は、粒子330が第2の範囲332内を移動したときのベクトルのままプレイヤーキャラクタ300の体内に進入させ、徐々に薄くして透明にし、所定時間後に消去する。図13(c)に示すように、粒子330がプレイヤーキャラクタ300の手に接触した場合は、図13(d)に示すように、吸収制御部205は、粒子330を所定時間手の周りで回転させた後、図13(b)に示すように、プレイヤーキャラクタ300の肩付近まで移動させ、さらに胸の中心に向かって移動させながら徐々に薄くして透明にし、所定時間後に消去する。エネルギー管理部206は、プレイヤーキャラクタ300に吸収された粒子330の個数を獲得エネルギーとして加算する。
図14は、粒子がプレイヤーキャラクタに吸収される際の吸収アクションの別の例を示す。図13(d)に示すように粒子330がプレイヤーキャラクタ300の手の周りを回転しているときに、プレイヤーが入力装置20をゆっくり動かすと、図14(a)に示すように、吸収制御部205は、粒子330をプレイヤーキャラクタ300の手の周りで継続して回転させる。図14(b)に示すように手を動かしていたプレイヤーが、手の動きを止めると、図14(c)に示すように、吸収制御部205は、プレイヤーキャラクタ300の手の周りを回転していた粒子330の回転速度を徐々に遅くしつつ、回転半径を小さくして手に近づけた後、図14(d)に示すように、腕から肩を経て胸に吸収させる。
別の例では、吸収制御部205は、プレイヤーキャラクタ300の体内に吸収された粒子330を、プレイヤーキャラクタ300に含まれる粒子303とともにプレイヤーキャラクタ300の内部に存在させてもよい。これにより、プレイヤーが獲得したエネルギーの量をプレイヤーキャラクタ300の体内にある粒子の粗密により視覚的に分かりやすく示すことができる。プレイヤーキャラクタ300の体を構成する粒子303とは異なる表示態様で吸収された粒子330を表示してもよい。この例において、プレイヤーキャラクタ300内に多数の粒子が蓄積されると、個々の粒子を揺動させるための処理負荷が増大するので、画像生成部207は、粒子の個数に拘泥せずに、所定数(例えば、10個)の粒子を1つの粒子にまとめて表示する。このとき、画像生成部207は、まとめられた粒子を元の粒子とは異なる表示態様で表示してもよい。例えば、粒径、形状、表示色、透明度などを変更してもよい。表示される粒子の合計数が少なくなり過ぎないようにするために、画像生成部207は、所定数の粒子を1つの粒子にまとめることにより表示される粒子の合計数が所定数(例えば、100個)を下回る場合は、まとめて表示する粒子の数を制御することにより、表示される粒子の合計数が所定数以上となるようにしてもよい。同様に、音声生成部208は、所定数の粒子の音源を1つの音源にまとめて音声を生成する。これにより、映像や音声による効果を維持しつつ処理負荷を軽減させることができる。
プレイヤーキャラクタ300がオブジェクトに接触した場合も、浮遊する粒子と接触した場合と同様に、オブジェクトからエネルギーを吸収することができる。吸収制御部205は、プレイヤーキャラクタ300の第2の範囲332の境界がオブジェクトに触れている間、オブジェクト固有の効果音と呼吸音を音声生成部208に生成させ、オブジェクトに触れている手を通してプレイヤーキャラクタ300の体に粒子が流れ込むように移動させる。エネルギー管理部206は、プレイヤーキャラクタ300がオブジェクトからエネルギーを吸収している間、オブジェクトが持つエネルギー量を減少させる。プレイヤーキャラクタ300がオブジェクトから手を放すと、吸収制御部205は、エネルギー吸収を中断する。吸収制御部205は、オブジェクトのエネルギー量が0になると、エネルギー吸収を終了する。エネルギーの量が0になったオブジェクトは、プレイヤーキャラクタ300が再び触ってもエネルギーを吸収することができない。
本実施の形態では、オブジェクトが持つエネルギーの量は、固有のパラメーターとして予め定められており、基本的には、プレイヤーはこの値以上のエネルギーをオブジェクトから吸収する事はできないが、プレイヤーキャラクタとオブジェクトとが共鳴、調和することにより、プレイヤーはオブジェクトが持つ固有のエネルギー量以上のエネルギーを吸収することができる。
上述したように、プレイヤーキャラクタ300がオブジェクトに触れている間、吸収制御部205は、そのオブジェクトの呼吸音を音声生成部208に生成させるが、プレイヤーがその呼吸音に自身の呼吸を同期させると、エネルギー管理部206は、オブジェクトが放出可能なエネルギー量を増加させる。これにより、プレイヤーに呼吸動作をさらに意識させることができ、正しい呼吸法による精神状態及び健康状態の向上を促すことができる。
図15は、オブジェクトを構成する粒子がプレイヤーキャラクタに吸収される際の吸収アクションの例を示す。図15(a)に示すように、ゲーム世界に配置された象314などの動物も、複数の粒子により構成されている。図15(b)に示すように、プレイヤーキャラクタ300の手が象314に触れると、図15(c)に示すように、吸収制御部205は、象314を構成する粒子315がプレイヤーキャラクタ300の手から体内に吸収される様子を表すアクションを実行する。象314の表面を構成する粒子315と、プレイヤーキャラクタ300の手を構成する粒子303は、異なる外観を有していてもよい。例えば、図15(c)に示すように、象314を構成する粒子315とプレイヤーキャラクタ300を構成する粒子303は、異なる粒径、形状、表示色、透明度などを有していてもよい。これにより、プレイヤーキャラクタ300の体内に吸収された粒子316が象314に由来するものであることが明確に認識されるので、象314と同化したような感覚をプレイヤーに与えることができる。吸収制御部205は、プレイヤーキャラクタ300の体内に吸収された粒子316をプレイヤーキャラクタ300の手から腕を経由して胸の方へ移動させる。これにより、象314から吸収したエネルギーがプレイヤーの体内に染みこんでいくような感覚をプレイヤーに与えることができる。吸収制御部205は、プレイヤーキャラクタ300の体内に吸収された粒子315を移動させつつ、プレイヤーキャラクタ300を構成する粒子303と同じ外観に変化させてもよい。これにより、象314から吸収したエネルギーがプレイヤー自身のエネルギーに変換されたような感覚をプレイヤーに与えることができる。象314を構成する粒子315とプレイヤーキャラクタ300を構成する粒子303は、同一又は類似の外観を有していてもよい。これにより、ゲーム世界に存在するもの全てが同一又は類似の粒子により構成されていて、互いにエネルギーを交換可能であるという世界観を表現することができる。また、象314から吸収したエネルギーがプレイヤーの体内に蓄積される感覚をプレイヤーに与えることができる。
図16は、プレイヤーキャラクタと粒子との相互作用の別の例を示す。プレイヤーが所定値以上のエネルギーを獲得しているときに、図16(a)及び図16(b)に示すように、入力装置20a及び20bを近づけてプレイヤーキャラクタ300の両手を近づけると、エネルギー管理部206は、両手の間にエネルギーの粒子330を表示し、徐々に粒子330の数を増加させる。そのまま数秒経過すると、図16(c)に示すように、エネルギー管理部206は、粒子330の表示態様を変化させ、新しいオブジェクトを生み出すことができる状態になったことをプレイヤーに示す。プレイヤーが手を動かしながら両手の間を離していくと、図16(d)に示すように、エネルギー管理部206は、プレイヤーキャラクタ300の両手の間に表示された粒子群の形状を変化させ、最終的に、図16(e)に示すように、オブジェクト340を形成させてプレイヤーキャラクタ300の周囲を移動させる。これにより、多くのエネルギーを蓄積する動機をプレイヤーに与えることができる。
図17は、実施の形態に係るゲーム制御方法の手順を示すフローチャートである。オブジェクト制御部203は、仮想三次元空間に配置された、複数の粒子を含むオブジェクトを制御し(S10)、プレイヤーキャラクタ制御部202は、仮想三次元空間に配置された、プレイヤーが操作可能なプレイヤーキャラクタを制御し(S12)、画像生成部207は、仮想三次元空間の画像を生成する(S14)。判定部204は、プレイヤーキャラクタとオブジェクトとが接触したか否かを判定する(S16)。接触してない場合は(S16のN)、S10に戻る。接触している場合は(S16のY)、吸収制御部205は、プレイヤーキャラクタと接触したオブジェクトに含まれる複数の粒子がプレイヤーキャラクタに吸収される様子を表すアクションを実行させる(S18)。ゲームを終了しない場合は(S20のN)、S10に戻り、ゲームを終了する場合は(S20のY)、処理を終了する。
以上、本発明を実施の形態をもとに説明した。この実施の形態は例示であり、それらの各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。