(57)【要約】【課題】仮想空間に配置したＧＵＩ等を描画した画像から、当該仮想空間の様子をユーザが把握しやすいＶＲ対応ゲームを実現することのできるゲームプログラム及びゲームシステムを提供する。【解決手段】ゲームプログラムは、コンピュータを、オブジェクトが配置された仮想空間を生成する仮想空間生成手段、仮想空間に一対の仮想カメラを配置するカメラ配置手段、仮想空間内の一対の仮想カメラに対向した所定の位置に、描画対象要素を描画するための平面要素を配置する平面配置手段、平面要素を複数の部分領域に分割したときの各部分領域について、オブジェクトまでの距離を算出する距離算出手段、距離が設定値より小さい部分領域については、描画対象要素において部分領域に対応する部分要素の透明度を、距離が短いほど高くなるように決定する透明度決定手段、及び、決定した透明度に基づいて、平面要素上に描画対象要素を描画する描画手段、として機能させる。【選択図】図７
2019017755.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として機能する。なお、このような各機能は、ハード的には図１に示すＣＰＵ10，ＨＤＤ14，ＲＯＭ15，ＲＡＭ16，グラフィック処理部19，オーディオ合成部20，無線通信制御部22等から構成されている。
【００３０】
このうち、仮想空間生成手段51は、所定の広がりを有する三次元の仮想空間を生成する。この仮想空間には、壁、建物、キャラクタなど様々なオブジェクトが配置される。カメラ配置手段52は、上述した左目用及び右目用の仮想二次元画像を夫々撮影するための一対の仮想カメラを仮想空間内に配置する。一対の仮想カメラCL，CRの前方所定位置には、投影面が設定されており、ＨＭＤ40の左目用の表示部41aと右目用の表示部41bの夫々に、投影面に投影された仮想空間Sが表示される。
【００３１】
平面配置手段53、距離算出手段54、透明度決定手段55、及び描画手段56は、仮想空間に描画対象要素としてのＧＵＩ要素を描画するためのＧＵＩ要素描画処理を実行する。後述するように、ＧＵＩ要素描画処理では、平面配置手段53が、仮想カメラに対向する所定位置に平面要素を配置し、描画手段56が、当該平面要素上にＧＵＩ要素を描画する。
【００３２】
［平面要素及びＧＵＩ要素］
ＧＵＩ要素描画処理の詳細について説明する前に、まず平面配置手段53により仮想空間内に配置される平面要素とその上に描画されるＧＵＩ要素について、図３及び図４を参照しながら説明する。
【００３３】
図３は、カメラ配置手段52により仮想空間Sに配置された一対の仮想カメラCL，CRの平面図である。これらの仮想カメラCL，CRは交差法（互いの視軸を交差させる方式）により配設される。なお、仮想カメラCL，CRの配置には平行法（互いの視軸を平行にする方式）を用いてもよい。
【００３４】
本実施形態では、仮想空間S内に、コントローラ48の操作によりユーザが直接的にその動作を制御することのできるプレイヤキャラクタ（図示せず）が存在する。カメラ配置手段52は、当該プレイヤキャラクタの頭部の位置に一対の仮想カメラCL，CRを配置する。本実施形態では、一対の仮想カメラCL，CRは、プレイヤキャラクタの移動に応じて、即ち、コントローラ48に対するユーザの操作に応じて、仮想空間S内を移動する。なお、一対の仮想カメラCL，CRは、ＨＭＤ40が装着されたユーザの頭部の動きに応じて、仮想空間S内を移動してもよい。
【００３５】
図３に示すように、平面配置手段53は、仮想空間S内の一対の仮想カメラCL，CRに対向する所定の位置に平面要素61を配置する。平面要素61は、描画対象要素としてのＧＵＩ要素62（図４参照）を描画するためのものである。即ち、平面要素61自体は、ユーザに不可視なものであり、描画対象要素が描画される位置を示す要素である。平面要素61は、例えば透明な平面であってもよいし、例えば透明な板状のオブジェクトが有する平面であってもよい。
【００３６】
平面要素61は、仮想カメラCL，CRの夫々の画角内に含まれるよう配置される。また、平面要素61は、その上に描画される描画対象要素に対してユーザが焦点を合わせやすいよう、仮想カメラCL，CRから一定の距離以上離れて配置される。例えば、仮想カメラCL，CRから平面要素61までの距離や仮想カメラCL，CRに対する平面要素61の向きは、当該平面要素61に描画される描画対象要素の種類やサイズに応じて設定される。
【００３７】
また、平面要素61は、仮想空間S内の配置した位置に固定される。即ち、コントローラ48の操作により仮想空間S内を仮想カメラCL，CRが移動する場合でも、平面要素は61の位置は維持される。なお、仮想カメラCL，CRが移動する場合に、平面要素61が仮想カメラCL，CRとの相対位置を維持するように仮想空間S内を移動してもよい。
【００３８】
図４は、図３に示す一対の仮想カメラCL，CRのうちの１つの仮想カメラ（例えば仮想カメラCL）で撮影した仮想二次元画像の模式図である。図４に示すように、平面要素61上に、描画手段56によりＧＵＩ要素62が描画される。
【００３９】
ＧＵＩ要素62は、例えばコントローラ48に対するユーザの操作に応じて、仮想空間S内のキャラクタが使用するアイテムや装備を選択したり、キャラクタのステータスを確認したりするためのメニュー要素である。図４に示すＧＵＩ要素62は、複数の選択項目63と、これら選択項目63の中から１つの選択項目を選択するポインタ64を含む。ポインタ64は、平面要素61上をコントローラ48の操作に応じて移動する。なお、ＧＵＩ要素62は、ポインタ64を含む代わりに、複数の選択項目63の中の１つが強調表示されてもよく、コントローラ48の操作に応じて強調表示される選択項目が変更されるように設定されてもよい。
【００４０】
［ＧＵＩ要素描画処理］
次に、ＧＵＩ要素62を描画するＧＵＩ要素描画処理について、図５〜図８を参照しながら説明する。なお、一対の仮想カメラCL，CRで撮影する画像の夫々について、同様のＧＵＩ要素描画処理が実行される。このため、以下の説明では、一対の仮想カメラCL，CRのうちの仮想カメラCLに関するＧＵＩ要素描画処理について説明し、仮想カメラCRに関するＧＵＩ要素描画処理についての説明は省略する。
【００４１】
図５は、図３に示した位置とは別の位置にある仮想カメラCLの平面図を示す。また、図６は、図５に示す仮想カメラCLで撮影した仮想二次元画像の模式図を示す。図５及び図６に示すように、仮想カメラCLの前方には、仮想カメラCLから見て右方手前側から左方奥側へと延びる鉛直な壁オブジェクト65が配置されている。壁オブジェクト65は、仮想カメラCLから見て平面要素61より奥側に位置する。図６では、ＧＵＩ要素62における壁オブジェクト65に近い部分は、透過率が高い。
【００４２】
図７は、ＧＵＩ要素描画処理の流れを示すフローチャートである。ＧＵＩ要素描画処理は、例えば、コントローラ48に対するユーザの操作によるＧＵＩ要素62の表示要求があった場合に開始される。
【００４３】
ＧＵＩ要素描画処理が開始されると、まず平面配置手段53が、仮想空間S内の仮想カメラCLに対向する所定の位置に平面要素61を配置する（ステップS1）。
【００４４】
次に、距離算出手段54が、平面要素61を複数の部分領域に分割したときの各部分領域について、仮想空間Sに配置されたオブジェクトまでの距離を算出する（ステップS2）。本実施形態では、平面要素61を分割する単位を、仮想カメラCLで撮影する画像の画素に設定している。そして、距離算出手段54は、隠面消去方法として公知のＺバッファ法により取得される各画素の深度値を用いて、平面要素61の部分領域とオブジェクトとの距離を算出する。
【００４５】
距離算出手段54による距離算出方法について、より詳しく説明する。隠面消去した画像を生成するために、Ｚバッファ法では、画像の画素の色情報を格納するフレームバッファと共に、当該画素ごとに、視点である仮想カメラCLからその視軸に沿った奥行き情報である深度値を格納するＺバッファがＲＡＭ16等に用意される。即ち、ＧＵＩ要素描画処理が実行される前には、仮想カメラCLから見えるオブジェクトに関する深度値（第１の深度値Z1）が画素ごとにＺバッファに格納されている。
【００４６】
距離算出手段54では、ＧＵＩ要素62を描画する前の第１の深度値Z1を利用する。具体的には、距離算出手段54は、画素単位で分割した平面要素61の各部分領域について、仮想カメラCLから当該部分領域を見た視線の先のオブジェクトの対応部位に関する第１の深度値Z1（言い換えれば、ＧＵＩ要素描画処理実行前にＺバッファに格納された深度値）と、当該視線の先の部分領域に関する第２の深度値Z2を取得する。そして、距離算出手段54は、平面要素61の各部分領域について、第１の深度値Z1から第２の深度値Z2を減算することにより、平面要素61の各部分領域からオブジェクトの対応部位までの距離を算出する。
【００４７】
例えば図５には、仮想カメラCLから平面要素61の１つの部分領域を見た視線と壁オブジェクト65の対応部位との交点X1とその深度値Z1が示される。また、図５には、同視線と平面要素61の部分領域との交点X2とその深度値Z2が示される。距離算出手段54は、平面要素61のこの部分領域について、点X1の深度値Z1から点X2の深度値Z2を減算して、当該部分領域から壁オブジェクト65までの距離Z3を算出する。こうして、平面要素61の全ての部分領域について、壁オブジェクト65までの距離Z3が算出される。
【００４８】
次に、透明度決定手段55が、算出した距離Z3が設定値Zsより小さい部分領域について、ＧＵＩ要素62において当該部分領域に対応する部分要素の透明度αを、距離Z3が短いほど高くなるように決定する（ステップS3）。
【００４９】
図８は、平面要素61の部分領域とオブジェクトとの距離Z3と、当該部分領域に対応するＧＵＩ要素62の部分要素の透明度αとの関係を示すグラフの一例である。部分要素の透明度αは、その値が「１」である場合に、当該部分要素が完全に透明になり、値が「０」である場合に、当該部分要素が完全に不透明になる。例えば透明度αは、仮想カメラCLから部分領域を見た視線の先のオブジェクトの対応部位の色と、当該視線の先の部分領域に描画されるＧＵＩ要素62の部分要素の色とをブレンドするブレンド率である。
【００５０】
図８に示すように、距離Z3の閾値として設定値Zsが設けられている。距離Z3が設定値Zsより小さい部分領域については、対応する部分要素の透明度αを、算出した距離Z3が短いほど高くなる。距離Z3が設定値Zsより大きい部分領域については、対応する部分要素の透明度αを一定値である「０」にする。
【００５１】
このように、透明度決定手段55は、画像の画素単位であるＧＵＩ要素62の部分要素ごとに、その透明度αを決定する。
【００５２】
図７に戻って、ＧＵＩ要素62の部分要素ごとに透明度αが決定されると、描画手段56は、決定した透明度αに応じて、各画素の色を更新して、ＧＵＩ要素62を描画する（ステップS4）。
【００５３】
ＧＵＩ要素62の描画が完了すると、ＧＵＩ要素描画処理を終了する。ＧＵＩ要素62が仮想カメラCLの画角内にある間は、毎フレーム、ステップS2〜S4を繰り返す。また、例えば、コントローラ48に対するユーザの操作によるＧＵＩ要素62の非表示要求があった場合には、平面要素61は仮想空間Sから削除され、ＧＵＩ要素62が仮想カメラCLの画角内にある間実行されたステップS2〜S4の繰り返しも終了する。
【００５４】
以上に示したように、本実施形態に係るゲームシステム1では、ＧＵＩ要素62におけるオブジェクトまでの距離Z3が設定値Zsより小さい部分について、オブジェクトに近い部分ほど透明度αを高めるため、ＧＵＩ要素62の近くのオブジェクトの様子をユーザが把握しやすくなる。更に、平面要素61がオブジェクトと交差する位置に配置された場合でも、オブジェクトと交差する部分でＧＵＩ要素62が透明になる。このため、ユーザの視認性が向上する。
【００５５】
また、本実施形態では、距離算出手段54が、隠面消去方法として公知のＺバッファ法により取得される各画素の深度値を用いて、画素単位で分割した平面要素の部分領域とオブジェクトの対応部位との距離を算出するため、距離算出に伴う処理負荷を低減することができる。
【００５６】
本発明は上述した実施形態に限定されるものではなく、本発明の要旨を逸脱しない範囲で種々の変形が可能である。
【００５７】
例えば、上記実施形態で説明されたハードウェアの構成も一例にすぎず、視差を有する一対の仮想二次元画像を表示するＨＭＤ40を備えた構成であればよい。例えば、ＨＭＤ40が有する加速度センサ42、ジャイロセンサ43及び光放出部44や光検出装置46などは、なくてもよい。
【００５８】
上記実施形態では、コントローラ48に対するユーザの操作により平面要素61が配置されたが、例えば仮想カメラCの仮想空間S上での位置やゲームの進行状況などに応じて平面要素61が配置されてもよい。
【００５９】
また、上記実施形態では、距離算出手段54が、Ｚバッファ法の深度値を用いて、平面要素61の部分領域ごとにオブジェクトまでの距離を算出したが、当該距離の算出方法はこれに限定されない。例えば、距離算出手段54は、画素単位で分割した平面要素61の各部分領域について、仮想カメラからある部分領域を見た視線方向に沿った当該仮想カメラからオブジェクトまでの距離と、当該視線方向に沿った当該仮想カメラから当該部分領域までの距離を減算してもよい。あるいは、例えば、距離算出手段54は、平面要素を画素より大きな単位で分割した部分領域（例えば方形状の領域）について、各部分領域の中心点からオブジェクトまでの最短距離を、平面要素の部分領域とオブジェクトまでの距離として算出してもよい。
【００６０】
また、上記実施形態では、透明度決定手段55が、距離算出手段54で算出した距離Z3から、図８に示す関係に基づき、ＧＵＩ要素62の部分要素の透明度αを決定したが、図８に示す関係は一例であり、本発明を制限するものではない。例えば、距離Z3が設定値Zsより大きい部分領域について、透明度αは「０」以外の一定値（例えば「０．３」など）であってもよいし、距離Z3が設定値Zs以下におけるグラフの傾きは一定でなくてもよい。また、透明度決定手段55が、ＧＵＩ要素62の部分要素の透明度αを表す指標として、ＧＵＩ要素62の部分要素の不透明度を決定してもよい。
【００６１】
また、上記実施形態では、描画対象要素としてＧＵＩ要素を描画する処理について説明したが、本発明は、例えば平面要素上にキャラクタのセリフなどを表示する字幕やオブジェクトの説明のためのテキストを描画する処理にも適用可能である。
【符号の説明】
【００６２】
51        ：仮想空間生成手段
52        ：カメラ配置手段
53        ：平面配置手段
54        ：距離算出手段
55        ：透明度決定手段
56        ：描画手段
61        ：平面要素
62        ：ＧＵＩ要素
B          ：壁オブジェクト
C（CL，CR）  ：仮想カメラ
【図１】
2019017755.tif 000003
【図２】
2019017755.tif 000004
【図３】
2019017755.tif 000005
【図４】
2019017755.tif 000006
【図５】
2019017755.tif 000007
【図６】
2019017755.tif 000008
【図７】
2019017755.tif 000009
【図８】
2019017755.tif 000010