説明

表示制御プログラム、表示制御装置、表示制御システム、および、表示制御方法

【課題】立体視画像を表示する場合に、ユーザの視聴スタイルに合わせて視差を調整することが可能な表示制御技術を提供する。
【解決手段】ゲーム装置の上側LCDには仮想3次元空間に配置された仮想オブジェクトと、ユーザインターフェースとが立体視表示される。下側LCDにはユーザインターフェースの奥行き方向の表示位置を調整するための画像が表示される。ユーザは、UI調整スライダをタッチペンで操作して調整することにより、ユーザインターフェースの視差を調整する。これにより、仮想3次元空間の視差とは別に、ユーザインターフェースの視差を調整することができ、ユーザインターフェースの奥行き感を調整することができる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、立体視表示可能な表示装置に立体視画像を表示するための表示制御プログラム、表示制御装置、表示制御システム、および、表示制御方法に関する。
【背景技術】
【0002】
従来、立体視表示を行う表示装置がある。例えば、特許文献1では、ユーザが左右の画像の視差を調整することについて開示されており、これにより仮想3次元空間を撮像した立体視画像の立体感を調整することができる。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2004−7396号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、特許文献1では、ゲーム等のように仮想3次元空間にユーザインターフェースを重ねて表示する場合には、次のような課題がある。すなわち、ユーザによって視差が調整されても、ユーザインターフェースに関する視差はゲーム製作者が設定した固定の視差であったり、あるいは、仮想3次元空間の視差の調整に応じた視差になってしまう。このため、ユーザの視聴スタイルによっては、ユーザは焦点距離を変える必要があった。
【0005】
それ故、本発明の目的は、立体視画像を表示する場合に、状況に応じて見やすい視差に調整することが可能な表示制御技術を提供することである。
【課題を解決するための手段】
【0006】
本発明は、上記の課題を解決するために、以下の構成を採用した。
【0007】
本発明は、仮想3次元空間または実空間を立体視表示可能な表示装置に表示させる表示制御装置のコンピュータにおいて実行される表示制御プログラムである。表示制御プログラムは、第1取得手段と、第1視差調整手段と、第2取得手段と、第2視差調整手段と、立体視画像生成手段と、表示制御手段として上記コンピュータを機能させる。第1取得手段は、ユーザからの第1入力情報を取得する。第1視差調整手段は、前記第1取得手段によって取得された第1入力情報に基づいて、ユーザインターフェースの視差を調整する。第2取得手段は、ユーザからの第2入力情報を取得する。第2視差調整手段は、前記第2取得手段によって取得された第2入力情報に基づいて、前記仮想3次元空間または実空間の視差を調整する。立体視画像生成手段は、前記第1視差調整手段によって視差が調整されたユーザインターフェースの画像と、前記第2視差調整手段によって視差が調整された前記仮想3次元空間または実空間の画像とを含む立体視画像を生成する。表示制御手段は、上記立体視画像生成手段によって生成された立体視画像を上記表示装置に表示させる。
【0008】
上記によれば、ユーザからの入力に応じて仮想3次元空間または実空間の視差を調整するとともに、ユーザインターフェースの視差を調整することができる。これにより、ユーザインターフェースの視差調整を仮想3次元空間あるいは実空間の視差調整とは別に行うことができ、ユーザは自身の視聴スタイルに合わせてユーザインターフェースを調整することができる。
【0009】
また、本発明の他の構成では、前記第1視差調整手段は、前記第1取得手段によって取得された第1入力情報と前記第2視差調整手段によって調整された前記仮想3次元空間または実空間の視差とに基づいて、前記ユーザインターフェースの視差を調整してもよい。
【0010】
上記によれば、ユーザからの第1入力情報と調整された仮想3次元空間または実空間の視差とに基づいて、ユーザインターフェースの視差の調整を行うことができる。例えば、ユーザは、自身が調整した仮想3次元空間または実空間の視差を基準として、ユーザインターフェースの視差を調整することができる。
【0011】
また、本発明の他の構成では、前記第1視差調整手段は、前記仮想3次元空間または実空間の視差に基づいた範囲内で前記ユーザインターフェースの視差を調整してもよい。
【0012】
上記によれば、ユーザインターフェースの調整範囲を、仮想3次元空間または実空間の視差を基準として定めることができる。
【0013】
また、本発明の他の構成では、前記第1視差調整手段は、前記仮想3次元空間または実空間の視差に応じて前記ユーザインターフェースの視差の基準値を設定し、当該基準値を前記第1取得手段によって取得された第1入力情報に応じて相対的に変化させることにより、前記ユーザインターフェースの視差を調整してもよい。
【0014】
上記によれば、仮想3次元空間または実空間の視差に応じてユーザインターフェースの視差の基準値が定められ、ユーザからの入力情報に応じて当該基準値を変化させることにより、ユーザインターフェースの視差を調整することができる。これにより、ユーザは仮想3次元空間または実空間の視差を調整することで上記表示装置に表示される立体視画像全体の視差を調整することができ、さらにユーザインターフェースの視差のみを調整することができる。
【0015】
また、本発明の他の構成では、上記立体視画像生成手段は、第1立体視画像生成手段と、第2立体視画像生成手段とを含んでもよい。第1立体視画像生成手段は、前記ユーザインターフェースを前記第1視差調整手段で調整された視差で描画した第1立体視画像を生成する。第2立体視画像生成手段は、前記仮想3次元空間を仮想ステレオカメラで撮像、または実空間をステレオカメラで撮像することにより第2立体視画像を生成する。そして、上記立体視画像生成手段は、上記第1立体視画像と上記第2立体視画像とを重ねることにより上記立体視画像を生成する。
【0016】
上記によれば、ユーザインターフェースを描画した第1立体視画像と、仮想3次元空間を仮想ステレオカメラで撮像した第2立体視画像とを重ねることで、上記立体視画像を生成することができる。これにより、仮想3次元空間の視差とは異なる視差でユーザインターフェースを表示することができる。
【0017】
また、本発明の他の構成では、上記第1立体視画像生成手段は、UI用仮想ステレオカメラで上記ユーザインターフェースを撮像することにより、上記第1立体視画像を生成してもよい。
【0018】
上記によれば、UI用仮想ステレオカメラでユーザインターフェースを撮像することにより、ユーザインターフェースのみを撮像した第1立体視画像を生成することができる。
【0019】
また、本発明の他の構成では、前記第1視差調整手段は、前記UI用仮想ステレオカメラの左右の仮想カメラ間の距離を前記第1入力情報に基づいて設定することにより、前記ユーザインターフェースの視差を調整してもよい。
【0020】
上記によれば、UI用仮想ステレオカメラの左右の仮想カメラ間の距離を調整することにより、ユーザインターフェースの視差を設定することができる。
【0021】
また、本発明の他の構成では、上記立体視画像生成手段は、上記第2立体視画像の前面に上記第1立体視画像を重ね合わせることにより上記立体視画像を生成してもよい。
【0022】
上記によれば、第2立体視画像の前面に、ユーザインターフェースを撮像した第1立体視画像が重ねられるため、ユーザインターフェースを常に画面に表示することができる。
【0023】
また、本発明の他の構成では、前記第1視差調整手段は、前記第1入力情報に基づいて、前記仮想3次元空間に前記ユーザインターフェースを配置することにより、前記ユーザインターフェースの視差を調整してもよい。上記立体視画像生成手段は、上記第1視差調整手段によってユーザインターフェースが配置された仮想3次元空間を仮想ステレオカメラで撮像することにより上記立体視画像を生成する。
【0024】
上記によれば、ユーザインターフェースを上記仮想3次元空間に配置することにより、ユーザインターフェースを含む仮想3次元空間を撮像した立体視画像を生成することができる。
【0025】
また、本発明の他の構成では、上記仮想3次元空間には所定の仮想オブジェクトが配置されてもよい。上記立体視画像生成手段は、上記仮想ステレオカメラから見た場合において、上記ユーザインターフェースが上記仮想オブジェクトよりも後ろに位置する場合でも、上記ユーザインターフェースが上記仮想オブジェクトの前に位置するものとして、上記立体視画像を生成する。
【0026】
上記によれば、ユーザインターフェースを常に画面に表示することができる。
【0027】
また、本発明の他の構成では、上記表示制御プログラムは、前記第1視差調整手段による前記ユーザインターフェースの視差の調整が行われる際、当該視差の調整の基準となる表示を行う基準表示手段として、上記コンピュータを更に機能させてもよい。
【0028】
上記によれば、ユーザインターフェースの視差の調整が行われる際に調整の基準を上記立体視表示可能な表示装置(あるいはその他の表示装置でもよい)に表示することができる。これにより、ユーザは、ユーザインターフェースの視差の調整を容易に行うことができる。
【0029】
また、本発明の他の構成では、上記基準表示手段は、上記ユーザインターフェースの視差の調整の基準として、上記表示装置の画面に垂直な方向における上記ユーザインターフェースの表示位置を示す補助面を上記表示装置に表示させてもよい。
【0030】
上記によれば、上記ユーザインターフェースとともに補助面が表示されるため、ユーザは容易にユーザインターフェースの視差を調整することができる。
【0031】
また、本発明では、上記各手段を実現した表示制御装置であってもよい。また、本発明では、上記各手段を実現する複数の要素が相互に動作することによって、1つの表示制御システムとして構成されてもよい。当該表示制御システムは、1つの装置によって構成されてもよいし、複数の装置によって構成されてもよい。
【発明の効果】
【0032】
本発明によれば、ユーザの視聴スタイルに合わせてユーザインターフェースの視差を調整することができる。
【図面の簡単な説明】
【0033】
【図1】開状態におけるゲーム装置10の外観を示す正面図
【図2】閉状態におけるゲーム装置10の左側面図、正面図、右側面図、および、背面図
【図3】ゲーム装置10の内部構成を示すブロック図
【図4】本実施形態に係るゲームの実行中において、上側LCD22の画面に表示されるゲーム画像の一例を示す図
【図5】カーソル63をユーザインターフェース62上に移動させた場合に、アイテムの一覧が表示される様子を示す図
【図6】ユーザインターフェースの視差を調整する際に下側LCD12に表示される画像の一例を示す図
【図7】ユーザによってUI調整スライダ64の位置が調整された後に上側LCD22および下側LCD12に表示される画像の一例を示す図
【図8A】UI調整スライダ64が左方向に移動された場合において、ユーザとユーザが認識するユーザインターフェース60〜63の表示位置と上側LCD22との位置関係を示す図
【図8B】UI調整スライダ64が右方向に移動された場合において、ユーザとユーザが認識するユーザインターフェース60〜63の表示位置と上側LCD22との位置関係を示す図
【図9A】UI調整スライダ64が左方向に移動された場合における左目用画像および右目用画像を示す図
【図9B】UI調整スライダ64が右方向に移動された場合における左目用画像および右目用画像を示す図
【図10A】3D調整スイッチ25のスライダ25aが第1の位置に設定された様子を示す図
【図10B】3D調整スイッチ25のスライダ25aが第2の位置に設定された様子を示す図
【図11A】3D調整スイッチ25のスライダ25aが第1の位置に設定された場合において、ユーザが認識する、ユーザと仮想オブジェクト50〜51およびユーザインターフェース60〜63との位置関係を示す図
【図11B】3D調整スイッチ25のスライダ25aが第2の位置に設定された場合において、ユーザが認識する、ユーザと仮想オブジェクト50〜51およびユーザインターフェース60〜63との位置関係を示す図
【図12】ゲーム装置10のRAM(メインメモリ32等)のメモリマップを示す図
【図13】本実施形態に係る表示処理の詳細を示すメインフローチャート
【図14】仮想ステレオカメラ55の左右のカメラ間距離Lvを示す図
【図15】ユーザインターフェース60〜63をUI用仮想ステレオカメラ65で撮像する様子を示す図
【図16】他の実施形態におけるUI調整スライダ64を調整する際の画面の一例を示す図
【図17】下側LCD12に表示されるUI視差を調整する際の基準となる情報の一例を示す図
【図18A】仮想ステレオカメラの撮像方向を変化させた場合の一例を示す図
【図18B】仮想ステレオカメラの撮像方向を変化させた場合の一例を示す図
【図19】UI用仮想ステレオカメラ65で撮像して得られた左UI画像75aと右UI画像75bとを横方向にずらして2つの画像を重ね合わせた図
【発明を実施するための形態】
【0034】
(ゲーム装置の構成)
以下、本発明の一実施形態に係るゲーム装置について説明する。図1は、開状態におけるゲーム装置10の外観を示す正面図である。図2(a)は閉状態におけるゲーム装置10の左側面図であり、図2(b)は閉状態におけるゲーム装置10の正面図であり、図2(c)は閉状態におけるゲーム装置10の右側面図であり、図2(d)は閉状態におけるゲーム装置10の背面図である。ゲーム装置10は携帯型のゲーム装置であり、図1および図2に示すように折り畳み可能に構成されている。図1は、開いた状態(開状態)におけるゲーム装置10を示し、図2は、閉じた状態(閉状態)におけるゲーム装置10を示している。ゲーム装置10は、撮像部によって画像を撮像し、撮像した画像を画面に表示したり、撮像した画像のデータを保存したりすることが可能である。また、ゲーム装置10は、交換可能なメモリカード内に記憶され、または、サーバや他のゲーム装置から受信したゲームプログラムを実行可能であり、仮想空間に設定された仮想カメラで撮像した画像などのコンピュータグラフィックス処理により生成された画像を画面に表示したりすることができる。
【0035】
まず、図1および図2を参照して、ゲーム装置10の外観構成について説明する。図1および図2に示されるように、ゲーム装置10は、下側ハウジング11および上側ハウジング21を有する。下側ハウジング11と上側ハウジング21とは、開閉可能(折り畳み可能)に接続されている。
【0036】
(下側ハウジングの説明)
まず、下側ハウジング11の構成について説明する。図1および図2に示すように、下側ハウジング11には、下側LCD(Liquid Crystal Display:液晶表示装置)12、タッチパネル13、各操作ボタン14A〜14L、アナログスティック15、LED16A〜16B、挿入口17、および、マイクロフォン用孔18が設けられる。以下、これらの詳細について説明する。
【0037】
図1に示すように、下側LCD12は下側ハウジング11に収納される。下側LCD12の画素数は、例えば、320dot×240dot(横×縦)であってもよい。下側LCD12は、後述する上側LCD22とは異なり、画像を(立体視可能ではなく)平面的に表示する表示装置である。なお、本実施形態では表示装置としてLCDを用いているが、例えばEL(Electro Luminescence:電界発光)を利用した表示装置など、他の任意の表示装置を利用してもよい。また、下側LCD12として、任意の解像度の表示装置を利用することができる。
【0038】
図1に示されるように、ゲーム装置10は、入力装置として、タッチパネル13を備えている。タッチパネル13は、下側LCD12の画面上に装着されている。なお、本実施形態では、タッチパネル13は抵抗膜方式のタッチパネルである。ただし、タッチパネルは抵抗膜方式に限らず、例えば静電容量方式等、任意の方式のタッチパネルを用いることができる。本実施形態では、タッチパネル13として、下側LCD12の解像度と同解像度(検出精度)のものを利用する。ただし、必ずしもタッチパネル13の解像度と下側LCD12の解像度が一致している必要はない。また、下側ハウジング11の上側面には挿入口17(図1および図2(d)に示す点線)が設けられている。挿入口17は、タッチパネル13に対する操作を行うために用いられるタッチペン28を収納することができる。なお、タッチパネル13に対する入力は通常タッチペン28を用いて行われるが、タッチペン28に限らずユーザの指でタッチパネル13に対する入力をすることも可能である。
【0039】
各操作ボタン14A〜14Lは、所定の入力を行うための入力装置である。図1に示されるように、下側ハウジング11の内側面(主面)には、各操作ボタン14A〜14Lのうち、十字ボタン14A(方向入力ボタン14A)、ボタン14B、ボタン14C、ボタン14D、ボタン14E、電源ボタン14F、セレクトボタン14J、HOMEボタン14K、およびスタートボタン14Lが、設けられる。十字ボタン14Aは、十字の形状を有しており、上下左右の方向を指示するボタンを有している。ボタン14A〜14E、セレクトボタン14J、HOMEボタン14K、およびスタートボタン14Lには、ゲーム装置10が実行するプログラムに応じた機能が適宜割り当てられる。例えば、十字ボタン14Aは選択操作等に用いられ、各操作ボタン14B〜14Eは例えば決定操作やキャンセル操作等に用いられる。また、電源ボタン14Fは、ゲーム装置10の電源をオン/オフするために用いられる。
【0040】
アナログスティック15は、方向を指示するデバイスである。アナログスティック15は、そのキートップが、下側ハウジング11の内側面に平行にスライドするように構成されている。アナログスティック15は、ゲーム装置10が実行するプログラムに応じて機能する。例えば、3次元仮想空間に所定のオブジェクトが登場するゲームがゲーム装置10によって実行される場合、アナログスティック15は、当該所定のオブジェクトを3次元仮想空間内で移動させるための入力装置として機能する。この場合において、所定のオブジェクトはアナログスティック15のキートップがスライドした方向に移動される。なお、アナログスティック15として、上下左右および斜め方向の任意の方向に所定量だけ傾倒することでアナログ入力を可能としたものを用いても良い。
【0041】
また、下側ハウジング11の内側面には、マイクロフォン用孔18が設けられる。マイクロフォン用孔18の下部には後述する音声入力装置としてのマイク42(図3参照)が設けられ、当該マイク42がゲーム装置10の外部の音を検出する。
【0042】
図2(b)および(d)に示されるように、下側ハウジング11の上側面には、Lボタン14GおよびRボタン14Hが設けられている。Lボタン14GおよびRボタン14Hは、例えば、撮像部のシャッターボタン(撮影指示ボタン)として機能することができる。また、図2(a)に示されるように、下側ハウジング11の左側面には、音量ボタン14Iが設けられる。音量ボタン14Iは、ゲーム装置10が備えるスピーカの音量を調整するために用いられる。
【0043】
図2(a)に示されるように、下側ハウジング11の左側面には開閉可能なカバー部11Cが設けられる。このカバー部11Cの内側には、ゲーム装置10とデータ保存用外部メモリ45とを電気的に接続するためのコネクタ(図示せず)が設けられる。データ保存用外部メモリ45は、コネクタに着脱自在に装着される。データ保存用外部メモリ45は、例えば、ゲーム装置10によって撮像された画像のデータを記憶(保存)するために用いられる。
【0044】
また、図2(d)に示されるように、下側ハウジング11の上側面には、ゲーム装置10とゲームプログラムを記録した外部メモリ44を挿入するための挿入口11Dが設けられ、その挿入口11Dの内部には、外部メモリ44と電気的に着脱自在に接続するためのコネクタ(図示せず)が設けられる。当該外部メモリ44がゲーム装置10に接続されることにより、所定のゲームプログラムが実行される。
【0045】
また、図1および図2(c)に示されるように、下側ハウジング11の下側面にはゲーム装置10の電源のON/OFF状況をユーザに通知する第1LED16A、下側ハウジング11の右側面にはゲーム装置10の無線通信の確立状況をユーザに通知する第2LED16Bが設けられる。ゲーム装置10は他の機器との間で無線通信を行うことが可能であり、第2LED16Bは、無線通信が確立している場合に点灯する。ゲーム装置10は、例えば、IEEE802.11b/gの規格に準拠した方式により、無線LANに接続する機能を有する。下側ハウジング11の右側面には、この無線通信の機能を有効/無効にする無線スイッチ19が設けられる(図2(c)参照)。
【0046】
なお、図示は省略するが、下側ハウジング11には、ゲーム装置10の電源となる充電式電池が収納され、下側ハウジング11の側面(例えば、上側面)に設けられた端子を介して当該電池を充電することができる。
【0047】
(上側ハウジングの説明)
次に、上側ハウジング21の構成について説明する。図1および図2に示すように、上側ハウジング21には、上側LCD(Liquid Crystal Display:液晶表示装置)22、外側撮像部23(外側撮像部(左)23aおよび外側撮像部(右)23b)、内側撮像部24、3D調整スイッチ25、および、3Dインジケータ26が設けられる。以下、これらの詳細について説明する。
【0048】
図1に示すように、上側LCD22は上側ハウジング21に収納される。上側LCD22の画素数は、例えば、800dot×240dot(横×縦)であってもよい。なお、本実施形態では上側LCD22は液晶表示装置であるとしたが、例えばEL(Electro Luminescence:電界発光)を利用した表示装置などが利用されてもよい。また、上側LCD22として、任意の解像度の表示装置を利用することができる。
【0049】
上側LCD22は、立体視可能な画像を表示することが可能な表示装置である。また、本実施例では、実質的に同一の表示領域を用いて左目用画像と右目用画像が表示される。具体的には、左目用画像と右目用画像が所定単位で(例えば、1列ずつ)横方向に交互に表示される方式の表示装置である。または、左目用画像と右目用画像とが時間的に交互に表示され、メガネを用いてユーザの左目に左目用画像が右目に右目用画像が視認される方式の表示装置であってもよい。本実施例では、裸眼立体視可能な表示装置である。そして、横方向に交互に表示される左目用画像と右目用画像とを左目および右目のそれぞれに分解して見えるようにレンチキュラー方式やパララックスバリア方式(視差バリア方式)のものが用いられる。本実施形態では、上側LCD22はパララックスバリア方式のものとする。上側LCD22は、右目用画像と左目用画像とを用いて、裸眼で立体視可能な画像(立体画像)を表示する。すなわち、上側LCD22は、視差バリアを用いてユーザの左目に左目用画像をユーザの右目に右目用画像を視認させることにより、ユーザにとって立体感のある立体画像(立体視可能な画像)を表示することができる。また、上側LCD22は、上記視差バリアを無効にすることが可能であり、視差バリアを無効にした場合は、画像を平面的に表示することができる(上述した立体視とは反対の意味で平面視の画像を表示することができる。すなわち、表示された同一の画像が右目にも左目にも見えるような表示モードである)。このように、上側LCD22は、立体視可能な画像を表示する立体表示モードと、画像を平面的に表示する(平面視画像を表示する)平面表示モードとを切り替えることが可能な表示装置である。この表示モードの切り替えは、後述する3D調整スイッチ25によって行われる。
【0050】
外側撮像部23は、上側ハウジング21の外側面(上側LCD22が設けられた主面と反対側の背面)21Dに設けられた2つの撮像部(23aおよび23b)の総称である。外側撮像部(左)23aと外側撮像部(右)23bの撮像方向は、いずれも当該外側面21Dの外向きの法線方向である。外側撮像部(左)23aと外側撮像部(右)23bとは、ゲーム装置10が実行するプログラムによって、ステレオカメラとして使用することが可能である。外側撮像部(左)23aおよび外側撮像部(右)23bは、それぞれ所定の共通の解像度を有する撮像素子(例えば、CCDイメージセンサやCMOSイメージセンサ等)と、レンズとを含む。レンズは、ズーム機構を有するものでもよい。
【0051】
内側撮像部24は、上側ハウジング21の内側面(主面)21Bに設けられ、当該内側面の内向きの法線方向を撮像方向とする撮像部である。内側撮像部24は、所定の解像度を有する撮像素子(例えば、CCDイメージセンサやCMOSイメージセンサ等)と、レンズとを含む。レンズは、ズーム機構を有するものでもよい。
【0052】
3D調整スイッチ25は、スライドスイッチであり、上述のように上側LCD22の表示モードを切り替えるために用いられるスイッチである。また、3D調整スイッチ25は、上側LCD22に表示された立体視可能な画像(立体画像)の立体感を調整するために用いられる。3D調整スイッチ25のスライダ25aは、所定方向(上下方向)の任意の位置にスライド可能であり、当該スライダ25aの位置に応じて上側LCD22の表示モードが設定される。また、スライダ25aの位置に応じて、立体画像の見え方が調整される。具体的には、スライダ25aの位置に応じて、右目用画像および左目用画像の横方向の位置のずれ量が調整される。
【0053】
3Dインジケータ26は、上側LCD22が立体表示モードか否かを示す。3Dインジケータ26は、LEDであり、上側LCD22の立体表示モードが有効の場合に点灯する。なお、3Dインジケータ26は、上側LCD22が立体表示モードになっており、かつ、立体視画像を表示するプログラム処理が実行されているときに限り、点灯するようにしてもよい。
【0054】
また、上側ハウジング21の内側面には、スピーカ孔21Eが設けられる。後述するスピーカ43からの音声がこのスピーカ孔21Eから出力される。
【0055】
(ゲーム装置10の内部構成)
次に、図3を参照して、ゲーム装置10の内部の電気的構成について説明する。図3は、ゲーム装置10の内部構成を示すブロック図である。図3に示すように、ゲーム装置10は、上述した各部に加えて、情報処理部31、メインメモリ32、外部メモリインターフェイス(外部メモリI/F)33、データ保存用外部メモリI/F34、データ保存用内部メモリ35、無線通信モジュール36、ローカル通信モジュール37、リアルタイムクロック(RTC)38、加速度センサ39、電源回路40、およびインターフェイス回路(I/F回路)41等の電子部品を備えている。これらの電子部品は、電子回路基板上に実装されて下側ハウジング11(または上側ハウジング21でもよい)内に収納される。
【0056】
情報処理部31は、所定のプログラムを実行するためのCPU(Central Processing Unit)311、画像処理を行うGPU(Graphics Processing Unit)312等を含む情報処理手段である。情報処理部31のCPU311は、ゲーム装置10内のメモリ(例えば外部メモリI/F33に接続された外部メモリ44やデータ保存用内部メモリ35)に記憶されているプログラムを実行することによって、当該プログラムに応じた処理を実行する。なお、情報処理部31のCPU311によって実行されるプログラムは、他の機器との通信によって他の機器から取得されてもよい。また、情報処理部31は、VRAM(Video RAM)313を含む。情報処理部31のGPU312は、情報処理部31のCPU311からの命令に応じて画像を生成し、VRAM313に描画する。そして、情報処理部31のGPU312は、VRAM313に描画された画像を上側LCD22及び/又は下側LCD12に出力し、上側LCD22及び/又は下側LCD12に当該画像が表示される。
【0057】
情報処理部31には、メインメモリ32、外部メモリI/F33、データ保存用外部メモリI/F34、および、データ保存用内部メモリ35が接続される。外部メモリI/F33は、外部メモリ44を着脱自在に接続するためのインターフェイスである。また、データ保存用外部メモリI/F34は、データ保存用外部メモリ45を着脱自在に接続するためのインターフェイスである。
【0058】
メインメモリ32は、情報処理部31(のCPU311)のワーク領域やバッファ領域として用いられる揮発性の記憶手段である。すなわち、メインメモリ32は、上記プログラムに基づく処理に用いられる各種データを一時的に記憶したり、外部(外部メモリ44や他の機器等)から取得されるプログラムを一時的に記憶したりする。本実施形態では、メインメモリ32として例えばPSRAM(Pseudo−SRAM)を用いる。
【0059】
外部メモリ44は、情報処理部31によって実行されるプログラムを記憶するための不揮発性の記憶手段である。外部メモリ44は、例えば読み取り専用の半導体メモリで構成される。外部メモリ44が外部メモリI/F33に接続されると、情報処理部31は外部メモリ44に記憶されたプログラムを読み込むことができる。情報処理部31が読み込んだプログラムを実行することにより、所定の処理が行われる。データ保存用外部メモリ45は、不揮発性の読み書き可能なメモリ(例えばNAND型フラッシュメモリ)で構成され、所定のデータを格納するために用いられる。例えば、データ保存用外部メモリ45には、外側撮像部23で撮像された画像や他の機器で撮像された画像が記憶される。データ保存用外部メモリ45がデータ保存用外部メモリI/F34に接続されると、情報処理部31はデータ保存用外部メモリ45に記憶された画像を読み込み、上側LCD22及び/又は下側LCD12に当該画像を表示することができる。
【0060】
データ保存用内部メモリ35は、読み書き可能な不揮発性メモリ(例えばNAND型フラッシュメモリ)で構成され、所定のデータを格納するために用いられる。例えば、データ保存用内部メモリ35には、無線通信モジュール36を介した無線通信によってダウンロードされたデータやプログラムが格納される。
【0061】
無線通信モジュール36は、例えばIEEE802.11b/gの規格に準拠した方式により、無線LANに接続する機能を有する。また、ローカル通信モジュール37は、所定の通信方式(例えば独自プロトコルによる通信や、赤外線通信)により同種のゲーム装置との間で無線通信を行う機能を有する。無線通信モジュール36およびローカル通信モジュール37は情報処理部31に接続される。情報処理部31は、無線通信モジュール36を用いてインターネットを介して他の機器との間でデータを送受信したり、ローカル通信モジュール37を用いて同種の他のゲーム装置との間でデータを送受信したりすることができる。
【0062】
また、情報処理部31には、加速度センサ39が接続される。加速度センサ39は、3軸(xyz軸)方向に沿った直線方向の加速度(直線加速度)の大きさを検出する。加速度センサ39は、下側ハウジング11の内部に設けられる。加速度センサ39は、図1に示すように、下側ハウジング11の長辺方向をx軸、下側ハウジング11の短辺方向をy軸、下側ハウジング11の内側面(主面)に対して垂直な方向をz軸として、各軸の直線加速度の大きさを検出する。なお、加速度センサ39は、例えば静電容量式の加速度センサであるとするが、他の方式の加速度センサを用いるようにしてもよい。また、加速度センサ39は1軸又は2軸方向を検出する加速度センサであってもよい。情報処理部31は、加速度センサ39が検出した加速度を示すデータ(加速度データ)を受信して、ゲーム装置10の姿勢や動きを検出することができる。
【0063】
また、情報処理部31には、RTC38および電源回路40が接続される。RTC38は、時間をカウントして情報処理部31に出力する。情報処理部31は、RTC38によって計時された時間に基づき現在時刻(日付)を計算する。電源回路40は、ゲーム装置10が有する電源(下側ハウジング11に収納される上記充電式電池)からの電力を制御し、ゲーム装置10の各部品に電力を供給する。
【0064】
また、情報処理部31には、I/F回路41が接続される。I/F回路41には、マイク42およびスピーカ43が接続される。具体的には、I/F回路41には、図示しないアンプを介してスピーカ43が接続される。マイク42は、ユーザの音声を検知して音声信号をI/F回路41に出力する。アンプは、I/F回路41からの音声信号を増幅し、音声をスピーカ43から出力させる。また、タッチパネル13はI/F回路41に接続される。I/F回路41は、マイク42およびスピーカ43(アンプ)の制御を行う音声制御回路と、タッチパネルの制御を行うタッチパネル制御回路とを含む。音声制御回路は、音声信号に対するA/D変換およびD/A変換を行ったり、音声信号を所定の形式の音声データに変換したりする。タッチパネル制御回路は、タッチパネル13からの信号に基づいて所定の形式のタッチ位置データを生成して情報処理部31に出力する。タッチ位置データは、タッチパネル13の入力面において入力が行われた位置の座標を示す。なお、タッチパネル制御回路は、タッチパネル13からの信号の読み込み、および、タッチ位置データの生成を所定時間に1回の割合で行う。情報処理部31は、タッチ位置データを取得することにより、タッチパネル13に対して入力が行われた位置を知ることができる。
【0065】
操作ボタン14は、上記各操作ボタン14A〜14Lからなり、情報処理部31に接続される。操作ボタン14から情報処理部31へは、各操作ボタン14A〜14Iに対する入力状況(押下されたか否か)を示す操作データが出力される。情報処理部31は、操作ボタン14から操作データを取得することによって、操作ボタン14に対する入力に従った処理を実行する。
【0066】
下側LCD12および上側LCD22は情報処理部31に接続される。下側LCD12および上側LCD22は、情報処理部31(のGPU312)の指示に従って画像を表示する。本実施形態では、情報処理部31は、上側LCD22に立体画像(立体視可能な画像)を表示させる。
【0067】
具体的には、情報処理部31は、上側LCD22のLCDコントローラ(図示せず)と接続され、当該LCDコントローラに対して視差バリアのON/OFFを制御する。上側LCD22の視差バリアがONになっている場合、情報処理部31のVRAM313に格納された右目用画像と左目用画像とが、上側LCD22に出力される。より具体的には、LCDコントローラは、右目用画像について縦方向に1ライン分の画素データを読み出す処理と、左目用画像について縦方向に1ライン分の画素データを読み出す処理とを交互に繰り返すことによって、VRAM313から右目用画像と左目用画像とを読み出す。これにより、右目用画像および左目用画像が、画素を縦に1ライン毎に並んだ短冊状画像に分割され、分割された右目用画像の短冊状画像と左目用画像の短冊状画像とが交互に配置された画像が、上側LCD22の画面に表示される。そして、上側LCD22の視差バリアを介して当該画像がユーザに視認されることによって、ユーザの右目に右目用画像が、ユーザの左目に左目用画像が視認される。以上により、上側LCD22の画面には立体視可能な画像が表示される。
【0068】
外側撮像部23および内側撮像部24は、情報処理部31に接続される。外側撮像部23および内側撮像部24は、情報処理部31の指示に従って画像を撮像し、撮像した画像データを情報処理部31に出力する。
【0069】
3D調整スイッチ25は、情報処理部31に接続される。3D調整スイッチ25は、スライダ25aの位置に応じた電気信号を情報処理部31に送信する。
【0070】
また、3Dインジケータ26は、情報処理部31に接続される。情報処理部31は、3Dインジケータ26の点灯を制御する。例えば、情報処理部31は、上側LCD22が立体表示モードである場合、3Dインジケータ26を点灯させる。
【0071】
また、情報処理部31には、角速度センサ46が接続される。角速度センサ46は、各軸(x軸、y軸、z軸)周りの角速度を検出する。ゲーム装置10は、角速度センサ46が逐次検出する角速度に基づいて、実空間におけるゲーム装置10の姿勢を算出することができる。具体的には、ゲーム装置10は、角速度センサ46によって検出された各軸周りの角速度を時間で積分することによって、各軸周りのゲーム装置10の回転角を算出することができる。以上がゲーム装置10の内部構成の説明である。
【0072】
(処理の概要)
次に、図4から図11Bを参照して、本実施形態に係る表示処理の概要について説明する。本実施形態においては、図4に示すようなゲーム画像が上側LCD22に表示されるものとする。図4は、本実施形態に係るゲームの実行中において、上側LCD22の画面に表示されるゲーム画像の一例を示す図である。
【0073】
図4に示すように、上側LCD22には、プレイヤキャラクタ50、敵キャラクタ51、木オブジェクト52、地面オブジェクト53、ユーザインターフェース60、ユーザインターフェース61、ユーザインターフェース62、および、カーソル63(ポインタ)が表示される。本実施形態に係るゲームでは、各ボタン(14A〜14E等)やアナログスティック15による操作(ボタン操作という)、あるいは、タッチパネル13(下側LCD12)に対するタッチ操作によって、プレイヤキャラクタ50と敵キャラクタ51とが格闘する。
【0074】
プレイヤキャラクタ50および敵キャラクタ51は、仮想3次元空間に配置される3次元の仮想キャラクタである。プレイヤキャラクタ50はユーザによって操作される仮想オブジェクトであり、敵キャラクタ51はゲーム装置10によって操作される仮想オブジェクトである。また、木オブジェクト52は、仮想空間に配置された木を模した仮想オブジェクトである。地面オブジェクト53は、仮想空間の地面を示す仮想オブジェクトであり、背景オブジェクトの一種である。プレイヤキャラクタ50および敵キャラクタ51は、地面オブジェクト53上を移動しながら格闘する。
【0075】
ユーザインターフェース60は、プレイヤキャラクタ50の生命力を表示するためのユーザインターフェースである。ユーザインターフェース61は、敵キャラクタ51の生命力を表示するためのユーザインターフェースである。ユーザインターフェース60およびユーザインターフェース61は、例えば、複数の丸印の画像であり、一方のキャラクタが他方のキャラクタから攻撃を受けると、丸印が1つ減少する。ユーザインターフェース60に含まれる丸印が0個になると、プレイヤキャラクタ50は負けとなってゲームが終了する。
【0076】
ユーザインターフェース62は、プレイヤキャラクタ50が使用可能なアイテムをユーザに選択させるためのアイコンである。カーソル63は、ユーザインターフェースの一種であり、ユーザによって指示された上側LCD22の画面上の位置を示す。ユーザは、十字ボタン14Aやアナログスティック15を用いてカーソル63を移動させたり、あるいは、タッチパネル13に対するタッチ操作によってカーソル63を移動させることができる。図5は、カーソル63をユーザインターフェース62上に移動させた場合に、アイテムの一覧が表示される様子を示す図である。図5に示すように、タッチペン28を用いてタッチパネル13をタッチしたまま横方向にスライドさせると、上側LCD22に表示されたカーソル63は、横方向に移動する。そして、カーソル63がユーザインターフェース62上に移動すると、選択可能なアイテムの一覧が表示される。ユーザが表示されたアイテムの一覧の中から所定のアイテムをカーソル63で選択すると、選択されたアイテムを用いてプレイヤキャラクタ50に攻撃させることができる。
【0077】
上述のように、上側LCD22は立体視表示可能な表示装置であり、上側LCD22に表示される画像は立体視画像である。すなわち、上側LCD22には、互いに視差のある右目用画像と左目用画像とが表示される。ここで、視差とは、同じ物体を異なる位置から見た場合に生じる当該物体の像の形や位置、方向の違いを示し、右目用画像および左目用画像に含まれる当該物体の違いを示す。上側LCD22の視差バリアを介してユーザの左目に左目用画像が、ユーザの右目に右目用画像が視認されることより、ユーザは、上側LCD22に表示された画像を立体的に視認することができる。例えば、ユーザが上側LCD22の画面を見ると、プレイヤキャラクタ50および敵キャラクタ51は、画面の手前の所定位置に存在するように見え、木オブジェクト52は、画面の奥方向の所定位置に存在するように見える。また、例えば、ユーザインターフェース60、61、62およびユーザインターフェースの一種であるカーソル63は、上側LCD22の画面上に存在しているように見える。なお、以下ではユーザインターフェース60、61、62およびカーソル63をまとめてユーザインターフェース60〜63と表記する。
【0078】
次に、上記ユーザインターフェース60〜63の視差(UI視差という)の調整について説明する。UI視差は、上側LCD22に表示される画像のうちユーザインターフェースのみに関する視差である。すなわち、UI視差は、上側LCD22に表示される右目用画像に含まれるユーザインターフェースの画像と、左目用画像に含まれるユーザインターフェースの画像との違い(位置や形等の違い)である。本実施形態では、ユーザインターフェース60〜63のUI視差をユーザが調整することによって、画面に垂直な方向におけるユーザインターフェース60〜63の表示位置(ユーザが感じる奥行き方向の表示位置;奥行き感)を調整することができる。図6は、ユーザインターフェースの視差を調整する際に下側LCD12に表示される画像の一例を示す図である。
【0079】
図6に示すように、ユーザが所定の操作を行う(例えば、所定のボタンを押す)と、下側LCD12には、ユーザが感じるユーザインターフェース(UI)60〜63の表示位置を調整するためのUI調整バーが表示される。UI調整スライダ64は、上側LCD22の画面に垂直な方向におけるユーザインターフェース60〜63の表示位置(ユーザが感じる表示位置)を示す。UI調整スライダ64の位置は、ユーザによるタッチ操作によって横方向(あるいは縦方向であってもよい)に調整可能である。
【0080】
図7は、ユーザによってUI調整スライダ64の位置が調整された後に上側LCD22および下側LCD12に表示される画像の一例を示す図である。図7に示すように、ユーザがUI調整スライダ64をタッチペン28でタッチしたまま左方向にタッチペン28をスライドさせると、UI調整スライダ64は左方向に移動する。すると、上側LCD22に表示されるユーザインターフェース60〜63は、画面より手前に飛び出して表示される。なお、図7では、UI調整スライダ64の調整後のユーザインターフェース60〜63の背面に、調整前のユーザインターフェース60〜63が破線で示されているが、当該破線で示された調整前のユーザインターフェース60〜63は実際には表示されない。また、ユーザが右方向(UI調整バーの中心より右側)にUI調整スライダ64を移動させると、ユーザインターフェース60〜63は、画面より奥方向に表示される。
【0081】
図8Aは、UI調整スライダ64が左方向に移動された場合において、ユーザとユーザが認識するユーザインターフェース60〜63の表示位置と上側LCD22との位置関係を示す図である。図8Bは、UI調整スライダ64が右方向に移動された場合において、ユーザとユーザが認識するユーザインターフェース60〜63の表示位置と上側LCD22との位置関係を示す図である。図8Aに示すように、UI調整スライダ64が中心よりも左方向に移動された場合、ユーザが認識するユーザインターフェース60〜63の表示位置は、画面よりも手前側になる。また、図8Bに示すように、UI調整スライダ64が中心よりも右方向に移動された場合、ユーザが認識するユーザインターフェース60〜63の表示位置は、画面よりも奥側になる。なお、UI調整スライダ64の位置が調整されない場合(すなわち、図6に示すようにUI調整スライダ64が中心に位置している場合)、ユーザが認識するユーザインターフェース60〜63の表示位置は画面上である。
【0082】
具体的には、UI調整スライダ64の位置が調整されることによって、左目用画像および右目用画像に含まれるユーザインターフェース60〜63についての視差が変化する。図9Aは、UI調整スライダ64が左方向に移動された場合における左目用画像および右目用画像を示す図である。図9Bは、UI調整スライダ64が右方向に移動された場合における左目用画像および右目用画像を示す図である。図9Aおよび図9Bにおいては、ユーザインターフェース60〜63のみが表示されており、仮想空間に配置された仮想オブジェクト(50〜53)は省略されている。
【0083】
図9Aに示すように、左目用画像Aには、ユーザインターフェース60の画像60a、ユーザインターフェース61の画像61a、ユーザインターフェース62の画像62a、および、カーソル63の画像63aが含まれる。また、右目用画像Bには、ユーザインターフェース60の画像60b、ユーザインターフェース61の画像61b、ユーザインターフェース62の画像62b、および、カーソル63の画像63bが含まれる。左目用画像Aと右目用画像Bとは、互いに視差がある。具体的には、左目用画像Aと右目用画像Bとが上側LCD22に表示された場合、左目用画像Aにおける画像60aは、右目用画像Bにおける画像60bよりも右側に表示される。これにより、左目用画像Aと右目用画像Bとが上側LCD22に表示された場合、ユーザインターフェース60が上側LCD22の画面から手前側に飛び出したようにユーザは感じる。ユーザインターフェース61、62、および、カーソル63も同様である。
【0084】
また、図9Bに示すように、UI調整スライダ64が右方向に移動されると、左目用画像Aと右目用画像Bとの視差が変化する。具体的には、左目用画像Aと右目用画像Bとが上側LCD22に表示された場合、左目用画像Aにおける画像60aは、右目用画像Bにおける画像60bよりも左側に表示される。これにより、左目用画像Aと右目用画像Bとが上側LCD22に表示された場合、ユーザインターフェース60が上側LCD22の画面より奥方向に存在するようにユーザは感じる。ユーザインターフェース61、62、および、カーソル63も同様である。
【0085】
なお、カーソル63の視差は、UI調整スライダ64の調整によって変化しなくてもよい。この場合、画面に垂直な方向におけるユーザが認識するカーソル63の表示位置は、UI調整スライダ64の位置によって変化せず、常に画面上となる。
【0086】
一方、実際には、上側LCD22には仮想空間に配置された仮想オブジェクト50〜53も表示されるが、これらの視差はUI調整スライダ64の調整によっては変化しない。すなわち、UI調整スライダ64を調整することによって、ユーザインターフェース60〜63の視差のみが変化する。仮想空間に配置された仮想オブジェクト50〜53の視差は、3D調整スイッチ25のスライダ25aによって調整される。以下、3D調整スイッチ25のスライダ25aによる視差の調整について、説明する。
【0087】
図10Aは、3D調整スイッチ25のスライダ25aが第1の位置に設定された様子を示す図であり、図10Bは、3D調整スイッチ25のスライダ25aが第2の位置に設定された様子を示す図である。図10Aに示すように、スライダ25aが最下点よりもわずかに上方の位置に設定されると、上側LCD22の立体表示がONの状態となり、その場合の視差は最小に設定される。また、図10Bに示すように、スライダ25aが最上点の位置に設定されると、視差は最大に設定される。なお、スライダ25aが最下点に設定されると、上側LCD22の立体表示がOFFに設定され、この場合、上側LCD22の視差バリアはOFFとなり、上側LCD22は画像を平面的に表示する。
【0088】
図11Aは、3D調整スイッチ25のスライダ25aが第1の位置に設定された場合において、ユーザが認識する、ユーザと仮想オブジェクト50〜51およびユーザインターフェース60〜63との位置関係を示す図である。図11Bは、3D調整スイッチ25のスライダ25aが第2の位置に設定された場合において、ユーザが認識する、ユーザと仮想オブジェクト50〜51およびユーザインターフェース60〜63との位置関係を示す図である。
【0089】
図11Aに示すように、3D調整スイッチ25のスライダ25aが第1の位置に設定されると、右目用画像と左目用画像の視差は最小に設定される。この場合、仮想オブジェクト50〜51(プレイヤキャラクタ50および敵キャラクタ51)は上側LCD22の画面よりも僅かに手前の位置P10に存在するように、ユーザは感じる。また、ユーザインターフェース60〜63は、UI調整スライダ64による調整が行われていない場合は、上側LCD22の画面上の位置P12に存在するように、ユーザは感じる(実線丸印)。なお、図11Aでは、木オブジェクト52が省略されているが、木オブジェクト52は例えば画面よりも僅かに奥方向に位置するようにユーザには見える。
【0090】
さらに、3D調整スイッチ25のスライダ25aが第1の位置に設定された場合において、ユーザがUI調整スライダ64の位置を調整すると、ユーザインターフェース60〜63の表示位置が調整される。例えば、UI調整スライダ64が左端に設定されると、ユーザインターフェース60〜63は、画面よりも手前の位置P13に表示される(図11Aの左側の破線丸印)。また、UI調整スライダ64が右端に設定されると、ユーザインターフェース60〜63は、画面よりも奥方向の位置P14に表示される(図11Aの右側の破線丸印)。
【0091】
一方、図11Bに示すように、3D調整スイッチ25のスライダ25aが第2の位置に設定されると、右目用画像と左目用画像の視差は最大に設定される。この場合、仮想オブジェクト50〜51は図11Aに示す場合よりも手前の位置P20に存在するように、ユーザは感じる。また、ユーザインターフェース60〜63は、UI調整スライダ64による調整が行われていない場合は、図11Aに示す場合よりも手前の位置P22に存在するように、ユーザは感じる(実線丸印)。なお、3D調整スイッチ25のスライダ25aが第2の位置に設定された場合、木オブジェクト52の位置もスライダ25aが第1の位置に設定されたときから変化する。
【0092】
さらに、3D調整スイッチ25のスライダ25aが第2の位置に設定された場合において、ユーザがUI調整スライダ64の位置を調整すると、ユーザインターフェース60〜63の表示位置が調整される。例えば、UI調整スライダ64が左端に設定されると、ユーザインターフェース60〜63は、図11Aに示すUI調整スライダ64が左端に設定された場合の表示位置P13よりも手前の位置P23に表示される(図11Bの左側の破線丸印)。また、図11Bに示すように、UI調整スライダ64が右端に設定されると、ユーザインターフェース60〜63は画面上の位置P24に表示される。
【0093】
このように、3D調整スイッチ25によって、仮想空間全体の視差が調整されて、仮想空間に配置された仮想オブジェクトの見え方(奥行き感)が変化する。例えば、仮想オブジェクトが画面からより飛び出たように見えたり、画面よりもより奥方向に見えるようになったりする。また、3D調整スイッチ25によって、ユーザインターフェース60〜63の視差の基準値(UI調整スライダ64で調整する前のUI視差;初期値)も変化する。すなわち、3D調整スイッチ25によってユーザインターフェース60〜63の視差の基準値が設定され、UI調整スライダ64の位置に応じて、当該基準値からの相対的な変化が設定されて、UI視差が設定される。このように、3D調整スイッチ25によって、仮想空間に配置された仮想オブジェクト50〜53、および、ユーザインターフェース60〜63を含む、上側LCD22に表示される画像全体の視差を調整することができる。
【0094】
以上のように、3D調整スイッチ25によって仮想空間の視差とユーザインターフェースの視差とが調整される。すなわち、3D調整スイッチ25のスライダ25aの位置が調整されることによって、仮想オブジェクト50〜53、および、ユーザインターフェース60〜63の視差が調整され、その結果、これらの表示位置(ユーザが感じる画面に垂直な方向の表示位置)が変化する。また、スライダ25aの位置が調整されることによって、UI調整スライダ64によるUI視差の調整の範囲も設定される。すなわち、図11Aに示すように、3D調整スイッチ25のスライダ25aが第1の位置に設定された場合において、UI調整スライダ64によるユーザインターフェース60〜63の調整範囲(画面に垂直な方向における表示位置の範囲)は、P13〜P14に設定される。また、図11Bに示すように、3D調整スイッチ25のスライダ25aが第2の位置に設定された場合において、UI調整スライダ64によるユーザインターフェース60〜63の調整範囲は、P23〜P24に設定される。
【0095】
また、3D調整スイッチ25のスライダ25aが第1の位置と第2の位置との間に設定された場合、例えば仮想オブジェクト50および51は、図11Aに示す位置P10よりもユーザ側で、かつ、図11Bに示す位置P20よりも上側LCD22側に表示されるようにユーザは感じる。この場合において、ユーザインターフェース60〜63の調整範囲も、スライダ25aの位置に応じて定められる。具体的には、ユーザインターフェース60〜63は、UI調整スライダ64が左端に設定された場合、図11Aに示す位置P13と図11Bに示す位置P23との間の位置に表示されるようにユーザは感じる。また、ユーザインターフェース60〜63は、UI調整スライダ64が右端に設定された場合、図11Aに示す位置P14と図11Bに示す位置P24との間の位置に表示されるようにユーザは感じる。
【0096】
以上のように、3D調整スイッチ25によって、仮想空間に配置された仮想オブジェクト50〜53についての視差が調整されて当該仮想オブジェクト50〜53の画面に垂直な方向における表示位置が調整される。また、3D調整スイッチ25によって、ユーザインターフェース60〜63の視差が調整されるとともに、UI調整スライダ64によるユーザインターフェース60〜63の調整範囲も設定される。そして、3D調整スイッチ25によって設定された調整範囲内で、UI調整スライダ64を用いて、ユーザインターフェース60〜63の視差が調整される。従って、仮想オブジェクト50〜53の視差調整とは別に、ユーザインターフェース60〜63の視差調整を行うことができる。
【0097】
なお、上記3D調整スイッチ25によって、仮想空間に配置された仮想オブジェクト50〜53のみの視差が調整されてもよい。すなわち、ユーザインターフェース60〜63の視差調整は、3D調整スイッチ25のスライダ25aの位置に依存せずに、UI調整スライダ64の位置のみに基づいて行われてもよい。この場合、3D調整スイッチ25を用いた仮想オブジェクト50〜53の視差調整と、UI調整スライダ64を用いたユーザインターフェース60〜63の視差調整とは、完全に独立して行うことができる。
【0098】
(表示処理の詳細)
次に、図12および図13を参照して、本実施形態に係る表示処理の詳細について説明する。まず、表示処理の際にメインメモリ32およびVRAM313(以下、これらを総称してRAMと呼ぶことがある)に記憶される主なデータについて説明する。図12は、ゲーム装置10のRAM(メインメモリ32等)のメモリマップを示す図である。図12に示されるように、RAMには、ゲームプログラム70、UIスライダ位置データ71、空間視差データ72、UI視差データ73、左仮想空間画像74a、右仮想空間画像74b、左UI画像75a、右UI画像75b等が記憶される。これらの他、RAMにはプレイヤキャラクタ50に関する情報(位置、姿勢、生命力等の情報)や当該プレイヤキャラクタ50の画像データ、敵キャラクタ51の情報および画像データ、上記UI調整スライダ64に関する画像、ユーザインターフェース60〜63の画像データ、ユーザによって行われたボタン操作に関するデータ等が記憶される。
【0099】
ゲームプログラム70は、後述するフローチャートに示される表示処理を情報処理部31(CPU311)に実行させるためのプログラムである。
【0100】
UIスライダ位置データ71は、UI調整スライダ64の位置に関するデータである。
【0101】
空間視差データ72は、3D調整スイッチ25のスライダ25aの位置に依存するデータであり、仮想空間の視差の調整に関するデータである。具体的には、空間視差データ72は、仮想空間に設定された仮想ステレオカメラ55の左右のカメラ間の距離Lv(図14参照)を示すデータである。当該仮想ステレオカメラ55は、仮想空間に配置された仮想オブジェクト50〜53を撮像するために用いられる。
【0102】
UI視差データ73は、UI調整スライダ64の位置に依存するデータであり、ユーザインターフェースの視差の調整に関するデータである。具体的には、UI視差データ73は、ユーザインターフェース60〜63を撮像するために用いられるUI用仮想ステレオカメラ65の左右のカメラ間距離Lu(図15参照)を示すデータである。
【0103】
左仮想空間画像74aは、仮想ステレオカメラ55の左仮想カメラ55aで仮想空間を撮像することによって得られる画像である。
【0104】
右仮想空間画像74bは、仮想ステレオカメラ55の右仮想カメラ55bで仮想空間を撮像することによって得られる画像である。
【0105】
左UI画像75aは、UI用仮想ステレオカメラ65の左UI仮想カメラ65aでユーザインターフェース60〜63を撮像することによって得られる画像である。
【0106】
右UI画像75bは、UI用仮想ステレオカメラ65の右UI仮想カメラ65bでユーザインターフェース60〜63を撮像することによって得られる画像である。
【0107】
次に、表示処理の詳細について図13を参照して説明する。図13は、本実施形態に係る表示処理の詳細を示すメインフローチャートである。ゲーム装置10の電源が投入されると、ゲーム装置10の情報処理部31(CPU311)は、ROMに記憶されている起動プログラムを実行し、これによってメインメモリ32等の各ユニットが初期化される。次に、不揮発性メモリ(外部メモリ44等;コンピュータ読み取り可能な記憶媒体)に記憶されたゲームプログラム70がRAM(具体的には、メインメモリ32)に読み込まれ、情報処理部31のCPU311によって当該プログラムの実行が開始される。図13のフローチャートに示す処理は、以上の処理が完了した後に情報処理部31(CPU311又はGPU312)によって行われる。
【0108】
なお、図13では、本発明に直接関連しない処理については記載を省略する。また、図13に示すステップS101〜ステップS109の処理ループは、1フレーム(例えば1/30秒又は1/60秒。フレーム時間という)毎に繰り返し実行される。
【0109】
まず、ステップS101において、情報処理部31は、3D調整スイッチ25のスライダ25aの位置を取得する。次に、情報処理部31は、ステップS102の処理を実行する。
【0110】
ステップS102において、情報処理部31は、仮想空間の視差を調整する。具体的には、情報処理部31は、ステップS101で取得したスライダ25aの位置に応じて、仮想空間に設定された仮想ステレオカメラ55の左右のカメラ間距離Lvを設定する。
【0111】
図14は、仮想ステレオカメラ55の左右のカメラ間距離Lvを示す図である。図14に示すように、仮想ステレオカメラ55は、左仮想カメラ55aおよび右仮想カメラ55bによって構成される。左仮想カメラ55aおよび右仮想カメラ55bは、ゲーム状況に応じて仮想空間内に配置される。仮想ステレオカメラ55によって、仮想空間に配置された仮想オブジェクト50〜53が撮像される。ステップS102においては、左仮想カメラ55aと右仮想カメラ55bとの間の距離Lvが、スライダ25aの位置に応じて、設定される。ステップS102の後、ステップS103の処理が行われる。
【0112】
ステップS103において、情報処理部31は、UI調整スライダ64の位置を取得する。具体的には、情報処理部31は、UIスライダ位置データ71を参照して、UI調整スライダ64の位置を取得する。図13に示すフローチャートでは省略されているが、情報処理部31は、図6に示すように下側LCD12にUIの視差を調整するための画像が表示されている場合において、タッチパネル13が検出したタッチ位置に基づいて、UI調整スライダ64がタッチされたか否かを判定する。そして、UI調整スライダ64がタッチされた場合は、タッチ位置に基づいて当該UI調整スライダ64の位置を更新して、UIスライダ位置データ71としてRAMに記憶する。次に、情報処理部31は、ステップS104の処理を実行する。
【0113】
ステップS104において、情報処理部31は、UI視差を調整する。具体的には、情報処理部31は、ステップS102で設定されたカメラ間距離Lvと、ステップS103で取得したUI調整スライダ64の位置とに基づいて、UI視差を調整する。UI視差は、ユーザインターフェース60〜63についての視差である。より具体的には、図15に示すように、ユーザインターフェース60〜63は、UI用仮想ステレオカメラ65によって撮像される。図15は、ユーザインターフェース60〜63をUI用仮想ステレオカメラ65で撮像する様子を示す図である。UI視差は、UI用仮想ステレオカメラ65の左UI仮想カメラ65aと右UI仮想カメラ65bとの間の距離Luを示す。すなわち、ステップS104において、情報処理部31は、仮想空間の視差とUI調整スライダ64の位置とに基づいて、UI用仮想ステレオカメラ65の左右のカメラ間距離Luを算出し、UI視差データ73としてRAMに記憶する。ここで算出されるUI視差は、図11Aおよび図11Bを用いて説明したように、ステップS102で調整された仮想空間の視差に基づいた範囲内で設定される。すなわち、UI視差は、仮想ステレオカメラ55の左右のカメラ間距離Lvによって基準値および範囲(最大値および最小値)が定められ、当該範囲内でUI調整スライダ64の位置に基づいて定められる。具体的には、カメラ間距離Lvによって基準値が定められ、当該基準値からの変化量がUI調整スライダ64の位置に応じて定められることにより、カメラ間距離Lu(UI視差)が決定される。次に、情報処理部31は、ステップS105の処理を実行する。
【0114】
ステップS105において、情報処理部31は、仮想ステレオカメラ55で仮想空間を撮像する。具体的には、情報処理部31は、仮想ステレオカメラ55の左仮想カメラ55aで仮想空間を撮像することによって左仮想空間画像74aを生成し、仮想ステレオカメラ55の右仮想カメラ55bで仮想空間を撮像することによって右仮想空間画像74bを生成する。これにより、仮想オブジェクト50〜53を撮像した左右の画像が生成される。当該左右の画像は、ステップS102で設定されたカメラ間距離Lvに応じた視差を有する画像である。そして、情報処理部31は、生成した2つの画像をRAMに保存する。次に、情報処理部31は、ステップS106の処理を実行する。
【0115】
ステップS106において、情報処理部31は、UI用仮想ステレオカメラ65でユーザインターフェース60〜63を撮像する。具体的には、情報処理部31は、UI用仮想ステレオカメラ65の左UI仮想カメラ65aでユーザインターフェース60〜63を撮像することによって左UI画像75aを生成する。また、情報処理部31は、UI用仮想ステレオカメラ65の右UI仮想カメラ65bでユーザインターフェース60〜63を撮像することによって右UI画像75bを生成する。ユーザインターフェース60〜63は、2次元または3次元モデルとしてRAMに記憶されている。ステップS106の処理では、仮想オブジェクト50〜53が配置された仮想空間とは別の仮想空間にユーザインターフェース60〜63を配置し、当該ユーザインターフェース60〜63をUI用仮想ステレオカメラ65で撮像する。これにより、ユーザインターフェース60〜63のみを撮像した左右の画像(左UI画像75aおよび右UI画像75b)が生成される。情報処理部31は、生成した左右の画像をRAMに保存する。次に、情報処理部31は、ステップS107の処理を実行する。
【0116】
ステップS107において、情報処理部31は、ステップS105で生成した仮想空間画像にステップS106で生成したUI画像を重ね合わせる。具体的には、情報処理部31は、Z値(深度値)を比較することなく左仮想空間画像74aに左UI画像75aを上書きする。Z値は、仮想カメラの撮像方向における位置を示す値であり、画像を撮像する際に画素毎にRAMに保存される。通常は、2つの画像の画素毎のZ値を比較することによって2つの画像のうちどちらの画素を表示するかを判定するが、ここでは、Z値を比較することなく左仮想空間画像74aに左UI画像75aを上書きする。すなわち、情報処理部31は、左UI画像75aに含まれるユーザインターフェース60〜63が常に表示されるようにして、左仮想空間画像74aに左UI画像75aを上書きする。また、同様に、情報処理部31は、Z値を比較することなく右仮想空間画像74bに右UI画像75bを上書きする。これにより、左仮想空間画像74aおよび右仮想空間画像74bは、仮想オブジェクト50〜53とユーザインターフェース60〜63とを含む画像となる。次に、情報処理部31は、ステップS108の処理を実行する。
【0117】
ステップS108において、情報処理部31は、ステップS107で上書きされた左仮想空間画像74aおよび右仮想空間画像74bを上側LCD22に表示させる。これにより、上書きされた左仮想空間画像74aがユーザの左目に、上書きされた右仮想空間画像74bがユーザの右目に視認される。次に、情報処理部31は、ステップS109の処理を実行する。
【0118】
ステップS109において、情報処理部31は、下側LCD12の表示処理を実行する。例えば、情報処理部31は、タッチ操作によって更新されたUIスライダ位置データ71に応じて、図7に示すようにUIの視差を調整するための画像を生成して、下側LCD12に当該画像を表示させる。以上で図13に示すフローチャートの処理は終了する。
【0119】
以上のように、本実施形態では、ユーザインターフェース60〜63の視差の調整が、仮想空間の視差の調整とは別に行われる。これにより、ユーザは、ユーザインターフェースを見たときに、自身が最も見やすいようにユーザインターフェースの位置(画面に垂直な方向の位置)を調整することができる。
【0120】
なお、本実施形態では、すべてのユーザインターフェース60〜63の視差をUI調整スライダ64を用いて調整したが、他の実施形態では、複数のユーザインターフェースのうちの一部のみを調整してもよい。例えば、ユーザインターフェース60〜62の視差のみが調整され、カーソル63の視差は調整されずに一定であってもよい。また、視差を調整するユーザインターフェースをユーザが選択可能にしてもよい。この場合、ユーザによって選択されたユーザインターフェースのみの視差が調整される。また、ユーザインターフェースの例としては、上述したものに限られない。ユーザインターフェースは、仮想空間に配置される仮想オブジェクトとは異なるものであって、ユーザに任意の情報を表示したり、ユーザからの入力を受け付けるために表示されるためのものであればどのようなものでもよい。
【0121】
すなわち、ここでいう「ユーザインターフェース」とは、ユーザによって物理的に操作される操作手段(操作ボタン14やアナログスティック15等)自体や画面に表示される仮想空間の仮想オブジェクト(上記仮想オブジェクト50〜53等)自体ではなく、ユーザに所定の情報を知らせるために画面に表示されるものである。例えば、「ユーザインターフェース」は、仮想空間に存在する仮想オブジェクトの属性や当該仮想オブジェクトに関するパラメータ(上記仮想オブジェクトの生命力等)をユーザに知らせるために画面に表示されるものである。また、「ユーザインターフェース」は、ユーザによって指示された画面上の位置を示す指示オブジェクト(上記カーソル63)や、画面に表示されてユーザによって指示される所定のアイコン(上記アイテム選択のためのユーザインターフェース62等)等である。
【0122】
また、本実施形態では、仮想ステレオカメラ55で仮想空間を撮像した仮想空間画像に、UI用仮想ステレオカメラ65でユーザインターフェース60〜63を撮像したUI画像を重ね合わせることによって、ユーザに視認される左右の画像を生成した。すなわち、仮想空間に配置された仮想オブジェクト50〜53と、ユーザインターフェース60〜63とを別々のカメラで撮像した。これにより、ユーザインターフェースと仮想空間とを含む立体視画像を生成した。他の実施形態では、仮想オブジェクト50〜53が配置された仮想空間にユーザインターフェース60〜63を配置し、当該仮想空間を仮想ステレオカメラ55で撮像してもよい。
【0123】
この場合において、ユーザインターフェース60〜63の仮想空間における位置は、UI調整スライダ64の位置に応じて、定められる。具体的には、仮想ステレオカメラ55の撮像方向に関して、ユーザインターフェース60〜63は、UI調整スライダ64の位置に応じた位置に配置される。例えば、UI調整スライダ64が左端に設定された場合は、ユーザインターフェース60〜63は、仮想ステレオカメラ55の撮像方向に関して、カメラに近い位置に配置される。また、例えば、UI調整スライダ64が右端に設定された場合は、ユーザインターフェース60〜63は、仮想ステレオカメラ55の撮像方向に関して、カメラから離れた位置に配置される。
【0124】
また、ユーザインターフェースを仮想空間に配置する場合において、ユーザインターフェースを優先的に表示させる。すなわち、ユーザインターフェースが仮想オブジェクトより奥方向の位置(仮想ステレオカメラ側)に存在する場合においても、ユーザインターフェースが仮想オブジェクトよりも手前に存在するものとして、左右の画像を生成する。例えば、仮想ステレオカメラで仮想オブジェクトとユーザインターフェースとを撮像した場合に、仮想オブジェクトのZ値とユーザインターフェースのZ値とを比較せずにユーザインターフェースを常に描画する。また、仮想ステレオカメラから仮想オブジェクトとユーザインターフェースとを見た場合の奥行き方向の位置を比較し、ユーザインターフェースが仮想オブジェクトよりも奥に位置する場合は、ユーザインターフェースの方が仮想オブジェクトよりも手前に位置するものとして、画像を生成してもよい。この場合において、仮想オブジェクトとユーザインターフェースとを見た場合に重なり合う部分のみの奥行き方向の位置を比較してもよい。そして、ユーザインターフェースのうち仮想オブジェクトが重なる部分を当該仮想オブジェクトよりも手前に位置するものとして画像を生成してもよい。
【0125】
また、他の実施形態では、ユーザインターフェースの視差(UI視差)を調整する際に、視差調整の基準となる表示(当該ユーザインターフェースが画面に垂直な方向のどの位置に表示されるかを示す情報等)が行われてもよい。
【0126】
例えば、UI調整スライダ64を調整する際、ユーザインターフェースの表示位置を示す面が、ユーザインターフェースとともに表示されてもよい。図16は、他の実施形態におけるUI調整スライダ64を調整する際の画面の一例を示す図である。図16においては、説明のためユーザインターフェース62のみが表示されており、その他のユーザインターフェースや仮想オブジェクトは省略されている。図16に示すように、UI調整スライダ64を調整する際、上側LCD22には、補助面80が表示される。なお、80’は、UI調整スライダ64の位置が調整される前の補助面80を示す。補助面80は、UI調整スライダ64の位置を変化させることに伴って、画面に垂直な方向の表示位置すなわち奥行き感が変化する。具体的には、補助面80の表示位置は、ユーザインターフェース62の画面に垂直な方向の位置に応じて変化する。すなわち、補助面80は、ユーザインターフェースの表示位置であり、ユーザが感じる画面に垂直な方向の表示位置を示す。具体的には、情報処理部31は、補助面80を、ユーザインターフェース60〜63と同じ位置であってUI用仮想ステレオカメラ65の撮像方向に対して垂直に配置する。そして、情報処理部31は、UI用仮想ステレオカメラ65でユーザインターフェース60〜63とともに当該補助面80を撮像する。これによって、ユーザインターフェース60〜63と同じ視差を有する補助面80の画像が得られ、図16に示すような画像が上側LCD22に表示される。このように、ユーザインターフェースの視差調整の際に補助面80を表示することによって、ユーザは、ユーザインターフェースの視差調整を容易に行うことができる。
【0127】
また、例えば、UI調整スライダ64を用いてUI視差を調整する場合、UI視差を調整する際の基準となる情報を下側LCD12に表示してもよい。図17は、下側LCD12に表示されるUI視差を調整する際の基準となる情報の一例を示す図である。例えば、図17に示すように、ユーザインターフェースが上側LCD22に表示された場合に、上側LCD22の画面上にユーザインターフェースが表示されることを示す基準(文字や画像等)が、調整バー上に示されてもよい。
【0128】
また、本実施形態では、3D調整スイッチ25を調整することによって、仮想オブジェクト50〜53、および、ユーザインターフェース60〜63の視差が調整された。他の実施形態では、3D調整スイッチ25によって、仮想オブジェクト50〜53のみ、すなわち、ユーザインターフェース60〜63を除く仮想空間の視差が調整されてもよい。すなわち、仮想空間の視差は、仮想空間に配置された仮想オブジェクト50〜53に関する視差であり、仮想空間の視差は、3D調整スイッチ25のスライダ25aの位置に応じて調整されてもよい。また、仮想空間の視差は、3D調整スイッチ25に限らずボタン操作やタッチ操作によって調整されてもよい。この場合、ユーザインターフェース60〜63に関する視差(UI視差)は、仮想空間に存在する仮想オブジェクト50〜53に関する視差(仮想空間の視差)とは独立して定められる。これにより、ユーザが一度UI調整スライダ64を用いてユーザインターフェース60〜63の視差を調整すると、3D調整スイッチ25を用いて仮想空間の視差を調整してもユーザインターフェース60〜63の視差は変化しない。従って、ユーザは自身にとって最も見やすい位置にユーザインターフェース60〜63を固定して、仮想空間の視差を3D調整スイッチ25を用いて調整することができる。
【0129】
また、本実施形態では、仮想ステレオカメラ(上記仮想ステレオカメラ55および上記UI用仮想ステレオカメラ65)のカメラ間距離を変化させることによって、視差を変化させた。他の実施形態では、他の方法によって視差を変化させてもよい。
【0130】
例えば、仮想ステレオカメラの撮像方向を変化させることによって、視差を変化させてもよい。図18Aおよび図18Bは、仮想ステレオカメラの撮像方向を変化させた場合の一例を示す図である。具体的には、図18Aに示すように、仮想ステレオカメラの左右の撮像方向が、互いに内側を向くように変化させることによって視差を調整してもよい。また、図18Bに示すように、仮想ステレオカメラの左右の撮像方向が、互いに外側を向くように変化させることによって視差を調整してもよい。このように、左右の仮想カメラの撮像方向をそれぞれ変化させると、左右の画像に含まれるオブジェクトの当該画像上の位置が変化する。このため、仮想ステレオカメラのカメラ間距離を変化させたときと類似した変化を生じさせることができる。
【0131】
また、例えば、仮想ステレオカメラ(55または65)で撮像して得られた左目用画像(左仮想空間画像74aまたは左UI画像75a)と右目用画像(右仮想空間画像74bまたは右UI画像75b)とを左右方向にずらすことによって、視差を調整してもよい。具体的には、例えば、ユーザインターフェース60〜63の視差を調整する場合において、次のようにしてユーザインターフェース60〜63を手前方向に表示させることができる。図19は、UI用仮想ステレオカメラ65で撮像して得られた左UI画像75aと右UI画像75bとを横方向にずらして2つの画像を重ね合わせた図である。図19に示すように、左UI画像75aを右方向にずらして上側LCD22に表示させ、右UI画像75bを左方向にずらして上側LCD22に表示させる。この場合、2つの画像が重なり合った部分のみが上側LCD22に表示される。なお、図19では、左右の画像が上下方向に僅かにずれて表示されているが、実際にはこれらの画像は上下方向にはずれておらず、左右方向のみずれているものとする。例えば、左UI画像75aに含まれるユーザインターフェース60の画像60aは調整前と比べてより右側に、右UI画像75bに含まれるユーザインターフェース60の画像60bは調整前と比べてより左側に表示される。このため、ユーザインターフェース60は、調整前と比べて画面のより手前方向に表示されているように、ユーザは感じる。あるいは、左UI画像75aおよび右UI画像75bの全体を左右方向にずらさずに、左UI画像75aおよび右UI画像75bに含まれるユーザインターフェースの画像のみを左右方向にずらすことによって、視差を調整してもよい。仮想オブジェクト50〜53を撮像した画像についても同様の方法により視差を調整可能である。このようにして2つの画像の視差を調整してもよい。
【0132】
また、仮想ステレオカメラによって視差を生じさせずに、1つの仮想カメラによって視差を生じさせてもよい。すなわち、上述のように、1つの仮想カメラで2つの画像を撮像して、これら2つの画像を左右方向にずらすことによって視差を生じさせてもよい。あるいは、画像に含まれるオブジェクト(仮想オブジェクトまたはユーザインターフェース)の位置をずらすことによって視差を生じさせてもよい。
【0133】
また、上記実施形態では、下側LCD12(タッチパネル13)に対するタッチ操作によってユーザインターフェースの視差を調整したが、他の実施形態では、ユーザによる入力はどのような手段を用いて行われてもよい。例えば、ボタン操作(14A〜14E、14G,14H,15等に対する操作)に応じてユーザインターフェースの視差を調整してもよい。また、例えば、ユーザがゲーム装置10を傾けたり、ゲーム装置10を所定の方向に振ったりすることによって、ユーザインターフェースの視差を調整してもよい。ゲーム装置10の傾きやゲーム装置10が所定の方向に振られたか否かは、上記加速度センサ39や角速度センサ46を用いて検出することができる。また、同様に、仮想オブジェクトの視差(仮想空間の視差)の調整は、3D調整スイッチ25に限られず、ボタン操作等によって行われてもよい。
【0134】
また、本実施形態では、ゲーム装置は2画面を有していたが、他の実施形態では立体表示可能な1画面のみであってもよい。
【0135】
また、他の実施形態では、上記ゲームに限らず他の任意のゲームにも上記ユーザインターフェースの調整方法が適用されてもよい。また、ゲームに限らず、仮想空間を撮像した画像と、当該仮想空間の画像とは異なるユーザに対する情報を表示するユーザインターフェースとを立体的に表示するような場合においても、上記方法が適用されてもよい。また、実空間の画像に、文字やアイコン等のユーザインターフェースが重畳表示されて立体視画像が表示される場合において、上記方法が適用されてもよい。すなわち、文字等の視差調整を実空間の画像の視差調整とは別に行うようにしてもよい。例えば、外側撮像部23で実空間を撮像した立体視画像(静止画や動画)をボタン操作のためのアイコンとともに上側LCD22に表示する場合において、表示された立体視画像の視差調整を行うとともに当該アイコンの視差調整を上記方法によって行ってもよい。この場合、実空間を撮像した立体視画像の視差調整は、3D調整スイッチ25あるいはその他のボタンを用いて行われ、撮像した左右の実画像を横方向にずらすことによって行われてもよい。なお、当該アイコンは、ユーザインターフェースの一種であって、例えば、上側LCD22の画面の右下に表示され、複数撮像した立体視画像のうちの次の画像を表示させるために用いられる所定のボタン(ボタン14A)を表す画像であってもよい。
【0136】
以上のように、本発明の一実施形態では、プレイヤからの第1入力情報(タッチ操作、ボタン操作、その他の操作による入力情報)を取得し、当該第1入力情報に基づいて、ユーザインターフェースの視差(UI視差)が調整される。また、プレイヤからの第2入力情報(3D調整スイッチ25等による入力情報)を取得し、当該第2入力情報に基づいて、仮想空間の視差が調整される。そして、視差が調整されたユーザインターフェースの画像と、視差が調整された仮想空間あるいは実空間の画像とを含む立体視画像(左右の画像)が生成される。そして、生成された立体視画像が立体視表示可能な表示装置に表示される。
【0137】
また、他の実施形態では、上述した表示制御方法は、携帯型ゲーム装置に限らず、据置型ゲーム装置や他の任意の電子機器、例えば、PDA(Personal Digital Assistant)や高機能携帯電話、立体視表示可能な表示装置に接続されたパーソナルコンピュータ等に適用されてもよい。
【0138】
また、本実施形態では、表示装置として裸眼で立体視画像を表示可能なLCDが用いられた。他の実施形態では、眼鏡を用いて立体視画像を表示するような方式(時分割方式や偏向方式、アナグリフ方式(赤青眼鏡方式)など)や、ヘッドマウントディスプレイを用いる方式等においても、本発明は適用可能である。
【0139】
また、他の実施形態では、有線や無線等で通信可能に接続された複数の情報処理装置が各処理を分担して処理することにより、上述した表示制御方法を実現する表示制御システムとして構築されてもよい。例えば、入力装置と立体視画像表示装置とが接続された端末が、インターネット上のサーバにアクセスし、上述した処理の少なくとも一部を当該サーバが実行してもよい。そして、サーバが実行結果を端末に返すことで端末側の立体視画像表示装置に立体視画像が表示されてもよい。
【0140】
また、上記実施形態においては、ゲーム装置10の情報処理部31が所定のプログラムを実行することによって、上述したフローチャートによる処理が行われた。他の実施形態においては、上記処理の一部又は全部は、ゲーム装置10が備える専用回路によって行われてもよい。
【符号の説明】
【0141】
10 ゲーム装置
11 下側ハウジング
12 下側LCD
13 タッチパネル
14 操作ボタン
15 アナログスティック
16 LED
21 上側ハウジング
22 上側LCD
23 外側撮像部
23a 外側撮像部(左)
23b 外側撮像部(右)
24 内側撮像部
25 3D調整スイッチ
26 3Dインジケータ
28 タッチペン
31 情報処理部
311 CPU
312 GPU
32 メインメモリ
50 プレイヤキャラクタ
51 敵キャラクタ
52 木オブジェクト
53 地面オブジェクト
55 仮想ステレオカメラ
60、61、62 ユーザインターフェース
63 カーソル
64 UI調整スライダ
65 UI用仮想ステレオカメラ
80 補助面

【特許請求の範囲】
【請求項1】
仮想3次元空間または実空間を立体視表示可能な表示装置に表示させる表示制御装置のコンピュータにおいて実行される表示制御プログラムであって、
ユーザからの第1入力情報を取得する第1取得手段と、
前記第1取得手段によって取得された第1入力情報に基づいて、ユーザインターフェースの視差を調整する第1視差調整手段と、
ユーザからの第2入力情報を取得する第2取得手段と、
前記第2取得手段によって取得された第2入力情報に基づいて、前記仮想3次元空間または実空間の視差を調整する第2視差調整手段と、
前記第1視差調整手段によって視差が調整されたユーザインターフェースの画像と、前記第2視差調整手段によって視差が調整された前記仮想3次元空間または実空間の画像とを含む立体視画像を生成する立体視画像生成手段と、
前記立体視画像生成手段によって生成された立体視画像を前記表示装置に表示させる表示制御手段として、前記コンピュータを機能させる、表示制御プログラム。
【請求項2】
前記第1視差調整手段は、前記第1取得手段によって取得された第1入力情報と前記第2視差調整手段によって調整された前記仮想3次元空間または実空間の視差とに基づいて、前記ユーザインターフェースの視差を調整する、請求項1に記載の表示制御プログラム。
【請求項3】
前記第1視差調整手段は、前記仮想3次元空間または実空間の視差に基づいた範囲内で前記ユーザインターフェースの視差を調整する、請求項2に記載の表示制御プログラム。
【請求項4】
前記第1視差調整手段は、前記仮想3次元空間または実空間の視差に応じて前記ユーザインターフェースの視差の基準値を設定し、当該基準値を前記第1取得手段によって取得された第1入力情報に応じて相対的に変化させることにより、前記ユーザインターフェースの視差を調整する、請求項2又は3に記載の表示制御プログラム。
【請求項5】
前記立体視画像生成手段は、
前記ユーザインターフェースを前記第1視差調整手段で調整された視差で描画した第1立体視画像を生成する第1立体視画像生成手段と、
前記仮想3次元空間を仮想ステレオカメラで撮像、または実空間をステレオカメラで撮像することにより第2立体視画像を生成する第2立体視画像生成手段とを含み、
前記第1立体視画像と前記第2立体視画像とを重ねることにより前記立体視画像を生成する、請求項1から4の何れかに記載の表示制御プログラム。
【請求項6】
前記第1立体視画像生成手段は、UI用仮想ステレオカメラで前記ユーザインターフェースを撮像することにより、前記第1立体視画像を生成する、請求項5に記載の表示制御プログラム。
【請求項7】
前記第1視差調整手段は、前記UI用仮想ステレオカメラの左右の仮想カメラ間の距離を前記第1入力情報に基づいて設定することにより、前記ユーザインターフェースの視差を調整する、請求項6に記載の表示制御プログラム。
【請求項8】
前記立体視画像生成手段は、前記第2立体視画像の前面に前記第1立体視画像を重ね合わせることにより前記立体視画像を生成する、請求項5から7の何れかに記載の表示制御プログラム。
【請求項9】
前記第1視差調整手段は、前記第1入力情報に基づいて、前記仮想3次元空間に前記ユーザインターフェースを配置することにより、前記ユーザインターフェースの視差を調整し、
前記立体視画像生成手段は、前記第1視差調整手段によってユーザインターフェースが配置された仮想3次元空間を仮想ステレオカメラで撮像することにより前記立体視画像を生成する、請求項1から4の何れかに記載の表示制御プログラム。
【請求項10】
前記仮想3次元空間には所定の仮想オブジェクトが配置され、
前記立体視画像生成手段は、前記仮想ステレオカメラから見た場合において、前記ユーザインターフェースが前記仮想オブジェクトよりも後ろに位置する場合でも、前記ユーザインターフェースが前記仮想オブジェクトの前に位置するものとして、前記立体視画像を生成する、請求項9に記載の表示制御プログラム。
【請求項11】
前記第1視差調整手段による前記ユーザインターフェースの視差の調整が行われる際、当該視差の調整の基準となる表示を行う基準表示手段として、前記コンピュータを更に機能させる、請求項1から10の何れかに記載の表示制御プログラム。
【請求項12】
前記基準表示手段は、前記ユーザインターフェースの視差の調整の基準として、前記表示装置の画面に垂直な方向における前記ユーザインターフェースの表示位置を示す補助面を前記表示装置に表示させる、請求項11に記載の表示制御プログラム。
【請求項13】
仮想3次元空間または実空間を立体視表示可能な表示装置に表示させる表示制御装置であって、
ユーザからの第1入力情報を取得する第1取得手段と、
前記第1取得手段によって取得された第1入力情報に基づいて、ユーザインターフェースの視差を調整する第1視差調整手段と、
ユーザからの第2入力情報を取得する第2取得手段と、
前記第2取得手段によって取得された第2入力情報に基づいて、前記仮想3次元空間または実空間の視差を調整する第2視差調整手段と、
前記第1視差調整手段によって視差が調整されたユーザインターフェースの画像と、前記第2視差調整手段によって視差が調整された前記仮想3次元空間または実空間の画像とを含む立体視画像を生成する立体視画像生成手段と、
前記立体視画像生成手段によって生成された立体視画像を前記表示装置に表示させる表示制御手段とを備える、表示制御装置。
【請求項14】
仮想3次元空間または実空間を立体視表示可能な表示装置に表示させる表示制御システムであって、
ユーザからの第1入力情報を取得する第1取得手段と、
前記第1取得手段によって取得された第1入力情報に基づいて、ユーザインターフェースの視差を調整する第1視差調整手段と、
ユーザからの第2入力情報を取得する第2取得手段と、
前記第2取得手段によって取得された第2入力情報に基づいて、前記仮想3次元空間または実空間の視差を調整する第2視差調整手段と、
前記第1視差調整手段によって視差が調整されたユーザインターフェースの画像と、前記第2視差調整手段によって視差が調整された前記仮想3次元空間または実空間の画像とを含む立体視画像を生成する立体視画像生成手段と、
前記立体視画像生成手段によって生成された立体視画像を前記表示装置に表示させる表示制御手段とを備える、表示制御システム。
【請求項15】
仮想3次元空間または実空間を立体視表示可能な表示装置に表示させる表示制御方法であって、
ユーザからの第1入力情報を取得する第1取得ステップと、
前記第1取得ステップで取得された第1入力情報に基づいて、ユーザインターフェースの視差を調整する第1視差調整ステップと、
ユーザからの第2入力情報を取得する第2取得ステップと、
前記第2取得ステップで取得された第2入力情報に基づいて、前記仮想3次元空間または実空間の視差を調整する第2視差調整ステップと、
前記第1視差調整ステップで視差が調整されたユーザインターフェースの画像と、前記第2視差調整ステップで視差が調整された前記仮想3次元空間または実空間の画像とを含む立体視画像を生成する立体視画像生成ステップと、
前記立体視画像生成ステップで生成された立体視画像を前記表示装置に表示させる表示制御ステップとを含む、表示制御方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8A】
image rotate

【図8B】
image rotate

【図9A】
image rotate

【図9B】
image rotate

【図10A】
image rotate

【図10B】
image rotate

【図11A】
image rotate

【図11B】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18A】
image rotate

【図18B】
image rotate

【図19】
image rotate


【公開番号】特開2012−169911(P2012−169911A)
【公開日】平成24年9月6日(2012.9.6)
【国際特許分類】
【出願番号】特願2011−29785(P2011−29785)
【出願日】平成23年2月15日(2011.2.15)
【出願人】(000233778)任天堂株式会社 (1,115)
【Fターム(参考)】