(57)【要約】【課題】ＶＲ対応ゲームでの深度違反による眼精疲労や酔いを抑制しつつ、仮想空間に配置した字幕を読みやすくする。【解決手段】ゲームプログラムは、ヘッドマウントディスプレイを備えるコンピュータに実行させるゲームプログラムであって、コンピュータを、オブジェクトが配置された仮想空間を生成する仮想空間生成手段、仮想空間内で仮想カメラを移動させるカメラ移動手段、仮想空間内の仮想カメラに対する所定の初期位置に、仮想カメラに対向する平面要素を配置する配置手段、平面要素が仮想空間内のオブジェクトに接触しているか否かを判定する判定手段、平面要素がオブジェクトに接触していた場合に、平面要素の位置を、仮想カメラにより近接する方向へ移動させる位置変更手段、及び、前記平面要素上にテキストを描画するテキスト描画手段、として機能させる。【選択図】図５
2018117658.tif 000002
【特許請求の範囲】
【請求項１】
ユーザが三次元の仮想空間を立体視できるよう、仮想カメラで撮影した該仮想空間を、視差を有する一対の仮想二次元画像として表示するヘッドマウントディスプレイを備えるコンピュータに実行させるゲームプログラムであって、
前記コンピュータを、
オブジェクトが配置された前記仮想空間を生成する仮想空間生成手段、
前記仮想空間内で前記仮想カメラを移動させるカメラ移動手段、
前記仮想空間内の前記仮想カメラに対する所定の初期位置に、前記仮想カメラに対向する平面要素を配置する配置手段、
前記平面要素が前記仮想空間内の前記オブジェクトに接触しているか否かを判定する判定手段、
前記平面要素が前記オブジェクトと接触していると判定された場合に、前記平面要素の位置を、前記仮想カメラにより近接する方向に移動させる位置変更手段、及び、
前記平面要素上にテキストを描画するテキスト描画手段、
として機能させる、ゲームプログラム。
【請求項２】
前記位置変更手段は、前記平面要素が前記オブジェクトと接触しないと判定されるまで、前記平面要素の位置を、前記仮想カメラにより近接する方向に移動させる、
請求項１に記載のゲームプログラム。
【請求項３】
前記コンピュータを、
前記位置変更手段によって変更される前記平面要素の位置を、前記仮想カメラから所定の距離よりも内側の範囲に入らないよう制限する位置変更制限手段
として機能させる、請求項１又は２に記載のゲームプログラム。
【請求項４】
前記テキスト描画手段が、前記平面要素上に第１のテキストを描画した後に第２のテキストを描画するときは、前記配置手段は、前記第１のテキストが描画された前記平面要素の位置にかかわらず、前記第２のテキストを描画するための前記平面要素を前記所定の初期位置に配置する、
請求項１〜３のいずれか１項に記載のゲームプログラム。
【請求項５】
前記第１のテキストと前記第２のテキストとが所定の関連性を有する場合には、前記配置手段は、前記第２のテキストを描画するための前記平面要素を、前記前記第１のテキストが描画された前記平面要素と同じ位置に配置する、
請求項４に記載のゲームプログラム。
【請求項６】
前記コンピュータを、
前記平面要素が前記仮想カメラに近づくほど、当該平面要素上に描画されるテキストの文字サイズを徐々に又は段階的に縮小する文字サイズ縮小手段、
として機能させる、請求項１〜５のいずれか１項に記載のゲームプログラム。
【請求項７】
請求項１〜６のいずれか１項に記載のゲームプログラムを記憶したプログラム記憶部と、
前記プログラム記憶部に記憶されたプログラムを実行するコンピュータとを備えた、ゲームシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ヘッドマウントディスプレイ（以下、ＨＭＤ）に仮想空間の画像を表示するゲームを実現するゲームプログラム及びゲームシステムに関する。
【背景技術】
【０００２】
従来から、表示装置にゲーム画面として表示された仮想空間の画像を見ながら、該仮想空間内に配置されたキャラクタなどをユーザが操作するゲームが知られている。このようなゲームでは、仮想空間内に配置されたオブジェクトを説明する文章や、キャラクタの会話等を字幕としてゲーム画面に表示する。字幕は、例えば、仮想カメラで撮影された画像の下方に表示されたり（特許文献１参照）、仮想カメラで撮影された画像に重なるよう最前面に表示されたりする。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００５−３２１９６５公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、近年、ＨＭＤを利用してバーチャルリアリティ（以下、ＶＲ）を体験できるゲーム（以下、ＶＲ対応ゲーム）が実現されている。ＶＲ対応ゲームでは、深度情報（奥行き情報）を無視したオブジェクトとして字幕を表示した場合に、該字幕が別のオブジェクトと重なって目に入ると、ユーザが焦点を合わせづらくなる、いわゆる深度違反が知られている。深度違反は、ユーザに眼精疲労や酔いを引き起こす要因となる。
【０００５】
このような深度違反の対策として、仮想空間内における仮想カメラから離れた一定の位置（つまり、一定の深度）に字幕を配置する方法が考えられる。ところが、字幕が配置される場所と同じ位置にオブジェクト（キャラクタあるいは机など固定配置されるオブジェクト）が配置されていた場合、字幕がオブジェクトの中に埋没して、字幕がユーザに読みにくくなったり、全く読めなくなったりする場合がある。
【０００６】
そこで本発明は、ＶＲ対応ゲームでの深度違反による眼精疲労や酔いを抑制しつつ、仮想空間に配置した字幕を読みやすくするゲームプログラム及びゲームシステムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記の課題を解決するために、本発明に係るゲームプログラムは、ユーザが三次元の仮想空間を立体視できるよう、仮想カメラで撮影した該仮想空間を、視差を有する一対の仮想二次元画像として表示するヘッドマウントディスプレイを備えるコンピュータに実行させるゲームプログラムであって、前記コンピュータを、オブジェクトが配置された前記仮想空間を生成する仮想空間生成手段、前記仮想空間内で前記仮想カメラを移動させるカメラ移動手段、前記仮想空間内の前記仮想カメラに対する所定の初期位置に、前記仮想カメラに対向する平面要素を配置する配置手段、前記平面要素が前記仮想空間内の前記オブジェクトに接触しているか否かを判定する判定手段、前記平面要素が前記オブジェクトと接触していると判定された場合に、前記平面要素の位置を、前記仮想カメラにより近接する方向に移動させる位置変更手段、及び、前記平面要素上にテキストを描画するテキスト描画手段、として機能させる。
【０００８】
上記の構成によれば、平面要素がオブジェクトと接触していると判定された場合に、平面要素の位置を仮想カメラにより近接する方向に移動させる。これにより、平面要素上に描画されたテキストのうち、オブジェクトに埋没する部分は、完全になくなる、あるいは少なくなる。このため、ヘッドマウントディスプレイ上で例えば字幕として表示されるテキストをユーザに読みやすくすることができる。
【０００９】
上記のゲームプログラムにおいて、前記位置変更手段は、前記平面要素が前記オブジェクトと接触しないと判定されるまで、前記平面要素の位置を、前記仮想カメラにより近接する方向に移動させてもよい。この構成によれば、平面要素上に描画されたテキストのうち、オブジェクトに埋没する部分をより少なくすることができる。
【００１０】
上記のゲームプログラムは、前記コンピュータを、前記位置変更手段によって変更される前記平面要素の位置を、前記仮想カメラから所定の距離よりも内側の範囲に入らないよう制限する位置変更制限手段として機能させてもよい。この構成によれば、平面要素が仮想カメラに近づきすぎることによって、平面要素上のテキストがユーザに読めなくなる、あるいは読みにくくなるのを防ぐことができる。
【００１１】
上記のゲームプログラムにおいて、前記テキスト描画手段が、前記平面要素上に第１のテキストを描画した後に第２のテキストを描画するときは、前記配置手段は、前記第１のテキストが描画された前記平面要素の位置にかかわらず、前記第２のテキストを描画するための前記平面要素を前記所定の初期位置に配置してもよい。この構成によれば、現在仮想空間上に描画されたテキストが次のテキストに切り替わる際に、平面要素の位置を初期位置にリセットする。これにより、できる限りテキストの描画位置を仮想カメラから遠ざけることができる。
【００１２】
上記のゲームプログラムにおいて、前記第１のテキストと前記第２のテキストとが所定の関連性を有する場合には、前記配置手段は、前記第２のテキストを描画するための前記平面要素を、前記前記第１のテキストが描画された前記平面要素と同じ位置に配置してもよい。この構成によれば、第１のテキストと第２のテキストとが所定の関連性を有する場合、第２のテキストが第１のテキストと同じ位置に描画されるため、ユーザに焦点を合わせる位置を変更させることなく、第１のテキストに続けて第２のテキストを読ませることができる。
【００１３】
上記のゲームプログラムは、前記コンピュータを、前記平面要素が前記仮想カメラに近づくほど、当該平面要素上に描画されるテキストの文字サイズを徐々に又は段階的に縮小する文字サイズ縮小手段、として機能させてもよい。通常、仮想空間上に描画されるテキストの大きさが仮想空間上で一定である場合、当該テキストが仮想カメラに近いほど、ユーザにはテキストの文字が大きく見えてしまう。しかし、この構成によれば、文字サイズ縮小手段が、平面要素が仮想カメラに近づくほど、当該平面要素上に描画されるテキストの文字サイズを縮小するため、平面要素が仮想カメラに近づくことにより、ユーザにテキストを読みにくくすることを防ぐことができる。
【００１４】
また、本発明に係るゲームシステムは、上記のゲームプログラムを記憶したプログラム記憶部と、前記プログラム記憶部に記憶されたプログラムを実行するコンピュータとを備える。
【発明の効果】
【００１５】
本発明によれば、ＶＲ対応ゲームでの深度違反による眼精疲労や酔いを抑制しつつ、仮想空間に配置した字幕を読みやすくするゲームプログラム及びゲームシステムを提供することができる。
【図面の簡単な説明】
【００１６】
【図１】一実施形態に係るゲームシステムのハードウェア構成を示すブロック図である。
【図２】図１に示すゲーム装置の機能的な構成を示すブロック図である。
【図３】三次元の仮想空間を表した平面図と、仮想カメラの位置から見える仮想空間の模式図である。
【図４】図３に示す仮想カメラがオブジェクトに近づいたときの三次元の仮想空間を表した平面図と、仮想カメラの位置から見える仮想空間の模式図である。
【図５】テキスト描画処理の流れを示すフローチャートである。
【発明を実施するための形態】
【００１７】
以下、本発明の実施の形態に係るゲームプログラムおよびゲームシステムについて、図面を参照しつつ説明する。
【００１８】
［ハードウェア構成］
図１は、ゲームシステム1のハードウェア構成を示すブロック図である。ゲームシステム1は、ゲーム装置2及びサーバ装置3を備えている。ゲーム装置2は、他のゲーム装置2及びサーバ装置3との間で、インターネット又はＬＡＮなどの通信ネットワークNWを介して互いに通信可能である。このゲーム装置2は、その動作を制御するコンピュータであるＣＰＵ10を備え、このＣＰＵ10にはバス11を介して、ディスクドライブ12、メモリカードスロット13、記憶部（プログラム記憶部）を成すＨＤＤ14及びＲＯＭ15、並びにＲＡＭ16が接続されている。
【００１９】
ディスクドライブ12には、ＤＶＤ−ＲＯＭ等のディスク型記録媒体30が装填可能である。該ディスク型記録媒体30には、本実施の形態に係るゲームプログラム30a及びゲームデータ30bが記録されている。このゲームデータ30bには、仮想空間の形成に必要なデータ、及び、ゲーム中で再生されるサウンドデータなど、本ゲームの進行に必要な各種のデータが含まれる。また、メモリカードスロット13にはカード型記録媒体31が装填でき、ゲームの途中経過等のプレイ状況を示すセーブデータを、ＣＰＵ10からの指示に応じて記録可能である。
【００２０】
ＨＤＤ14はゲーム装置2が内蔵する大容量記録媒体であって、ディスク型記録媒体30から読み込んだゲームプログラム30a及びゲームデータ30b、更にはセーブデータ等を記録する。ＲＯＭ15は、マスクＲＯＭ又はＰＲＯＭなどの半導体メモリであり、ゲーム装置2を起動する起動プログラムや、ディスク型記録媒体30が装填されたときの動作を制御するプログラムなどを記録している。ＲＡＭ16は、ＤＲＡＭ又はＳＲＡＭなどから成り、ＣＰＵ10が実行すべきゲームプログラム30aや、その実行の際に必要になるゲームデータ30bなどを、ゲームのプレイ状況に応じてディスク型記録媒体30又はＨＤＤ14から読み込んで一時的に記録する。
【００２１】
また、ＣＰＵ10には更に、バス11を介して、ＨＭＤ用インタフェース17、光検出装置用インタフェース18、グラフィック処理部19、オーディオ合成部20、オーディオインタフェース21、無線通信制御部22、及びネットワークインタフェース23が接続されている。そして、ＨＭＤ用インタフェース17、光検出装置用インタフェース18及びオーディオインタフェース21には、それぞれ、ＨＭＤ40、光検出装置46及びヘッドホン47が夫々接続されている。
【００２２】
ＨＭＤ40は、ユーザの頭部に装着可能である。ＨＭＤ40は、一対の表示部41（41a，41b）、加速度センサ42、ジャイロセンサ43、光放出部44及び制御部45を備える。ＨＭＤ40がユーザの頭部に装着されることにより、当該ユーザの左目と右目の前方には、左目用の表示部41aと右目用の表示部41bとが夫々配置される。
【００２３】
加速度センサ42及びジャイロセンサ43は、ユーザの頭部のモーションを検出するモーション検出システムを構成する。加速度センサ42は、例えば重力方向に対するＨＭＤ40の向き、即ちユーザの頭部の傾きを検出する。ジャイロセンサ43は、例えばＨＭＤ40の角速度、即ちユーザが頭部を傾けたり回転したりする速さを検出する。加速度センサ42及びジャイロセンサ43から得られたモーション情報は、ＨＭＤ用インタフェース17を介して、グラフィック処理部19及びオーディオ合成部20に送られる。
【００２４】
ＨＭＤ40の光放出部44は、光検出装置46と共に、ユーザの頭部の位置を検出する位置検出システムを構成する。本実施形態では、光放出部44は、例えば互いに離間してＨＭＤ40に設けられた複数のＬＥＤライトである。光検出装置46は、例えばユーザの前方に固定的に配置され、ＨＭＤ40の光放出部44から放たれる光の位置を検出する。光検出装置46は、光放出部44から放たれる光の位置を検出することにより、該光検出装置46に対するユーザの頭部の位置情報を取得する。当該位置情報は、上述のモーション情報を補正するために用いられてもよい。光検出装置46から得られた位置情報は、光検出装置用インタフェース18を介して、グラフィック処理部19及びオーディオ合成部20に送られる。
【００２５】
なお、ユーザの頭部の位置を検出する位置検出システムは、これに限定されない。例えば、ＨＭＤ40側に光センサを設けて、ユーザの周りに配置された光放出装置から放たれた光を、当該光センサで検出することにより、ユーザの頭部の位置を検出してもよい。
【００２６】
制御部45は、加速度センサ42及びジャイロセンサ43からゲーム装置2へのデータの送信や光放出部44への信号の送信など、ＨＭＤ40が有する各種機器の制御を行う。
【００２７】
グラフィック処理部19は、ＣＰＵ10の指示に従って三次元の仮想ゲーム空間等を含むゲーム画像を描画する。例えば、グラフィック処理部19は、ユーザが三次元の仮想空間を立体視できるよう、互いに視差を有する一対の仮想二次元画像を生成する。即ち、グラフィック処理部19は、仮想三次元空間に配置された一対の仮想カメラの夫々で撮影した互いに視差を有する左目用及び右目用の仮想二次元画像を生成する。そして、この一対の仮想二次元画像は、動画形式に変換されて、ＨＭＤ用インタフェース17を介してＨＭＤ40に送られ、一対の表示部41a，41bに夫々表示される。また、グラフィック処理部19は、ユーザに仮想空間内に入り込んだような臨場感を与えるよう、ＨＭＤ40及び光検出装置46から送られたユーザに関するモーション情報及び位置情報に合わせて、リアルタイムでＨＭＤ40に送る一対の仮想二次元画像を変化させる。
【００２８】
オーディオ合成部20は、ＣＰＵ10の指示に従って、ゲームデータ30bに含まれるデジタル形式のサウンドデータを再生及び合成する。オーディオ合成部20にて再生及び合成されたサウンドデータは、アナログ形式にデコードされた後、オーディオインタフェース21を介してヘッドホン47に送られ出力される。その結果、本ゲームをプレイしているユーザは、再生されたサウンドを聴取することができる。ヘッドホン47は、ＨＭＤ40と一体的に構成されてもよい。また、オーディオ合成部20は、ユーザに仮想空間内に入り込んだような臨場感を与えるよう、ＨＭＤ40及び光検出装置46から送られたモーション情報及び位置情報に合わせて、リアルタイムでヘッドホン47から出力される音響を変化させてもよい。オーディオインタフェース21には、ヘッドホン47の代わりに、スピーカが接続されてもよい。
【００２９】
無線通信制御部22は、２．４ＧＨｚ帯の無線通信モジュールを有し、ゲーム装置2に付属するコントローラ48との間で無線により接続され、データの送受信が可能となっている。ユーザは、このコントローラ48に設けられたボタン等の操作部を操作することにより、ゲーム装置2へ信号を入力することができる。
【００３０】
ネットワークインタフェース23は、インターネット又はＬＡＮなどの通信ネットワークNWに対してゲーム装置2を接続するものであり、他のゲーム装置2及びサーバ装置3との間で通信可能である。そして、ゲーム装置2を、通信ネットワークNWを介して他のゲーム装置2と接続し、互いにデータを送受信することにより、同一の仮想空間内で同期してゲームを進行させるマルチプレイが可能になっている。
【００３１】
［ゲーム装置の機能的構成］
図２は、ゲームシステム1が備えるゲーム装置2の機能的な構成を示すブロック図である。ゲーム装置2は、本発明のゲームプログラム30aを実行することで、仮想空間生成手段51、カメラ移動手段52、配置手段53、判定手段54、位置変更手段55、位置変更制限手段56、テキスト描画手段57、及び文字サイズ縮小手段58として機能する。なお、このような各機能は、ハード的には図１に示すＣＰＵ10，ＨＤＤ14，ＲＯＭ15，ＲＡＭ16，グラフィック処理部19，オーディオ合成部20、無線通信制御部22等から構成されている。
【００３２】
仮想空間生成手段51は、所定の広がりを有する三次元の仮想空間を生成する。この仮想空間には、様々なオブジェクトが配置される。また、仮想空間内には、一対の仮想カメラが配置される。
【００３３】
カメラ移動手段52は、仮想空間内で一対の仮想カメラを移動させる。本実施形態では、コントローラ48に対するユーザの操作やＨＭＤ40が装着されたユーザの頭部の動きに応じて、仮想空間内で一対の仮想カメラが移動する。
【００３４】
配置手段53、判定手段54、位置変更手段55、位置変更制限手段56、テキスト描画手段57、及び文字サイズ縮小手段58は、ＨＭＤ40の表示部41に字幕として表示されるテキストを、仮想空間上に描画するためのテキスト描画処理を実行する。上記テキストとしては、例えば、仮想空間内に配置されたオブジェクトを説明するための文章や、仮想空間内に配置されたキャラクタの会話等が含まれる。
【００３５】
具体的には、配置手段53は、仮想空間内の一対の仮想カメラに対する所定の初期位置に、仮想カメラに対向する平面要素を配置する。判定手段54は、平面要素が仮想空間内のオブジェクトと接触しているか否かを判定する。位置変更手段55は、平面要素がオブジェクトと接触していると判定された場合に、平面要素の位置を、仮想カメラにより近接する方向に移動させる。位置変更制限手段56は、位置変更手段55によって変更される平面要素の位置を、仮想カメラから所定の距離よりも内側の範囲に入らないよう制限する。テキスト描画手段57は、平面要素上にテキストを描画する。文字サイズ縮小手段58は、平面要素が一対の仮想カメラに近づくほど、当該平面要素上に描画されるテキストの文字サイズを徐々に又は段階的に縮小する。
【００３６】
［テキスト描画処理］
次に、ゲーム装置2により実行されるテキスト描画処理について、図３及び図４を参照しながら具体的に説明する。
【００３７】
図３（Ａ）は、三次元の仮想空間Sを表した模式的な平面図であり、図３（Ｂ）は、図３（Ａ）に示す仮想カメラCL，CRの位置から見える該仮想空間Sの模式図である。図３（Ａ）及び（Ｂ）に示す例では、仮想空間Sに、オブジェクトAである箱オブジェクトA1とそれを載置する台オブジェクトA2とが設けられている。また、仮想空間Sには、左目用画像及び右目用画像を夫々撮影するために、一対の仮想カメラCL，CRが左右に配設されている。これらの仮想カメラCL，CRは例えば交差法（互いの光軸を交差させる方式）により配設され、図３（Ａ）及び（Ｂ）では、各オブジェクトA1，A2が夫々の画角内に含まれている。これら一対の仮想カメラCL，CRにより撮影した一対の仮想二次元画像が互いに視差を有するため、ユーザには図３（Ｂ）に示す仮想空間Sの奥行きが知覚される。以下では、一対の仮想カメラCL，CRをまとめて示す場合には、単に「仮想カメラC」と称する。
【００３８】
所定の条件が満たされると、仮想空間S上にテキストを描画するテキスト描画処理が実行される。テキスト描画処理は、仮想カメラCの仮想空間S上での位置やコントローラ48に対するユーザの操作、ゲームの進行状況などに応じて実行される。例えば、仮想空間S内の所定のオブジェクトAには、当該オブジェクトAを説明するための文章が表示されるよう設定されている。図３及び図４に示す例では、ユーザが、仮想カメラCを箱オブジェクトA1に対して所定範囲まで近づけ、該箱オブジェクトA1を開けるようコントローラ48に対して操作すると、箱オブジェクトA1に対して設定されたテキストを描画するためのテキスト描画処理が実行される。
【００３９】
テキスト描画処理では、まず配置手段53が、仮想カメラCに対する所定の初期位置に、これらに対向する平面要素Pを配置する。この平面要素Pは、その上にテキストTを描画するためのものである。平面要素Pは、例えば透明又は半透明な平面であってもよいし、例えば透明な板状のオブジェクトが有する平面であってもよい。
【００４０】
本実施形態において、平面要素Pが配置される初期位置は、仮想カメラC（例えば一対の仮想カメラCL，CRの中間点C1）から所定の距離L1だけ離れた位置である。この初期位置は、描画されるテキストの種類や説明されるオブジェクトごとに、仮想カメラCに対する方向や仮想カメラCからの距離が異なってもよい。例えば、テキスト描画処理によりオブジェクトAの説明が描画される場合、初期位置は、当該オブジェクトAと仮想カメラC（例えば上述した点C1）を結んだ直線上に平面要素Pの中心点C2が位置するように設定してもよい。例えば、テキスト描画処理によりキャラクタの会話が描画される場合、初期位置は、一対の仮想カメラCL，CRの夫々から等距離に延びる直線上に平面要素Pの中心点C2が位置するように設定してもよい。
【００４１】
そして、判定手段54は、平面要素Pが仮想空間S内のオブジェクトAと接触しているか否かを判定する。本実施形態では、平面要素PとオブジェクトAとの接触判定を、平面要素P上の中心点C2がオブジェクトAに接触しているか否かを判定することにより行っている。即ち、本実施形態では、平面要素P上の中心点C2が仮想空間S内のオブジェクトAに接触している場合、判定手段54は、平面要素PがオブジェクトAに接触していると判定する。また、平面要素P上の中心点C2が仮想空間S内のオブジェクトAに接触していない場合、平面要素P上の中心点C2以外の点がオブジェクトに接触していたとしても、判定手段54は、平面要素PがオブジェクトAに接触していないと判定する。
【００４２】
図３（Ａ）に示す例では、平面要素P上の中心点C2が仮想空間S内のオブジェクトAに接触していない。このため、平面要素Pの位置は初期位置から変更されることはなく、テキストTは、テキスト描画手段57により初期位置にある平面要素P上に描画される。なお、判定手段54による平面要素PとオブジェクトAとの接触を判定する方法は、上述の方法に限定されない。例えば、判定手段54がオブジェクトAに接触しているか否かを判定する対象となる点は、平面要素P上の中心点C2でなくてもよく、平面要素P上の別の点であってもよいし、平面要素P上の複数の点（例えば平面要素Pの頂点）であってもよい。
【００４３】
図４（Ａ）は、三次元の仮想空間Sを表した模式的な平面図であり、仮想カメラCが図３（Ａ）に示した位置からオブジェクトA1,A2に近づいた状況を示す。図４（Ｂ）は、図４（Ａ）に示す仮想カメラCの位置から見える該仮想空間Sの模式図である。
【００４４】
図４（Ａ）の例では、仮想カメラCがオブジェクトA1に近い位置にあるため、平面要素Pが初期位置にある場合には、平面要素P上の中心点C2が仮想空間S内のオブジェクトA1に接触する（図４（Ａ）の太い破線参照）。このため、位置変更手段55は、平面要素Pの位置を、仮想カメラCにより近接する方向に移動させる。本実施形態では、平面要素P上の中心点C2がオブジェクトA1と接触しないと判定される位置（図例では、距離L1より短い距離L2だけ点C1から離れた位置）に変更する。そして、テキスト描画手段57が、位置を変更した平面要素P上にテキストTを描画する。
【００４５】
このように、中心点C2がオブジェクトA1に接触しない位置に、平面要素Pの位置が変更されるため、描画されたテキストTがオブジェクトA1に埋没するのを防ぐことができる。なお、平面要素Pの位置が変更された後に、仮想カメラCの位置や方向が変更された場合であっても、平面要素Pの位置は変わらず、仮想空間Sに固定して配置される。但し、仮想カメラCの位置や方向の変更に応じて、平面要素Pの再配置するように制御してもよい。
【００４６】
平面要素Pが仮想カメラCに近づくほど、仮想カメラCで撮影した画像内ではテキストTが大きく表示される。そこで、本実施形態では、位置を変更した平面要素P上にテキストTを描画する際、文字サイズ縮小手段58が、平面要素Pの位置に応じて文字サイズを変更する。具体的には、文字サイズ縮小手段58は、平面要素Pが仮想カメラCに近づくほど、当該平面要素P上に描画されるテキストTの文字サイズを縮小する。文字サイズ縮小手段58は、仮想カメラCから平面要素Pまでの距離の変化に応じて、文字サイズを連続的に徐々に変化させてもよいし、段階的に変化させてもよい。これにより、テキストTが描画される位置が変わっても、ＨＭＤ40に表示されるテキストTの大きさを完全に又は概ね一定にすることができる。
【００４７】
本実施形態では、平面要素Pの位置は、仮想カメラCから所定の距離L3よりも内側の範囲に入らないよう位置変更制限手段56により制限されている。これにより、平面要素Pが仮想カメラCに近づきすぎることによって、平面要素P上のテキストTがユーザに読めなくなる、あるいは読みにくくなるのを防いでいる。
【００４８】
即ち、平面要素Pの仮想カメラCからの距離が距離L3以上になると中心点C2がオブジェクトAに接触してしまうという場合であっても、仮想カメラCから所定の距離L3よりも内側の範囲には平面要素Pの位置を変更しない。この場合、位置変更手段55は、位置変更可能な範囲内における仮想カメラCに近接した所定の位置（例えば仮想カメラCから所定の距離L3の位置）に、平面要素Pの位置を変更する。これにより、例外的に中心点C2がオブジェクトAに接触することは許容したうえで、テキストT全体におけるオブジェクトAへの埋没部分を少なくしている。
【００４９】
テキスト描画手段57が平面要素P上にテキスト（以下、「第１のテキスト」）を描画した後にそれとは別のテキスト（以下、「第２のテキスト」）を描画するときは、配置手段53は、第１のテキストが描画された平面要素Pの位置にかかわらず、第２のテキストを描画するための平面要素Pを所定の初期位置に配置する。例えば、図４（Ａ）及び（Ｂ）に示した例では、平面要素Pは、初期位置から変更された位置（点C1から距離L2だけ離れた位置）にあるが、次に箱オブジェクトA1とは異なる別のオブジェクトAについてのテキストが描画される場合、前の平面要素Pの位置に関係なく、平面要素Pは所定の初期位置に配置される。
【００５０】
但し、配置手段53は、第１のテキストと第２のテキストとが所定の関連性を有する場合には、第２のテキストを描画するための平面要素を、第１のテキストを描画した平面要素と同じ位置に配置する。ここで、所定の関連性とは、例えば、同じ文章に属すること、同じ内容についての文章であること、同じキャラクタのセリフであること、同じオブジェクトに対する説明であることなどである。
【００５１】
例えば、キャラクタの長いセリフなど長い文章を一度に１つの平面要素Pに描画できない場合には、その文章を複数のテキストに分割し、分割したテキストを順次平面要素P上に描画する。この場合、ユーザが同じ文章を読んでいる際に、テキストの描画位置が、位置変更された後の位置から初期位置に変わると、ユーザは目の焦点を合わせ直すことになり、かえって眼精疲労が促進される。そこで、本実施形態では、第１のテキストと第２のテキストとが所定の関連性を有する場合には、第２のテキストを第１のテキストと同じ位置に描画することにより、焦点を合わせる位置を変更させることなく、第１のテキストに続けて第２のテキストをユーザに読ませる。
【００５２】
図５は、テキスト描画処理の流れを示すフローチャートである。
【００５３】
まず、配置手段53が、初期位置に平面要素Pを配置する（ステップS1）。次に、判定手段54が、平面要素P（本実施形態では、平面要素Pの中心点C2）が仮想空間S内のオブジェクトAに接触しているか否かを判定する（ステップS2）。なお、テキスト描画手段57は、ステップS1とS2の間で平面要素P上にテキストを描画してもよい。
【００５４】
平面要素Pが仮想空間S内のオブジェクトAに接触していない場合（ステップS2：No）、平面要素Pの位置は初期位置に確定する。そして、文字サイズ縮小手段58は、初期位置に対応した文字サイズを決定し（ステップS6）、テキスト描画手段57は、決定された文字サイズで初期位置にある平面要素P上にテキストを描画する（ステップS7）。
【００５５】
平面要素Pが仮想空間S内のオブジェクトに接触していた場合（ステップS2：Yes）、位置変更制限手段56は、オブジェクトAと接触しないと判定される位置に変更された場合の平面要素Pの位置が、位置変更可能範囲内にあるか否かを判定する（ステップS3）。言い換えれば、位置変更制限手段56は、平面要素PがオブジェクトAと接触しないと判定されるまで仮想カメラCにより近接する方向に移動させた場合の平面要素Pの位置が、仮想カメラCから所定の距離L3あるいはそれより外側に位置するか否かを判定する。
【００５６】
位置変更可能範囲内であれば（ステップS3：Yes）、位置変更手段55は、平面要素Pの位置を、オブジェクトAと接触しないと判定されるまで仮想カメラCにより近接する方向に移動させた位置に変更する（ステップS4）。位置変更可能範囲外であれば（ステップS3：No）、位置変更手段55は、平面要素Pの位置を、位置変更可能な範囲内における仮想カメラCに近接した所定の位置（例えば仮想カメラCから所定の距離L3の位置）に変更する（ステップS5）。
【００５７】
こうして、平面要素Pの位置が変更された後、文字サイズ縮小手段58は、変更された位置に対応した文字サイズを決定し（ステップS6）、テキスト描画手段57は、決定された文字サイズで、変更された位置にある平面要素P上にテキストを描画する（ステップS7）。
【００５８】
このように一旦描画されたテキストは、所定の条件が満たされるまでの間（例えば、描画が開始されてから一定の時間経過するまでの間や、コントローラ48に対しユーザが所定の操作を行うまでの間など）、仮想空間S上に描画され続ける（ステップS8：No）。そして、テキストの描画が継続している間は、ステップS2〜S7を繰り返す。即ち、テキストの描画が継続しており、平面要素P上にテキストを描画した後に仮想カメラCが移動して、平面要素P（本実施形態では、平面要素Pの中心点C2）がオブジェクトAに接触するようになった場合には、平面要素Pの位置変更が行われる。
【００５９】
所定の条件が満たされ、テキストの描画が終了すると（ステップS8：Yes）、描画すべき次のテキストが存在するか否かが判定される（ステップS9）。
【００６０】
描画すべき次のテキストが存在する場合（ステップS9：Yes）、次のテキストと前のテキストに所定の関連性があるか否かを判定する（ステップS10）。所定の関連性がある場合には（ステップS10：Yes）、配置手段53が、前のテキストを描画した位置に平面要素Pを配置して（ステップS11）、ステップS2に戻る。所定の関連性がない場合には（ステップS10：No）、再度、ステップS1に戻り、配置手段53が初期位置に平面要素Pを配置する。
【００６１】
ステップS9で、描画すべき次のテキストが存在しない場合（ステップS9：No）、テキスト描画処理を終了する。
【００６２】
以上に示したように、本実施形態に係るゲームシステム1では、平面要素PがオブジェクトAと接触していると判定された場合に、平面要素Pの位置を仮想カメラCにより近接する方向に移動させる。これにより、平面要素P上に描画されたテキストのうち、オブジェクトAに埋没する部分は、完全になくなる、あるいは少なくなる。このため、ＨＭＤ40上で例えば字幕として表示されるテキストをユーザに読みやすくすることができる。
【００６３】
本発明は上述した実施形態に限定されるものではなく、本発明の要旨を逸脱しない範囲で種々の変形が可能である。
【００６４】
例えば、上記実施形態で説明されたハードウェアの構成も一例にすぎず、視差を有する一対の仮想二次元画像を表示するＨＭＤ40を備えた構成であればよい。例えば、ＨＭＤ40が有する加速度センサ42、ジャイロセンサ43及び光放出部44や光検出装置46などは、なくてもよい。
【００６５】
また、位置変更手段55が、平面要素PがオブジェクトAと接触していると判定された場合に、平面要素Pの位置を、仮想カメラCにより近接する方向に移動させさえすればよい。即ち、位置変更手段55は、平面要素Pの位置を変更可能な範囲内であって、且つ仮想カメラCにより近接する方向に平面要素PがオブジェクトA1と接触しない位置が存在する場合でも、当該接触しない位置まで平面要素Pを移動させなくてもよい。この場合でも、平面要素P上に描画されたテキストのうち、オブジェクトAに埋没する部分を少なくすることができる。但し、位置変更手段55が、平面要素PがオブジェクトAと接触しないと判定されるまで、平面要素Pの位置を仮想カメラCにより近接する方向に移動させた場合、平面要素P上に描画されたテキストのうち、オブジェクトAに埋没する部分をより少なくすることができる。
【００６６】
また、上記実施形態では、平面要素Pの位置は、仮想カメラCから所定の距離よりも内側の範囲に入らないよう制限されていたが、このような制限はなくてもよい。例えば、平面要素Pが位置変更される範囲を制限する代わりに、仮想カメラCがオブジェクトに近づける距離を制限して、仮想カメラCの周りに平面要素がオブジェクトに接触しない領域を設けてもよい。
【符号の説明】
【００６７】
５１        仮想空間生成手段
５２        カメラ移動手段
５３        配置手段
５４        判定手段
５５        位置変更手段
５６        位置変更制限手段
５７        テキスト描画手段
５８        文字サイズ縮小手段
Ａ          オブジェクト
ＣＲ，ＣＬ  仮想カメラ
Ｐ          平面要素
Ｓ          仮想空間
Ｔ          テキスト
【図１】
2018117658.tif 000003
【図２】
2018117658.tif 000004
【図３】
2018117658.tif 000005
【図４】
2018117658.tif 000006
【図５】
2018117658.tif 000007