【文献】
ニンテンドー3DS、正式発表!! E3 2010リポート 〜ベールに包まれていた魅惑のハードを完全解剖! これで携帯ゲーム機が変わる!?〜,週刊ファミ通 第25巻 第27号,株式会社エンターブレイン,2010年 6月24日,12-13頁
(58)【調査した分野】(Int.Cl.,DB名)
前記表示制御プログラムは、前記移動操作が行われていない間、前記第2の表示領域における前記シンボル画像の現在位置とは無関係に、当該シンボル画像に対応するオブジェクトを所定のアルゴリズムに従って自動的に移動させるオブジェクト自動制御手段として前記コンピュータをさらに機能させる、請求項1に記載の表示制御プログラム。
前記オブジェクト自動制御手段は、前記移動操作が行われていない間であって、前記移動操作が行われなくなって所定時間後から、前記オブジェクトを自動的に移動させる、請求項6に記載の表示制御プログラム。
前記オブジェクト自動制御手段は、前記移動操作が開始された時点で、前記第2の表示領域における前記シンボル画像の現在位置に対応する前記仮想空間内の位置に、当該シンボル画像に対応するオブジェクトを移動させる、請求項6または請求項7に記載の表示制御プログラム。
前記オブジェクトの少なくとも一部を描画することによって当該オブジェクトに対応するシンボル画像を生成するシンボル画像生成手段として前記コンピュータをさらに機能させる、請求項1〜請求項13のいずれかに記載の表示制御プログラム。
前記シンボル画像表示制御手段は、前記複数のシンボル画像をそれぞれの並び順に従って、予め設定された複数の配置領域のいずれかにそれぞれ配置して前記第2の表示領域に表示する、請求項1〜請求項14のいずれかに記載の表示制御プログラム。
【発明を実施するための形態】
【0045】
(ゲーム装置の構成)
以下、本発明の一実施形態に係るゲーム装置について説明する。
図1〜
図3は、ゲーム装置10の外観を示す平面図である。ゲーム装置10は携帯型のゲーム装置であり、
図1〜
図3に示すように折り畳み可能に構成されている。
図1および
図2は、開いた状態(開状態)におけるゲーム装置10を示し、
図3は、閉じた状態(閉状態)におけるゲーム装置10を示している。
図1は、開状態におけるゲーム装置10の正面図であり、
図2は、開状態におけるゲーム装置10の右側面図である。ゲーム装置10は、撮像部によって画像を撮像し、撮像した画像を画面に表示したり、撮像した画像のデータを保存したりすることが可能である。また、ゲーム装置10は、交換可能なメモリカード内に記憶され、または、サーバーや他のゲーム装置から受信したゲームプログラムを実行可能であり、仮想空間に設定された仮想カメラで撮像した画像などのコンピュータグラフィックス処理により生成された画像を画面に表示したりすることができる。
【0046】
まず、
図1〜
図3を参照して、ゲーム装置10の外観構成について説明する。
図1〜
図3に示されるように、ゲーム装置10は、下側ハウジング11および上側ハウジング21を有する。下側ハウジング11と上側ハウジング21とは、開閉可能(折り畳み可能)に接続されている。本実施形態では、各ハウジング11および21はともに横長の長方形の板状形状であり、互いの長辺部分で回転可能に接続されている。
【0047】
図1および
図2に示されるように、下側ハウジング11の上側長辺部分には、下側ハウジング11の内側面(主面)11Bに対して垂直な方向に突起する突起部11Aが設けられる。また、上側ハウジング21の下側長辺部分には、上側ハウジング21の下側面から当該下側面に垂直な方向に突起する突起部21Aが設けられる。下側ハウジング11の突起部11Aと上側ハウジング21の突起部21Aとが連結されることにより、下側ハウジング11と上側ハウジング21とが、折り畳み可能に接続される。
【0048】
(下側ハウジングの説明)
まず、下側ハウジング11の構成について説明する。
図1〜
図3に示すように、下側ハウジング11には、下側LCD(Liquid Crystal Display:液晶表示装置)12、タッチパネル13、各操作ボタン14A〜14L(
図1、
図3)、アナログスティック15、LED16A〜16B、挿入口17、および、マイクロフォン用孔18が設けられる。以下、これらの詳細について説明する。
【0049】
図1に示すように、下側LCD12は下側ハウジング11に収納される。下側LCD12は横長形状であり、長辺方向が下側ハウジング11の長辺方向に一致するように配置される。下側LCD12は下側ハウジング11の中央に配置される。下側LCD12は、下側ハウジング11の内側面(主面)に設けられ、下側ハウジング11に設けられた開口部から当該下側LCD12の画面が露出される。ゲーム装置10を使用しない場合には閉状態としておくことによって、下側LCD12の画面が汚れたり傷ついたりすることを防止することができる。下側LCD12の画素数は、例えば、256dot×192dot(横×縦)であってもよい。下側LCD12は、後述する上側LCD22とは異なり、画像を(立体視可能ではなく)平面的に表示する表示装置である。なお、本実施形態では表示装置としてLCDを用いているが、例えばEL(Electro Luminescence:電界発光)を利用した表示装置など、他の任意の表示装置を利用してもよい。また、下側LCD12として、任意の解像度の表示装置を利用することができる。
【0050】
図1に示されるように、ゲーム装置10は、入力装置として、タッチパネル13を備えている。タッチパネル13は、下側LCD12の画面上に装着されている。なお、本実施形態では、タッチパネル13は抵抗膜方式のタッチパネルである。ただし、タッチパネルは抵抗膜方式に限らず、例えば静電容量方式等、任意の方式のタッチパネルを用いることができる。本実施形態では、タッチパネル13として、下側LCD12の解像度と同解像度(検出精度)のものを利用する。ただし、必ずしもタッチパネル13の解像度と下側LCD12の解像度が一致している必要はない。また、下側ハウジング11の上側面には挿入口17(
図1および
図3(d)に示す点線)が設けられている。挿入口17は、タッチパネル13に対する操作を行うために用いられるタッチペン28を収納することができる。なお、タッチパネル13に対する入力は通常タッチペン28を用いて行われるが、タッチペン28に限らずユーザの指でタッチパネル13に対する入力をすることも可能である。
【0051】
各操作ボタン14A〜14Lは、所定の入力を行うための入力装置である。
図1に示されるように、下側ハウジング11の内側面(主面)には、各操作ボタン14A〜14Lのうち、十字ボタン14A(方向入力ボタン14A)、ボタン14B、ボタン14C、ボタン14D、ボタン14E、電源ボタン14F、セレクトボタン14J、HOMEボタン14K、およびスタートボタン14Lが、設けられる。十字ボタン14Aは、十字の形状を有しており、上下左右の方向を指示するボタンを有している。ボタン14B、ボタン14C、ボタン14D、ボタン14Eは、十字状に配置される。ボタン14A〜14E、セレクトボタン14J、HOMEボタン14K、およびスタートボタン14Lには、ゲーム装置10が実行するプログラムに応じた機能が適宜割り当てられる。例えば、十字ボタン14Aは選択操作等に用いられ、各操作ボタン14B〜14Eは例えば決定操作やキャンセル操作等に用いられる。また、電源ボタン14Fは、ゲーム装置10の電源をオン/オフするために用いられる。
【0052】
アナログスティック15は、方向を指示するデバイスであり、下側ハウジング11の内側面の下側LCD12より左側領域の上部領域に設けられる。
図1に示すように、十字ボタン14Aは下側LCD12より左側領域の下部領域に設けられるので、アナログスティック15は、十字ボタン14Aの上方に設けられる。また、アナログスティック15、および、十字ボタン14Aは、下側ハウジングを把持した左手の親指で操作可能な位置に設計される。また、アナログスティック15を上部領域に設けたことにより、下側ハウジング11を把持する左手の親指が自然と位置するところにアナログスティック15が配され、十字ボタン14Aは、左手の親指を少し下にずらした位置に配される。アナログスティック15は、そのキートップが、下側ハウジング11の内側面に平行にスライドするように構成されている。アナログスティック15は、ゲーム装置10が実行するプログラムに応じて機能する。例えば、3次元仮想空間に所定のオブジェクトが登場するゲームがゲーム装置10によって実行される場合、アナログスティック15は、当該所定のオブジェクトを3次元仮想空間内で移動させるための入力装置として機能する。この場合において、所定のオブジェクトはアナログスティック15のキートップがスライドした方向に移動される。なお、アナログスティック15として、上下左右および斜め方向の任意の方向に所定量だけ傾倒することでアナログ入力を可能としたものを用いても良い。
【0053】
十字状に配置される、ボタン14B、ボタン14C、ボタン14D、ボタン14Eの4つのボタンは、下側ハウジング11を把持する右手の親指が自然と位置するところに配置される。また、これらの4つのボタンと、アナログスティック15とは、下側LCD12を挟んで、左右対称に配置される。これにより、ゲームプログラムによっては、例えば、左利きの人が、これらの4つのボタンを使用して方向指示入力をすることも可能である。
【0054】
また、下側ハウジング11の内側面には、マイクロフォン用孔18が設けられる。マイクロフォン用孔18の下部には後述する音声入力装置としてのマイク(
図6参照)が設けられ、当該マイクがゲーム装置10の外部の音を検出する。
【0055】
図3(a)は閉状態におけるゲーム装置10の左側面図であり、
図3(b)は閉状態におけるゲーム装置10の正面図であり、
図3(c)は閉状態におけるゲーム装置10の右側面図であり、
図3(d)は閉状態におけるゲーム装置10の背面図である。
図3(b)および(d)に示されるように、下側ハウジング11の上側面には、Lボタン14GおよびRボタン14Hが設けられている。Lボタン14Gは、下側ハウジング11の上面の左端部に設けられ、Rボタン14Hは、下側ハウジング11の上面の右端部に設けられる。Lボタン14GおよびRボタン14Hは、例えば、撮像部のシャッターボタン(撮影指示ボタン)として機能することができる。また、
図3(a)に示されるように、下側ハウジング11の左側面には、音量ボタン14Iが設けられる。音量ボタン14Iは、ゲーム装置10が備えるスピーカの音量を調整するために用いられる。
【0056】
図3(a)に示されるように、下側ハウジング11の左側面には開閉可能なカバー部11Cが設けられる。このカバー部11Cの内側には、ゲーム装置10とデータ保存用外部メモリ45とを電気的に接続するためのコネクタ(図示せず)が設けられる。データ保存用外部メモリ45は、コネクタに着脱自在に装着される。データ保存用外部メモリ45は、例えば、ゲーム装置10によって撮像された画像のデータを記憶(保存)するために用いられる。なお、上記コネクタおよびそのカバー部11Cは、下側ハウジング11の右側面に設けられてもよい。
【0057】
また、
図3(d)に示されるように、下側ハウジング11の上側面には、ゲーム装置10とゲームプログラムを記録した外部メモリ44を挿入するための挿入口11Dが設けられ、その挿入口11Dの内部には、外部メモリ44と電気的に着脱自在に接続するためのコネクタ(図示せず)が設けられる。当該外部メモリ44がゲーム装置10に接続されることにより、所定のゲームプログラムが実行される。なお、上記コネクタおよびその挿入口11Dは、下側ハウジング11の他の側面(例えば、右側面等)に設けられてもよい。
【0058】
また、
図1および
図3(c)に示されるように、下側ハウジング11の下側面にはゲーム装置10の電源のON/OFF状況をユーザに通知する第1LED16A、下側ハウジング11の右側面にはゲーム装置10の無線通信の確立状況をユーザに通知する第2LED16Bが設けられる。ゲーム装置10は他の機器との間で無線通信を行うことが可能であり、第1LED16Bは、無線通信が確立している場合に点灯する。ゲーム装置10は、例えば、IEEE802.11.b/gの規格に準拠した方式により、無線LANに接続する機能を有する。下側ハウジング11の右側面には、この無線通信の機能を有効/無効にする無線スイッチ19が設けられる(
図3(c)参照)。
【0059】
なお、図示は省略するが、下側ハウジング11には、ゲーム装置10の電源となる充電式電池が収納され、下側ハウジング11の側面(例えば、上側面)に設けられた端子を介して当該電池を充電することができる。
【0060】
(上側ハウジングの説明)
次に、上側ハウジング21の構成について説明する。
図1〜
図3に示すように、上側ハウジング21には、上側LCD(Liquid Crystal Display:液晶表示装置)22、外側撮像部23(外側撮像部(左)23aおよび外側撮像部(右)23b)、内側撮像部24、3D調整スイッチ25、および、3Dインジケータ26が設けられる。以下、これらの詳細について説明する。
【0061】
図1に示すように、上側LCD22は上側ハウジング21に収納される。上側LCD22は、横長形状であり、長辺方向が上側ハウジング21の長辺方向に一致するように配置される。上側LCD22は上側ハウジング21の中央に配置される。上側LCD22の画面の面積は、下側LCD12の画面の面積よりも大きく設定される。また、上側LCD22の画面は、下側LCD12の画面よりも横長に設定される。すなわち、上側LCD22の画面のアスペクト比における横幅の割合は、下側LCD12の画面のアスペクト比における横幅の割合よりも大きく設定される。
【0062】
上側LCD22の画面は、上側ハウジング21の内側面(主面)21Bに設けられ、上側ハウジング21に設けられた開口部から当該上側LCD22の画面が露出される。また、
図2に示すように、上側ハウジング21の内側面は、透明なスクリーンカバー27によって覆われている。当該スクリーンカバー27は、上側LCD22の画面を保護するとともに、上側LCD22と上側ハウジング21の内側面と一体的にさせ、これにより統一感を持たせている。上側LCD22の画素数は、例えば、640dot×200dot(横×縦)であってもよい。なお、本実施形態では上側LCD22は液晶表示装置であるとしたが、例えばEL(Electro Luminescence:電界発光)を利用した表示装置などが利用されてもよい。また、上側LCD22として、任意の解像度の表示装置を利用することができる。
【0063】
上側LCD22は、立体視可能な画像を表示することが可能な表示装置である。また、本実施例では、実質的に同一の表示領域を用いて左目用画像と右目用画像が表示される。具体的には、左目用画像と右目用画像が所定単位で(例えば、1列ずつ)横方向に交互に表示される方式の表示装置である。または、左目用画像と右目用画像とが交互に表示される方式の表示装置であってもよい。また、本実施例では、裸眼立体視可能な表示装置である。そして、横方向に交互に表示される左目用画像と右目用画像とを左目および右目のそれぞれに分解して見えるようにレンチキュラー方式やパララックスバリア方式(視差バリア方式)のものが用いられる。本実施形態では、上側LCD22はパララックスバリア方式のものとする。上側LCD22は、右目用画像と左目用画像とを用いて、裸眼で立体視可能な画像(立体画像)を表示する。すなわち、上側LCD22は、視差バリアを用いてユーザの左目に左目用画像をユーザの右目に右目用画像を視認させることにより、ユーザにとって立体感のある立体画像(立体視可能な画像)を表示することができる。また、上側LCD22は、上記視差バリアを無効にすることが可能であり、視差バリアを無効にした場合は、画像を平面的に表示することができる(上述した立体視とは反対の意味で平面視の画像を表示することができる。すなわち、表示された同一の画像が右目にも左目にも見えるような表示モードである)。このように、上側LCD22は、立体視可能な画像を表示する立体表示モードと、画像を平面的に表示する(平面視画像を表示する)平面表示モードとを切り替えることが可能な表示装置である。この表示モードの切り替えは、後述する3D調整スイッチ25によって行われる。
【0064】
外側撮像部23は、上側ハウジング21の外側面(上側LCD22が設けられた主面と反対側の背面)21Dに設けられた2つの撮像部(23aおよび23b)の総称である。外側撮像部(左)23aと外側撮像部(右)23bの撮像方向は、いずれも当該外側面21Dの外向きの法線方向である。また、これらの撮像部はいずれも、上側LCD22の表示面(内側面)の法線方向と180度反対の方向に設計される。すなわち、外側撮像部(左)23aの撮像方向および外側撮像部(右)23bの撮像方向は、平行である。外側撮像部(左)23aと外側撮像部(右)23bとは、ゲーム装置10が実行するプログラムによって、ステレオカメラとして使用することが可能である。また、プログラムによっては、2つの外側撮像部(23aおよび23b)のいずれか一方を単独で用いて、外側撮像部23を非ステレオカメラとして使用することも可能である。また、プログラムによっては、2つの外側撮像部(23aおよび23b)で撮像した画像を合成してまたは補完的に使用することにより撮像範囲を広げた撮像をおこなうことも可能である。本実施形態では、外側撮像部23は、外側撮像部(左)23aおよび外側撮像部(右)23bの2つの撮像部で構成される。外側撮像部(左)23aおよび外側撮像部(右)23bは、それぞれ所定の共通の解像度を有する撮像素子(例えば、CCDイメージセンサやCMOSイメージセンサ等)と、レンズとを含む。レンズは、ズーム機構を有するものでもよい。
【0065】
図1の破線および
図3(b)の実線で示されるように、外側撮像部23を構成する外側撮像部(左)23aおよび外側撮像部(右)23bは、上側LCD22の画面の横方向と平行に並べられて配置される。すなわち、2つの撮像部を結んだ直線が上側LCD22の画面の横方向と平行になるように、外側撮像部(左)23aおよび外側撮像部(右)23bが配置される。
図1の破線で示す23aおよび23bは、上側ハウジング21の内側面とは反対側の外側面に存在する外側撮像部(左)23aおよび外側撮像部(右)23bをそれぞれ表している。
図1に示すように、ユーザが上側LCD22の画面を正面から視認した場合に、外側撮像部(左)23aは左側に外側撮像部(右)23bは右側にそれぞれ位置している。外側撮像部23をステレオカメラとして機能させるプログラムが実行されている場合、外側撮像部(左)23aは、ユーザの左目で視認される左目用画像を撮像し、外側撮像部(右)23bは、ユーザの右目で視認される右目用画像を撮像する。外側撮像部(左)23aおよび外側撮像部(右)23bの間隔は、人間の両目の間隔程度に設定され、例えば、30mm〜70mmの範囲で設定されてもよい。なお、外側撮像部(左)23aおよび外側撮像部(右)23bの間隔は、この範囲に限らない。
【0066】
なお、本実施例においては、外側撮像部(左)23aおよび外側撮像部(右)23はハウジングに固定されており、撮像方向を変更することはできない。
【0067】
また、外側撮像部(左)23aおよび外側撮像部(右)23bは、上側LCD22(上側ハウジング21)の左右方向に関して中央から対称となる位置にそれぞれ配置される。すなわち、外側撮像部(左)23aおよび外側撮像部(右)23bは、上側LCD22を左右に2等分する線に対して対称の位置にそれぞれ配置される。また、外側撮像部(左)23aおよび外側撮像部(右)23bは、上側ハウジング21を開いた状態において、上側ハウジング21の上部であって、上側LCD22の画面の上端よりも上方の位置の裏側に配置される。すなわち、外側撮像部(左)23aおよび外側撮像部(右)23bは、上側ハウジング21の外側面であって、上側LCD22を外側面に投影した場合、投影した上側LCD22の画面の上端よりも上方に配置される。
【0068】
このように、外側撮像部23の2つの撮像部(23aおよび23b)が、上側LCD22の左右方向に関して中央から対称の位置に配置されることにより、ユーザが上側LCD22を正視した場合に、外側撮像部23の撮像方向をユーザの視線方向と一致させることができる。また、外側撮像部23は、上側LCD22の画面の上端より上方の裏側の位置に配置されるため、外側撮像部23と上側LCD22とが上側ハウジング21の内部で干渉することがない。従って、外側撮像部23を上側LCD22の画面の裏側に配置する場合と比べて、上側ハウジング21を薄く構成することが可能となる。
【0069】
内側撮像部24は、上側ハウジング21の内側面(主面)21Bに設けられ、当該内側面の内向きの法線方向を撮像方向とする撮像部である。内側撮像部24は、所定の解像度を有する撮像素子(例えば、CCDイメージセンサやCMOSイメージセンサ等)と、レンズとを含む。レンズは、ズーム機構を有するものでもよい。
【0070】
図1に示すように、内側撮像部24は、上側ハウジング21を開いた状態において、上側ハウジング21の上部であって、上側LCD22の画面の上端よりも上方に配置され、上側ハウジング21の左右方向に関して中央の位置(上側ハウジング21(上側LCD22の画面)を左右に2等分する線の線上)に配置される。具体的には、
図1および
図3(b)に示されるように、内側撮像部24は、上側ハウジング21の内側面であって、外側撮像部23の左右の撮像部(外側撮像部(左)23aおよび外側撮像部(右)23b)の中間の裏側の位置に配置される。すなわち、上側ハウジング21の外側面に設けられた外側撮像部23の左右の撮像部を上側ハウジング21の内側面に投影した場合、当該投影した左右の撮像部の中間に、内側撮像部24が設けられる。
図3(b)で示される破線24は、上側ハウジング21の内側面に存在する内側撮像部24を表している。
【0071】
このように、内側撮像部24は、外側撮像部23とは反対方向を撮像する。内側撮像部24は、上側ハウジング21の内側面であって、外側撮像部23の左右の撮像部の中間位置の裏側に設けられる。これにより、ユーザが上側LCD22を正視した際、内側撮像部24でユーザの顔を正面から撮像することができる。また、外側撮像部23の左右の撮像部と内側撮像部24とが上側ハウジング21の内部で干渉することがないため、上側ハウジング21を薄く構成することが可能となる。
【0072】
3D調整スイッチ25は、スライドスイッチであり、上述のように上側LCD22の表示モードを切り替えるために用いられるスイッチである。また、3D調整スイッチ25は、上側LCD22に表示された立体視可能な画像(立体画像)の立体感を調整するために用いられる。
図1〜
図3に示されるように、3D調整スイッチ25は、上側ハウジング21の内側面および右側面の端部に設けられ、ユーザが上側LCD22を正視した場合に、当該3D調整スイッチ25を視認できる位置に設けられる。また、3D調整スイッチ25の操作部は、内側面および右側面の両方に突出しており、どちらからも視認および操作することができる。なお、3D調整スイッチ25以外のスイッチは全て下側ハウジング11に設けられる。
【0073】
図4は、
図1に示す上側ハウジング21のA−A’線断面図である。
図4に示すように、上側ハウジング21の内側面の右端部には、凹部21Cが形成され、当該凹部21Cに3D調整スイッチ25が設けられる。3D調整スイッチ25は、
図1および
図2に示されるように、上側ハウジング21の正面および右側面から視認可能に配置される。3D調整スイッチ25のスライダ25aは、所定方向(上下方向)の任意の位置にスライド可能であり、当該スライダ25aの位置に応じて上側LCD22の表示モードが設定される。
【0074】
図5Aから
図5Cは、3D調整スイッチ25のスライダ25aがスライドする様子を示す図である。
図5Aは、3D調整スイッチ25のスライダ25aが最下点(第3の位置)に存在する様子を示す図である。
図5Bは、3D調整スイッチ25のスライダ25aが最下点よりも上方位置(第1の位置)に存在する様子を示す図である。
図5Cは、3D調整スイッチ25のスライダ25aが最上点(第2の位置)に存在する様子を示す図である。
【0075】
図5Aに示すように、3D調整スイッチ25のスライダ25aが最下点位置(第3の位置)に存在する場合、上側LCD22は平面表示モードに設定され、上側LCD22の画面には平面画像が表示される(なお、上側LCD22を立体表示モードのままとして、左目用画像と右目用画像を同一の画像とすることにより平面表示してもよい)。一方、
図5Bに示す位置(最下点より上側の位置(第1の位置))から
図5Cに示す位置(最上点の位置(第2の位置))までの間にスライダ25aが存在する場合、上側LCD22は立体表示モードに設定される。この場合、上側LCD22の画面には立体視可能な画像が表示される。スライダ25aが第1の位置から第2の位置の間に存在する場合、スライダ25aの位置に応じて、立体画像の見え方が調整される。具体的には、スライダ25aの位置に応じて、右目用画像および左目用画像の横方向の位置のずれ量が調整される。3D調整スイッチ25のスライダ25aは、第3の位置で固定されるように構成されており、第1の位置と第2の位置との間では上下方向に任意の位置にスライド可能に構成されている。例えば、スライダ25aは、第3の位置において、3D調整スイッチ25を形成する側面から
図5Aに示す横方向に突出した凸部(図示せず)によって固定されて、所定以上の力が上方に加わらないと第3の位置よりも上方にスライドしないように構成されている。第3の位置から第1の位置にスライダ25aが存在する場合、立体画像の見え方は調整されないが、これはいわゆるあそびである。他の例においては、あそびをなくして、第3の位置と第1の位置とを同じ位置としてもよい。また、第3の位置を第1の位置と第2の位置の間としてもよい。その場合、スライダを第3の位置から第1の位置の方向に動かした場合と、第2の方向に動かした場合とで、右目用画像および左目用画像の横方向の位置のずれ量の調整する方向が逆になる。
【0076】
3Dインジケータ26は、上側LCD22が立体表示モードか否かを示す。3Dインジケータ26は、LEDであり、上側LCD22の立体表示モードが有効の場合に点灯する。なお、3Dインジケータ26は、上側LCD22が立体表示モードになっており、かつ、立体視画像を表示するプログラム処理が実行されているとき(すなわち、3D調整スイッチが上記第1の位置から上記第2の位置にあるときに、左目用画像と右目用画像が異なるような画像処理が実行されているとき)に限り、点灯するようにしてもよい。
図1に示されるように、3Dインジケータ26は、上側ハウジング21の内側面に設けられ、上側LCD22の画面近傍に設けられる。このため、ユーザが上側LCD22の画面を正視した場合、ユーザは3Dインジケータ26を視認しやすい。従って、ユーザは上側LCD22の画面を視認している状態でも、上側LCD22の表示モードを容易に認識することができる。
【0077】
また、上側ハウジング21の内側面には、スピーカ孔21Eが設けられる。後述するスピーカ43からの音声がこのスピーカ孔21Eから出力される。
【0078】
(ゲーム装置10の内部構成)
次に、
図6を参照して、ゲーム装置10の内部の電気的構成について説明する。
図6は、ゲーム装置10の内部構成を示すブロック図である。
図6に示すように、ゲーム装置10は、上述した各部に加えて、情報処理部31、メインメモリ32、外部メモリインターフェイス(外部メモリI/F)33、データ保存用外部メモリI/F34、データ保存用内部メモリ35、無線通信モジュール36、ローカル通信モジュール37、リアルタイムクロック(RTC)38、加速度センサ39、電源回路40、およびインターフェイス回路(I/F回路)41等の電子部品を備えている。これらの電子部品は、電子回路基板上に実装されて下側ハウジング11(または上側ハウジング21でもよい)内に収納される。
【0079】
情報処理部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に当該画像が表示される。
【0080】
情報処理部31には、メインメモリ32、外部メモリI/F33、データ保存用外部メモリI/F34、および、データ保存用内部メモリ35が接続される。外部メモリI/F33は、外部メモリ44を着脱自在に接続するためのインターフェイスである。また、データ保存用外部メモリI/F34は、データ保存用外部メモリ45を着脱自在に接続するためのインターフェイスである。
【0081】
メインメモリ32は、情報処理部31(のCPU311)のワーク領域やバッファ領域として用いられる揮発性の記憶手段である。すなわち、メインメモリ32は、上記プログラムに基づく処理に用いられる各種データを一時的に記憶したり、外部(外部メモリ44や他の機器等)から取得されるプログラムを一時的に記憶したりする。本実施形態では、メインメモリ32として例えばPSRAM(Pseudo−SRAM)を用いる。
【0082】
外部メモリ44は、情報処理部31によって実行されるプログラムを記憶するための不揮発性の記憶手段である。外部メモリ44は、例えば読み取り専用の半導体メモリで構成される。外部メモリ44が外部メモリI/F33に接続されると、情報処理部31は外部メモリ44に記憶されたプログラムを読み込むことができる。情報処理部31が読み込んだプログラムを実行することにより、所定の処理が行われる。データ保存用外部メモリ45は、不揮発性の読み書き可能なメモリ(例えばNAND型フラッシュメモリ)で構成され、所定のデータを格納するために用いられる。例えば、データ保存用外部メモリ45には、外側撮像部23で撮像された画像や他の機器で撮像された画像が記憶される。データ保存用外部メモリ45がデータ保存用外部メモリI/F34に接続されると、情報処理部31はデータ保存用外部メモリ45に記憶された画像を読み込み、上側LCD22及び/又は下側LCD12に当該画像を表示することができる。
【0083】
データ保存用内部メモリ35は、読み書き可能な不揮発性メモリ(例えばNAND型フラッシュメモリ)で構成され、所定のデータを格納するために用いられる。例えば、データ保存用内部メモリ35には、無線通信モジュール36を介した無線通信によってダウンロードされたデータやプログラムが格納される。
【0084】
無線通信モジュール36は、例えばIEEE802.11.b/gの規格に準拠した方式により、無線LANに接続する機能を有する。また、ローカル通信モジュール37は、所定の通信方式(例えば独自プロトコルによる通信や、赤外線通信)により同種のゲーム装置との間で無線通信を行う機能を有する。無線通信モジュール36およびローカル通信モジュール37は情報処理部31に接続される。情報処理部31は、無線通信モジュール36を用いてインターネットを介して他の機器との間でデータを送受信したり、ローカル通信モジュール37を用いて同種の他のゲーム装置との間でデータを送受信したりすることができる。
【0085】
また、情報処理部31には、加速度センサ39が接続される。加速度センサ39は、3軸(xyz軸)方向に沿った直線方向の加速度(直線加速度)の大きさを検出する。加速度センサ39は、下側ハウジング11の内部に設けられる。加速度センサ39は、
図1に示すように、下側ハウジング11の長辺方向をx軸、下側ハウジング11の短辺方向をy軸、下側ハウジング11の内側面(主面)に対して垂直な方向をz軸として、各軸の直線加速度の大きさを検出する。なお、加速度センサ39は、例えば静電容量式の加速度センサであるとするが、他の方式の加速度センサを用いるようにしてもよい。また、加速度センサ39は1軸又は2軸方向を検出する加速度センサであってもよい。情報処理部31は、加速度センサ39が検出した加速度を示すデータ(加速度データ)を受信して、ゲーム装置10の姿勢や動きを検出することができる。
【0086】
また、情報処理部31には、RTC38および電源回路40が接続される。RTC38は、時間をカウントして情報処理部31に出力する。情報処理部31は、RTC38によって計時された時間に基づき現在時刻(日付)を計算する。電源回路40は、ゲーム装置10が有する電源(下側ハウジング11に収納される上記充電式電池)からの電力を制御し、ゲーム装置10の各部品に電力を供給する。
【0087】
また、情報処理部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に対して入力が行われた位置を知ることができる。
【0088】
操作ボタン14は、上記各操作ボタン14A〜14Lからなり、情報処理部31に接続される。操作ボタン14から情報処理部31へは、各操作ボタン14A〜14Iに対する入力状況(押下されたか否か)を示す操作データが出力される。情報処理部31は、操作ボタン14から操作データを取得することによって、操作ボタン14に対する入力に従った処理を実行する。
【0089】
下側LCD12および上側LCD22は情報処理部31に接続される。下側LCD12および上側LCD22は、情報処理部31(のGPU312)の指示に従って画像を表示する。本実施形態では、情報処理部31は、上側LCD22に立体画像(立体視可能な画像)を表示させる。
【0090】
具体的には、情報処理部31は、上側LCD22のLCDコントローラ(図示せず)と接続され、当該LCDコントローラに対して視差バリアのON/OFFを制御する。上側LCD22の視差バリアがONになっている場合、情報処理部31のVRAM313に格納された右目用画像と左目用画像とが、上側LCD22に出力される。より具体的には、LCDコントローラは、右目用画像について縦方向に1ライン分の画素データを読み出す処理と、左目用画像について縦方向に1ライン分の画素データを読み出す処理とを交互に繰り返すことによって、VRAM313から右目用画像と左目用画像とを読み出す。これにより、右目用画像および左目用画像が、画素を縦に1ライン毎に並んだ短冊状画像に分割され、分割された右目用画像の短冊状画像と左目用画像の短冊状画像とが交互に配置された画像が、上側LCD22の画面に表示される。そして、上側LCD22の視差バリアを介して当該画像がユーザに視認されることによって、ユーザの右目に右目用画像が、ユーザの左目に左目用画像が視認される。以上により、上側LCD22の画面には立体視可能な画像が表示される。
【0091】
外側撮像部23および内側撮像部24は、情報処理部31に接続される。外側撮像部23および内側撮像部24は、情報処理部31の指示に従って画像を撮像し、撮像した画像データを情報処理部31に出力する。
【0092】
3D調整スイッチ25は、情報処理部31に接続される。3D調整スイッチ25は、スライダ25aの位置に応じた電気信号を情報処理部31に送信する。
【0093】
また、3Dインジケータ26は、情報処理部31に接続される。情報処理部31は、3Dインジケータ26の点灯を制御する。例えば、情報処理部31は、上側LCD22が立体表示モードである場合、3Dインジケータ26を点灯させる。以上がゲーム装置10の内部構成の説明である。
【0094】
(ゲーム装置10の動作の概要)
以下、本実施形態におけるゲーム装置10の動作の概要について説明する。本実施形態では、仮想空間に配置されたオブジェクトと当該オブジェクトに対応するシンボル画像とを上側LCD22および下側LCD12の画面にそれぞれ表示するための表示制御処理が行われる。当該表示制御処理は、後述する表示制御プログラムに基づいて、CPU311によって実行される。以下の説明では、上側LCD22の画面を単に「上画面」と称し、下側LCD12の画面を単に「下画面」と称することがある。
【0095】
ゲーム装置10のデータ保存用内部メモリ35には、ユーザが作成した、人間を模した1以上のオブジェクトに関する情報がオブジェクトデータとして記憶されている。当該オブジェクトの作成は、例えば、ニックネームの入力、性別の選択、パーツ(輪郭、体型、目、鼻、口、眉毛、髪型など)の選択などをユーザが行うことによって行われる。当該オブジェクトは、例えばゲームにおいて、プレイヤによって操作されるプレイヤキャラクタや、コンピュータによって自動的に操作されるノンプレイヤキャラクタとして利用され得る。データ保存用内部メモリ35に格納されているオブジェクトデータに基づいて、当該オブジェクトに対応する3次元ポリゴンモデル(3Dオブジェクト)を生成して仮想空間に配置することも可能であり、それによって当該オブジェクトをリアルに表現することが可能である。当該オブジェクト(オブジェクトデータ)は、ユーザが作成するだけでなく、他のゲーム装置やサーバー装置から通信によって取得することも可能である。
【0096】
本実施形態では、データ保存用内部メモリ35に最大100体のオブジェクトを記憶可能であり、ユーザは、ゲーム装置10に上記表示制御処理の実行を指示することによって、データ保存用内部メモリ35に記憶されているオブジェクトを上画面に表示させて確認することができる。ただし、上画面にあまりに多くのオブジェクトを同時に表示させるとユーザがオブジェクトを判別しづらくなるため、本実施形態では、仮想的な10個の部屋を設け、各部屋に最大10体のオブジェクトを配置し、いずれか1つの部屋に配置されているオブジェクトだけを上画面に表示する。なお、
図7に示すように、各部屋は、さらに10個の区画に区分されており、それぞれの区画に対して1体のオブジェクトが割り当てられる。
【0097】
図8は、上記表示制御処理を実行しているときの上画面および下画面の表示画像の一例である。ただし、
図8の例は、データ保存用内部メモリ35にオブジェクトが1体も記憶されていない状態の例を示している。
【0098】
図8において、上画面には、10個の部屋のうちのいずれか1つの部屋の中の景色が表示されている。下画面には、部屋アイコン50と、配置領域A1〜A10と、部屋切替アイコン51が表示されている。
【0099】
部屋アイコン50は、10個の部屋の状況(各部屋のどの区画にオブジェクトが配置されているか)や、上画面に現在表示されているのがどの部屋であるかを示すとともに、上画面に表示されている部屋をユーザが切り替えるためのスイッチとしても機能する。
【0100】
配置領域A1〜A10は、オブジェクトに対応するアイコンを配置するための領域であって、
図7に示す10個の区画にそれぞれ対応している。上画面に表示されている部屋のいずれかの区画にオブジェクトが配置されている場合には、当該区画に対応する配置領域に、当該オブジェクトに対応するアイコンが表示される。
【0101】
部屋切替アイコン51は、上画面に表示されている部屋を切り替えるためのスイッチとして機能し、ユーザが部屋切替アイコン51をタッチすると、上画面に表示されている部屋が隣の部屋へと切り替わる。
【0102】
図9は、データ保存用内部メモリ35に複数のオブジェクトが記憶されているときの、上画面および下画面の表示画像の一例を示している。
図9において、上画面には第1の部屋の景色が表示されており、第1の部屋に配置されている9体のオブジェクト(52a〜52i)が表示されている。
【0103】
図9において、下画面の部屋アイコン50は、第1の部屋の第1区画および第3〜第10区画と、第3の部屋の第1〜第3区画と、第6の部屋の第1区画にオブジェクトが配置されていることを示している。さらに、部屋アイコン50は、上画面に現在表示されている部屋が第1の部屋であることを示している。
【0104】
図9において、下画面の配置領域A1(
図8参照)には、オブジェクト52aに対応するアイコン53aが表示され、配置領域A3には、オブジェクト52bに対応するアイコン53bが表示されている。これにより、ユーザは、第1の部屋の第1区画にオブジェクト52aが配置されており、第1の部屋の第3区画にオブジェクト52bが配置されている、ということを容易に把握することができる。他のオブジェクト52c〜52iについても同様に、ユーザは、アイコン53c〜53iの表示位置に基づいて、オブジェクト52c〜52iが第1の部屋のどの区画にそれぞれ配置されているかを容易に把握することができる。
【0105】
次に、
図10及び
図11を参照して、上画面の表示画像の生成方法について説明する。
【0106】
図10に示すように、下画面の配置領域A1〜A10は、仮想空間内の位置P1〜P10に、それぞれ対応している。本実施形態では、一例として、仮想空間内の位置P1〜P10は、仮想空間におけるオブジェクト配置面54(仮想空間における地面に対応)上に設定されている。
【0107】
図10に示すような配置領域A1〜A10と仮想空間内の位置P1〜P10との対応関係に基づいて、
図11に示すように、オブジェクト配置面54にオブジェクト52a〜52iが配置される。また、これらのオブジェクト52a〜52iを斜め上方から見下ろす位置に、一対の仮想カメラ(右仮想カメラ55Rおよび左仮想カメラ55L)が配置される。そして、右仮想カメラ55Rに基づいて当該オブジェクト52a〜52iを描画することによって右目用画像が得られ、左仮想カメラ55Lに基づいて当該オブジェクト52a〜52iを描画することによって左目用画像が得られる。これらの右目用画像と左目用画像に基づいて、上画面に立体視可能な画像が表示される。
【0108】
本実施形態では、表示制御プログラムが開始された直後は、上記のように、下画面においてアイコンが配置されている配置領域に対応する仮想空間内の位置に、当該アイコンに対応するオブジェクトが配置される。しかしながら、後述する移動操作が行われないまま所定時間が経過すると、
図12に示すように、仮想空間内のオブジェクトが好き勝手に移動し始める。
【0109】
(選択操作)
次に、
図13を参照して、選択操作について説明する。選択操作とは、複数のオブジェクトの中からユーザが所望のオブジェクトを選択する操作である。本実施形態では、ユーザが所望のオブジェクトに対応するアイコンをタッチすることによって、選択操作が行われる。
【0110】
図13は、
図12の状態から、ユーザがアイコン53fをタッチペン28でタッチしたときの上画面および下画面の表示画像の一例を示している。ユーザがアイコン53fをタッチすると、アイコン53fの表示態様が変化する。例えば、アイコン53fの背景色が赤色に変化する。さらに、上画面では、タッチされたアイコン53fに対応するオブジェクト52fが画面中央に表示される(または画面中央に近づく)ように、仮想空間における表示範囲がシフトする(すなわち、右仮想カメラ55Rおよび左仮想カメラ55Lが移動もしくは傾く)。これにより、ユーザは上画面において見やすい位置に所望のオブジェクトを表示させて、当該オブジェクトを観察することができる。なお、いずれかのオブジェクトが選択されたときに、下画面に当該オブジェクトのニックネーム等の情報を重畳表示するようにしてもよい。なお、本実施形態では、ユーザがアイコン53fからタッチペン28を離しても、ユーザが別のアイコンをタッチするまでは、当該アイコン53fに対応するオブジェクト52fが選択された状態のままとなる。
【0111】
(拡大操作)
なお、ユーザは、十字ボタン14Aを操作することによって、上画面の画像を拡大表示にしたり、拡大表示を解除したりすることができる。具体的には、ユーザが十字ボタン14Aで上方向を指示した場合には、上画面の画像がズームインされ(すなわち、右仮想カメラ55Rおよび左仮想カメラ55Lが前方に移動する、もしくは右仮想カメラ55Rおよび左仮想カメラ55Lの画角が狭まる)、その後、ユーザが十字ボタン14Aで下方向を指示することで、ズームイン状態が解除されて、表示倍率が元に戻る(すなわち、右仮想カメラ55Rおよび左仮想カメラ55Lの位置が元に戻る、もしくは右仮想カメラ55Rおよび左仮想カメラ55Lの画角が元に戻る)。
図14は、
図13の状態から、ユーザが十字ボタン14Aで上方向を指示したときの上画面および下画面の表示画像の一例を示している。これにより、ユーザは、上画面においてオブジェクトをより詳細に確認することができる。
【0112】
(移動操作)
次に、
図15を参照して、移動操作について説明する。移動操作とは、所望のオブジェクトが現在配置されている区画を変更するための操作である。本実施形態では、ユーザが所望のオブジェクトに対応するアイコンをドラッグする(すなわち、当該アイコンにタッチしてから、タッチパネル13にタッチしたままタッチ位置をずらす)ことによって、移動操作が行われる。
【0113】
図15は、
図13の状態から、ユーザがアイコン53fのドラッグを開始した直後の上画面および下画面の表示画像の一例を示している。ユーザがアイコン53fをドラッグすると、アイコン53fの表示態様が変化する。例えば、アイコン53fが半透明に変化する。さらに、仮想空間に配置されている他のオブジェクトが本来の位置(すなわち、配置領域A1〜A10に対応する仮想空間内の位置P1〜P10)まで移動し、上画面の画像がズームアウトされる(すなわち、右仮想カメラ55Rおよび左仮想カメラ55Lが後方に移動する、もしくは右仮想カメラ55Rおよび左仮想カメラ55Lの画角が広がる)。さらに、ドラッグされているアイコン53fに対応するオブジェクト52fが仮想空間において地面から離れて上昇し、下画面におけるアイコン53fの位置(すなわち、タッチ位置)に応じて、オブジェクト52fが空中を移動する。具体的には、下画面上の各点と、オブジェクト配置面54上の各点とが一対一に対応しており、現在のタッチ位置に対応するオブジェクト配置面54上の位置の上方に、ドラッグされているアイコンに対応するオブジェクトが配置される。なお、現在のタッチ位置に対応するオブジェクト配置面54上の位置は、例えば、予め用意した座標変換関数を用いて現在のタッチ位置を示す座標を仮想空間内の座標へと座標変換することによって計算することができる。これにより、オブジェクト52fに対する移動操作中であることが、上画面に表示されている画像からも、下画面に表示されている画像からも、確認することができる。また、移動操作中は、他のオブジェクトが本来の位置に戻り、上画面の画像がズームアウトされて部屋全体が表示されるので、部屋に配置されている他のオブジェクトの位置を上画面で確認しながら、所望のオブジェクトの移動操作を行うことができる。
【0114】
図16は、移動操作中の仮想空間の様子を示している。
図16に示すように、ドラッグされているアイコン53fに対応するオブジェクト52fが、オブジェクト配置面54から所定距離だけ上昇し、移動する。すなわち、移動操作中のオブジェクトは、オブジェクト配置面54から所定距離だけ離れた平面に沿って移動することになる。
【0115】
図17は、配置領域A2(
図10参照)において配置領域A7からドラッグしてきたオブジェクト52fの移動操作を完了する(すなわち、配置領域A2内でアイコン53fをドロップする)直前の上画面および下画面の表示画像の一例を示している。ユーザが
図17の状態でタッチパネル13からタッチペン28を離す(すなわち、アイコン53fをドロップする)と、
図18に示すように、下画面においてアイコン53fが配置領域A2に配置されるとともに、アイコン53fの表示態様(半透明)が元に戻る。さらに、上画面においてオブジェクト52fがオブジェクト配置面54上に下降し、配置領域A2に対応する仮想空間内の位置P2に移動する。また、上画面の画像のズームアウト状態が解除される。この結果、オブジェクト52fは、
図7に示す第1の部屋の第7区画から第1の部屋の第2区画へと移動される。
【0116】
図19は、配置領域A4(
図10参照)においてオブジェクト52fの移動操作を完了する(すなわち、配置領域A4内でアイコン53fをドロップする)直前の上画面および下画面の表示画像の一例を示している。ユーザが
図19の状態でタッチパネル13からタッチペン28を離す(すなわち、アイコン53fをドロップする)と、
図20に示すように、ドロップされたアイコン53fの配置位置と、それまで配置領域A4に配置されていたアイコン53cの配置位置が入れ替わるとともに、アイコン53fの表示態様(半透明)が元に戻る。さらに上画面では、オブジェクト52fがオブジェクト配置面54上に下降し、配置領域A4に対応する仮想空間内の位置P4に移動するとともに、オブジェクト52cが配置領域A7に対応する仮想空間内の位置P7に移動する(例えば、オブジェクト52cが仮想空間内の位置P7へ走って移動するアニメーション表示が行われる)。また、上画面の画像のズームアウト状態が解除される。この結果、オブジェクト52fは、第1の部屋の第7区画から第1の部屋の第4区画へと移動し、オブジェクト52cは、
図7に示す第1の部屋の第4区画から第1の部屋の第7区画へと移動する。
【0117】
なお、アイコン53fをドロップした位置が、いずれの配置領域A1〜A10内でもない場合には、アイコン53fは元の位置(すなわち配置領域A7)に戻り、それに応じて、オブジェクト52fも元の位置(すなわち仮想空間内の位置P7)に戻る(例えば、オブジェクト52fが仮想空間内の位置P7から所定距離だけ上昇した位置へと瞬間的に移動した後、そこから落下してオブジェクト配置面54へと着地するアニメーション表示が行われる)。
【0118】
(部屋の変更)
なお、ユーザは、所望のオブジェクトを異なる部屋へと移動させることも可能である。具体的には、アイコンをドラッグしたまま、タッチ位置を部屋アイコン50上または部屋切替アイコン51上に移動させることによって、部屋を変更することが可能である。
【0119】
図21は、アイコン53fをドラッグしたまま、タッチ位置を部屋アイコン50上に移動させることによって、部屋が第1の部屋から第3の部屋へと変更された直後の上画面および下画面の表示画像の一例を示している。
図21において、下画面には、第3の部屋に配置されているオブジェクト52j,52k,52lにそれぞれ対応するアイコン53j,53k,53lが表示されており、上画面には第3の部屋に配置されているオブジェクト52j,52k,52lが表示されている。ユーザは、
図21の状態から、アイコン53fを第3の部屋の配置領域A1〜A10のうちの所望の配置領域にドロップすることによって、オブジェクト52fを第3の部屋の所望の区画に移動させることができる。例えば、アイコンが配置されていない配置領域(
図21の例では、配置領域A2,A4,A6〜A10)にアイコン53fがドロップされた場合には、
図17及び
図18を参照して説明した処理と同様の処理が行われる。また、アイコンがすでに配置されている配置領域(
図21の例では、配置領域A1,A3,A5)にアイコン53fがドロップされた場合には、
図19及び
図20を参照して説明した処理と同様の処理が行われる。
【0120】
(ゲーム装置10の動作の詳細)
以下、
図22〜
図27を参照して、ゲーム装置10の動作について、より詳細に説明する。
【0121】
(メモリマップ)
図22は、表示制御処理を実行しているときにメインメモリ32に格納されるデータの一例を示している。表示制御プログラムD1は、上記のような表示制御処理をCPU311に実行させるためのコンピュータプログラムである。当該表示制御プログラムD1は、外部メモリ44などのコンピュータ読み取り可能な記憶媒体からメインメモリ32にロードされてもよいし、無線通信モジュール36やローカル通信モジュール37を通じて他の情報処理装置(サーバ装置または他のゲーム装置)からメインメモリ32にロードされてもよい。
【0122】
オブジェクトデータD2は、ユーザが作成した、もしくは他のゲーム装置やサーバー装置から通信によって取得された、人間を模した1以上のオブジェクトに関する情報である。当該オブジェクトデータD2の一部(後述するオブジェクト識別情報D21、パーツ情報D22、性別情報D23、ニックネーム情報D24、配置情報D25、現在座標D26など)は、データ保存用内部メモリ35に保存されており、必要に応じてデータ保存用内部メモリ35から読み出されてメインメモリ32にロードされる。
【0123】
オブジェクトデータD2には、オブジェクト毎に、オブジェクト識別情報D21、パーツ情報D22、性別情報D23、ニックネーム情報D24、配置情報D25、現在座標D26等の情報が含まれている。オブジェクト識別情報D21は、複数のオブジェクトを互いに識別するための情報である。パーツ情報D22は、そのオブジェクトの各パーツ(輪郭、体型、目、鼻、口、眉毛、髪型など)の形や位置や大きさ等を規定した情報である。性別情報D23およびニックネーム情報D24は、そのオブジェクトの性別およびニックネームをそれぞれ示す情報である。配置情報D25は、そのオブジェクトが
図7に示すどの部屋のどの区画に配置されているかを示す情報である。現在座標D26は、そのオブジェクトの仮想空間における現在位置を示す座標である。
【0124】
アイコン画像データD3は、下画面に表示されるアイコンのための画像データである。本実施形態では、オブジェクトデータに基づいて生成したオブジェクト(3次元ポリゴンモデル)の頭部を、当該オブジェクトの正面に配置した仮想カメラに基づいてレンダリングすることによって、当該オブジェクトに対応するアイコン画像データが生成されてメインメモリ32に格納される。
【0125】
現在タッチ座標D4は、タッチパネル13に対する最新のタッチ位置を示す座標である。
【0126】
タッチオン座標D5は、タッチパネル13がタッチされていない状態からタッチされている状態に変化した直後のタッチ位置を示す座標である。
【0127】
現在部屋番号D6は、上画面および下画面に表示すべき部屋の番号を示す情報である。
【0128】
移動操作中フラグD7は、移動操作中であるか否かを示すフラグである。
【0129】
仮想カメラ変数D8は、右仮想カメラ55Rおよび左仮想カメラ55Lの位置や姿勢等に関する変数である。
【0130】
タイマーD9は、所定の時点からの経過時間を示す情報である。
【0131】
次に、
図23〜
図27のフローチャートを参照して、表示制御プログラムD1に基づくCPU311の処理の流れを説明する。
【0132】
図23は、表示制御プログラムD1に基づくCPU311のメイン処理の流れを示すフローチャートである。
【0133】
図23のステップS11において、CPU311は初期化処理を行う。以下、
図24のフローチャートを参照して、ステップS11の初期化処理の詳細について説明する。
【0134】
図24のステップS20において、CPU311は、データ保存用内部メモリ35に格納されているオブジェクトデータ(オブジェクト識別情報D21、パーツ情報D22、性別情報D23、ニックネーム情報D24、配置情報D25)を読み込んで、メインメモリ32に格納する。
【0135】
ステップS21において、CPU311は、現在部屋番号を設定する。ここで設定される番号は、例えば、予め定められた初期値(例えば1)であってもよいし、特定のオブジェクト(例えばゲーム装置10のユーザを模したオブジェクト)が配置されている部屋の番号を、現在部屋番号として設定してもよい。
【0136】
ステップS22において、CPU311は、タイマーD9を初期値(例えば0)にリセットする。そして、初期化処理が終了して、
図23のステップS12へと処理が進む。
【0137】
図23に戻り、ステップS12において、CPU311は表示処理を行う。当該表示処理は、上画面および下画面に表示すべき画像をそれぞれ生成して、上側LCD22および下側LCD12にそれぞれ表示させるための処理である。以下、
図25のフローチャートを参照して、ステップS12の表示処理の詳細について説明する。
【0138】
図25のステップS31において、CPU311は、現在部屋番号D6に対応するオブジェクトデータ(すなわち、現在部屋番号D6が示す部屋に配置されているオブジェクトに関するオブジェクトデータ)を、1つ選択する。
【0139】
ステップS32において、CPU311は、ステップS31で選択したオブジェクトデータに基づいてアイコン画像データD3を生成してメインメモリ32に格納する。具体的には、オブジェクトデータに基づいて生成したオブジェクト(3次元ポリゴンモデル)の頭部を、当該オブジェクトの正面に配置した仮想カメラに基づいてレンダリングすることによって、当該オブジェクトに対応するアイコン画像データを生成する。
【0140】
ステップS33において、CPU311は、タイマーD9の値が所定値を超えたかどうかを判断し、所定値を超えていない場合にはステップS34に処理を進め、所定値を超えている場合にはステップS37に処理を進める。
【0141】
ステップS34において、CPU311は、ステップS31で選択したオブジェクトデータが、移動操作中オブジェクト(すなわち、ドラッグされているアイコンに対応するオブジェクト)に関するオブジェクトデータであるかどうかを判断し、移動操作中オブジェクトに関するオブジェクトデータである場合にはステップS39に処理を進め、そうでない場合にはステップS35に処理を進める。
【0142】
ステップS35において、CPU311は、ステップS31で選択したオブジェクトデータに含まれる配置情報D25に基づいて、下画面において、当該配置情報D25に対応する配置領域(配置領域A1〜A10のいずれか)に、当該オブジェクトデータに対応するアイコンを表示する。
【0143】
ステップS36において、CPU311は、ステップS31で選択したオブジェクトデータに含まれる配置情報D25に基づいて、上画面において、当該配置情報D25に対応する仮想空間内の位置(オブジェクト配置面54上の位置P1〜P10のいずれか)に当該オブジェクトデータに対応するオブジェクトが表示されるように、当該オブジェクトに対応する現在座標D26を更新して、当該オブジェクトを表示する。
【0144】
ステップS37において、CPU311は、ステップS31で選択したオブジェクトデータに含まれる配置情報D25に基づいて、下画面において、当該配置情報D25に対応する配置領域(配置領域A1〜A10のいずれか)に、当該オブジェクトデータに対応するアイコンを表示する。
【0145】
ステップS38において、CPU311は、上画面において、ステップS31で選択したオブジェクトデータが示すオブジェクトが仮想空間内を好き勝手に移動するように、当該オブジェクトの現在座標D26を所定のアルゴリズムに従って(例えばランダムに)更新して、当該オブジェクトを表示する。
【0146】
ステップS39において、CPU311は、現在部屋番号D6に対応する全てのオブジェクトデータを選択済みかどうかを判断し、現在部屋番号D6に対応する全てのオブジェクトデータを選択済みである場合にはステップS40に処理を進め、そうでない場合にはステップS31に処理を戻す。
【0147】
ステップS40において、CPU311は、移動操作中フラグD7がオンであるかどうか(すなわち、いずれかのアイコンがドラッグされている最中かどうか)を判断し、移動操作中フラグD7がオンである場合にはステップS42に処理を進め、そうでない場合には表示処理を終了して
図23のステップS13に処理を進める。
【0148】
ステップS42において、CPU311は、現在タッチ座標D4に基づいて、下画面において、現在タッチ座標D4が示す位置に、移動操作中オブジェクトに対応するアイコンを表示する。
【0149】
ステップS43において、CPU311は、現在タッチ座標D4に基づいて、上画面において、現在タッチ座標D4に対応する仮想空間内の位置(オブジェクト配置面54上の位置)の上方(空中)に移動操作中オブジェクトを表示する。そして、表示処理を終了して
図23のステップS13に処理を進める。
【0150】
図23に戻り、ステップS13において、CPU311は、タッチパネル13からの信号に基づいて、ユーザがタッチパネル13をタッチしているかどうかを判断し、タッチしている場合にはステップS14に処理を進め、タッチしていない場合にはステップS15に処理を進める。
【0151】
ステップS14において、CPU311はタッチ中処理を行う。以下、
図26のフローチャートを参照して、ステップS14のタッチ中処理の詳細について説明する。
【0152】
図26のステップS51において、CPU311は、現在タッチ座標D4に基づいて、部屋の変更が指示されたかどうか(すなわち、部屋アイコン50または部屋切替アイコン51がタッチされたかどうか)を判断する。そして、部屋の変更が指示された場合にはステップS52に処理を進め、そうでない場合にはステップS53に処理を進める。
【0153】
ステップS52において、CPU311は、現在タッチ座標D4に基づいて現在部屋番号D6を変更する。そして、タッチ中処理を終了して
図23のステップS12に処理を戻す。
【0154】
ステップS53において、CPU311は、選択操作が行われたかどうかを判断する。具体的には、タッチパネル13からの信号に基づいて、下画面に表示されているいずれかのアイコンがタッチされたことが検出されたときに、選択操作が行われたと判断する。そして、選択操作が行われた場合にはステップS54に処理を進め、そうでない場合にはステップS57に処理を進める。
【0155】
ステップS54において、CPU311は、タッチされたアイコンの表示態様を変更する。具体的には、タッチされたアイコンの背景色を赤色に変化させる。
【0156】
ステップS55において、CPU311は、タッチされたアイコンに対応するオブジェクトが上画面の中央付近に表示されるように、一対の仮想カメラ(右仮想カメラ55Rおよび左仮想カメラ55L)を移動させる(すなわち、仮想カメラ変数D8を更新する)。
【0157】
ステップS56において、CPU311は、現在タッチ座標D4と同じ座標を、タッチオン座標D5としてメインメモリ32に記憶する。そして、タッチ中処理を終了して
図23のステップS12に処理を戻す。
【0158】
ステップS57において、CPU311は、移動操作が開始されたかどうかを判断する。具体的には、タッチパネル13からの信号に基づいて、下画面に表示されているいずれかのアイコンがドラッグされたことが検出されたときに、移動操作が開始されたと判断する。いずれかのアイコンがドラッグされたかどうかは、例えば、現在タッチ座標D4がタッチオン座標D5から所定距離以上離れたかどうかによって判断することができる。そして、移動操作が開始された場合にはステップS58に処理を進め、そうでない場合にはステップS62に処理を進める。
【0159】
ステップS58において、CPU311は、移動操作中フラグD7をセットする。
【0160】
ステップS59において、CPU311は、移動操作対象のオブジェクトに対応するアイコン(すなわち、ドラッグを開始されたアイコン)の表示態様を変更する。具体的には、ドラッグを開始されたアイコンを半透明に変化させる。
【0161】
ステップS60において、CPU311は、上画面の画像をズームアウトする。具体的には、一対の仮想カメラ(右仮想カメラ55Rおよび左仮想カメラ55L)を、当該一対の仮想カメラの後方に向かって移動させる(すなわち、仮想カメラ変数D8を更新する)。
【0162】
ステップS61において、CPU311は、タイマーD9をリセットする。そして、タッチ中処理を終了して
図23のステップS12に処理を戻す。
【0163】
ステップS62において、CPU311は、下画面に表示されている終了ボタン(図示せず)がタッチされたかどうかを判断し、終了ボタンがタッチされた場合には
図23に戻ってメイン処理を終了し、そうでない場合にはタッチ中処理を終了して
図23のステップS12に処理を戻す。
【0164】
図23に戻り、ステップS15において、CPU311は非タッチ中処理を行う。以下、
図27のフローチャートを参照して、ステップS15の非タッチ中処理の詳細について説明する。
【0165】
図27のステップS71において、CPU311は、タッチオン座標D5をクリアする。
【0166】
ステップS72において、CPU311は、移動操作中フラグD7がオンかどうかを判断し、移動操作中フラグD7がオンである場合にはステップS73に処理を進め、そうでない場合にはステップS79に処理を進める。
【0167】
ステップS73において、CPU311は、タッチオフ座標(アイコンがドロップされた位置を示す座標)が、配置領域A1〜A10のいずれかの配置領域内であるかどうかを判断し、タッチオフ座標がいずれかの配置領域内である場合にはステップS74に処理を進め、そうでない場合にはステップS77に処理を進める。
【0168】
ステップS74において、CPU311は、アイコンがドロップされた配置領域に、他のアイコンが存在するかどうかを判断し、他のアイコンが存在する場合にはステップS75に処理を進め、そうでない場合にはステップS78に処理を進める。
【0169】
ステップS75において、CPU311は、ドロップされたアイコンに対応するオブジェクトの配置情報D25と、当該アイコンがドロップされた配置領域に存在していた他のアイコンに対応するオブジェクトの配置情報D25とを交換する。
【0170】
ステップS76において、CPU311は、ドロップされたアイコンに対応するオブジェクトの配置情報D25を、当該アイコンがドロップされた配置領域に応じて更新する。
【0171】
ステップS77において、CPU311は、移動操作中フラグD7をリセットする。
【0172】
ステップS78において、CPU311は、
図26のステップS60においてズームアウトした上画面の画像を元の状態に戻す。具体的には、一対の仮想カメラ(右仮想カメラ55Rおよび左仮想カメラ55L)を、元の位置に戻す(すなわち、仮想カメラ変数D8を更新する)。そして、非タッチ中処理を終了して
図23のステップS12に処理を戻す。
【0173】
ステップS79において、CPU311は、タイマーD9をカウントアップ(インクリメント)する。そして、非タッチ中処理を終了して
図23のステップS12に処理を戻す。
【0174】
(実施形態の効果)
以上のように、本実施形態では、上画面にはオブジェクトが表示され、下画面には当該オブジェクトに対応するアイコンが表示されるので、ユーザが上画面から得られる情報と、下画面から得られる情報が異なる。例えば、上画面からは、各オブジェクトの立体形状を容易に把握することができ、下画面からは、各オブジェクトが配置されている区画をより正確に把握することができる。特に、本実施形態において上画面に表示される画像のように、オブジェクトを斜め上方から見下ろしたような画像では、各オブジェクトがどの区画に配置されているのかが明確には分かりづらいが、下画面に表示される画像では、部屋全体を真上から見下ろした様子が模式的に表示されるため、各オブジェクトが配置されている区画をより正確に把握することができる。また、ユーザは、上画面を見ることによって、各オブジェクトがどの区画に配置されているかや、オブジェクト間の位置関係を、より実感的に把握することができる。
【0175】
また、本実施形態では、ユーザは、オブジェクトの配置位置を、上画面と下画面の両方で確認することができる。よって、例えば、所望のアイコンにタッチする瞬間は下画面を見る必要があるが、所望のアイコンに一旦タッチした後は、上画面を見ながら移動操作を行うことができるので、下画面だけを見ながら移動操作を行う場合と比べて、より興味を持って移動操作を行うことができる。
【0176】
また、本実施形態では、上画面に表示されているオブジェクトをユーザが直接的に移動させるのではなく、下画面に表示されているアイコンを移動させることによって、仮想空間内のオブジェクトを間接的に移動させることができる。よって、仮想空間内のオブジェクトの位置の変更が簡単かつ正確に行える。さらに、移動操作時にユーザの指やタッチペン28が上画面を横切ったり、上画面にカーソルやポインタ等が表示されたりすることがなく、上画面の視認性や上画面に表示されているオブジェクトの実在感が損なわれない。また、上画面にカーソルやポインタ等を表示する必要が無いため、立体画像にカーソルやポインタを合成するための処理が不要となり、コンピュータの処理負荷が軽減される。
【0177】
また、本実施形態では、下画面に表示されているアイコンをユーザが移動させたときに、当該アイコンの動きに連動してリアルタイムに上画面のオブジェクトが移動するため、仮想空間内のオブジェクトを実際に動かしているかのようなリアルな操作感が得られ、かつオブジェクトをより自然でかつ魅力的に見せることができる。
【0178】
また、本実施形態では、移動操作が行われていない間は、オブジェクトが好き勝手に移動するように制御されるため、オブジェクトが人工的ではなく、より魅力的に表現され、ユーザの興味を惹くことができる。さらに、移動操作が開始された時点では、各オブジェクトが元の位置に戻るため、ユーザは、移動操作を行っているときに上画面を見ることによって、各オブジェクトがどの区画に配置されているかや、オブジェクト間の位置関係を、より実感的に把握することができる。
【0179】
また、本実施形態では、移動操作が行われていない間は、ユーザの指示に応じて上画面の画像がズームインしたり上画面の表示範囲が変化したりするが、移動操作が開始された時点で、仮想空間内の位置P1〜P10が上画面に収まるように上画面の画像がズームアウト(すなわち、上画面の表示倍率が小さくなる)するので、ユーザは、移動操作を行っているときに上画面を見ることによって、部屋全体の様子を把握することができる。
【0180】
また、本実施形態では、下画面に、各配置領域の境界をユーザが把握できるような形態で複数の配置領域A1〜A10が表示されているので、上画面には複数の区画が明確に表示されていない場合であっても、ユーザは、下画面を見て、所望のオブジェクトを所望の区画に正確に移動させることができる。その結果、上画面には、配置領域A1〜A10に対応する仮想空間内の位置P1〜P10または領域を必ずしも表示する必要が無いため、当該位置P1〜P10や領域を示すような記号や線等を上画面に表示する必要が無く、上画面の視認性や上画面に表示されている仮想空間の実在感が損なわれない。
【0181】
また、本実施形態では、移動操作の対象となっているオブジェクトが、他のオブジェクトが配置されているオブジェクト配置面から離れて移動するため、移動操作の途中で、移動操作の対象となっているオブジェクトが他のオブジェクトと交差することがない。よって、オブジェクト同士が交差して上画面の視認性が低下することがなく、また、オブジェクト同士が交差しないように衝突を回避する処理を組み込む必要も無い。
【0182】
(変形例)
なお、上記実施形態では、携帯型ゲーム装置において表示制御処理が実行される例を説明しているが、本発明はこれに限らず、任意の情報処理装置または情報処理システム(例えば、デスクトップパソコン、ノートパソコン、携帯電話、モバイル機器)に本発明を適用可能である。
【0183】
また、上記実施形態では、上記表示制御処理を1つのCPU311が実行する例を説明したが、他の実施形態では、同一の情報処理装置に設けられた複数のプロセッサが協働して上記表示制御処理を実行してもよいし、互いに通信可能な複数の情報処理装置にそれぞれ設けられているプロセッサが協働して上記表示制御処理を実行してもよい。例えば、上画面の表示画像を生成する処理と、下画面の表示画像を生成する処理を、それぞれ、異なるプロセッサが実行するようにしてもよい。
【0184】
また、上記実施形態では、上画面および下画面が物理的に分かれている例を説明したが、他の実施形態では、例えば、上記の上画面および下画面に表示される画像を、1つの画面の異なる領域にそれぞれ表示するようにしてもよい。また、表示装置は必ずしも情報処理装置に一体化されている必要はなく、ケーブルおよびコネクタを介して表示装置と情報処理装置とが接続されてもよい。
【0185】
また、上記実施形態では、タッチパネル13を用いて移動操作を行う例を説明したが、本発明はこれに限らず、十字ボタン14Aや、アナログスティック15や、マウスや、タッチパッドなど、任意の入力装置(好ましくはポインティングデバイス)を用いることができる。例えば、タッチパネル13の代わりにマウスを用いる場合には、上記移動操作は、アイコンをマウスでドラッグすることによって行うようにしてもよい。
【0186】
また、上記実施形態では、人間を模したオブジェクトを表示する例を説明したが、本発明はこれに限らず、任意のオブジェクトを表示してもよい。
【0187】
また、上記実施形態では、データ保存用内部メモリ35に記憶されている複数のオブジェクトを、その並び順(例えば、データ保存用内部メモリ35に格納されているオブジェクトデータの順序、または、オブジェクトデータの識別番号など)にしたがって、仮想的な10個の部屋の10個の区画のいずれかにそれぞれ割り当てて、当該区画に対応する配置領域(A1〜A10)に、対応するアイコンを配置して下画面に表示する例を説明したが、本発明はこれに限らない。例えば、他の実施形態では、データ保存用内部メモリ35に記憶されている複数のオブジェクトの並び順にしたがって、対応するアイコンを、リスト形式やメニュー形式のような形態で下画面に表示するようにしてもよい。この場合、上画面には、データ保存用内部メモリ35に記憶されている複数のオブジェクトが、対応するアイコンの並び順にしたがって仮想空間に配置されて表示されればよい。
図28は、1つのパーティーを構成する5人のキャラクタが芋づる式に連なって仮想空間を移動するゲームにおいて、下画面には、キャラクタの並び順を示すパーティーメンバーリストが表示され、上画面には、当該並び順にしたがって仮想空間に配置されたキャラクタの様子が表示される例を示している。
図29は、複数のアプリケーションの中からユーザが所望のアプリケーションを選択させる際に、下画面には、選択可能なアプリケーションの一覧を示すアプリ起動メニューが表示され、上画面には、当該アプリ起動メニューにおける各アプリケーションの並び順にしたがって仮想空間に配置されたオブジェクト(各アプリケーションに対応するオブジェクト)の様子が表示される例を示している。なお、上記実施形態における配置情報D25は、オブジェクトの並び順を示す情報、またはアイコンの並び順を示す情報であるとも言える。
【0188】
また、上記実施形態では、上画面に表示されるオブジェクトに対応するアイコンを下画面に表示する例を説明したが、本発明はこれに限らず、アイコンに換えて、上画面に表示されるオブジェクトとの対応関係をユーザが把握可能な任意の画像(シンボル画像)を表示するようにしてもよい。このようなシンボル画像の例として、オブジェクトを識別するための記号、オブジェクトの名前やニックネームを示す文字列、オブジェクトのシルエットなどが挙げられる。
【0189】
また、上記実施形態では、オブジェクトデータに基づいてアイコン画像データを生成する例を説明したが、他の実施形態では、外部記憶装置や他のゲーム装置から取得したアイコン画像データを用いて下画面にアイコンを表示するようにしてもよい。また、一旦生成したアイコン画像データをデータ保存用内部メモリ35等に保存して、次回の表示制御処理の際に流用するようにしてもよい。
【0190】
また、上記実施形態では、下画面に10個の正方形の配置領域が表示される例を説明したが、本発明はこれに限らず、任意の個数の任意の形状の配置領域を表示するようにしてもよい。
【0191】
また、上記実施形態では、仮想空間における地面にオブジェクトを配置する例を説明したが、本発明はこれに限らず、仮想空間における任意の平面または曲面にオブジェクトを配置するようにしてもよい。例えば、仮想空間に設けられた壁に沿ってオブジェクト(例えば、虫を模したオブジェクトなど)を配置するようにしてもよい。
【0192】
また、上記実施形態では、上側LCD22がパララックスバリア方式の立体表示装置であるが、他の実施形態では、上側LCD22がレンチキュラー方式等の他の任意の方式の立体表示装置であってもよい。例えば、レンチキュラー方式の立体表示装置を利用する場合には、左目用画像と右目用画像をCPU311または他のプロセッサで合成してから、当該合成画像をレンチキュラー方式の立体表示装置に供給するようにしてもよい。
【0193】
また、上記実施形態では、上画面にオブジェクトを立体画像として表示する例を説明したが、本発明はこれに限らず、上画面にオブジェクトを平面画像として表示するようにしてもよい。