(57)【要約】【課題】仮想空間を表現した立体視画像を見やすく表示する。【解決手段】ゲーム装置１０は、仮想オブジェクト（プレイヤオブジェクト７４、ノンプレイヤオブジェクト７５、建物オブジェクト７６等）が存在する仮想空間について、右仮想カメラおよび左仮想カメラで撮影することにより右目用画像および左目用画像を生成して立体視可能にＬＣＤに出力する。このとき、プレイヤオブジェクト７４が仮想カメラに近い位置に存在するときに、シルエット画像に変更する。【選択図】図４
2014135771.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータを、
所定の仮想オブジェクトが存在する所定の仮想空間について、所定の視点に基づく右目用画像および左目用画像を生成して立体視可能に所定のディスプレイに出力する表示制御手段として機能させ、
前記表示制御手段は、前記視点から見て所定距離より近くに存在する仮想オブジェクトである近接オブジェクトについて、簡略化した表示に変更して右目用画像および左目用画像を生成する、表示制御プログラム。
【請求項２】
前記表示制御手段は、さらに、前記近接オブジェクトについての右目用画像と左目用画像の前記ディスプレイ上での表示位置の差を減少させるように前記生成または前記出力をおこなう、請求項１に記載の画像生成プログラム。
【請求項３】
前記表示制御手段は、前記視点から見て前記所定距離より遠くに存在する仮想オブジェクトである非近接オブジェクトについて、所定の第１間隔を有する２つの仮想カメラにより当該非近接オブジェクトの右目用画像および左目用画像を生成し、かつ、当該第１間隔よりも狭い第２間隔を有する２つの仮想カメラにより、前記近接オブジェクトの右目用画像および左目用画像を生成することにより、前記表示位置の差を減少する、請求項２に記載の画像生成プログラム。
【請求項４】
前記表示制御手段は、所定の仮想オブジェクトについて、前記視点から見て前記所定距離より近くに存在するときに前記簡略化した表示に変更し、当該所定の仮想オブジェクト以外の仮想オブジェクトについては、前記視点から見て前記所定距離より近くに存在するときにも前記簡略化した表示に変更しない請求項１ないし３のいずれかに記載の画像生成プログラム。
【請求項５】
前記表示制御手段は、前記所定の仮想オブジェクトについて、前記視点から見て前記所定距離より近くに存在するときに前記表示位置の差を減少させるような処理をおこない、当該所定の仮想オブジェクト以外の仮想オブジェクトについては、前記視点から見て前記所定距離より近くに存在するときにも前記表示位置の差を減少させるような処理をおこなわない請求項４に記載の画像生成プログラム。
【請求項６】
前記表示制御手段は、所定の仮想オブジェクトが前記視点から見て前記所定距離より近くに存在するときに、前記第１間隔を有する２つの仮想カメラにより、前記所定の仮想オブジェクト以外の仮想オブジェクトについて右目用画像および左目用画像をそれぞれ生成し、当該右目用画像および当該左目用画像の生成により生じたそれぞれの奥行情報を利用して、前記第２間隔を有する２つの仮想カメラにより生成される前記所定の仮想オブジェクトの画像を、当該右目用画像および当該左目用画像にそれぞれ合成する、請求項５に記載の画像生成プログラム。
【請求項７】
前記表示制御手段は、さらに、前記近接オブジェクトの右目用画像および左目用画像を半透明の画像とする、請求項１ないし６のいずれかに記載の表示制御プログラム。
【請求項８】
前記仮想空間にはプレイヤによって操作されるプレイヤオブジェクトが存在し、
前記表示制御手段は、前記プレイヤオブジェクトの位置に基づいて視点および視線方向を設定することにより、前記プレイヤオブジェクトを含む画像を生成し、
前記所定の仮想オブジェクトは、プレイヤオブジェクトである、請求項４ないし６のいずれかに記載の画像生成プログラム。
【請求項９】
前記表示制御手段は、前記近接オブジェクトについて視差が０になるように処理をおこなう、請求項２に記載の画像生成プログラム。
【請求項１０】
前記表示制御手段は、前記所定距離として、ディスプレイより飛び出して見える距離とする、請求項１ないし９のいずれかに記載の画像生成プログラム。
【請求項１１】
前記簡略化した表示は、シルエット化した表示である、請求項１ないし１０のいずれかに記載の画像生成プログラム。
【請求項１２】
所定の仮想オブジェクトが存在する所定の仮想空間について、所定の視点に基づく右目用画像および左目用画像を生成して立体視可能に所定のディスプレイに出力する表示制御手段を備え、
前記表示制御手段は、前記視点から見て所定距離より近くに存在する仮想オブジェクトである近接オブジェクトについて、簡略化した表示に変更して右目用画像および左目用画像を生成する、画像生成システム。
【請求項１３】
所定の仮想オブジェクトが存在する所定の仮想空間について、所定の視点に基づく右目用画像および左目用画像を生成して立体視可能に所定のディスプレイに出力する表示制御手段を備え、
前記表示制御手段は、前記視点から見て所定距離より近くに存在する仮想オブジェクトである近接オブジェクトについて、簡略化した表示に変更して右目用画像および左目用画像を生成する、画像生成装置。
【請求項１４】
表示制御装置または表示制御システムを制御する表示制御方法であって、
所定の仮想オブジェクトが存在する所定の仮想空間について、所定の視点に基づく右目用画像および左目用画像を生成して立体視可能に所定のディスプレイに出力するときに、当該視点から見て所定距離より近くに存在する仮想オブジェクトである近接オブジェクトについて、簡略化した表示に変更して右目用画像および左目用画像を生成する、表示制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、立体視のための画像を生成して所定のディスプレイに出力することが可能な装置やシステムで実行される表示制御プログラム、表示制御システム、表示制御装置、および、表示制御方法に関する。
【背景技術】
【０００２】
従来から、所定の視差を有する画像を用いて、立体視表示を行なう方法が知られている。このような立体視表示の適用先は、さまざまな分野へ広がりつつある。たとえば、ゲームやＣＧアニメーションといった、３次元仮想空間を表示するようなアプリケーションなどが開発されている。例えば、特開２００３−１０７６０３号公報（特許文献１）にはその一例が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００３−１０７６０３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
上記の特許文献１に開示される方法では、仮想空間上の或る位置のオブジェクトはディスプレイ面上に見えるように描画される。また、その位置より仮想カメラに近い位置に存在するオブジェクトはディスプレイ面から手前に飛び出して見えるように描画され、その位置よりも仮想カメラから遠い位置に存在するオブジェクトはディスプレイ面から奥に引っ込んで見えるように描画される。
【０００５】
この発明の目的は、立体視表示において、見やすい画像を生成することができる表示制御プログラム、表示制御システム、表示制御装置、および、表示制御方法に関する。
【課題を解決するための手段】
【０００６】
この発明の第１の側面は、コンピュータを、所定の仮想オブジェクト（プレイヤオブジェクト、ノンプレイヤオブジェクト、建物オブジェクト、地形オブジェクト等）が存在する所定の仮想空間について、所定の視点に基づく右目用画像および左目用画像を生成して立体視可能に所定のディスプレイに出力する表示制御手段として機能させるプログラムである。この表示制御手段は、仮想空間を描画するための視点から見て所定距離より近くに存在する仮想オブジェクトである近接オブジェクトについて、簡略化した表示に変更して右目用画像および左目用画像を生成する。簡略化した表示とは、例えば、後述のようなシルエット化した表示であるが、これに限らず、「視点から見て所定距離より遠くに存在する場合の表示」（標準表示）に比べてシンプルな表示であればよく、例えば、減色した表示でもよいし、線画としてもよいし、解像度が低い表示としてもよく、後述の通り、シルエット画像（単色の画像）としてもよい。また、このとき、濃度が一定のシルエット画像としてもよい。また、簡略化した表示のための画像データは標準表示の画像データから生成してもよいし、別の画像データとして予め保持してもよい。また、テクスチャをシンプル化してもよいし、モデルをシンプル化してもよい。例えば、後述の通り、近接オブジェクトのテクスチャを、標準表示用のテクスチャからシルエット用のテクスチャに変更してレンダリングしてもよい。また、上述の所定距離として、ディスプレイ面より飛び出して見える距離としてもよく、または、ディスプレイ面上に見える距離（ディスプレイ上で右目用画像と左目用画像との表示位置が一致する距離）としてもよい。または、余裕を見て、ディスプレイ面から奥に引っ込んで見えるような範囲の所定距離でもよい。表示制御手段は、典型的には、２つの仮想カメラを仮想空間内に配置して、これらの仮想カメラにより仮想空間を撮影することにより、右目用画像と左目用画像を生成する。２つの仮想カメラは典型的には同じ撮影方向が設定されるが、交差するように設定してもよい。
【０００７】
仮想空間を描画するための視点から見て所定距離より近くに存在する仮想オブジェクトを近接オブジェクトと呼び、当該視点から見て当該所定距離より遠くに存在する仮想オブジェクトを非近接オブジェクトと呼ぶ。
【０００８】
なお、仮想空間を描画するための視点から見て所定距離より近くに存在する仮想オブジェクトのすべてについて簡略化した表示をおこなう必要はない。
【０００９】
ユーザの手前寄りに見える立体視画像は見え辛い場合があるが、第１の局面に従う発明によれば、そのような位置に存在する仮想オブジェクトの右目用画像および左目用画像を簡略化することにより右目用画像と左目用画像の画像差が少なくなって、見やすい画像を生成することができる。
【００１０】
また、表示制御手段は、上述のように近接オブジェクトについて簡略化した表示に変更するとともに、近接オブジェクトの右目用画像と左目用画像のディスプレイ上での表示位置の差を減少するようにしてもよい。なお、減少するとは０にすることを含む。右目用画像と左目用画像のディスプレイ上での表示位置の差を減少させるためには、（１）近接オブジェクトの画像を生成する処理において必要な処理を行っても良いし、（２）近接オブジェクトの画像を非近接オブジェクトの画像に合成する際に必要な処理をおこなってもよいし、（３）近接オブジェクトの画像をディスプレイに出力する処理において必要な処理をおこなってもよい。（１）については、典型的には、後述するように、近接オブジェクト用の仮想カメラの設定を非近接オブジェクト用の仮想カメラの設定から変更する処理である。（２）は、近接オブジェクトの画像を非近接オブジェクトに合成する際に、近接オブジェクトの表示位置の差を減少させた後に合成すればよい。（３）は、近接オブジェクトの画像と非近接オブジェクトの画像をディスプレイに出力する際の表示位置の指定にあたり、前者を後者よりも表示位置の差が少ないように指定すればよい。
【００１１】
近接オブジェクトについて簡略化した表示に変更するとともに、近接オブジェクトの右目用画像と左目用画像のディスプレイ上での表示位置の差を減少するようにすれば、さらに見やすい画像を生成することができる。また、上述のように、近接オブジェクトについては、簡略化した画像に変更しているため、このような表示位置の差を減少させる処理が比較的目立たないため、この処理による不自然さ低減させることができる。
【００１２】
また、表示位置の差を減少するために、表示制御手段は、所定の第１間隔を有する２つの仮想カメラにより非近接オブジェクトの右目用画像および左目用画像を生成し、かつ、当該第１間隔よりも狭い第２間隔を有する２つの仮想カメラにより、近接オブジェクトの右目用画像および左目用画像を生成するようにしてもよい。
この場合、典型的には、「第２間隔を有する２つの仮想カメラ」の代表点の位置（例えば、中間点またはいずれかの仮想カメラの位置）は、「第１間隔を有する２つの仮想カメラ」の代表点の位置と同じに設定される。また、典型的には、「第２間隔を有する２つの仮想カメラ」は「第１間隔を有する２つの仮想カメラ」と撮影方向を同じに設定される。同じ位置に存在する仮想オブジェクトであっても、「第２間隔を有する２つの仮想カメラ」で撮影した場合の右目用画像と左目用画像中での視差は、「第１間隔を有する２つの仮想カメラ」で撮影した場合よりも小さくなる。また、近接オブジェクトを撮影する仮想カメラの位置を、非近接オブジェクトを撮影する仮想カメラの位置よりも撮影方向に遠ざけて配置してもよい。また、２つの仮想カメラの撮影方向が交差する場合には、近接オブジェクトを撮影する仮想カメラの交差の角度を、非近接オブジェクトを撮影する仮想カメラの交差の角度よりも大きくすればよい。
なお、所定間隔を有する２つの仮想カメラで非近接オブジェクトを描画して右目用画像と左目用画像を生成し、その２つの仮想カメラの代表点（例えば、中間点）に配置される単一の仮想カメラで近接オブジェクトを描画して先の右目用画像と左目用画像のそれぞれに合成するようにしてもよい。このようにすれば、近接オブジェクトについてはディスプレイ面上の視差を０にすることができる。
【００１３】
また、表示制御手段は、所定の仮想オブジェクト（例えば、プレイヤオブジェクト）について、視点から見て所定距離より近くに存在するときに簡略化した表示に変更し、当該所定の仮想オブジェクト以外の仮想オブジェクト（例えば、ノンプレイヤオブジェクトや建物オブジェクトや地形オブジェクトなど）については、視点から見て所定距離より近くに存在するときにも簡略化した表示に変更しないようにしてもよい。
【００１４】
このようにすれば、必要以上に簡略化表示されず、視点の近くの状況の把握が容易になる。
【００１５】
また、表示制御手段は、所定の仮想オブジェクトについて、視点から見て所定距離より近くに存在するときに表示位置の差を減少させるような処理をおこない、当該所定の仮想オブジェクト以外の仮想オブジェクトについては、視点から見て所定距離より近くに存在するときにも表示位置の差を減少させるような処理をおこなわないようにしてもよい。
【００１６】
このようにすれば、視点の近くに存在する仮想オブジェクトであっても所定のオブジェクト以外については正しい視差で表示させることができて、仮想空間の表示が比較的自然となる。
【００１７】
また、表示制御手段は、所定の仮想オブジェクトが前記視点から見て所定距離より近くに存在するときに、第１間隔を有する２つの仮想カメラにより、「所定の仮想オブジェクト以外の仮想オブジェクト」について右目用画像および左目用画像をそれぞれ生成し、当該右目用画像および当該左目用画像の生成により生じたそれぞれの奥行情報を利用して、第２間隔を有する２つの仮想カメラにより生成される所定の仮想オブジェクトの画像を、当該右目用画像および当該左目用画像にそれぞれ合成するようにしてもよい。
【００１８】
このようにすれば、視点の近くに「所定の仮想オブジェクト」と「所定の仮想オブジェクト以外の仮想オブジェクト」が存在する場合に、奥行位置に基づく表示優先度は正しいまま、「所定の仮想オブジェクト」の表示位置の差を減少させることができる。
【００１９】
また、表示制御手段は、さらに、近接オブジェクトの右目用画像および左目用画像を半透明の画像としてもよい。
【００２０】
このようにすれば、さらに、見やすい画像を生成することができる。特に、近接オブジェクトの表示位置の差を減少させる場合にも、その処理による不自然さ低減させることができる。
【００２１】
また、仮想空間にはプレイヤによって操作されるプレイヤオブジェクトが存在してもよく、この場合、表示制御手段は、プレイヤオブジェクトの位置に基づいて視点および視線方向を設定することにより、プレイヤオブジェクトを含む画像を生成するようにし、上述の「所定の仮想オブジェクト」を、プレイヤオブジェクトとしてもよい。
【００２２】
このようにすれば、常時画像に表示されているオブジェクトについては、必要に応じて一時的に簡略化表示をしても比較的問題なく、そうでないオブジェクトについては何のオブジェクトかをプレイヤが把握する必要などがあるので、視点に近い場合でも簡略化表示しないことにより、プレイしやすい。
【００２３】
また、この発明の第２の側面は、所定の仮想オブジェクトが存在する所定の仮想空間について、所定の視点に基づく右目用画像および左目用画像を生成して立体視可能に所定のディスプレイに出力する表示制御手段を備る画像生成システムである。表示制御手段は、前記視点から見て所定距離より近くに存在する仮想オブジェクトである近接オブジェクトについて、簡略化した表示に変更して右目用画像および左目用画像を生成する。
【００２４】
また、この発明の第３の側面は、所定の仮想オブジェクトが存在する所定の仮想空間について、所定の視点に基づく右目用画像および左目用画像を生成して立体視可能に所定のディスプレイに出力する表示制御手段を備える画像生成装置である。表示制御手段は、前記視点から見て所定距離より近くに存在する仮想オブジェクトである近接オブジェクトについて、簡略化した表示に変更して右目用画像および左目用画像を生成する。
【００２５】
また、この発明の第４の側面は、表示制御装置または表示制御システムを制御する表示制御方法である。この方法では、所定の仮想オブジェクトが存在する所定の仮想空間について、所定の視点に基づく右目用画像および左目用画像を生成して立体視可能に所定のディスプレイに出力するときに、当該視点から見て所定距離より近くに存在する仮想オブジェクトである近接オブジェクトについて、簡略化した表示に変更して右目用画像および左目用画像を生成する。
【発明の効果】
【００２６】
本発明によれば、見やすい立体視画像を生成することができる。
【図面の簡単な説明】
【００２７】
【図１】表示制御装置の外観図
【図２】表示制御装置のブロック図
【図３】画面例（通常時）
【図４】画面例（簡略化した表示時）
【図５】仮想カメラによって立体視の画像を生成する処理を示す図
【図６】仮想カメラによる立体視の画像を生成する処理の変形例を示す図
【図７】標準状態における、仮想カメラ７１Ｌ，７１Ｒ、プレイヤオブジェクト７４等の配置状態を示す図
【図８】プレイヤオブジェクトが仮想カメラに近づいたときの配置状態を示す図
【図９】表示制御プログラムによる処理において用いられる各種データを示す図（ＲＯＭデータ）
【図１０】表示制御プログラムによる処理において用いられる各種データを示す図（プログラムの実行中に生成される一時的なデータ）
【図１１】表示制御プログラムによる処理の流れを示すフローチャート
【図１２】表示制御プログラムによる処理の流れを示すフローチャート
【発明を実施するための形態】
【００２８】
［ゲーム装置の構成］
以下、図面を参照して、本発明に係る表示制御プログラムおよび表示制御装置の一実施形態であるゲームプログラムおよびゲーム装置について説明する。図１は、ゲーム装置１０の外観を示す平面図である。ゲーム装置１０は携帯型のゲーム装置である。
【００２９】
まず、図１を参照して、ゲーム装置１０の外観構成について説明する。図１に示されるように、ゲーム装置１０は、下側ハウジング１１および上側ハウジング２１を有する。下側ハウジング１１と上側ハウジング２１とは、開閉可能（折り畳み可能）に接続されている。本実施形態では、各ハウジング１１および２１はともに横長の長方形の板状形状であり、互いの長辺部分で回転可能に接続されている。
【００３０】
（下側ハウジングの説明）
まず、下側ハウジング１１の構成について説明する。図１に示すように、下側ハウジング１１には、下側ＬＣＤ（Ｌｉｑｕｉｄ Ｃｒｙｓｔａｌ Ｄｉｓｐｌａｙ：液晶表示装置）１２、タッチパネル１３、各操作ボタン１４Ａ〜１４Ｌ（図１、図３）、アナログスティック１５、挿入口１７、および、マイクロフォン用孔１８が設けられる。以下、これらの詳細について説明する。
【００３１】
図１に示すように、下側ＬＣＤ１２は下側ハウジング１１に収納される。下側ＬＣＤ１２は横長形状であり、長辺方向が下側ハウジング１１の長辺方向に一致するように配置される。下側ＬＣＤ１２は左右方向（図１に示すｘ軸方向）に関して下側ハウジング１１の中央に配置される。下側ＬＣＤ１２は、下側ハウジング１１の内側面（主面）に設けられ、下側ハウジング１１に設けられた開口部から当該下側ＬＣＤ１２の画面が露出される。ゲーム装置１０を使用しない場合には閉状態としておくことによって、下側ＬＣＤ１２の画面が汚れたり傷ついたりすることを防止することができる。下側ＬＣＤ１２の画素数は、例えば、２５６ｄｏｔ×１９２ｄｏｔ（横×縦）であってもよい。下側ＬＣＤ１２は、後述する上側ＬＣＤ２２とは異なり、画像を（立体視可能ではなく）平面的に表示する表示装置である。なお、本実施形態では表示装置としてＬＣＤを用いているが、例えばＥＬ（Ｅｌｅｃｔｒｏ Ｌｕｍｉｎｅｓｃｅｎｃｅ：電界発光）を利用した表示装置など、他の任意の表示装置を利用してもよい。また、下側ＬＣＤ１２として、任意の解像度の表示装置を利用することができる。
【００３２】
図１に示されるように、ゲーム装置１０は、入力装置として、タッチパネル１３を備えている。タッチパネル１３は、下側ＬＣＤ１２の画面上に装着されている。なお、本実施形態では、タッチパネル１３は抵抗膜方式のタッチパネルである。ただし、タッチパネルは抵抗膜方式に限らず、例えば静電容量方式等、任意の方式のタッチパネルを用いることができる。本実施形態では、タッチパネル１３として、下側ＬＣＤ１２の解像度と同解像度（検出精度）のものを利用する。ただし、必ずしもタッチパネル１３の解像度と下側ＬＣＤ１２の解像度が一致している必要はない。また、下側ハウジング１１の上側面には挿入口１７（図１に示す点線）が設けられている。挿入口１７は、タッチパネル１３に対する操作を行うために用いられるタッチペン２８を収納することができる。なお、タッチパネル１３に対する入力は通常タッチペン２８を用いて行われるが、タッチペン２８に限らずユーザの指でタッチパネル１３に対する入力をすることも可能である。
【００３３】
各操作ボタン１４Ａ〜１４Ｌは、所定の入力を行うための入力装置である。図１に示されるように、下側ハウジング１１の内側面（主面）には、各操作ボタン１４Ａ〜１４Ｌのうち、十字ボタン１４Ａ（方向入力ボタン１４Ａ）、ボタン１４Ｂ、ボタン１４Ｃ、ボタン１４Ｄ、ボタン１４Ｅ、電源ボタン１４Ｆ、セレクトボタン１４Ｊ、ＨＯＭＥボタン１４Ｋ、およびスタートボタン１４Ｌが設けられる。十字ボタン１４Ａは、十字の形状を有しており、上下左右の方向を指示するボタンを有している。ボタン１４Ａ〜１４Ｅ、セレクトボタン１４Ｊ、ＨＯＭＥボタン１４Ｋ、およびスタートボタン１４Ｌには、ゲーム装置１０が実行するプログラムに応じた機能が適宜割り当てられる。例えば、十字ボタン１４Ａは選択操作等に用いられ、各操作ボタン１４Ｂ〜１４Ｅは決定操作やキャンセル操作等に用いられる。また、電源ボタン１４Ｆは、ゲーム装置１０の電源をオン／オフするために用いられる。
【００３４】
アナログスティック１５は、方向を指示するデバイスであり、下側ハウジング１１の内側面に設けられる。図１に示すように、アナログスティック１５は、十字ボタン１４Ａの上方に設けられる。アナログスティック１５は、指で操作されるスティック部が下側ハウジング１１の内側面に対して任意の方向（上下左右および斜め方向の任意の角度）に傾倒するように構成されている。アナログスティック１５は、ゲーム装置１０が実行するプログラムに応じて機能する。例えば、３次元仮想空間に所定のオブジェクトが登場するゲームがゲーム装置１０によって実行される場合、アナログスティック１５は、当該所定のオブジェクトを３次元仮想空間内で移動させるための入力装置として機能する。この場合において、所定のオブジェクトはアナログスティック１５が傾倒した方向に移動される。なお、アナログスティック１５として、上下左右および斜め方向の任意の方向に所定量だけスライドすることでアナログ入力を可能としたものを用いても良い。
【００３５】
また、下側ハウジング１１の上側面には、ゲーム装置１０とゲームプログラムを記録した外部メモリ４４とを電気的に着脱自在に接続するためのコネクタ（図示せず）が設けられる。当該外部メモリ４４がゲーム装置１０に接続されることにより、所定のゲームプログラムが実行される。なお、上記コネクタおよびそのカバー部１１Ｄは、下側ハウジング１１の他の側面（例えば、右側面等）に設けられてもよい。
【００３６】
また、下側ハウジング１１の内側面には、マイクロフォン用孔１８が設けられる。マイクロフォン用孔１８の下部には後述する音声入力装置としてのマイクが設けられ、当該マイクがゲーム装置１０の外部の音を検出する。
【００３７】
なお、図示は省略するが、下側ハウジング１１には、ゲーム装置１０の電源となる充電式電池が収納され、下側ハウジング１１の側面（例えば、上側面）に設けられた端子を介して当該電池を充電することができる。
【００３８】
（上側ハウジングの説明）
次に、上側ハウジング２１の構成について説明する。図１に示すように、上側ハウジング２１には、上側ＬＣＤ（Ｌｉｑｕｉｄ Ｃｒｙｓｔａｌ Ｄｉｓｐｌａｙ：液晶表示装置）２２、外側カメラ２３（左目用カメラ２３ａおよび右目用カメラ２３ｂ）、内側カメラ２４、３Ｄ調整スイッチ２５、および、３Ｄインジケータ２６が設けられる。以下、これらの詳細について説明する。
【００３９】
図１に示すように、上側ＬＣＤ２２は上側ハウジング２１に収納される。上側ＬＣＤ２２は、横長形状であり、長辺方向が上側ハウジング２１の長辺方向に一致するように配置される。上側ＬＣＤ２２は左右方向（図１に示すｘ軸方向）に関して上側ハウジング２１の中央に配置される。上側ＬＣＤ２２の画面の面積は、下側ＬＣＤ１２の画面の面積よりも大きく設定される。具体的には、上側ＬＣＤ２２の画面は、下側ＬＣＤ１２の画面よりも横長に設定される。すなわち、上側ＬＣＤ２２の画面のアスペクト比における横幅の割合は、下側ＬＣＤ１２の画面のアスペクト比における横幅の割合よりも大きく設定される。
【００４０】
上側ＬＣＤ２２の画面は、上側ハウジング２１の内側面（主面）２１Ｂに設けられ、上側ハウジング２１に設けられた開口部から当該上側ＬＣＤ２２の画面が露出される。なお、本実施形態では上側ＬＣＤ２２は液晶表示装置であるとしたが、例えばＥＬ（Ｅｌｅｃｔｒｏ Ｌｕｍｉｎｅｓｃｅｎｃｅ：電界発光）を利用した表示装置などが利用されてもよい。また、上側ＬＣＤ２２として、任意の解像度の表示装置を利用することができる。また、立体視用のメガネ（偏光式、シャッタ式など方式は問わない）を装着して視聴するタイプの立体視ディスプレイであってもよいし、いわゆるヘッドマウントディスプレイ方式のディスプレイであってもよい。
【００４１】
上側ＬＣＤ２２は、立体視可能な画像を表示することが可能な表示装置である。また、本実施形態では、実質的に同一の表示領域を用いて左目用画像と右目用画像が表示される。具体的には、上側ＬＣＤ２２は、左目用画像と右目用画像が所定単位で（例えば、１列ずつ）横方向に交互に表示される方式の表示装置である。または、上側ＬＣＤ２２は、左目用画像と右目用画像とが時分割で交互に表示される方式の表示装置であってもよい。また、本実施形態では、上側ＬＣＤ２２は裸眼立体視可能な表示装置である。そして、横方向に交互に表示される左目用画像と右目用画像とを左目および右目のそれぞれに分解して見えるように、レンチキュラー方式やパララックスバリア方式（視差バリア方式）の表示装置が用いられる。本実施形態では、上側ＬＣＤ２２はパララックスバリア方式のものとする。上側ＬＣＤ２２は、右目用画像と左目用画像とを用いて、裸眼で立体視可能な画像（立体画像）を表示する。すなわち、上側ＬＣＤ２２は、視差バリアを用いてユーザの左目に左目用画像を、ユーザの右目に右目用画像をそれぞれ視認させることにより、ユーザにとって立体感のある立体画像（立体視可能な画像）を表示することができる。また、上側ＬＣＤ２２は、上記視差バリアを無効にすることが可能であり、視差バリアを無効にした場合は、画像を平面的に表示することができる（上述した立体視とは反対の意味で平面視の画像を表示することができる）。このように、上側ＬＣＤ２２は、立体視可能な画像を表示する立体表示モードと、画像を平面的に表示する（平面視画像を表示する）平面表示モードとを切り替えることが可能な表示装置である。この表示モードの切り替えは、後述する所定のハードスイッチによって行われる。
【００４２】
また、上側ハウジング２１の内側面には、スピーカ孔２１Ｅが設けられる。後述するスピーカ４３からの音声がこのスピーカ孔２１Ｅから出力される。
【００４３】
［ゲーム装置１０の内部構成］
次に、図２を参照して、ゲーム装置１０の内部の電気的構成について説明する。図２は、ゲーム装置１０の内部構成を示すブロック図である。図２に示すように、ゲーム装置１０は、上述した各部に加えて、情報処理部３１、メインメモリ３２、外部メモリインターフェイス（外部メモリＩ／Ｆ）３３、データ保存用内部メモリ３５、電源回路４０、およびインターフェイス回路（Ｉ／Ｆ回路）４１等の電子部品を備えている。これらの電子部品は、電子回路基板上に実装されて下側ハウジング１１（または上側ハウジング２１でもよい）内に収納される。
【００４４】
情報処理部３１は、所定のプログラムを実行するためのＣＰＵ（Ｃｅｎｔｒａｌ Ｐｒｏｃｅｓｓｉｎｇ Ｕｎｉｔ）３１１、画像処理を行うＧＰＵ（Ｇｒａｐｈｉｃｓ Ｐｒｏｃｅｓｓｉｎｇ Ｕｎｉｔ）３１２等を含む情報処理手段である。本実施形態では、所定の処理を実行するためのプログラムがゲーム装置１０内のメモリ（例えば外部メモリＩ／Ｆ３３に接続された外部メモリ４４やデータ保存用内部メモリ３５）に記憶されている。情報処理部３１のＣＰＵ３１１は、当該プログラムを実行することによって、当該プログラムに応じた処理（例えば、撮影処理や、後述する画像表示処理など）を実行する。なお、情報処理部３１のＣＰＵ３１１によって実行されるプログラムは、他の機器との通信によって他の機器から取得されてもよい。また、情報処理部３１は、ＶＲＡＭ（Ｖｉｄｅｏ ＲＡＭ）３１３を含む。情報処理部３１のＧＰＵ３１２は、情報処理部３１のＣＰＵ３１１からの命令に応じて画像を生成し、ＶＲＡＭ３１３に描画する。そして、情報処理部３１のＧＰＵ３１２は、ＶＲＡＭ３１３に描画された画像を上側ＬＣＤ２２及び／又は下側ＬＣＤ１２に出力し、上側ＬＣＤ２２及び／又は下側ＬＣＤ１２に当該画像が表示される。
【００４５】
情報処理部３１には、メインメモリ３２、外部メモリＩ／Ｆ３３、および、データ保存用内部メモリ３５が接続される。外部メモリＩ／Ｆ３３は、外部メモリ４４を着脱自在に接続するためのインターフェイスである。
【００４６】
メインメモリ３２は、情報処理部３１（のＣＰＵ３１１）のワーク領域やバッファ領域として用いられる揮発性の記憶手段である。すなわち、メインメモリ３２は、上記プログラムに基づく処理に用いられる各種データを一時的に記憶したり、外部（外部メモリ４４や他の機器等）から取得されるプログラムを一時的に記憶したりする。本実施形態では、メインメモリ３２として例えばＰＳＲＡＭ（Ｐｓｅｕｄｏ−ＳＲＡＭ）を用いる。
【００４７】
外部メモリ４４は、情報処理部３１によって実行されるプログラムを記憶するための不揮発性の記憶手段である。外部メモリ４４は、例えば読み取り専用の半導体メモリで構成される。外部メモリ４４が外部メモリＩ／Ｆ３３に接続されると、情報処理部３１は外部メモリ４４に記憶されたプログラムを読み込むことができる。情報処理部３１が読み込んだプログラムを実行することにより、所定の処理が行われる。
【００４８】
データ保存用内部メモリ３５は、読み書き可能な不揮発性メモリ（例えばＮＡＮＤ型フラッシュメモリ）で構成され、所定のデータを格納するために用いられる。例えば、データ保存用内部メモリ３５には、図示しない通信手段によってダウンロードされたデータやプログラムが格納される。
【００４９】
電源回路４０は、ゲーム装置１０が有する電源（下側ハウジング１１に収納される上記充電式電池）からの電力を制御し、ゲーム装置１０の各部品に電力を供給する。
【００５０】
また、情報処理部３１には、Ｉ／Ｆ回路４１が接続される。Ｉ／Ｆ回路４１には、マイク４２およびスピーカ４３が接続される。具体的には、Ｉ／Ｆ回路４１には、図示しないアンプを介してスピーカ４３が接続される。マイク４２は、ユーザの音声を検知して音声信号をＩ／Ｆ回路４１に出力する。アンプは、Ｉ／Ｆ回路４１からの音声信号を増幅し、音声をスピーカ４３から出力させる。また、タッチパネル１３はＩ／Ｆ回路４１に接続される。Ｉ／Ｆ回路４１は、マイク４２およびスピーカ４３（アンプ）の制御を行う音声制御回路と、タッチパネルの制御を行うタッチパネル制御回路とを含む。音声制御回路は、音声信号に対するＡ／Ｄ変換およびＤ／Ａ変換を行ったり、音声信号を所定の形式の音声データに変換したりする。タッチパネル制御回路は、タッチパネル１３からの信号に基づいて所定の形式のタッチ位置データを生成して情報処理部３１に出力する。タッチ位置データは、タッチパネル１３の入力面において入力が行われた位置の座標を示す。なお、タッチパネル制御回路は、タッチパネル１３からの信号の読み込み、および、タッチ位置データの生成を所定時間に１回の割合で行う。情報処理部３１は、タッチ位置データを取得することにより、タッチパネル１３に対して入力が行われた位置を知ることができる。
【００５１】
操作ボタン１４は、上記各操作ボタン１４Ａ〜１４Ｌからなり、情報処理部３１に接続される。操作ボタン１４から情報処理部３１へは、各操作ボタン１４Ａ〜１４Ｉに対する入力状況（押下されたか否か）を示す操作データが出力される。情報処理部３１は、操作ボタン１４から操作データを取得することによって、操作ボタン１４に対する入力に従った処理を実行する。
【００５２】
下側ＬＣＤ１２および上側ＬＣＤ２２は情報処理部３１に接続される。下側ＬＣＤ１２および上側ＬＣＤ２２は、情報処理部３１（のＧＰＵ３１２）の指示に従って画像を表示する。本実施形態では、情報処理部３１は、上側ＬＣＤ２２に右目用画像と左目用画像とを用いた立体画像（立体視可能な画像）を表示させる。
【００５３】
具体的には、情報処理部３１は、上側ＬＣＤ２２のＬＣＤコントローラ（図示せず）と接続され、当該ＬＣＤコントローラに対して視差バリアのオン／オフを制御する。上側ＬＣＤ２２の視差バリアがオンになっている場合、情報処理部３１のＶＲＡＭ３１３に格納された右目用画像と左目用画像とが、上側ＬＣＤ２２に出力される。より具体的には、ＬＣＤコントローラは、右目用画像について縦方向に１ライン分の画素データを読み出す処理と、左目用画像について縦方向に１ライン分の画素データを読み出す処理とを交互に繰り返すことによって、ＶＲＡＭ３１３から右目用画像と左目用画像とを読み出す。これにより、右目用画像および左目用画像が、画素を縦に１ライン毎に並んだ短冊状画像に分割され、分割された右目用画像の短冊状画像と左目用画像の短冊状画像とが交互に配置された画像が、上側ＬＣＤ２２の画面に表示される。そして、上側ＬＣＤ２２の視差バリアを介して当該画像がユーザに視認されることによって、ユーザの右目に右目用画像が、ユーザの左目に左目用画像が視認される。以上により、上側ＬＣＤ２２の画面には立体視可能な画像が表示される。
【００５４】
［ゲーム装置１０における立体画像表示処理の概要］
以下、ゲーム装置１０において実行される表示制御処理の概要について説明する。
【００５５】
図３および図４は、本実施形態に係るゲーム装置１０のゲーム画面の一例である。図３は標準状態におけるゲーム画面の一例である。キャラクタ７４は、プレイヤが操作ボタン１４やアナログスティック１５を用いて操作することが可能なプレイヤオブジェクトである。本実施形態に係るゲーム装置１０によるゲームでは、プレイヤオブジェクトが仮想カメラに一定距離より近くになったときに、プレイヤオブジェクトを半透明のシルエット画像に変更して表示する。図３の状況では、プレイヤオブジェクトは仮想カメラから一定距離より遠くにいるので、多数の色を使用し、各部位を描き分けて、詳細な画像で描画される。プレイヤオブジェクト以外のオブジェクト（建物オブジェクト７６や床オブジェクト７７や図示しない敵オブジェクトなど。以下、他のオブジェクトと呼ぶ）は、詳細な画像で描画される。図３（ａ）は左目用画像であり、図３（ｂ）は右目用画像である。図４は、プレイヤオブジェクト７４が仮想カメラに一定距離より近くなったときのゲーム画面の一例である。このときには、プレイヤオブジェクト７４はシルエット画像に変更されて表示される。具体的には、プレイヤオブジェクト７４の全体は単一色の画像に変更される。また、より具体的には、プレイヤオブジェクト７４の全体を色相・明度・彩度のすべてが同一の色で描画してもよい。すなわち、プレイヤオブジェクト７４は全体が同一の色で描画されるため、各部位を識別することはできず、全体の輪郭がわかるのみである。また、他のオブジェクトは、図３のときと同じく詳細な描画で描かれる。すなわち、他のオブジェクトについては、仮想カメラに近い位置にいるときでもシルエット化しない。また、プレイヤオブジェクト７４はシルエット画像に変更されるとともに半透明で描画される。
【００５６】
図５は、立体視のための左目用画像および右目用画像を生成する処理を説明するための図である。本実施形態の処理では、まず、仮想カメラの代表点７１および撮影方向８１が設定される。そして、左目用画像を生成するための左仮想カメラ７１Ｌは、代表点７１を撮影方向に直交する方向であって左方向（すなわち、例えば、カメラ座標系のＸ軸の負方向）に所定距離だけ移動した位置に配置され、その撮影方向８１Ｌは撮影方向８１と同じ方向に設定される。また、右目用画像を生成するための右仮想カメラ７１Ｒは、代表点７１を撮影方向に直交する方向であって右方向（すなわち、例えば、カメラ座標系のＸ軸の正方向）に所定距離だけ移動した位置に配置され、その撮影方向８１Ｒは撮影方向８１と同じ方向に設定される。
【００５７】
図５で図示されるＤ０は、上側ＬＣＤ２２における表示において、右目用画像と左目用画像との表示位置の差がゼロとなる仮想空間内の位置を仮想カメラから撮影方向に向かう距離で設定するための値であって、この位置に存在するオブジェクトが上側ＬＣＤ２２上でディスプレイ面上に存在するように見える。すなわち、この位置に存在するオブジェクトはディスプレイ面から飛び出して見えず、かつ、ディスプレイ面より奥に引っ込んで見えることもない。本明細書では、この距離Ｄ０を立体視基準距離と呼ぶ。また、左仮想カメラ７１Ｌは、視体積８２Ｌの範囲を投影してレンダリングし、右仮想カメラ７１Ｌは、視体積８２Ｒの範囲を投影してレンダリングする。また、立体視基準距離Ｄ０における投影面で考えて、左仮想カメラ７１Ｌでレンダリングされる画像７２Ｌのうち部分７３の領域が切り取られて上側ＬＣＤ２２に表示され、右仮想カメラ７１Ｒでレンダリングされた画像７２Ｒのうち部分７３の領域が切り取られて上側ＬＣＤ２２に表示される。なお、実際には、７２Ｌと７３の比、または、７２Ｒと７３の比を用いて、レンダリング画像からの切り出しが行われる。上側ＬＣＤ２２上では、これらの画像が重ね合わせて表示されるので、仮想カメラから立体視基準距離Ｄ０だけ離れた位置に存在するオブジェクトは、上側ＬＣＤ２２上で表示位置の差がなく表示される。
【００５８】
図６は、立体視のための左目用画像および右目用画像を生成する処理の変形例である。図５の例では、左仮想カメラ７１Ｌでレンダリングした画像のうち部分７３の領域を切り出して表示に使用し、右仮想カメラ７１Ｒでレンダリングした画像のうち部分７３の領域を切り出して表示に使用したが、図６の例では、左仮想カメラ７１Ｌまたは右仮想カメラ７１Ｒでレンダリングする時点で部分７３に一致するような視体積８２Ｌ´、８２Ｒ´をそれぞれ設定している。このようにすれば、レンダリング後に表示範囲を切り出す処理が不要となる。
【００５９】
図７は、ゲームプレイ中の、標準状態における、仮想カメラの代表点７１、左仮想カメラ７１Ｌ，右仮想カメラ７１Ｒ、プレイヤオブジェクト７４、敵オブジェクト７５１〜７５３の配置状態を示す図である。仮想カメラの代表点７１は、プレイヤオブジェクト７４の位置に応じて変更される。具体的には、標準状態において、プレイヤオブジェクト７４から所定距離Ｄｐだけ離れた位置に仮想カメラの代表点７１は配置され、プレイヤオブジェクト７４を視野に含むように撮影方向が設定される。なお、プレイヤオブジェクト７４が加速していないときには、仮想カメラはプレイヤオブジェクト７４の方向を撮影するので、所定距離Ｄｐはプレイヤオブジェクト７４と仮想カメラの間の撮影方向についての距離である。標準状態における所定距離Ｄｐの値をＤｐ０とする。なお、標準状態とは、プレイヤオブジェクト７４が加速していない状態である。プレイヤオブジェクト７４が仮想カメラから離れる方向に加速した場合には、Ｄｐは標準値Ｄｐ０よりも大きくなる。また、プレイヤオブジェクト７４が仮想カメラの代表点７１の方向に向かって加速した場合には、Ｄｐは標準値Ｄｐ０よりも小さくなる。また、プレイヤオブジェクト７４が仮想カメラの撮影方向に直交する方向に加速した場合にも、Ｄｐは標準値Ｄｐ０より大きくなる。このように、Ｄｐの値は状況によって変化するので、プレイヤオブジェクト７４は上側ＬＣＤ２２上で上下左右方向に移動して表示される。
【００６０】
図７に示されるＤ０は、図５に示されるＤ０と同じであり、上側ＬＣＤ２２のディスプレイ（以下、単に、ディスプレイと呼ぶことがある）において右目用画像と左目用画像の表示位置の差がゼロとなる位置を仮想カメラからの距離で定義した値である。すなわち、Ｄ０より仮想カメラに近い位置に存在するオブジェクトはディスプレイ面から飛び出して見えるし、Ｄ０の位置に存在するオブジェクトはディスプレイ面上に見えるし、Ｄ０より遠い位置に存在するオブジェクトはディスプレイ面より奥に引っ込んで見える。前述のＤｐ０はＤ０より大きく設定される。これにより、プレイヤオブジェクト７４は、標準状態においてディスプレイ面より奥に引っ込んで表示される。プレイヤオブジェクト７４は常に仮想カメラの視野範囲に含まれてディスプレイに表示されるが、ディスプレイ面より奥にひっこんで見えるので視認性が良い。標準状態において、図３に示したようなゲーム画像が表示される。すなわち、プレイヤオブジェクト７４は、標準状態において（ＤｐがＤ０より大きい状態において）、多数の色を使用して各部位が区別可能な詳細な画像として描画される。なお、敵オブジェクト７５１〜７５３は詳細な画像で描画される。なお、敵オブジェクト７５３は仮想カメラから一定距離Ｄより近い位置に存在するが、敵オブジェクト７５１や７５２と同じく詳細な画像で描画される。
【００６１】
図７に示されるＤｃは、本実施形態において、プレイヤオブジェクト７４をシルエット画像に変更するか否かを判定するための値を仮想カメラからの撮影方向についての距離で定義した値である。以下、この値を判定基準値と呼ぶ。具体的には、プレイヤオブジェクト７４と仮想カメラとの間の撮影方向についての距離がＤｃより小さくなったときに（またはＤｃ以下のときに）プレイヤオブジェクト７４はシルエット画像で描画される。プレイヤオブジェクト７４と仮想カメラとの間の撮影方向についての距離がＤｃ以上のときには（またはＤｃより大きいときに）、プレイヤオブジェクト７４は、多数の色を使用して各部位が区別可能な詳細な画像として描画される。本実施例においては、判定基準値Ｄｃは、Ｄ０より小さく設定される。しかしながら、ＤｃをＤ０と同じ値に設定してもよいし、ＤｃをＤ０より大きく設定してもよい。ＤｃをＤ０と同じ値に設定した場合には、プレイヤオブジェクト７４がディスプレイ面上に見えた状態からそれより仮想カメラ側に近づくとシルエット画像に変更される。また、ＤｃをＤ０より大きい値に設定した場合には、詳細な画像によって描かれたプレイヤオブジェクト７４は常にディスプレイ面より奥に引っ込んで見えることが確保される。なお、ＤｃをＤｏより大きい値に設定する場合であっても、ＤｃはＤｐ０よりは小さな値に設定される。ＤｃをＤｐ０より小さな値にすることにより、標準状態ではプレイヤオブジェクト７４は詳細な画像で描画される。
【００６２】
図８は、プレイヤオブジェクト７４と仮想カメラとの間の撮影方向についての距離が、Ｄｃより小さくなった場合の、仮想カメラの代表点７１、左仮想カメラ７１Ｌ，右仮想カメラ７１Ｒ、プレイヤオブジェクト７４、敵オブジェクト７５１〜７５３の配置状態を示す図である。前述の通り、このような状況は、プレイヤオブジェクト７４が仮想カメラの方向に近づくように加速したときなどに発生する。このとき、図４に示したようなゲーム画像が表示される。すなわち、プレイヤオブジェクト７４は、シルエット画像として表示される。なお、図７における状況と同様、敵オブジェクト７５１〜７５３は詳細な画像として表示される。図８において、敵オブジェクト７５２および７５３はプレイヤオブジェクト７４とディスプレイ上で重なる位置に存在するが、敵オブジェクト７５３はプレイヤオブジェクト７４よりも仮想カメラに近い位置に存在し、敵オブジェクト７５４はプレイヤオブジェクト７４よりも仮想カメラに遠い位置に存在するので、ディスプレイ上では、敵オブジェクト７５３の詳細画像が手前に描画され、その後ろにプレイヤオブジェクト７４のシルエット画像が描画され、さらにその後ろに敵オブジェクト７５２の詳細画像が描画される。
【００６３】
［ゲーム装置１０における処理の詳細］
次に、図９〜図１２を参照して、ゲームプログラムによって実行されるゲーム処理の詳細を説明する。まず、ゲーム処理において用いられる各種データについて説明する。図９は、ゲームプログラムによる処理において用いられる各種データのうちゲームプログラムに含まれる固定値データを示す図である。これらのデータは、外部メモリ４４やデータ保存用内部メモリ３５に記憶されるゲームプログラムに含まれるデータであり、ゲームプログラムの実行時にメインメモリ３２にロードされる。
【００６４】
ゲームプログラム７１は、図１１および図１２を参照して後述する処理をゲーム装置１０の情報処理部３１に実行させるプログラムである。ゲームプログラム７１には、所定のゲームを進行させるためのプログラムや、表示制御処理を実行するためのプログラムが含まれる。
【００６５】
画像データ５２は、各オブジェクト（プレイヤオブジェクト、敵オブジェクトなどのノンプレイヤオブジェクト、建物オブジェクト、地形オブジェクト他）の画像を生成するためのデータである。この画像データには、ポリゴンモデルのデータとテクスチャデータが含まれる。プレイヤオブジェクトの画像データ５２１には、ポリゴンモデル５２１１と、標準テクスチャ５２１２と、近接用テクスチャ５２１３が含まれる。ポリゴンモデル５２１１は、プレイヤオブジェクト７４の形状を定義したデータであり、頭、胴体、腕、手、足など各部位ごとにその形状が定義される。標準テクスチャ５２１２は、プレイヤオブジェクト７４が仮想カメラから一定距離（判定基準値Ｄｃ）より遠い位置に存在する場合に使用されるテクスチャであり、多数の色を使用した画像データであって、各部位ごとに異なる画像のテクスチャが用意される。近接用テクスチャ５２１３は、プレイヤオブジェクトが仮想カメラから一定距離（判定基準値Ｄｃ）より近い位置に存在する場合に使用されるテクスチャデータであり、単一色の画像データである。また、より具体的には、全域にわたって、色相・明度・彩度のすべてが同一の色が設定された画像データである。さらに、どの部位のテクスチャも共通の色が設定される。ノンプレイヤオブジェクトとの画像データ５２２、建物オブジェクトの画像データ５２３は、ノンプレイヤオブジェクトや建物オブジェクトの種類の数だけ用意され、それぞれポリゴンモデルとテクスチャを含む。
【００６６】
前述の通り、本実施形態では、仮想カメラの代表点の位置から左仮想カメラの位置と右仮想カメラの位置を算出するが、仮想カメラ設定用データ５３は、この算出に用いられるデータである。具体的には、プレイヤオブジェクト７４が仮想カメラから一定距離（判定基準値Ｄｃ）より遠い位置に存在する場合には、仮想カメラの代表点の位置から、撮影方向に直交する方向にそれぞれ、標準カメラ間距離５３１の半分だけ離れた位置に左仮想カメラと右仮想カメラが配置され、この仮想カメラでプレイヤオブジェクト、ノンプレイヤオブジェクト、建物オブジェクト、地形オブジェクトのすべてが撮影されてレンダリングされる。
【００６７】
また、プレイヤオブジェクト７４が仮想カメラから一定距離（判定基準値Ｄｃ）より近い位置に存在する場合には、仮想カメラの代表点の位置から、撮影方向に直交する方向にそれぞれ、標準カメラ間距離５３１の半分だけ離れた位置に左仮想カメラと右仮想カメラが配置され、この仮想カメラでプレイヤオブジェクトを除くオブジェクト（ノンプレイヤオブジェクト、建物オブジェクト、地形オブジェクトなど）が撮影されてレンダリングされる。また、仮想カメラの代表点の位置から、撮影方向に直交する方向にそれぞれ、近接用カメラ間距離５３２の半分だけ離れた位置に左仮想カメラと右仮想カメラが配置され、この仮想カメラでプレイヤオブジェクトが撮影されてレンダリングされる。
【００６８】
なお、近接用カメラ間距離５３２は、標準カメラ間距離５３１で示される距離より小さい値に設定される。本実施形態では、近接用カメラ間距離５３２は、標準カメラ間距離５３１で示される距離の０．２倍である。なお、近接用カメラ間距離５３２は、標準カメラ間距離５３１で示される距離の０倍以上、１倍より小さい値であるが、０．５倍以下としてもよい。このように、近接用カメラ間距離５３２は、標準カメラ間距離５３１で示される距離より小さいので、プレイヤオブジェクト７４が仮想カメラから一定距離（判定基準値Ｄｃ）より近い位置に存在する場合には、プレイヤオブジェクト７４はディスプレイ上において視差が小さく表示される。
【００６９】
近接判定データ５４は、前述の判定基準値Ｄｃを示すデータ５４１を含む。
【００７０】
図１０は、図９で示されたゲームプログラムを実行することにより、メインメモリ３２上に一時的に生成されるデータを示す図である。
【００７１】
位置データ６１は、各オブジェクトの仮想空間における位置を示すデータである。なお、本実施形態における仮想空間は３次元の仮想空間である。プレイヤオブジェクトの位置データ６１１と、ノンプレイヤオブジェクトの位置データ６１２と、建物オブジェクトの位置データ６１３を含む。ノンプレイヤオブジェクトの位置データや建物オブジェクトの位置データはオブジェクトの数だけ含まれる。
【００７２】
仮想カメラデータ６２は、仮想カメラの仮想空間における位置データであるカメラ位置６２１と撮影方向データ６２２を含む。
【００７３】
Ｚバッファデータ６３は、プレイヤオブジェクト７４が仮想カメラから一定距離（判定基準値Ｄｃ）より近い位置に存在する場合において、プレイヤオブジェクトを除くオブジェクトをレンダリングした際に生成されたＺバッファデータを保存したデータである。プレイヤオブジェクトを除くオブジェクトをレンダリングした後、プレイヤオブジェクトがレンダリングされるが、この際に、このＺバッファデータが参照されて、プレイヤオブジェクトとその他のオブジェクトとの、仮想カメラに対する奥行位置が判定されて、描画の優先度が決定される。プレイヤオブジェクトを除くオブジェクトを左仮想カメラでレンダリングした時に生成されたＺバッファデータである「Ｚバッファデータ（左レンダリング時）６３１」と、プレイヤオブジェクトを除くオブジェクトを右仮想カメラでレンダリングした時に生成されたＺバッファデータである「Ｚバッファデータ（右レンダリング時）６３２」とを含む。
【００７４】
レンダリング画像データ６４は、プレイヤオブジェクト７４が仮想カメラから一定距離（判定基準値Ｄｃ）より近い位置に存在する場合において、プレイヤオブジェクトを除くオブジェクトをレンダリングした結果である「左レンダリング画像（ＰＯ以外）６４１」および「右レンダリング画像（ＰＯ以外）６４２」と、最終的なレンダリング結果である左レンダリング画像６４３、右レンダリング画像６４４を含む。最終的なレンダリング結果とは、上側ＬＣＤ２２に出力されるレンダリング画像であり、プレイヤオブジェクト７４が仮想カメラから一定距離（判定基準値Ｄｃ）より近い位置に存在する場合においては、「左レンダリング画像（ＰＯ以外）６４１」および「右レンダリング画像（ＰＯ以外）６４２」にさらにプレイヤオブジェクトを重ねてレンダリングした結果の画像が格納され、プレイヤオブジェクト７４が仮想カメラから一定距離（判定基準値Ｄｃ）より遠い位置に存在する場合においては、プレイヤオブジェクトを含む全てのオブジェウクトが一度のレンダリングで生成された結果が格納される。
【００７５】
次に、ゲーム装置１０において行われるゲーム処理の詳細を、図１１および１２を用いて説明する。ゲーム装置１０の電源が投入されると、ゲーム装置１０の情報処理部３１（ＣＰＵ３１１）は、図示しないＲＯＭに記憶されている起動プログラムを実行し、これによってメインメモリ３２等の各ユニットが初期化される。次に、外部メモリ４４またはデータ保存用内部メモリ３５に記憶されたゲームプログラムがメインメモリ３２に読み込まれ、情報処理部３１のＣＰＵ３１１によってゲームプログラムの実行が開始される。これによって、図１１に示す処理が開始される。
【００７６】
なお、図１１および図１２に示す処理は、単なる一例に過ぎず、同様の結果が得られるのであれば、各ステップの処理順序を入れ替えてもよい。また、変数の値や、判断ステップで利用される閾値も、単なる一例に過ぎず、必要に応じて他の値を採用してもよい。また、本実施形態では、図１１および図１２に示すフローチャートの各ステップの処理をＣＰＵ３１１が実行するものとして説明するが、図１１および図１２に示すフローチャートの一部のステップの処理を、ＣＰＵ３１１以外のプロセッサや専用回路が実行するようにしてもよい。
【００７７】
ステップＳ１において、ＣＰＵ３１１は、プレイヤによる操作入力に応じてプレイヤオブジェクトの移動処理をして「プレイヤオブジェクトの位置６１１」を更新する。より具体的には、アナログスティック１５や各操作ボタン１４Ａ〜１４Ｌの操作データを検出して、この操作データに応じてプレイヤオブジェクトの移動処理をおこなう。
【００７８】
次に、ステップＳ２において、ステップＳ１により更新された「プレイヤオブジェクトの位置６１１」に応じて、プレイヤオブジェクトが視野に入るように、「カメラ位置６２１」および「撮影方向６２２」を変更する。より具体的には、前述したように、「カメラ位置６２１」は、「プレイヤオブジェクトの位置６１１」から前述のＤｐだけ離れた位置に設定され、「撮影方向６２２」は、「カメラ位置６２１」から「プレイヤオブジェクトの位置６１１」（または「プレイヤオブジェクトの位置６１１」の前方等の近傍であってもよい）に向かう方向に設定される。
【００７９】
次に、ステップＳ３において、「プレイヤオブジェクトの位置６１１」から「カメラ位置６２１」までの「撮影方向６２２」についての距離が「判定基準値Ｄｃ５４１」より大きいか否かが判定される。
【００８０】
ステップＳ３の判定がＮｏの場合、ステップＳ４に移行し、「カメラ位置６２１」を「撮影方向６２２」に直交する方向に「標準カメラ間距離５３１」の半分だけ左方向にずらした位置を左仮想カメラに設定して、この左仮想カメラで「撮影方向６２２」で示される方向を撮影してプレイヤオブジェクトを含む全てのオブジェクトをレンダリングして「左レンダリング画像６４３」を生成する。このとき、プレイヤオブジェクトのテクスチャは「標準テクスチャ５２１２」が使用される。
【００８１】
ステップＳ４の後、ステップＳ５において、「カメラ位置６２１」を「撮影方向６２２」に直交する方向に「標準カメラ間距離５３１」の半分だけ右方向にずらした位置を右仮想カメラに設定して、この右仮想カメラで「撮影方向６２２」で示される方向を撮影して、プレイヤオブジェクトを含む全てのオブジェクトをレンダリングして「右レンダリング画像６４４」を生成する。このとき、プレイヤオブジェクトのテクスチャは「標準テクスチャ５２１２」が使用される。
【００８２】
ステップＳ５の後、ステップＳ６において、「左レンダリング画像６４３」と「右レンダリング画像６４４」が上側ＬＣＤ２２に出力される。ステップＳ６の後、ステップＳ１１において、敵キャラクタの移動処理や戦闘処理やゲームオーバー処理など、その他のゲーム処理がおこなわれる。ステップＳ１１の後、ステップＳ６に戻る。
【００８３】
ステップＳ３の判定がＹｅｓの場合、図１２に示されるステップＳ７に移行し、「カメラ位置６２１」を「撮影方向６２２」に直交する方向に「標準カメラ間距離５３１」の半分だけ左方向にずらした位置を左仮想カメラに設定して、この左仮想カメラで「撮影方向６２２」で示される方向を撮影して、プレイヤオブジェクト以外をレンダリングして、「左レンダリング画像（ＰＯ以外）６４１」として保存する。このとき生成されたＺバッファデータを「Ｚバッファデータ（左レンダリング時）６３１」として保存する。
【００８４】
ステップＳ７の後、ステップＳ８において、「カメラ位置６２１」を「撮影方向６２２」に直交する方向に「近接用カメラ間距離５３１」の半分だけ左方向にずらした位置を左仮想カメラに設定して、この左仮想カメラで「撮影方向６２２」で示される方向を撮影して、プレイヤオブジェクトのみをレンダリングする。このとき、「Ｚバッファデータ（左レンダリング時）６３１」に基づく奥行方向の優先度を判定しつつ、「左レンダリング画像（ＰＯ以外）６４１」に重畳して半透明描画して、「左レンダリング画像６４３」を生成する。この描画において、プレイヤオブジェクトのテクスチャは「近接用テクスチャ５２１３」が使用される。
【００８５】
ステップＳ８の後、ステップＳ９において、「カメラ位置６２１」を「撮影方向６２２」に直交する方向に「標準カメラ間距離５３１」の半分だけ右方向にずらした位置を右仮想カメラに設定して、この右仮想カメラで「撮影方向６２２」の方向を撮影して、プレイヤオブジェクト以外をレンダリングして、「右レンダリング画像（ＰＯ以外）６４２」として保存する。このとき生成されたＺバッファデータを「Ｚバッファデータ（右レンダリング時）６３２」として保存する。
【００８６】
ステップＳ９の後、ステップＳ１０において、「カメラ位置６２１」を「撮影方向６２２」に直交する方向に「近接用カメラ間距離５３２」の半分だけ右方向にずらした位置を右仮想カメラに設定して、この右仮想カメラで「撮影方向６２２」の方向を撮影して、プレイヤオブジェクトのみをレンダリングする。このときて、「Ｚバッファデータ（右レンダリング時）６３２」に基づく奥行方向の優先度を判定しつつ、「右レンダリング画像（ＰＯ以外）６４２」に重畳して半透明描画して、「右レンダリング画像６４３」を生成する。この描画において、プレイヤオブジェクトのテクスチャは「近接用テクスチャ５２１３を使用される。ステップＳ１０の後、ステップＳ１１に移行する。
【００８７】
なお、ステップＳ４、Ｓ５、Ｓ７、Ｓ９におけるレンダリング処理においては、ラインティングやシェーディング等の光の反射や影付けや映り込みなどの処理をおこなうが、ステップＳ８、Ｓ１０におけるプレイヤオブジェクトのレンダリング処理においては、これらの処理はおこなわない。こうすることにより、プレイヤオブジェクトのレンダリング画像は全体が単一色で（色相・明度・彩度のすべてが同一の色で）描画される。
【００８８】
（変形例）
上記実施形態では、上側ＬＣＤ２２がゲーム装置１０に予め搭載されているが、他の実施形態では、ゲーム装置１０に着脱可能な外付け型の立体視ディスプレイが上側ＬＣＤ２２に代えて利用されてもよい。
【００８９】
また、上記実施形態では、上側ＬＣＤ２２がパララックスバリア方式の立体表示装置であるが、他の実施形態では、上側ＬＣＤ２２がレンチキュラー方式等の他の任意の方式の立体表示装置であってもよい。例えば、レンチキュラー方式の立体表示装置を利用する場合には、左目用画像と右目用画像をＣＰＵ３１１または他のプロセッサで合成してから、合成された画像をレンチキュラー方式の立体表示装置に供給するようにしてもよい。
【００９０】
また、上記実施形態では、ゲーム装置１０を用いたゲーム処理中において立体画像表示処理を実行しているが、他の実施形態では、任意の情報処理装置または情報処理システム（例えば、ＰＤＡ（Ｐｅｒｓｏｎａｌ Ｄｉｇｉｔａｌ Ａｓｓｉｓｔａｎｔ）、携帯電話、パーソナルコンピュータ、カメラ等）によって立体画像表示処理を実行してもよい。
【００９１】
また、上記実施形態では、一台の情報処理装置（ゲーム装置１０）のみによってゲーム処理（立体画像表示処理）を実行しているが、他の実施形態では、互いに通信可能な複数の情報処理装置を有する立体画像表示システムにおいて、当該複数の情報処理装置が立体画像表示処理を分担して実行するようにしてもよい。
【産業上の利用可能性】
【００９２】
以上のように、本発明は、立体視画像を見やすく表示すること等を目的として、例えばゲームアプリケーションなどのインタラクティブなアプリケーションや仮想空間をオブジェクトが移動する様子を表示するアプリケーションなどに利用することが可能である。
【符号の説明】
【００９３】
１０  ゲーム装置
１２  下側ＬＣＤ
１４  操作ボタン
１５  アナログスティック
２２  上側ＬＣＤ
３１  情報処理部
３１１  ＣＰＵ
３１２  ＧＰＵ
３２  メインメモリ
３５  データ保存用内部メモリ
４４  外部メモリ
７１  仮想カメラの代表点
７１Ｌ  左仮想カメラ
７１Ｒ  右仮想カメラ
７４  プレイヤオブジェクト
７５  敵オブジェクト
７６  建物オブジェクト
７７  床オブジェクト
【図１】
2014135771.tif 000003
【図２】
2014135771.tif 000004
【図３】
2014135771.tif 000005
【図４】
2014135771.tif 000006
【図５】
2014135771.tif 000007
【図６】
2014135771.tif 000008
【図７】
2014135771.tif 000009
【図８】
2014135771.tif 000010
【図９】
2014135771.tif 000011
【図１０】
2014135771.tif 000012
【図１１】
2014135771.tif 000013
【図１２】
2014135771.tif 000014
【手続補正書】
【提出日】平成26年5月22日(2014.5.22)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
コンピュータを、
所定の仮想オブジェクトが存在する所定の仮想空間について、所定の視点に基づく右目用画像および左目用画像を生成して立体視可能に所定のディスプレイに出力する表示制御手段として機能させ、
前記表示制御手段は、前記視点から見て所定距離より近くに存在する仮想オブジェクトである近接オブジェクトについて、透明化した表示に変更して右目用画像および左目用画像を生成する、表示制御プログラム。
【請求項２】
前記表示制御手段は、さらに、前記近接オブジェクトについての右目用画像と左目用画像の前記ディスプレイ上での表示位置の差を減少させるように前記生成または前記出力をおこなう、請求項１に記載の画像生成プログラム。
【請求項３】
前記表示制御手段は、前記視点から見て前記所定距離より遠くに存在する仮想オブジェクトである非近接オブジェクトについて、所定の第１間隔を有する２つの仮想カメラにより当該非近接オブジェクトの右目用画像および左目用画像を生成し、かつ、当該第１間隔よりも狭い第２間隔を有する２つの仮想カメラにより、前記近接オブジェクトの右目用画像および左目用画像を生成することにより、前記表示位置の差を減少する、請求項２に記載の画像生成プログラム。
【請求項４】
前記表示制御手段は、所定の仮想オブジェクトについて、前記視点から見て前記所定距離より近くに存在するときに前記透明化した表示に変更し、当該所定の仮想オブジェクト以外の仮想オブジェクトについては、前記視点から見て前記所定距離より近くに存在するときにも前記透明化した表示に変更しない請求項１ないし３のいずれかに記載の画像生成プログラム。
【請求項５】
前記表示制御手段は、前記所定の仮想オブジェクトについて、前記視点から見て前記所定距離より近くに存在するときに前記表示位置の差を減少させるような処理をおこない、当該所定の仮想オブジェクト以外の仮想オブジェクトについては、前記視点から見て前記所定距離より近くに存在するときにも前記表示位置の差を減少させるような処理をおこなわない請求項４に記載の画像生成プログラム。
【請求項６】
前記表示制御手段は、所定の仮想オブジェクトが前記視点から見て前記所定距離より近くに存在するときに、前記第１間隔を有する２つの仮想カメラにより、前記所定の仮想オブジェクト以外の仮想オブジェクトについて右目用画像および左目用画像をそれぞれ生成し、当該右目用画像および当該左目用画像の生成により生じたそれぞれの奥行情報を利用して、前記第２間隔を有する２つの仮想カメラにより生成される前記所定の仮想オブジェクトの画像を、当該右目用画像および当該左目用画像にそれぞれ合成する、請求項５に記載の画像生成プログラム。
【請求項７】
前記表示制御手段は、さらに、前記近接オブジェクトの右目用画像および左目用画像を半透明の画像とする、請求項１ないし６のいずれかに記載の表示制御プログラム。
【請求項８】
前記仮想空間にはプレイヤによって操作されるプレイヤオブジェクトが存在し、
前記表示制御手段は、前記プレイヤオブジェクトの位置に基づいて視点および視線方向を設定することにより、前記プレイヤオブジェクトを含む画像を生成し、
前記所定の仮想オブジェクトは、プレイヤオブジェクトである、請求項４ないし６のいずれかに記載の画像生成プログラム。
【請求項９】
前記表示制御手段は、前記近接オブジェクトについて視差が０になるように処理をおこなう、請求項２に記載の画像生成プログラム。
【請求項１０】
前記表示制御手段は、前記所定距離として、ディスプレイより飛び出して見える距離とする、請求項１ないし９のいずれかに記載の画像生成プログラム。
【請求項１１】
所定の仮想オブジェクトが存在する所定の仮想空間について、所定の視点に基づく右目用画像および左目用画像を生成して立体視可能に所定のディスプレイに出力する表示制御手段を備え、
前記表示制御手段は、前記視点から見て所定距離より近くに存在する仮想オブジェクトである近接オブジェクトについて、透明化した表示に変更して右目用画像および左目用画像を生成する、画像生成システム。
【請求項１２】
所定の仮想オブジェクトが存在する所定の仮想空間について、所定の視点に基づく右目用画像および左目用画像を生成して立体視可能に所定のディスプレイに出力する表示制御手段を備え、
前記表示制御手段は、前記視点から見て所定距離より近くに存在する仮想オブジェクトである近接オブジェクトについて、透明化した表示に変更して右目用画像および左目用画像を生成する、画像生成装置。
【請求項１３】
表示制御装置または表示制御システムを制御する表示制御方法であって、
所定の仮想オブジェクトが存在する所定の仮想空間について、所定の視点に基づく右目用画像および左目用画像を生成して立体視可能に所定のディスプレイに出力するときに、当該視点から見て所定距離より近くに存在する仮想オブジェクトである近接オブジェクトについて、透明化した表示に変更して右目用画像および左目用画像を生成する、表示制御方法。