(57)【特許請求の範囲】
【請求項１】
撮像手段と、画面上において現実空間を視認可能な表示手段と、内側面と外側面とを有し閉空間を構成する第１の仮想オブジェクトのオブジェクトデータ及び前記閉空間内に配置される第２の仮想オブジェクトのオブジェクトデータを記憶する記憶手段とに接続された情報処理装置のコンピュータを、
前記撮像手段により撮像された撮像画像を示す撮像画像データを逐次取得する撮像画像データ取得手段、
仮想空間内に仮想カメラを設定する仮想カメラ設定手段、
前記仮想カメラから前記第１の仮想オブジェクトの外側面の一部が見えるように当該第１の仮想オブジェクトを前記仮想空間内に配置するオブジェクト配置手段、
前記第１の仮想オブジェクトを、当該第１の仮想オブジェクトの全体が前記仮想カメラから見えるように移動させる第１のオブジェクト制御手段、
前記第１の仮想オブジェクトの形状を、当該第１の仮想オブジェクトによって前記内側面が内向きになるような閉空間が構成される閉形状から、前記仮想カメラから前記内側面が見えるように当該第１の仮想オブジェクトが展開された開形状へ変形させる第２のオブジェクト制御手段、
前記第１の仮想オブジェクトの前記内側面上に１以上の第２の仮想オブジェクトを配置するとともに、前記第１の仮想オブジェクトの形状の変形に応じて、前記第１の仮想オブジェクトの前記内側面に連動するように当該第２の仮想オブジェクトの位置及び姿勢を変化させる第３のオブジェクト制御手段、
前記撮像画像データ取得手段により取得された撮像画像データにより示される撮像画像における前記第１の仮想オブジェクトの外側面の一部に対応する領域の画像と前記第１の仮想オブジェクトの前記開形状に対応する領域の画像とを、前記第１の仮想オブジェクトの前記外側面と前記内側面とにテクスチャとして貼り付けるテクスチャマッピング手段、
前記テクスチャを貼り付けた第１の仮想オブジェクトと、前記第２の仮想オブジェクトとに基づいて、オブジェクト画像を作成するオブジェクト画像作成手段、及び
前記画面上の現実空間に、前記オブジェクト画像作成手段により作成されたオブジェクト画像を重ね合わせた重畳画像を、前記表示手段に逐次表示させる表示制御手段として機能させる情報処理プログラム。
【請求項２】
前記第１のオブジェクト制御手段は、前記第１の仮想オブジェクトの移動状態を連続的に変化させたアニメーション形式で、当該第１の仮想オブジェクトの位置を変化させ、
前記第２のオブジェクト制御手段は、前記第１の仮想オブジェクトの展開状態を連続的に変化させたアニメーション形式で、当該第１の仮想オブジェクトの形状を変形させ、
前記第３のオブジェクト制御手段は、前記第１の仮想オブジェクトの展開状態を示すアニメーションの進行度合いに応じて、第２の仮想オブジェクトの位置及び姿勢を変化させる、請求項１に記載の情報処理プログラム。
【請求項３】
前記第１の仮想オブジェクトは複数の展開面から構成される多面体であって、
前記アニメーションは、前記多面体が閉空間を構成する第１の状態から、前記展開面が回転して前記多面体が開いて前記多面体の展開面に第２の仮想オブジェクトが配置された第２の状態までを含む、請求項２に記載の情報処理プログラム。
【請求項４】
前記アニメーションは、前記多面体の一部が出現するまでを含む、請求項３に記載の情報処理プログラム。
【請求項５】
前記アニメーションは、前記第２の状態から前記多面体の展開面が消えるまでを含む、請求項３に記載の情報処理プログラム。
【請求項６】
前記アニメーションは、前記第２の状態から前記展開面又は前記展開面の境界線の色が変化してから前記多面体の展開面が消える、請求項５に記載の情報処理プログラム。
【請求項７】
前記第３のオブジェクト制御手段は、前記展開面の回転に対応させて、前記第２の仮想オブジェクトを回転することにより、当該第２の仮想オブジェクトの位置及び姿勢を変化させる、請求項３〜請求項６のいずれかに記載の情報処理プログラム。
【請求項８】
前記第１の仮想オブジェクトは複数の展開面から構成される多面体であって、
前記オブジェクト配置手段により配置された前記第１の仮想オブジェクトの外側面の一部は、前記複数の展開面のうちの１つの展開面である、請求項１又は請求項２に記載の情報処理プログラム。
【請求項９】
前記多面体は六面体である、請求項３〜請求項８のいずれかに記載の情報処理プログラム。
【請求項１０】
前記プログラムは、前記コンピュータを、
前記撮像画像データ取得手段により逐次取得された撮像画像データから特定対象物を検出する検出手段、及び
前記特定対象物の検出結果に基づいて、前記撮像手段と前記特定の対象物との相対的位置を算出する算出手段としてさらに機能させ、
前記オブジェクト配置手段は、前記１つの展開面の位置が前記特定対象物の位置と同一になるように前記第１の仮想オブジェクトを前記仮想空間内に配置する、請求項９に記載の情報処理プログラム。
【請求項１１】
前記多面体は錐体である、請求項３〜請求項８のいずれかに記載の情報処理プログラム。
【請求項１２】
前記オブジェクト配置手段は、前記錐体の頂点の位置が前記特定対象物の位置と同一になるように前記第１の仮想オブジェクトを前記仮想空間内に配置する、請求項１１に記載の情報処理プログラム。
【請求項１３】
前記表示制御手段は、前記第２の仮想オブジェクトが前記閉空間を構成する面を透過しないように表示する、請求項１〜請求項１２のいずれかに記載の情報処理プログラム。
【請求項１４】
前記プログラムは、前記コンピュータを、ユーザの操作に応じて前記第２の仮想オブジェクトを動作させる操作手段としてさらに機能させる、請求項１〜請求項１３のいずれかに記載の情報処理プログラム。
【請求項１５】
前記テクスチャマッピング手段は、前記撮像画像における前記第１の仮想オブジェクトの外側面の一部に対応する領域の画像を当該第１の仮想オブジェクトの外側面の一部にテクスチャとして貼り付けるとともに、前記撮像画像における当該第１の仮想オブジェクトの前記開形状に対応する領域の画像を当該第１の仮想オブジェクトの前記内側面にテクスチャとして貼り付ける、請求項１〜請求項１４のいずれかに記載の情報処理プログラム。
【請求項１６】
撮像手段と、
画面上において現実空間を視認可能な表示手段と、
内側面と外側面とを有し閉空間を構成する第１の仮想オブジェクトのオブジェクトデータ及び前記閉空間内に配置される第２の仮想オブジェクトのオブジェクトデータを記憶する記憶手段と、
前記撮像手段により撮像された撮像画像を示す撮像画像データを逐次取得する撮像画像データ取得手段と、
仮想空間内に仮想カメラを設定する仮想カメラ設定手段と、
前記仮想カメラから前記第１の仮想オブジェクトの外側面の一部が見えるように当該第１の仮想オブジェクトを前記仮想空間内に配置するオブジェクト配置手段と、
前記第１の仮想オブジェクトを、当該第１の仮想オブジェクトの全体が前記仮想カメラから見えるように移動させる第１のオブジェクト制御手段と、
前記第１の仮想オブジェクトの形状を、当該第１の仮想オブジェクトによって前記内側面が内向きになるような閉空間が構成される閉形状から、前記仮想カメラから前記内側面が見えるように当該第１の仮想オブジェクトが展開された開形状へ変形させる第２のオブジェクト制御手段と、
前記第１の仮想オブジェクトの前記内側面上に１以上の第２の仮想オブジェクトを配置するとともに、前記第１の仮想オブジェクトの形状の変形に応じて、前記第１の仮想オブジェクトの前記内側面に連動するように当該第２の仮想オブジェクトの位置及び姿勢を変化させる第３のオブジェクト制御手段と、
前記撮像画像データ取得手段により取得された撮像画像データにより示される撮像画像における前記第１の仮想オブジェクトの外側面の一部に対応する領域の画像と前記第１の仮想オブジェクトの前記開形状に対応する領域の画像とを、前記第１の仮想オブジェクトの前記外側面と前記内側面とにテクスチャとして貼り付けるテクスチャマッピング手段と、
前記テクスチャを貼り付けた第１の仮想オブジェクトと、前記第２の仮想オブジェクトとに基づいて、オブジェクト画像を作成するオブジェクト画像作成手段と、
前記画面上の現実空間に、前記オブジェクト画像作成手段により作成されたオブジェクト画像を重ね合わせた重畳画像を、前記表示手段に逐次表示させる表示制御手段とを含む情報処理装置。
【請求項１７】
情報処理装置と現実空間に配置されるマーカとを含む情報処理システムであって、
前記情報処理装置は、
撮像手段と、
画面上において現実空間を視認可能な表示手段と、
内側面と外側面とを有し閉空間を構成する第１の仮想オブジェクトのオブジェクトデータ及び前記閉空間内に配置される第２の仮想オブジェクトのオブジェクトデータを記憶する記憶手段と、
前記撮像手段により撮像された撮像画像を示す撮像画像データを逐次取得する撮像画像データ取得手段と、
前記撮像画像データ取得手段により逐次取得された撮像画像データから前記マーカを検出する検出手段と、
前記マーカの検出結果に基づいて、前記撮像手段と前記マーカとの相対的位置を算出する算出手段と、
前記算出手段による算出結果に基づいて、仮想空間内に仮想カメラを設定する仮想カメラ設定手段と、
前記仮想カメラから前記第１の仮想オブジェクトの外側面の一部が見えるように当該第１の仮想オブジェクトを前記仮想空間内に配置するオブジェクト配置手段と、
前記第１の仮想オブジェクトを、当該第１の仮想オブジェクトの全体が前記仮想カメラから見えるように移動させる第１のオブジェクト制御手段と、
前記第１の仮想オブジェクトの形状を、当該第１の仮想オブジェクトによって前記内側面が内向きになるような閉空間が構成される閉形状から、前記仮想カメラから前記内側面が見えるように当該第１の仮想オブジェクトが展開された開形状へ変形させる第２のオブジェクト制御手段と、
前記第１の仮想オブジェクトの前記内側面上に１以上の第２の仮想オブジェクトを配置するとともに、前記第１の仮想オブジェクトの形状の変形に応じて、前記第１の仮想オブジェクトの前記内側面に連動するように当該第２の仮想オブジェクトの位置及び姿勢を変化させる第３のオブジェクト制御手段と、
前記撮像画像データ取得手段により取得された撮像画像データにより示される撮像画像における前記第１の仮想オブジェクトの外側面の一部に対応する領域の画像と前記第１の仮想オブジェクトの前記開形状に対応する領域の画像とを、前記第１の仮想オブジェクトの前記外側面と前記内側面とにテクスチャとして貼り付けるテクスチャマッピング手段と、
前記テクスチャを貼り付けた第１の仮想オブジェクトと、前記第２の仮想オブジェクトとに基づいて、オブジェクト画像を作成するオブジェクト画像作成手段と、
前記画面上の現実空間に、前記オブジェクト画像作成手段により作成されたオブジェクト画像を重ね合わせた重畳画像を、前記表示手段に逐次表示させる表示制御手段とを含む情報処理システム。
【請求項１８】
撮像手段により撮像画像を撮像する撮像ステップと、
画面上において現実空間を視認可能に表示する表示ステップと、
内側面と外側面とを有し閉空間を構成する第１の仮想オブジェクトのオブジェクトデータ及び前記閉空間内に配置される第２の仮想オブジェクトのオブジェクトデータを記憶する記憶ステップと、
前記撮像ステップで撮像された撮像画像を示す撮像画像データを逐次取得する撮像画像データ取得ステップと、
仮想空間内に仮想カメラを設定する仮想カメラ設定ステップと、
前記仮想カメラから前記第１の仮想オブジェクトの外側面の一部が見えるように当該第１の仮想オブジェクトを前記仮想空間内に配置するオブジェクト配置ステップと、
前記第１の仮想オブジェクトを、当該第１の仮想オブジェクトの全体が前記仮想カメラから見えるように移動させる第１のオブジェクト制御ステップと、
前記第１の仮想オブジェクトの形状を、当該第１の仮想オブジェクトによって前記内側面が内向きになるような閉空間が構成される閉形状から、前記仮想カメラから前記内側面が見えるように当該第１の仮想オブジェクトが展開された開形状へ変形させる第２のオブジェクト制御ステップと、
前記第１の仮想オブジェクトの前記内側面上に１以上の第２の仮想オブジェクトを配置するとともに、前記第１の仮想オブジェクトの形状の変形に応じて、前記第１の仮想オブジェクトの前記内側面に連動するように当該第２の仮想オブジェクトの位置及び姿勢を変化させる第３のオブジェクト制御ステップと、
前記撮像画像データ取得ステップで取得された撮像画像データにより示される撮像画像における前記第１の仮想オブジェクトの外側面の一部に対応する領域の画像と前記第１の仮想オブジェクトの前記開形状に対応する領域の画像とを、前記第１の仮想オブジェクトの前記外側面と前記内側面とにテクスチャとして貼り付けるテクスチャマッピングステップと、
前記テクスチャを貼り付けた第１の仮想オブジェクトと、前記第２の仮想オブジェクトとに基づいて、オブジェクト画像を作成するオブジェクト画像作成ステップと、
前記画面上の現実空間に、前記オブジェクト画像作成ステップにおいて作成されたオブジェクト画像を重ね合わせた重畳画像を、前記表示ステップにて逐次表示させる表示制御ステップとを含む情報処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ユーザが視認可能な現実空間に、仮想オブジェクト画像を重ね合わせて表示することにより自然な拡張現実感を実現する情報処理技術に関し、より具体的には、自然な拡張現実感を維持して、仮想オブジェクトを出現させる情報処理技術に関する。
【背景技術】
【０００２】
仮想オブジェクト画像を、現実世界（現実空間又は現実環境ともいう）に重ね合わせて表示することにより、仮想空間にオブジェクトが存在するように表示する、いわゆる拡張現実感システムが実現されている。この拡張現実感システムは、仮想物体（仮想オブジェクト）を現実世界の中に表示する技術であって、例えば、カメラで撮像した現実空間に、予め作成しておいた仮想オブジェクトの画像を重ね合わせて、違和感なく仮想オブジェクトを表示させる。特許文献１は、実オブジェクト（ゲームカード）の動きに連動させた仮想オブジェクト（キャラクタ）を表示するゲーム装置を開示する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００６−２６０６０２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、特許文献１に開示されたゲーム装置では、ゲームの開始時にキャラクタが唐突に画面に表示される。すなわち、このゲーム装置では、ゲームを開始するためにキャラクタの３次元画像の表示を開始する場合、何も表示されていない状態からフレーム画像とキャラクタの３次元画像とが重ね合わせられた画像が表示されている状態に切り替わったり、フレーム画像が表示されている状態からフレーム画像とキャラクタの３次元画像とが重ね合わせられた画像が表示されている状態に切り替わったりする。このように表示が切り替わると、キャラクタの３次元画像が唐突に画面に出現することになるため、キャラクタの３次元画像が現実空間にあたかも存在しているような、自然な拡張現実感をユーザに与えることができない。
【０００５】
このように、拡張現実感システムを適用したゲームにおいて、自然な拡張現実感が実現されている場合に、仮想キャラクタを出現させて新たにゲームを開始させるということに大きな問題がある。しかしながら、特許文献１に開示されたゲーム装置においても公知の技術においても、このような問題を解決することができない。
【０００６】
それ故、本発明の目的は、拡張現実感システムを適用して、現実世界に重ね合わせられて表示されるための仮想オブジェクトを出現させる場合に、実現された自然な拡張現実感を阻害することなく、かつ、出現時に表示される画像にユーザが興味を抱くようにして、仮想オブジェクトを出現させる技術を提供することである。
【課題を解決するための手段】
【０００７】
本発明は、上述の課題を解決するために、以下の構成を採用した。
【０００８】
本発明の第１の局面に係る情報処理プログラムは、撮像手段と、画面上において現実空間を視認可能な表示手段と、内側面と外側面とを有し閉空間を構成する第１の仮想オブジェクトのオブジェクトデータ及び閉空間内に配置される第２の仮想オブジェクトのオブジェクトデータを記憶する記憶手段とに接続された情報処理装置のコンピュータを、撮像画像データ取得手段、仮想カメラ設定手段、オブジェクト配置手段、第１のオブジェクト制御手段、第２のオブジェクト制御手段、第３のオブジェクト制御手段、テクスチャマッピング手段、オブジェクト画像作成手段、及び表示制御手段として機能させる。撮像画像データ取得手段は、撮像手段により撮像された撮像画像を示す撮像画像データを逐次取得する。仮想カメラ設定手段は、仮想空間内に仮想カメラを設定する。オブジェクト配置手段は、仮想カメラから第１の仮想オブジェクトの外側面の一部が見えるように当該第１の仮想オブジェクトを仮想空間内に配置する。第１のオブジェクト制御手段は、第１の仮想オブジェクトを、当該第１の仮想オブジェクトの全体が仮想カメラから見えるように移動させる。第２のオブジェクト制御手段は、第１の仮想オブジェクトの形状を、当該第１の仮想オブジェクトによって内側面が内向きになるような閉空間が構成される閉形状から、仮想カメラから内側面が見えるように当該第１の仮想オブジェクトが展開された開形状へ変形させる第２のオブジェクト制御手段、第３のオブジェクト制御手段は、第１の仮想オブジェクトの内側面上に１以上の第２の仮想オブジェクトを配置するとともに、第１の仮想オブジェクトの形状の変形に応じて、第１の仮想オブジェクトの内側面に連動するように当該第２の仮想オブジェクトの位置及び姿勢を変化させる。テクスチャマッピング手段は、撮像画像データ取得手段により逐次取得された撮像画像データにより示される撮像画像における第１の仮想オブジェクトの外側面の一部に対応する領域の画像と第１の仮想オブジェクトの開形状に対応する領域の画像とを、第１の仮想オブジェクトの外側面と内側面とにテクスチャとして貼り付ける。オブジェクト画像作成手段は、テクスチャを貼り付けた第１の仮想オブジェクトと、第２の仮想オブジェクトとに基づいて、オブジェクト画像を作成する。表示制御手段は、画面上の現実空間に、オブジェクト画像作成手段により作成されたオブジェクト画像を重ね合わせた重畳画像を、表示手段に逐次表示させる。
【０００９】
この構成によると、画面上の現実空間に、第１の仮想オブジェクト及び第２の仮想オブジェクトから構成されるオブジェクト画像が重ね合わせられた重畳画像が、表示手段に表示される。この場合において、第１の仮想オブジェクトは、内側面と外側面とを有し、オブジェクト配置手段により、外側面の一部が仮想カメラから見えるように配置された後に、第２のオブジェクト制御手段により、全体が仮想カメラから見えるように移動される。第１の仮想オブジェクトは、さらに第２のオブジェクト制御手段により、内側面が内向きになるような閉空間が構成される閉形状から、仮想カメラから内側面が見えるようにその閉空間が展開された開形状へ変形される。第２の仮想オブジェクトは、第１の仮想オブジェクトの内側面上に１以上配置され、第３のオブジェクト制御手段により、第１の仮想オブジェクトの変形（閉形状から開形状への変形）に応じて、第１の仮想オブジェクトの内側面に連動するように、その位置及び姿勢が変化される。例えば、拡張現実感を適用したシューティングゲームにおいて、第２の仮想オブジェクトがゲーム開始時のステージの的である場合に、第２の仮想オブジェクトをその閉空間に収納した第１の仮想オブジェクトの一部が仮想カメラから見えるように仮想空間に配置される。その後、第１の仮想オブジェクトの全体が仮想カメラから見えるように移動される。第２の仮想オブジェクトは、第１の仮想オブジェクトの内側面に連動するように、的の位置及び姿勢が変化される。すなわち、閉形状の第１の仮想オブジェクトの内側面に配置された的は、第１の仮想オブジェクトについての閉形状から開形状への変化に応じて（六面体で閉形状を構成する場合に閉形状から開形状への変化に応じて）、的の位置及び姿勢が変化する。このようにして、第１の仮想オブジェクトが閉形状から開形状へ展開して、第２の仮想オブジェクトが配置された開空間が現れる。そして、この的が配置された第１の仮想オブジェクトの外側面には、撮像画像における第１の仮想オブジェクトの外側面の一部に対応する領域の撮像画像がテクスチャとして、その内側面には、第１の仮想オブジェクトの開形状に対応する領域の撮像画像がテクスチャとして、貼り付けられる。このため、自然な拡張現実感を実現して、一部から全部が見えるように出現した第１の仮想オブジェクトが、閉形状から開形状へ変化して、展開面に第２の仮想オブジェクトを表示する。この場合、ユーザは、第１の仮想オブジェクトの出現（一部から全部）及び形状変化（閉形状から開形状）並びに第２の仮想オブジェクトの位置及び姿勢の変化（開形状になるに従い見える）に興味を抱くことになる。その結果、拡張現実感システムを適用して、現実世界に重ね合わせられて表示された仮想オブジェクトを出現させるにあたり、実現された自然な拡張現実感を阻害することなく、かつ、出現時に表示される画像にユーザが興味を抱くようにすることができる。
【００１０】
好ましくは、第１のオブジェクト制御手段は、第１の仮想オブジェクトの移動状態を連続的に変化させたアニメーション形式で、当該第１の仮想オブジェクトの位置を変化させるように構成することができる。この場合において、第２のオブジェクト制御手段は、第１の仮想オブジェクトの展開状態を連続的に変化させたアニメーション形式で、当該第１の仮想オブジェクトの形状を変形させるように構成することができる。また、第３のオブジェクト制御手段は、第１の仮想オブジェクトの展開状態を示すアニメーションの進行度合いに応じて、第２の仮想オブジェクトの位置及び姿勢を変化させるように構成することができる。
【００１１】
この構成によると、一部が見えた第１の仮想オブジェクトの全部が見えるようになる状態までを連続的に表現したアニメーション、閉形状の第１の仮想オブジェクトが開形状に変化する状態を連続的に表現したアニメーション及び第１の仮想オブジェクトのアニメーションに対応して第２の仮想オブジェクトの位置及び姿勢が変化する状態を連続的に表現したアニメーションを用いて、第２の仮想オブジェクトを第１の仮想オブジェクトから出現させることができる。その結果、第１の仮想オブジェクトの位置の変化、第１の仮想オブジェクトの形状の変化及び第２の仮想オブジェクトの位置及び姿勢の変化が連続的になるため、さらに実現された自然な拡張現実感を阻害することなく、かつ、出現時に表示される画像にユーザが興味を抱くようにすることができる。
【００１２】
好ましくは、第１の仮想オブジェクトは複数の展開面から構成される多面体で構成することができる。この場合において、アニメーションは、多面体が閉空間を構成する第１の状態から、展開面が回転して多面体が開いて多面体の展開面に第２の仮想オブジェクトが配置された第２の状態までを含むように構成することができる。
【００１３】
この構成によると、この構成によると、展開面が回転して多面体が展開されると第２の仮想オブジェクトが出現するようなアニメーションを表示することができる。このため、ゲームの開始時に、実現された自然な拡張現実感を阻害することなく、かつ、第２の仮想オブジェクトの出現時に表示される画像にユーザが興味を抱くようにすることができる。
【００１４】
好ましくは、アニメーションは、多面体の一部が出現するまでを含むように構成することができる。
【００１５】
この構成によると、現実空間のみが視認可能な状態から、第１の仮想オブジェクトである多面体の一部が現れて、その一部から全部が現れて、多面体が展開して第２の仮想オブジェクトが出現するようなアニメーションを表示することができる。
【００１６】
好ましくは、アニメーションは、第２の状態から多面体の展開面が消えるまでを含むように構成することができる。
【００１７】
この構成によると、第２の仮想オブジェクト（的）が多面体の展開面上に表示されている状態から、ゲームに関係がない多面体の展開面が消えるようなアニメーションを表示することができる。
【００１８】
好ましくは、アニメーションは、第２の状態から展開面又は展開面の境界線の色が変化してから多面体の展開面が消えるように構成することができる。
【００１９】
この構成によると、多面体が展開されて第２の仮想オブジェクトが展開面に配置された状態から、多面体の展開面がその面又は辺の色が変化して沈み込むように消えるので、自然な拡張現実感を実現することができる。
【００２０】
好ましくは、第３のオブジェクト制御手段は、展開面の回転に対応させて、当該第２の仮想オブジェクトを回転することにより、当該第２の仮想オブジェクトの位置及び姿勢を変化させるように構成することができる。
【００２１】
この構成によると、第１の仮想オブジェクトは、多面体の展開面が回転することにより閉形状から開形状へ変化する。このような回転に対応させて第２の仮想オブジェクトが回転するので、自然な拡張現実感を実現することができる。
【００２２】
好ましくは、第１の仮想オブジェクトは複数の展開面から構成される多面体で構成することができる。この場合において、オブジェクト配置手段により配置された第１の仮想オブジェクトの外側面の一部は、複数の展開面のうちの１つの展開面であるように構成することができる。
【００２３】
この構成によると、第１の仮想オブジェクトの外側面の一部が、複数の展開面の１つであるので、初めに見えるようになった外側面（例えば六面体の上面）が展開されて、第２の仮想オブジェクトを出現させることができる。
【００２４】
好ましくは、多面体は六面体で構成することができる。なお、この六面体には、立方体又は直方体を始めとして、角錐台等であっても構わない。
【００２５】
この構成によると、多面体として六面体を用いて、立方体又は直方体等で構成される閉空間内に第２の仮想オブジェクトを収納しておいて、立方体又は直方体等を展開すると第２の仮想オブジェクトを出現させることができる。これにより、自然な拡張現実感を実現しつつ、仮想オブジェクトを出現させることができる。
【００２６】
好ましくは、プログラムは、コンピュータを、撮像画像データ取得手段により逐次取得された撮像画像データから特定対象物を検出する検出手段、及び特定対象物の検出結果に基づいて、撮像手段と特定の対象物との相対的位置を算出する算出手段としてさらに機能させるように構成することができる。この場合において、オブジェクト配置手段は、１つの展開面の位置が特定対象物の位置と同一になるように第１の仮想オブジェクトを仮想空間内に配置するように構成することができる。
【００２７】
この構成によると、拡張現実感システムで必要な特定対象物（マーカ）の位置に展開面の１つを配置するので、マーカから第１の仮想オブジェクトを出現させるようにすることができる。第１の仮想オブジェクトは、第２の仮想オブジェクトを収納しているので、結果的に、マーカから第２の仮想オブジェクトを出現させるようにできる。
【００２８】
好ましくは、多面体は錐体で構成することができる。なお、この錐体は、例えば、円錐、Ｎ角錐（Ｎは３以上の自然数、（Ｎ＋１）面体）等である。
【００２９】
この構成によると、多面体として錐体（円錐、三角錐、四角錐・・・）を用いて、この閉空間内に第２の仮想オブジェクトを収納しておいて、錐体を展開すると第２の仮想オブジェクトを出現させることができる。この場合に、錐体の頂点から出現するように、その一部から全体を出現させるようにすることにより、ユーザに興味を抱かせることができる。
【００３０】
好ましくは、オブジェクト配置手段は、錐体の頂点の位置が特定対象物の位置と同一になるように第１の仮想オブジェクトを仮想空間内に配置するように構成することができる。
【００３１】
この構成によると、拡張現実感システムで必要な特定対象物（マーカ）の位置から錐体の頂点が出現するようにして、マーカから突き出るように、第１の仮想オブジェクトを出現させるようにすることができる。
【００３２】
好ましくは、表示制御手段は、第２の仮想オブジェクトが閉空間を構成する面を透過しないように表示するように構成することができる。
【００３３】
この構成によると、第１の仮想オブジェクトが閉形状から開形状へ変化するに従い第２の仮想オブジェクトが見えるようになるため、ユーザがその変化に興味を抱くことになる。さらに、第１の仮想オブジェクトの形状が閉形状から開形状に変化する前に、第２の仮想オブジェクトをユーザに見せないようにすることができるため、実現された自然な拡張現実感を阻害することなく、かつ、出現時に表示される画像にユーザが興味を抱くようにすることができる。
【００３４】
好ましくは、プログラムは、コンピュータを、ユーザの操作に応じて第２の仮想オブジェクトを動作させる操作手段としてさらに機能させるように構成することができる。
【００３５】
この構成によると、第２の仮想オブジェクトとして、例えばユーザの操作により動作するキャラクタを配置して、そのキャラクタが的を撃つシューティングゲームを実現する情報処理を実行することができる。
【００３６】
好ましくは、テクスチャマッピング手段は、撮像画像における第１の仮想オブジェクトの外側面の一部に対応する領域の画像を第１の仮想オブジェクトの外側面の一部にテクスチャとして貼り付けるとともに、撮像画像における第１の仮想オブジェクトの開形状に対応する領域の画像を第１の仮想オブジェクトの内側面にテクスチャとして貼り付けるように構成することができる。
【００３７】
この構成によると、仮想空間に配置されている第１のオブジェクトが移動する前に仮想カメラから見える外側面の一部を撮像画像にし、第１の仮想オブジェクトの形状が閉形状から開形状にされるときに見える内側面を撮像画像にするため、現実空間に唐突に仮想オブジェクトが表示されてしまうことを防止することができる。その結果、実現された自然な拡張現実感を阻害することなく、かつ、出現時に表示される画像にユーザが興味を抱くようにすることができる。
【００３８】
本発明の第２の局面に係る情報処理装置は、撮像手段と、画面上において現実空間を視認可能な表示手段と、内側面と外側面とを有し閉空間を構成する第１の仮想オブジェクトのオブジェクトデータ及び閉空間内に配置される第２の仮想オブジェクトのオブジェクトデータを記憶する記憶手段と、撮像手段により撮像された撮像画像を示す撮像画像データを逐次取得する撮像画像データ取得手段と、仮想空間内に仮想カメラを設定する仮想カメラ設定手段と、仮想カメラから第１の仮想オブジェクトの外側面の一部が見えるように当該第１の仮想オブジェクトを仮想空間内に配置するオブジェクト配置手段と、第１の仮想オブジェクトを、当該第１の仮想オブジェクトの全体が仮想カメラから見えるように移動させる第１のオブジェクト制御手段と、第１の仮想オブジェクトの形状を、当該第１の仮想オブジェクトによって内側面が内向きになるような閉空間が構成される閉形状から、仮想カメラから内側面が見えるように当該第１の仮想オブジェクトが展開された開形状へ変形させる第２のオブジェクト制御手段と、第１の仮想オブジェクトの内側面上に１以上の第２の仮想オブジェクトを配置するとともに、第１の仮想オブジェクトの形状の変形に応じて、第１の仮想オブジェクトの内側面に連動するように当該第２の仮想オブジェクトの位置及び姿勢を変化させる第３のオブジェクト制御手段と、撮像画像データ取得手段により逐次取得された撮像画像データにより示される撮像画像における第１の仮想オブジェクトの外側面の一部に対応する領域の画像と第１の仮想オブジェクトの開形状に対応する領域の画像とを、第１の仮想オブジェクトの外側面と内側面とにテクスチャとして貼り付けるテクスチャマッピング手段と、テクスチャを貼り付けた第１の仮想オブジェクトと、第２の仮想オブジェクトとに基づいて、オブジェクト画像を作成するオブジェクト画像作成手段と、画面上の現実空間に、オブジェクト画像作成手段により作成されたオブジェクト画像を重ね合わせた重畳画像を、表示手段に逐次表示させる表示制御手段とを含む。
【００３９】
本発明の第３の局面に係る情報処理システムは、撮像手段と、画面上において現実空間を視認可能な表示手段と、内側面と外側面とを有し閉空間を構成する第１の仮想オブジェクトのオブジェクトデータ及び閉空間内に配置される第２の仮想オブジェクトのオブジェクトデータを記憶する記憶手段と、撮像手段により撮像された撮像画像を示す撮像画像データを逐次取得する撮像画像データ取得手段と、仮想空間内に仮想カメラを設定する仮想カメラ設定手段と、仮想カメラから第１の仮想オブジェクトの外側面の一部が見えるように当該第１の仮想オブジェクトを仮想空間内に配置するオブジェクト配置手段と、第１の仮想オブジェクトを、当該第１の仮想オブジェクトの全体が仮想カメラから見えるように移動させる第１のオブジェクト制御手段と、第１の仮想オブジェクトの形状を、当該第１の仮想オブジェクトによって内側面が内向きになるような閉空間が構成される閉形状から、仮想カメラから内側面が見えるように当該第１の仮想オブジェクトが展開された開形状へ変形させる第２のオブジェクト制御手段と、第１の仮想オブジェクトの内側面上に１以上の第２の仮想オブジェクトを配置するとともに、第１の仮想オブジェクトの形状の変形に応じて、第１の仮想オブジェクトの内側面に連動するように当該第２の仮想オブジェクトの位置及び姿勢を変化させる第３のオブジェクト制御手段と、撮像画像データ取得手段により逐次取得された撮像画像データにより示される撮像画像における第１の仮想オブジェクトの外側面の一部に対応する領域の画像と第１の仮想オブジェクトの開形状に対応する領域の画像とを、第１の仮想オブジェクトの外側面と内側面とにテクスチャとして貼り付けるテクスチャマッピング手段と、テクスチャを貼り付けた第１の仮想オブジェクトと、第２の仮想オブジェクトとに基づいて、オブジェクト画像を作成するオブジェクト画像作成手段と、画面上の現実空間に、オブジェクト画像作成手段により作成されたオブジェクト画像を重ね合わせた重畳画像を、表示手段に逐次表示させる表示制御手段とを含む。
【００４０】
本発明の第４の局面に係る情報処理方法は、撮像手段により撮像画像を撮像する撮像ステップと、画面上において現実空間を視認可能に表示する表示ステップと、内側面と外側面とを有し閉空間を構成する第１の仮想オブジェクトのオブジェクトデータ及び閉空間内に配置される第２の仮想オブジェクトのオブジェクトデータを記憶する記憶ステップと、撮像ステップで撮像された撮像画像を示す撮像画像データを逐次取得する撮像画像データ取得ステップと、仮想空間内に仮想カメラを設定する仮想カメラ設定ステップと、仮想カメラから第１の仮想オブジェクトの外側面の一部が見えるように当該第１の仮想オブジェクトを仮想空間内に配置するオブジェクト配置ステップと、第１の仮想オブジェクトを、当該第１の仮想オブジェクトの全体が仮想カメラから見えるように移動させる第１のオブジェクト制御ステップと、第１の仮想オブジェクトの形状を、当該第１の仮想オブジェクトによって内側面が内向きになるような閉空間が構成される閉形状から、仮想カメラから内側面が見えるように当該第１の仮想オブジェクトが展開された開形状へ変形させる第２のオブジェクト制御ステップと、第１の仮想オブジェクトの内側面上に１以上の第２の仮想オブジェクトを配置するとともに、第１の仮想オブジェクトの形状の変形に応じて、第１の仮想オブジェクトの内側面に連動するように当該第２の仮想オブジェクトの位置及び姿勢を変化させる第３のオブジェクト制御ステップと、撮像画像データ取得ステップで逐次取得された撮像画像データにより示される撮像画像における第１の仮想オブジェクトの外側面の一部に対応する領域の画像と第１の仮想オブジェクトの開形状に対応する領域の画像とを、第１の仮想オブジェクトの外側面と内側面とにテクスチャとして貼り付けるテクスチャマッピングステップと、テクスチャを貼り付けた第１の仮想オブジェクトと、第２の仮想オブジェクトとに基づいて、オブジェクト画像を作成するオブジェクト画像作成ステップと、画面上の現実空間に、オブジェクト画像作成ステップにおいて作成されたオブジェクト画像を重ね合わせた重畳画像を、表示ステップにて逐次表示させる表示制御ステップとを含む。
【００４１】
本発明の第２の局面に係る情報処理装置、第３の局面に係る情報処理システム及び第４の局面に係る情報処理方法によると、第１の局面に係る情報処理プログラムと同様の作用効果を発現する。
【発明の効果】
【００４２】
本発明によれば、拡張現実感システムを適用して、現実世界に重ね合わせられて表示された仮想オブジェクトを、実現された自然な拡張現実感を阻害することなく、かつ、出現時に表示される画像にユーザが興味を抱くようにして、出現させることができる。
【図面の簡単な説明】
【００４３】
【図１】開状態におけるゲーム装置１０の正面図
【図２】開状態におけるゲーム装置１０の側面図
【図３】閉状態におけるゲーム装置１０の左側面図、正面図、右側面図及び背面図
【図４】上側ハウジング２１の内側面からスクリーンカバー２７を分離した状態を示す図
【図５】図１に示す上側ハウジング２１のＡ−Ａ’線断面図
【図６Ａ】３Ｄ調整スイッチ２５のスライダ２５ａが最下点（第３の位置）に存在する様子を示す図
【図６Ｂ】３Ｄ調整スイッチ２５のスライダ２５ａが最下点よりも上方位置（第１の位置）に存在する様子を示す図
【図６Ｃ】３Ｄ調整スイッチ２５のスライダ２５ａが最上点（第２の位置）に存在する様子を示す図
【図７】ゲーム装置１０の内部構成を示すブロック図
【図８】ゲーム装置１０のメインメモリ３２のメモリマップを示す図
【図９】図８の仮想オブジェクトデータを示す図
【図１０】本実施形態に係る仮想オブジェクト表示処理の詳細を示すメインフローチャート
【図１１】図１０の出現アニメーション作成処理（ステップＳ６００）の詳細を示すフローチャート
【図１２】図１０の展開アニメーション作成処理（ステップＳ８００）の詳細を示すフローチャート
【図１３】上側ＬＣＤ２２に表示されるシューティングゲームのゲーム開始前を示す図
【図１４Ａ】上側ＬＣＤ２２に表示される撮像画像を示す図
【図１４Ｂ】図１４Ａの状態から六面体の一部が出現した状態を示す図
【図１４Ｃ】図１４Ｂの状態から六面体がさらに出現した状態を示す図
【図１４Ｄ】図１４Ｃの状態から六面体がさらに出現して六面体の全体が出現した状態を示す図
【図１４Ｅ】図１４Ｄの状態から六面体が展開される途中の状態を示す図
【図１４Ｆ】図１４Ｅの状態から六面体が完全に展開された状態を示す図
【図１４Ｇ】図１４Ｇの状態からテクスチャを消去した状態を示す図
【図１４Ｈ】六面体展開面が消滅したゲーム開始時の状態を示す図
【図１５】上側ＬＣＤ２２に表示されるシューティングゲームのゲーム開始時を示す図
【図１６】六面体展開面に撮像画像がテクスチャマッピングされる場合を説明する図
【図１７Ａ】変形例において四角錐の一部が出現した状態を示す図
【図１７Ｂ】図１７Ａの状態から四角錐がさらに出現した状態を示す図
【図１７Ｃ】図１７Ｂの状態から四角錐がさらに出現した状態を示す図
【図１７Ｄ】図１７Ｃの状態から四角錐がさらに出現して四角錐の全体が出現した状態を示す図
【図１７Ｅ】図１７Ｄの状態から四角錐が完全に展開された状態を示す図
【発明を実施するための形態】
【００４４】
（ゲーム装置の構成）
以下、本発明の実施形態に係る情報処理装置であるゲーム装置について説明する。なお、本発明は、このような装置に限定されるものではなく、このような装置において実行される情報処理プログラムであっても、このような装置に関係がある情報処理システムであっても構わない。さらに、本発明は、このような装置における情報処理方法であっても構わない。さらに、このゲーム装置において実行されるゲームは、的当てゲーム（シューティングゲームであって、このゲームの開始時に、的等の仮想オブジェクトが閉空間を構成する六面体に収納されて出現して、その六面体が展開するとゲーム開始時の仮想オブジェクトが出現するものとして説明する。しかしながら、本発明は、このようなシューティングゲームにも、閉空間が六面体で構成されることにも、限定されない。
【００４５】
図１〜図３は、ゲーム装置１０の外観を示す平面図である。ゲーム装置１０は携帯型のゲーム装置であり、図１〜図３に示すように折り畳み可能に構成されている。図１及び図２は、開いた状態（開状態）におけるゲーム装置１０を示し、図３は、閉じた状態（閉状態）におけるゲーム装置１０を示している。図１は、開状態におけるゲーム装置１０の正面図であり、図２は、開状態におけるゲーム装置１０の右側面図である。ゲーム装置１０は、撮像部によって画像を撮像し、撮像した画像を画面に表示したり、撮像した画像のデータを保存したりすることが可能である。また、ゲーム装置１０は、交換可能なメモリカード内に記憶され、又は、サーバーや他のゲーム装置から受信したゲームプログラムを実行可能であり、仮想空間に設定された仮想カメラで撮像した画像などのコンピュータグラフィックス処理により生成された画像を画面に表示したりすることができる。
【００４６】
まず、図１〜図３を参照して、ゲーム装置１０の外観構成について説明する。図１〜図３に示されるように、ゲーム装置１０は、下側ハウジング１１及び上側ハウジング２１を有する。下側ハウジング１１と上側ハウジング２１とは、開閉可能（折り畳み可能）に接続されている。本実施形態では、各ハウジング１１及び２１はともに横長の長方形の板状形状であり、互いの長辺部分で回転可能に接続されている。
【００４７】
図１及び図２に示されるように、下側ハウジング１１の上側長辺部分には、下側ハウジング１１の内側面（主面）１１Ｂに対して垂直な方向に突起する突起部１１Ａが設けられる。また、上側ハウジング２１の下側長辺部分には、上側ハウジング２１の下側面から当該下側面に垂直な方向に突起する突起部２１Ａが設けられる。下側ハウジング１１の突起部１１Ａと上側ハウジング２１の突起部２１Ａとが連結されることにより、下側ハウジング１１と上側ハウジング２１とが、折り畳み可能に接続される。
【００４８】
（下側ハウジングの説明）
まず、下側ハウジング１１の構成について説明する。図１〜図３に示すように、下側ハウジング１１には、下側ＬＣＤ（Ｌｉｑｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙ：液晶表示装置）１２、タッチパネル１３、各操作ボタン１４Ａ〜１４Ｌ（図１、図３）、アナログスティック１５、ＬＥＤ１６Ａ〜１６Ｂ、挿入口１７、及び、マイクロフォン用孔１８が設けられる。以下、これらの詳細について説明する。
【００４９】
図１に示すように、下側ＬＣＤ１２は下側ハウジング１１に収納される。下側ＬＣＤ１２は横長形状であり、長辺方向が下側ハウジング１１の長辺方向に一致するように配置される。下側ＬＣＤ１２は下側ハウジング１１の中央に配置される。下側ＬＣＤ１２は、下側ハウジング１１の内側面（主面）に設けられ、下側ハウジング１１に設けられた開口部から当該下側ＬＣＤ１２の画面が露出される。ゲーム装置１０を使用しない場合には閉状態としておくことによって、下側ＬＣＤ１２の画面が汚れたり傷ついたりすることを防止することができる。下側ＬＣＤ１２の画素数は、例えば、２５６ｄｏｔ×１９２ｄｏｔ（横×縦）であってもよい。下側ＬＣＤ１２は、後述する上側ＬＣＤ２２とは異なり、画像を（立体視可能ではなく）平面的に表示する表示装置である。なお、本実施形態では表示装置としてＬＣＤを用いているが、例えばＥＬ（Ｅｌｅｃｔｒｏ  Ｌｕｍｉｎｅｓｃｅｎｃｅ：電界発光）を利用した表示装置など、他の任意の表示装置を利用してもよい。また、下側ＬＣＤ１２として、任意の解像度の表示装置を利用することができる。
【００５０】
図１に示されるように、ゲーム装置１０は、入力装置として、タッチパネル１３を備えている。タッチパネル１３は、下側ＬＣＤ１２の画面上に装着されている。なお、本実施形態では、タッチパネル１３は抵抗膜方式のタッチパネルである。ただし、タッチパネルは抵抗膜方式に限らず、例えば静電容量方式等、任意の方式のタッチパネルを用いることができる。本実施形態では、タッチパネル１３として、下側ＬＣＤ１２の解像度と同解像度（検出精度）のものを利用する。ただし、必ずしもタッチパネル１３の解像度と下側ＬＣＤ１２の解像度が一致している必要はない。また、下側ハウジング１１の上側面には挿入口１７（図１及び図３（ｄ）に示す点線）が設けられている。挿入口１７は、タッチパネル１３に対する操作を行うために用いられるタッチペン２８を収納することができる。なお、タッチパネル１３に対する入力は通常タッチペン２８を用いて行われるが、タッチペン２８に限らずユーザの指でタッチパネル１３に対する入力をすることも可能である。
【００５１】
各操作ボタン１４Ａ〜１４Ｌは、所定の入力を行うための入力装置である。図１に示されるように、下側ハウジング１１の内側面（主面）には、各操作ボタン１４Ａ〜１４Ｌのうち、十字ボタン１４Ａ（方向入力ボタン１４Ａ）、ボタン１４Ｂ、ボタン１４Ｃ、ボタン１４Ｄ、ボタン１４Ｅ、電源ボタン１４Ｆ、セレクトボタン１４Ｊ、ＨＯＭＥボタン１４Ｋ、及びスタートボタン１４Ｌが、設けられる。十字ボタン１４Ａは、十字の形状を有しており、上下左右の方向を指示するボタンを有している。ボタン１４Ｂ、ボタン１４Ｃ、ボタン１４Ｄ、ボタン１４Ｅは、十字状に配置される。ボタン１４Ａ〜１４Ｅ、セレクトボタン１４Ｊ、ＨＯＭＥボタン１４Ｋ、及びスタートボタン１４Ｌには、ゲーム装置１０が実行するプログラムに応じた機能が適宜割り当てられる。例えば、十字ボタン１４Ａは選択操作等に用いられ、各操作ボタン１４Ｂ〜１４Ｅは例えば決定操作やキャンセル操作等に用いられる。また、電源ボタン１４Ｆは、ゲーム装置１０の電源をオン／オフするために用いられる。
【００５２】
アナログスティック１５は、方向を指示するデバイスであり、下側ハウジング１１の内側面の下側ＬＣＤ１２より左側領域の上部領域に設けられる。図１に示すように、十字ボタン１４Ａは下側ＬＣＤ１２より左側領域の下部領域に設けられるので、アナログスティック１５は、十字ボタン１４Ａの上方に設けられる。また、アナログスティック１５、及び、十字ボタン１４Ａは、下側ハウジングを把持した左手の親指で操作可能な位置に設計される。また、アナログスティック１５を上部領域に設けたことにより、下側ハウジング１１を把持する左手の親指が自然と位置するところにアナログスティック１５が配され、十字ボタン１４Ａは、左手の親指を少し下にずらした位置に配される。アナログスティック１５は、そのキートップが、下側ハウジング１１の内側面に平行にスライドするように構成されている。アナログスティック１５は、ゲーム装置１０が実行するプログラムに応じて機能する。例えば、３次元仮想空間に所定のオブジェクトが登場するゲームがゲーム装置１０によって実行される場合、アナログスティック１５は、当該所定のオブジェクトを３次元仮想空間内で移動させるための入力装置として機能する。この場合において、所定のオブジェクトはアナログスティック１５のキートップがスライドした方向に移動される。なお、アナログスティック１５として、上下左右及び斜め方向の任意の方向に所定量だけ傾倒することでアナログ入力を可能としたものを用いても良い。
【００５３】
十字状に配置される、ボタン１４Ｂ、ボタン１４Ｃ、ボタン１４Ｄ、ボタン１４Ｅの４つのボタンは、下側ハウジング１１を把持する右手の親指が自然と位置するところに配置される。また、これらの４つのボタンと、アナログスティック１５とは、下側ＬＣＤ１２を挟んで、左右対称に配置される。これにより、ゲームプログラムによっては、例えば、左利きの人が、これらの４つのボタンを使用して方向指示入力をすることも可能である。
【００５４】
また、下側ハウジング１１の内側面には、マイクロフォン用孔１８が設けられる。マイクロフォン用孔１８の下部には後述する音声入力装置としてのマイク（図７参照）が設けられ、当該マイクがゲーム装置１０の外部の音を検出する。
【００５５】
図３（ａ）は閉状態におけるゲーム装置１０の左側面図であり、図３（ｂ）は閉状態におけるゲーム装置１０の正面図であり、図３（ｃ）は閉状態におけるゲーム装置１０の右側面図であり、図３（ｄ）は閉状態におけるゲーム装置１０の背面図である。図３（ｂ）及び（ｄ）に示されるように、下側ハウジング１１の上側面には、Ｌボタン１４Ｇ及びＲボタン１４Ｈが設けられている。Ｌボタン１４Ｇは、下側ハウジング１１の上面の左端部に設けられ、Ｒボタン１４Ｈは、下側ハウジング１１の上面の右端部に設けられる。Ｌボタン１４Ｇ及びＲボタン１４Ｈは、撮像部のシャッターボタン（撮影指示ボタン）として機能することができる。また、図３（ａ）に示されるように、下側ハウジング１１の左側面には、音量ボタン１４Ｉが設けられる。音量ボタン１４Ｉは、ゲーム装置１０が備えるスピーカの音量を調整するために用いられる。
【００５６】
図３（ａ）に示されるように、下側ハウジング１１の左側面には開閉可能なカバー部１１Ｃが設けられる。このカバー部１１Ｃの内側には、ゲーム装置１０とデータ保存用外部メモリ４５とを電気的に接続するためのコネクタ（図示せず）が設けられる。データ保存用外部メモリ４５は、コネクタに着脱自在に装着される。データ保存用外部メモリ４５は、例えば、ゲーム装置１０によって撮像された画像のデータを記憶（保存）するために用いられる。なお、上記コネクタ及びそのカバー部１１Ｃは、下側ハウジング１１の右側面に設けられてもよい。
【００５７】
また、図３（ｄ）に示されるように、下側ハウジング１１の上側面には、ゲーム装置１０とゲームプログラムを記録した外部メモリ４４を挿入するための挿入口１１Ｄが設けられ、その挿入口１１Ｄの内部には、外部メモリ４４と電気的に着脱自在に接続するためのコネクタ（図示せず）が設けられる。当該外部メモリ４４がゲーム装置１０に接続されることにより、所定のゲームプログラムが実行される。なお、上記コネクタ及びその挿入口１１Ｄは、下側ハウジング１１の他の側面（例えば、右側面等）に設けられてもよい。
【００５８】
また、図１及び図３（ｃ）に示されるように、下側ハウジング１１の下側面にはゲーム装置１０の電源のＯＮ／ＯＦＦ状況をユーザに通知する第１ＬＥＤ１６Ａ、下側ハウジング１１の右側面にはゲーム装置１０の無線通信の確立状況をユーザに通知する第２ＬＥＤ１６Ｂが設けられる。ゲーム装置１０は他の機器との間で無線通信を行うことが可能であり、第１ＬＥＤ１６Ｂは、無線通信が確立している場合に点灯する。ゲーム装置１０は、例えば、ＩＥＥＥ８０２．１１．ｂ／ｇの規格に準拠した方式により、無線ＬＡＮに接続する機能を有する。下側ハウジング１１の右側面には、この無線通信の機能を有効／無効にする無線スイッチ１９が設けられる（図３（ｃ）参照）。
【００５９】
なお、図示は省略するが、下側ハウジング１１には、ゲーム装置１０の電源となる充電式電池が収納され、下側ハウジング１１の側面（例えば、上側面）に設けられた端子を介して当該電池を充電することができる。
【００６０】
（上側ハウジングの説明）
次に、上側ハウジング２１の構成について説明する。図１〜図３に示すように、上側ハウジング２１には、上側ＬＣＤ（Ｌｉｑｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙ：液晶表示装置）２２、外側撮像部２３（外側撮像部（左）２３ａ及び外側撮像部（右）２３ｂ）、内側撮像部２４、３Ｄ調整スイッチ２５、及び、３Ｄインジケータ２６が設けられる。以下、これらの詳細について説明する。
【００６１】
図１に示すように、上側ＬＣＤ２２は上側ハウジング２１に収納される。上側ＬＣＤ２２は、横長形状であり、長辺方向が上側ハウジング２１の長辺方向に一致するように配置される。上側ＬＣＤ２２は上側ハウジング２１の中央に配置される。上側ＬＣＤ２２の画面の面積は、下側ＬＣＤ１２の画面の面積よりも大きく設定される。また、上側ＬＣＤ２２の画面は、下側ＬＣＤ１２の画面よりも横長に設定される。すなわち、上側ＬＣＤ２２の画面のアスペクト比における横幅の割合は、下側ＬＣＤ１２の画面のアスペクト比における横幅の割合よりも大きく設定される。
【００６２】
上側ＬＣＤ２２の画面は、上側ハウジング２１の内側面（主面）２１Ｂに設けられ、上側ハウジング２１に設けられた開口部から当該上側ＬＣＤ２２の画面が露出される。また、図２及び図４に示すように、上側ハウジング２１の内側面は、透明なスクリーンカバー２７によって覆われている。図４は、上側ハウジング２１の内側面からスクリーンカバー２７を分解した状態を示す分解図である。当該スクリーンカバー２７は、上側ＬＣＤ２２の画面を保護するとともに、上側ＬＣＤ２２と上側ハウジング２１の内側面と一体的にさせ、これにより統一感を持たせている。上側ＬＣＤ２２の画素数は、例えば、６４０ｄｏｔ×２００ｄｏｔ（横×縦）であってもよい。なお、本実施形態では上側ＬＣＤ２２は液晶表示装置であるとしたが、例えばＥＬ（Ｅｌｅｃｔｒｏ  Ｌｕｍｉｎｅｓｃｅｎｃｅ：電界発光）を利用した表示装置などが利用されてもよい。また、上側ＬＣＤ２２として、任意の解像度の表示装置を利用することができる。
【００６３】
上側ＬＣＤ２２は、立体視可能な画像を表示することが可能な表示装置である。また、本実施形態では、実質的に同一の表示領域を用いて左目用画像と右目用画像が表示される。具体的には、左目用画像と右目用画像が所定単位で（例えば、１列ずつ）横方向に交互に表示される方式の表示装置である。又は、左目用画像と右目用画像とが交互に表示される方式の表示装置であってもよい。また、本実施形態では、裸眼立体視可能な表示装置である。そして、横方向に交互に表示される左目用画像と右目用画像とを左目及び右目のそれぞれに分解して見えるようにレンチキュラー方式やパララックスバリア方式（視差バリア方式）のものが用いられる。本実施形態では、上側ＬＣＤ２２はパララックスバリア方式のものとする。上側ＬＣＤ２２は、右目用画像と左目用画像とを用いて、裸眼で立体視可能な画像（立体画像）を表示する。すなわち、上側ＬＣＤ２２は、視差バリアを用いてユーザの左目に左目用画像をユーザの右目に右目用画像を視認させることにより、ユーザにとって立体感のある立体画像（立体視可能な画像）を表示することができる。また、上側ＬＣＤ２２は、上記視差バリアを無効にすることが可能であり、視差バリアを無効にした場合は、画像を平面的に表示することができる（上述した立体視とは反対の意味で平面視の画像を表示することができる。すなわち、表示された同一の画像が右目にも左目にも見えるような表示モードである）。このように、上側ＬＣＤ２２は、立体視可能な画像を表示する立体表示モードと、画像を平面的に表示する（平面視画像を表示する）平面表示モードとを切り替えることが可能な表示装置である。この表示モードの切り替えは、後述する３Ｄ調整スイッチ２５によって行われる。
【００６４】
外側撮像部２３は、上側ハウジング２１の外側面（上側ＬＣＤ２２が設けられた主面と反対側の背面）２１Ｄに設けられた２つの撮像部（２３ａ及び２３ｂ）の総称である。外側撮像部（左）２３ａと外側撮像部（右）２３ｂの撮像方向は、いずれも当該外側面２１Ｄの外向きの法線方向である。また、これらの撮像部はいずれも、上側ＬＣＤ２２の表示面（内側面）の法線方向と１８０度反対の方向に設計される。すなわち、外側撮像部（左）２３ａの撮像方向及び外側撮像部（右）２３ｂの撮像方向は、平行である。外側撮像部（左）２３ａと外側撮像部（右）２３ｂとは、ゲーム装置１０が実行するプログラムによって、ステレオカメラとして使用することが可能である。また、プログラムによっては、２つの外側撮像部（２３ａ及び２３ｂ）のいずれか一方を単独で用いて、外側撮像部２３を非ステレオカメラとして使用することも可能である。また、プログラムによっては、２つの外側撮像部（２３ａ及び２３ｂ）で撮像した画像を合成して又は補完的に使用することにより撮像範囲を広げた撮像をおこなうことも可能である。本実施形態では、外側撮像部２３は、外側撮像部（左）２３ａ及び外側撮像部（右）２３ｂの２つの撮像部で構成される。外側撮像部（左）２３ａ及び外側撮像部（右）２３ｂは、それぞれ所定の共通の解像度を有する撮像素子（例えば、ＣＣＤイメージセンサやＣＭＯＳイメージセンサ等）と、レンズとを含む。レンズは、ズーム機構を有するものでもよい。
【００６５】
図１の破線及び図３（ｂ）の実線で示されるように、外側撮像部２３を構成する外側撮像部（左）２３ａ及び外側撮像部（右）２３ｂは、上側ＬＣＤ２２の画面の横方向と平行に並べられて配置される。すなわち、２つの撮像部を結んだ直線が上側ＬＣＤ２２の画面の横方向と平行になるように、外側撮像部（左）２３ａ及び外側撮像部（右）２３ｂが配置される。図１の破線で示す２３ａ及び２３ｂは、上側ハウジング２１の内側面とは反対側の外側面に存在する外側撮像部（左）２３ａ及び外側撮像部（右）２３ｂをそれぞれ表している。図１に示すように、ユーザが上側ＬＣＤ２２の画面を正面から視認した場合に、外側撮像部（左）２３ａは左側に外側撮像部（右）２３ｂは右側にそれぞれ位置している。外側撮像部２３をステレオカメラとして機能させるプログラムが実行されている場合、外側撮像部（左）２３ａは、ユーザの左目で視認される左目用画像を撮像し、外側撮像部（右）２３ｂは、ユーザの右目で視認される右目用画像を撮像する。外側撮像部（左）２３ａ及び外側撮像部（右）２３ｂの間隔は、人間の両目の間隔程度に設定され、例えば、３０ｍｍ〜７０ｍｍの範囲で設定されてもよい。なお、外側撮像部（左）２３ａ及び外側撮像部（右）２３ｂの間隔は、この範囲に限らない。
【００６６】
なお、本実施形態においては、外側撮像部（左）２３ａ及び外側撮像部（右）２３はハウジングに固定されており、撮像方向を変更することはできない。
【００６７】
また、外側撮像部（左）２３ａ及び外側撮像部（右）２３ｂは、上側ＬＣＤ２２（上側ハウジング２１）の左右方向に関して中央から対称となる位置にそれぞれ配置される。すなわち、外側撮像部（左）２３ａ及び外側撮像部（右）２３ｂは、上側ＬＣＤ２２を左右に２等分する線に対して対称の位置にそれぞれ配置される。また、外側撮像部（左）２３ａ及び外側撮像部（右）２３ｂは、上側ハウジング２１を開いた状態において、上側ハウジング２１の上部であって、上側ＬＣＤ２２の画面の上端よりも上方の位置の裏側に配置される。すなわち、外側撮像部（左）２３ａ及び外側撮像部（右）２３ｂは、上側ハウジング２１の外側面であって、上側ＬＣＤ２２を外側面に投影した場合、投影した上側ＬＣＤ２２の画面の上端よりも上方に配置される。
【００６８】
このように、外側撮像部２３の２つの撮像部（２３ａ及び２３ｂ）が、上側ＬＣＤ２２の左右方向に関して中央から対称の位置に配置されることにより、ユーザが上側ＬＣＤ２２を正視した場合に、外側撮像部２３の撮像方向をユーザの視線方向と一致させることができる。また、外側撮像部２３は、上側ＬＣＤ２２の画面の上端より上方の裏側の位置に配置されるため、外側撮像部２３と上側ＬＣＤ２２とが上側ハウジング２１の内部で干渉することがない。従って、外側撮像部２３を上側ＬＣＤ２２の画面の裏側に配置する場合と比べて、上側ハウジング２１を薄く構成することが可能となる。
【００６９】
内側撮像部２４は、上側ハウジング２１の内側面（主面）２１Ｂに設けられ、当該内側面の内向きの法線方向を撮像方向とする撮像部である。内側撮像部２４は、所定の解像度を有する撮像素子（例えば、ＣＣＤイメージセンサやＣＭＯＳイメージセンサ等）と、レンズとを含む。レンズは、ズーム機構を有するものでもよい。
【００７０】
図１に示すように、内側撮像部２４は、上側ハウジング２１を開いた状態において、上側ハウジング２１の上部であって、上側ＬＣＤ２２の画面の上端よりも上方に配置され、上側ハウジング２１の左右方向に関して中央の位置（上側ハウジング２１（上側ＬＣＤ２２の画面）を左右に２等分する線の線上）に配置される。具体的には、図１及び図３（ｂ）に示されるように、内側撮像部２４は、上側ハウジング２１の内側面であって、外側撮像部２３の左右の撮像部（外側撮像部（左）２３ａ及び外側撮像部（右）２３ｂ）の中間の裏側の位置に配置される。すなわち、上側ハウジング２１の外側面に設けられた外側撮像部２３の左右の撮像部を上側ハウジング２１の内側面に投影した場合、当該投影した左右の撮像部の中間に、内側撮像部２４が設けられる。図３（ｂ）で示される破線２４は、上側ハウジング２１の内側面に存在する内側撮像部２４を表している。
【００７１】
このように、内側撮像部２４は、外側撮像部２３とは反対方向を撮像する。内側撮像部２４は、上側ハウジング２１の内側面であって、外側撮像部２３の左右の撮像部の中間位置の裏側に設けられる。これにより、ユーザが上側ＬＣＤ２２を正視した際、内側撮像部２４でユーザの顔を正面から撮像することができる。また、外側撮像部２３の左右の撮像部と内側撮像部２４とが上側ハウジング２１の内部で干渉することがないため、上側ハウジング２１を薄く構成することが可能となる。
【００７２】
３Ｄ調整スイッチ２５は、スライドスイッチであり、上述のように上側ＬＣＤ２２の表示モードを切り替えるために用いられるスイッチである。また、３Ｄ調整スイッチ２５は、上側ＬＣＤ２２に表示された立体視可能な画像（立体画像）の立体感を調整するために用いられる。図１〜図３に示されるように、３Ｄ調整スイッチ２５は、上側ハウジング２１の内側面及び右側面の端部に設けられ、ユーザが上側ＬＣＤ２２を正視した場合に、当該３Ｄ調整スイッチ２５を視認できる位置に設けられる。また、３Ｄ調整スイッチ２５の操作部は、内側面及び右側面の両方に突出しており、どちらからも視認及び操作することができる。なお、３Ｄ調整スイッチ２５以外のスイッチは全て下側ハウジング１１に設けられる。
【００７３】
図５は、図１に示す上側ハウジング２１のＡ−Ａ’線断面図である。図５に示すように、上側ハウジング２１の内側面の右端部には、凹部２１Ｃが形成され、当該凹部２１Ｃに３Ｄ調整スイッチ２５が設けられる。３Ｄ調整スイッチ２５は、図１及び図２に示されるように、上側ハウジング２１の正面及び右側面から視認可能に配置される。３Ｄ調整スイッチ２５のスライダ２５ａは、所定方向（上下方向）の任意の位置にスライド可能であり、当該スライダ２５ａの位置に応じて上側ＬＣＤ２２の表示モードが設定される。
【００７４】
図６Ａから図６Ｃは、３Ｄ調整スイッチ２５のスライダ２５ａがスライドする様子を示す図である。図６Ａは、３Ｄ調整スイッチ２５のスライダ２５ａが最下点（第３の位置）に存在する様子を示す図である。図６Ｂは、３Ｄ調整スイッチ２５のスライダ２５ａが最下点よりも上方位置（第１の位置）に存在する様子を示す図である。図６Ｃは、３Ｄ調整スイッチ２５のスライダ２５ａが最上点（第２の位置）に存在する様子を示す図である。
【００７５】
図６Ａに示すように、３Ｄ調整スイッチ２５のスライダ２５ａが最下点位置（第３の位置）に存在する場合、上側ＬＣＤ２２は平面表示モードに設定され、上側ＬＣＤ２２の画面には平面画像が表示される（なお、上側ＬＣＤ２２を立体表示モードのままとして、左目用画像と右目用画像を同一の画像とすることにより平面表示してもよい）。一方、図６Ｂに示す位置（最下点より上側の位置（第１の位置））から図６Ｃに示す位置（最上点の位置（第２の位置））までの間にスライダ２５ａが存在する場合、上側ＬＣＤ２２は立体表示モードに設定される。この場合、上側ＬＣＤ２２の画面には立体視可能な画像が表示される。スライダ２５ａが第１の位置から第２の位置の間に存在する場合、スライダ２５ａの位置に応じて、立体画像の見え方が調整される。具体的には、スライダ２５ａの位置に応じて、右目用画像及び左目用画像の横方向の位置のずれ量が調整される。３Ｄ調整スイッチ２５のスライダ２５ａは、第３の位置で固定されるように構成されており、第１の位置と第２の位置との間では上下方向に任意の位置にスライド可能に構成されている。例えば、スライダ２５ａは、第３の位置において、３Ｄ調整スイッチ２５を形成する側面から図６Ａに示す横方向に突出した凸部（図示せず）によって固定されて、所定以上の力が上方に加わらないと第３の位置よりも上方にスライドしないように構成されている。第３の位置から第１の位置にスライダ２５ａが存在する場合、立体画像の見え方は調整されないが、これはいわゆるあそびである。他の例においては、あそびをなくして、第３の位置と第１の位置とを同じ位置としてもよい。また、第３の位置を第１の位置と第２の位置の間としてもよい。その場合、スライダを第３の位置から第１の位置の方向に動かした場合と、第２の方向に動かした場合とで、右目用画像及び左目用画像の横方向の位置のずれ量の調整する方向が逆になる。
【００７６】
なお、本実施形態のゲーム装置が実行するプログラムには、立体写真を表示するためのプログラムと、立体的なＣＧ画像を表示するためのプログラムがある。後者のプログラムでは、左目用の仮想カメラと右目用の仮想カメラで仮想空間を撮影して、左目用画像と右目用画像を生成する。本実施形態のゲーム装置は、このようなプログラムの実行時において、３Ｄ調整スイッチ２５のスライダ２５ａの位置に応じて、２つの仮想カメラの間隔を変更することにより、立体感を調整する。
【００７７】
３Ｄインジケータ２６は、上側ＬＣＤ２２が立体表示モードか否かを示す。３Ｄインジケータ２６は、ＬＥＤであり、上側ＬＣＤ２２の立体表示モードが有効の場合に点灯する。なお、３Ｄインジケータ２６は、上側ＬＣＤ２２が立体表示モードになっており、かつ、立体視画像を表示するプログラム処理が実行されているとき（すなわち、３Ｄ調整スイッチが上記第１の位置から上記第２の位置にあるときに、左目用画像と右目用画像が異なるような画像処理が実行されているとき）に限り、点灯するようにしてもよい。図１に示されるように、３Ｄインジケータ２６は、上側ハウジング２１の内側面に設けられ、上側ＬＣＤ２２の画面近傍に設けられる。このため、ユーザが上側ＬＣＤ２２の画面を正視した場合、ユーザは３Ｄインジケータ２６を視認しやすい。従って、ユーザは上側ＬＣＤ２２の画面を視認している状態でも、上側ＬＣＤ２２の表示モードを容易に認識することができる。
【００７８】
また、上側ハウジング２１の内側面には、スピーカ孔２１Ｅが設けられる。後述するスピーカ４３からの音声がこのスピーカ孔２１Ｅから出力される。
【００７９】
（ゲーム装置１０の内部構成）
次に、図７を参照して、ゲーム装置１０の内部の電気的構成について説明する。図７は、ゲーム装置１０の内部構成を示すブロック図である。図７に示すように、ゲーム装置１０は、上述した各部に加えて、情報処理部３１、メインメモリ３２、外部メモリインターフェイス（外部メモリＩ／Ｆ）３３、データ保存用外部メモリＩ／Ｆ３４、データ保存用内部メモリ３５、無線通信モジュール３６、ローカル通信モジュール３７、リアルタイムクロック（ＲＴＣ）３８、加速度センサ３９、電源回路４０、及びインターフェイス回路（Ｉ／Ｆ回路）４１等の電子部品を備えている。これらの電子部品は、電子回路基板上に実装されて下側ハウジング１１（又は上側ハウジング２１でもよい）内に収納される。
【００８０】
情報処理部３１は、所定のプログラムを実行するためのＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）３１１、画像処理を行うＧＰＵ（Ｇｒａｐｈｉｃｓ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）３１２等を含む情報処理手段である。本実施形態では、所定のプログラムがゲーム装置１０内のメモリ（例えば外部メモリＩ／Ｆ３３に接続された外部メモリ４４やデータ保存用内部メモリ３５）に記憶されている。情報処理部３１のＣＰＵ３１１は、当該所定のプログラムを実行することによって、後述する仮想オブジェクト表示処理（図１０）を実行する。なお、情報処理部３１のＣＰＵ３１１によって実行されるプログラムは、他の機器との通信によって他の機器から取得されてもよい。また、情報処理部３１は、ＶＲＡＭ（Ｖｉｄｅｏ  ＲＡＭ）３１３を含む。情報処理部３１のＧＰＵ３１２は、情報処理部３１のＣＰＵ３１１からの命令に応じて画像を生成し、ＶＲＡＭ３１３に描画する。そして、情報処理部３１のＧＰＵ３１２は、ＶＲＡＭ３１３に描画された画像を上側ＬＣＤ２２及び／又は下側ＬＣＤ１２に出力し、上側ＬＣＤ２２及び／又は下側ＬＣＤ１２に当該画像が表示される。
【００８１】
情報処理部３１には、メインメモリ３２、外部メモリＩ／Ｆ３３、データ保存用外部メモリＩ／Ｆ３４、及び、データ保存用内部メモリ３５が接続される。外部メモリＩ／Ｆ３３は、外部メモリ４４を着脱自在に接続するためのインターフェイスである。また、データ保存用外部メモリＩ／Ｆ３４は、データ保存用外部メモリ４５を着脱自在に接続するためのインターフェイスである。
【００８２】
メインメモリ３２は、情報処理部３１（のＣＰＵ３１１）のワーク領域やバッファ領域として用いられる揮発性の記憶手段である。すなわち、メインメモリ３２は、上記仮想オブジェクト表示処理に用いられる各種データを一時的に記憶したり、外部（外部メモリ４４や他の機器等）から取得されるプログラムを一時的に記憶したりする。本実施形態では、メインメモリ３２として例えばＰＳＲＡＭ（Ｐｓｅｕｄｏ−ＳＲＡＭ）を用いる。
【００８３】
外部メモリ４４は、情報処理部３１によって実行されるプログラムを記憶するための不揮発性の記憶手段である。外部メモリ４４は、例えば読み取り専用の半導体メモリで構成される。外部メモリ４４が外部メモリＩ／Ｆ３３に接続されると、情報処理部３１は外部メモリ４４に記憶されたプログラムを読み込むことができる。情報処理部３１が読み込んだプログラムを実行することにより、所定の処理が行われる。データ保存用外部メモリ４５は、不揮発性の読み書き可能なメモリ（例えばＮＡＮＤ型フラッシュメモリ）で構成され、所定のデータを格納するために用いられる。例えば、データ保存用外部メモリ４５には、外側撮像部２３で撮像された画像や他の機器で撮像された画像が記憶される。データ保存用外部メモリ４５がデータ保存用外部メモリＩ／Ｆ３４に接続されると、情報処理部３１はデータ保存用外部メモリ４５に記憶された画像を読み込み、上側ＬＣＤ２２及び／又は下側ＬＣＤ１２に当該画像を表示することができる。
【００８４】
データ保存用内部メモリ３５は、読み書き可能な不揮発性メモリ（例えばＮＡＮＤ型フラッシュメモリ）で構成され、所定のデータを格納するために用いられる。例えば、データ保存用内部メモリ３５には、無線通信モジュール３６を介した無線通信によってダウンロードされたデータやプログラムが格納される。
【００８５】
無線通信モジュール３６は、例えばＩＥＥＥ８０２．１１．ｂ／ｇの規格に準拠した方式により、無線ＬＡＮに接続する機能を有する。また、ローカル通信モジュール３７は、所定の通信方式（例えば赤外線通信）により同種のゲーム装置との間で無線通信を行う機能を有する。無線通信モジュール３６及びローカル通信モジュール３７は情報処理部３１に接続される。情報処理部３１は、無線通信モジュール３６を用いてインターネットを介して他の機器との間でデータを送受信したり、ローカル通信モジュール３７を用いて同種の他のゲーム装置との間でデータを送受信したりすることができる。
【００８６】
また、情報処理部３１には、加速度センサ３９が接続される。加速度センサ３９は、３軸（ｘｙｚ軸）方向に沿った直線方向の加速度（直線加速度）の大きさを検出する。加速度センサ３９は、下側ハウジング１１の内部に設けられる。加速度センサ３９は、図１に示すように、下側ハウジング１１の長辺方向をｘ軸、下側ハウジング１１の短辺方向をｙ軸、下側ハウジング１１の内側面（主面）に対して垂直な方向をｚ軸として、各軸の直線加速度の大きさを検出する。なお、加速度センサ３９は、例えば静電容量式の加速度センサであるとするが、他の方式の加速度センサを用いるようにしてもよい。また、加速度センサ３９は１軸又は２軸方向を検出する加速度センサであってもよい。情報処理部３１は、加速度センサ３９が検出した加速度を示すデータ（加速度データ）を受信して、ゲーム装置１０の姿勢や動きを検出することができる。
【００８７】
また、情報処理部３１には、ＲＴＣ３８及び電源回路４０が接続される。ＲＴＣ３８は、時間をカウントして情報処理部３１に出力する。情報処理部３１は、ＲＴＣ３８によって計時された時間に基づき現在時刻（日付）を計算する。電源回路４０は、ゲーム装置１０が有する電源（下側ハウジング１１に収納される上記充電式電池）からの電力を制御し、ゲーム装置１０の各部品に電力を供給する。
【００８８】
また、情報処理部３１には、Ｉ／Ｆ回路４１が接続される。Ｉ／Ｆ回路４１には、マイク４２及びスピーカ４３が接続される。具体的には、Ｉ／Ｆ回路４１には、図示しないアンプを介してスピーカ４３が接続される。マイク４２は、ユーザの音声を検知して音声信号をＩ／Ｆ回路４１に出力する。アンプは、Ｉ／Ｆ回路４１からの音声信号を増幅し、音声をスピーカ４３から出力させる。また、タッチパネル１３はＩ／Ｆ回路４１に接続される。Ｉ／Ｆ回路４１は、マイク４２及びスピーカ４３（アンプ）の制御を行う音声制御回路と、タッチパネルの制御を行うタッチパネル制御回路とを含む。音声制御回路は、音声信号に対するＡ／Ｄ変換及びＤ／Ａ変換を行ったり、音声信号を所定の形式の音声データに変換したりする。タッチパネル制御回路は、タッチパネル１３からの信号に基づいて所定の形式のタッチ位置データを生成して情報処理部３１に出力する。タッチ位置データは、タッチパネル１３の入力面において入力が行われた位置の座標を示す。なお、タッチパネル制御回路は、タッチパネル１３からの信号の読み込み、及び、タッチ位置データの生成を所定時間に１回の割合で行う。情報処理部３１は、タッチ位置データを取得することにより、タッチパネル１３に対して入力が行われた位置を知ることができる。
【００８９】
操作ボタン１４は、上記各操作ボタン１４Ａ〜１４Ｌからなり、情報処理部３１に接続される。操作ボタン１４から情報処理部３１へは、各操作ボタン１４Ａ〜１４Ｉに対する入力状況（押下されたか否か）を示す操作データが出力される。情報処理部３１は、操作ボタン１４から操作データを取得することによって、操作ボタン１４に対する入力に従った処理を実行する。
【００９０】
下側ＬＣＤ１２及び上側ＬＣＤ２２は情報処理部３１に接続される。下側ＬＣＤ１２及び上側ＬＣＤ２２は、情報処理部３１（のＧＰＵ３１２）の指示に従って画像を表示する。本実施形態では、情報処理部３１は、上側ＬＣＤ２２に立体画像（立体視可能な画像）を表示させる。
【００９１】
具体的には、情報処理部３１は、上側ＬＣＤ２２のＬＣＤコントローラ（図示せず）と接続され、当該ＬＣＤコントローラに対して視差バリアのＯＮ／ＯＦＦを制御する。上側ＬＣＤ２２の視差バリアがＯＮになっている場合、情報処理部３１のＶＲＡＭ３１３に格納された右目用画像と左目用画像とが、上側ＬＣＤ２２に出力される。より具体的には、ＬＣＤコントローラは、右目用画像について縦方向に１ライン分の画素データを読み出す処理と、左目用画像について縦方向に１ライン分の画素データを読み出す処理とを交互に繰り返すことによって、ＶＲＡＭ３１３から右目用画像と左目用画像とを読み出す。これにより、右目用画像及び左目用画像が、画素を縦に１ライン毎に並んだ短冊状画像に分割され、分割された右目用画像の短冊状画像と左目用画像の短冊状画像とが交互に配置された画像が、上側ＬＣＤ２２の画面に表示される。そして、上側ＬＣＤ２２の視差バリアを介して当該画像がユーザに視認されることによって、ユーザの右目に右目用画像が、ユーザの左目に左目用画像が視認される。以上により、上側ＬＣＤ２２の画面には立体視可能な画像が表示される。
【００９２】
外側撮像部２３及び内側撮像部２４は、情報処理部３１に接続される。外側撮像部２３及び内側撮像部２４は、情報処理部３１の指示に従って画像を撮像し、撮像した画像データを情報処理部３１に出力する。本実施形態では、情報処理部３１は外側撮像部２３及び内側撮像部２４のいずれか一方に対して撮像指示を行い、撮像指示を受けた撮像部が画像を撮像して画像データを情報処理部３１に送る。具体的には、本実施形態では、ユーザによるタッチパネル１３を用いたタッチ操作によって使用する撮像部が選択される。撮像部が選択されたことを情報処理部３１（ＣＰＵ３１１）が検知し、情報処理部３１が外側撮像部２３又は内側撮像部２４に対して撮像指示を行う。
【００９３】
３Ｄ調整スイッチ２５は、情報処理部３１に接続される。３Ｄ調整スイッチ２５は、スライダ２５ａの位置に応じた電気信号を情報処理部３１に送信する。
【００９４】
また、３Ｄインジケータ２６は、情報処理部３１に接続される。情報処理部３１は、３Ｄインジケータ２６の点灯を制御する。本実施形態では、情報処理部３１は、上側ＬＣＤ２２が立体表示モードである場合、３Ｄインジケータ２６を点灯させる。以上がゲーム装置１０の内部構成の説明である。
【００９５】
（仮想オブジェクト表示処理の詳細）
次に、図８〜図１２を参照して、本実施形態に係る仮想オブジェクト表示処理の詳細について説明する。まず、仮想オブジェクト表示処理の際にメインメモリ３２に記憶される主なデータについて説明する。図８は、ゲーム装置１０のメインメモリ３２のメモリマップを示す図である。図８に示されるように、メインメモリ３２には、データ記憶領域７０が設けられる。データ記憶領域７０には、カメラ選択データ７１、左目用画像位置データ７２、右目用画像位置データ７３、表示モードデータ７４、操作データ７５、仮想カメラデータ（位置、姿勢）７６、仮想オブジェクトデータ７７等が記憶される。これらのデータの他、メインメモリ３２には、上記撮像処理を実行するプログラムやタッチパネル１３へのタッチ位置を示すデータ、下側ＬＣＤ１２に表示されるカメラ選択のための画像を示すデータ等が記憶される。なお、以下においては、「撮像部」を「カメラ」という文言で代用して記載する場合がある。
【００９６】
カメラ選択データ７１は、現在選択されている撮像部を示すデータである。カメラ選択データ７１は、現在選択されている撮像部が外側撮像部２３か内側撮像部２４かを示すデータである。
【００９７】
左目用画像位置データ７２は、外側撮像部（左）２３ａによって撮像された左目用画像の上側ＬＣＤ２２上の表示位置を示すデータであり、左目用画像の画像中心の座標値を示すデータである。右目用画像位置データ７３は、外側撮像部（右）２３ｂによって撮像された右目用画像の上側ＬＣＤ２２上の表示位置を示すデータであり、右目用画像の画像中心の座標値を示すデータである。
【００９８】
表示モードデータ７４は、上側ＬＣＤ２２の表示モードが立体表示モードか平面表示モードかを示すデータである。
【００９９】
操作データ７５は、各操作ボタン１４Ａ〜Ｅ、Ｇ〜Ｈ、及び、アナログスティック１５に対して行われた操作を示すデータである。この操作データ７５は、例えば、ユーザがキャラクタとして画面表示されるシューティングゲームにおいて、キャラクタを移動させる操作を示すデータであったり、キャラクタにシューティング動作させる操作を示すデータであったりする。
【０１００】
仮想カメラデータ７６は、後述するマーカ認識結果に基づいて算出された、マーカ座標系における仮想カメラの位置データ及び姿勢データである。
【０１０１】
仮想オブジェクトデータ７７は、仮想空間に表示される仮想オブジェクトを示すデータであって、詳しくは、図９に示すように、例えば、シューティングゲームのステージ毎に、そのステージで表示される仮想オブジェクトに関するデータである。
【０１０２】
図９に示すように、この仮想オブジェクトデータは、各ステージで表示される仮想オブジェクトが、仮想オブジェクト番号をキーにした、仮想オブジェクト名称と、平面位置における位置データ（マーカ座標系）と、回転軸データとから構成される。なお、仮想オブジェクトデータの項目はこれらに限定されるものではない。
【０１０３】
この仮想オブジェクトデータ７７に記憶される仮想オブジェクトは、後述するように、閉空間を構成する六面体が完全に展開された時に展開面に配置される仮想オブジェクトである。すなわち、これらの仮想オブジェクトは六面体で構成される閉空間内に閉じ込められる仮想オブジェクトである。平面位置における位置データは、閉空間を構成する六面体が完全に展開された時に、その展開面に配置される仮想オブジェクトの位置を示す。ここで、六面体を構成する６個の展開面が、閉状態から開状態へ変形する場合に、展開面に配置された仮想オブジェクトもその変形に応じて位置及び姿勢が変化する。このときに、仮想オブジェクトが配置された展開面の底面側の１辺が、仮想オブジェクトの回転中心になるため、この１辺を示すデータを回転軸データとして記憶する。
【０１０４】
次に、仮想オブジェクト表示処理の詳細について、図１０〜図１２を参照して説明する。図１０は、本実施形態に係る仮想オブジェクト表示処理を示すメインフローチャート（メインルーチン）である。図１１は、図１０のＳ６００に示す出現アニメーション作成処理を示すフローチャート（サブルーチン）、図１２は、図１０のＳ８００に示す展開アニメーション作成処理を示すフローチャート（サブルーチン）である。
【０１０５】
ゲーム装置１０の電源が投入されると、ゲーム装置１０の情報処理部３１（ＣＰＵ３１１）は、図示しないＲＯＭに記憶されている起動プログラムを実行し、これによってメインメモリ３２等の各ユニットが初期化される。次に、データ保存用内部メモリ３５に記憶された仮想オブジェクト表示プログラムがメインメモリ３２に読み込まれ、情報処理部３１のＣＰＵ３１１によって当該プログラムの実行が開始される。なお、これら以外のプログラムも用いて上側ＬＣＤ２２に仮想オブジェクトを含む画像が表示されるが、これら以外のプログラムは、本発明の本質的な部分との関連性が低いので、ここでは説明しない。
【０１０６】
なお、図１０に示すステップＳ１００〜ステップＳ１２００の処理ループは、１フレーム（例えば１／３０秒であってフレーム時間又はサイクル時間という）毎に繰り返し実行される。このプログラムが繰り返して実行されることにより、シューティングゲームの開始時において、以下のようなアニメーションが表示される。
【０１０７】
例えば、ゲームプログラムの開始をユーザが要求すると、第１ステージの仮想オブジェクト（シューティング対象の的）が上側ＬＣＤ２２に表示される。この第１ステージの仮想オブジェクトが上側ＬＣＤ２２に表示されるまでに、第１ステージの仮想オブジェクトが収納された六面体が、マーカの位置にマーカと同じ上面の大きさで、せり上がるようにして出現する。次いで六面体が展開されて、第１ステージの仮想オブジェクトが表示される。そして、展開面が消去されて第１ステージ（このゲームの最初のステージ）が開始される。図１０に示すプログラムが繰り返し実行されることにより、このようなアニメーションが、ゲームの開始をユーザが要求してからゲームが開始されるまでの間で表示される。
【０１０８】
また、以下においては、撮像部として外側撮像部２３が選択され、表示モードとして立体表示モードが選択されているとして説明する。なお、本発明の適用は、立体表示モードに限定されるものではなく、平面表示モードであっても構わない。また、以下に示すフローチャートとは別に、情報処理部３１は、六面体又は六面体展開面（上面）の配置情報を予め取得しているものとする。このとき、六面体は、その上面が予め定められた位置に（例えばマーカの位置に）予め定められた大きさで（例えばマーカの大きさで）表示されるように設定しておいても構わないし、表示される仮想オブジェクトが六面体展開面に配置されるように、ゲームの開始時の仮想オブジェクトの配置に基づいて決定するようにしても構わない。この場合において、このゲームの開始時に表示させたい全ての仮想オブジェクトが、六面体展開面のいずれかの面に配置されている必要がある。ここで、この六面体の展開面は、底面の四辺に側面（４個の面）が隣接して配置されて、いずれか１個の側面に上面が隣接するように構成されたものとする。
【０１０９】
まず、図１０を参照して、仮想オブジェクト表示処理のメインルーチンについて説明する。ステップＳ１００にて、情報処理部３１は、カメラ画像データを取得する。具体的には、情報処理部３１は、現在選択されているカメラによって撮像された画像を示す画像データを取得し、ＶＲＡＭ３１３に格納する。ここでは、外側撮像部２３が選択されているため、情報処理部３１は、外側撮像部２３によって撮像された右実世界画像と左実世界画像とを取得する。
【０１１０】
ステップＳ２００にて、情報処理部３１は、外側撮像部２３により撮像された画像の中からマーカを検出する。ここでは、このマーカは、白色の紙片の中央付近に四角枠が黒色で印刷され、その四角枠の中に矢印が白抜きで印刷されたものとする。しかしながら、マーカはこのような形状、模様、色彩に限定されないで、マーカの位置（ここでは４点の位置）と方向とが認識できるものであればよい。具体的には、情報処理部３１は、まず、外側撮像部２３により撮像された画像の中から４本の線分によって連結される連結領域を抽出し、抽出した連結領域の内部のパターン画像を決定する。そして、情報処理部３１は、決定したパターン画像を示すパターン画像データと外部メモリ４４に予め記憶されているパターン画像データとの類似度を計算し、計算した結果としての類似度を示す値が予め定められた閾値以上である場合に、マーカを検出する。
【０１１１】
ステップＳ３００にて、情報処理部３１は、マーカ検出結果に基づいて、外側撮像部２３（ゲーム装置１０）とマーカとの位置関係を算出する。ここで、位置関係とは、例えば、外側撮像部２３とマーカの一方を基準としたときの他方の３次元の位置及び姿勢として表される。なお、位置関係を算出する処理は、従来の拡張現実感技術における処理と同様な処理で実現できる。
【０１１２】
ステップＳ４００にて、情報処理部３１は、外側撮像部２３とマーカとの位置関係に基づいて、仮想カメラの位置及び姿勢を決定する。このとき、立体表示モードが選択されているので、情報処理部３１は、外側撮像部（左）２３ａによるカメラ画像データに基づいて左目用の仮想カメラの位置及び姿勢を算出して、外側撮像部（右）２３ｂによるカメラ画像データに基づいて右目用の仮想カメラの位置及び姿勢を算出する。なお、仮想カメラの位置及び姿勢は、外側撮像部２３とマーカとの位置関係から仮想カメラのビュー行列を求め、求めた仮想カメラのビュー行列により求められる。決定した仮想カメラの位置及び姿勢を示す位置データ及び姿勢データは、メインメモリ３２のデータ記憶領域７０の仮想カメラデータ７６として記憶される。また、カメラ画像データに基づいて算出された一方の仮想カメラの位置及び姿勢から、他方の仮想カメラの位置及び姿勢を算出するようにしても構わない。
【０１１３】
ステップＳ５００にて、情報処理部３１は、六面体を出現中であるか否かを判定する。このとき、ゲームの開始がユーザにより要求されてから、予め定められた第１の時間が経過するまでは、六面体を出現中であると判定される。六面体を出現中であると判定されると（ステップＳ５００にてＹＥＳ）、処理はＳ６００へ移される。もしそうでないと（ステップＳ５００にてＮＯ）、この処理はＳ７００へ移される。なお、六面体を出現中とは、後述するように、六面体の一部である上面が見えるようになってから（ここでは、上面はマーカに覆われている場合があるが、この場合でも六面体の一部である上面が見えるものとする）、六面体がマーカ座標系のｚ軸方向（上方向）に移動して、六面体の全体が見えるようになるまでを示す。なお、マーカ座標系のｚ軸方向の逆方向に仮想オブジェクトが配置されている場合には、その部分については、カメラ画像が優先して表示される。すなわち、本実施形態のゲームでは、マーカ座標系のｚ＝０を地面と認識して、その地面より下の部分に配置されているオブジェクトは地面として、カメラ画像が見えないようになっている。
【０１１４】
ステップＳ６００にて、情報処理部３１は、出現アニメーション作成処理を実行する。なお、このステップＳ６００の出現アニメーション作成処理はサブルーチン化されており、その詳細については、後述する。その後、この処理はステップＳ９００へ移される。
【０１１５】
ステップＳ７００にて、情報処理部３１は、六面体を展開中であるか否かを判定する。このとき、六面体の出現が終了してから、予め定められた第２の時間が経過するまでは、六面体を展開中であると判定される。六面体を展開中であると判定されると（ステップＳ７００にてＹＥＳ）、処理はＳ８００へ移される。もしそうでないと（ステップＳ７００にてＮＯ）、この処理はＳ１００へ戻される。
【０１１６】
ステップＳ８００にて、情報処理部３１は、展開アニメーション作成処理を実行する。なお、このステップＳ８００の展開アニメーション作成処理はサブルーチン化されており、その詳細については、後述する。その後、この処理はステップＳ９００へ移される。
【０１１７】
ステップＳ９００にて、情報処理部３１は、六面体の展開面を示すポリゴンの内側面に撮像画像を貼り付けて、仮想オブジェクトを示すポリゴンにオブジェクト画像を貼り付ける（テクスチャマッピング）。さらに、情報処理部３１は、六面体の展開面を示すポリゴンの外側面に所定の画像を貼り付ける。このとき、そのポリゴンの外側面（ここでは上面）に貼り付ける所定の画像を、撮像画像（例えば、マーカの画像又はマーカが載置された机の画像）とすることができる。マーカの位置と六面体の上面の位置とが一致している場合には、マーカがせり上がるように表示でき、マーカの位置と六面体の上面の位置とが一致していない場合には、机の表面から六面体がせり上がるように表示できる。いずれの場合にも、自然な拡張現実感を実現することができる。なお、側面については不透明であれば、撮像画像以外の他の画像であっても構わないし、内側面と同じ撮像画像であっても構わない。
【０１１８】
ステップＳ１０００にて、情報処理部３１は、仮想カメラで、画像が貼り付けられたポリゴンを撮影してオブジェクト画像（六面体画像及び仮想オブジェクト画像）データを作成する。このとき、立体表示モードが選択されているので、左目用の仮想カメラの位置及び姿勢に基づいて左目用のオブジェクト画像を作成するとともに、右目用の仮想カメラの位置及び姿勢に基づいて右目用のオブジェクト画像を作成する。
【０１１９】
ステップＳ１１００にて、情報処理部３１は、カメラ画像データとオブジェクト画像データとに基づいて、カメラ画像にオブジェクト画像を重ね合わせた重畳画像を作成する。このとき、立体表示モードが選択されているので、情報処理部３１は、左目用のオブジェクト画像と外側撮像部（左）２３ａにより撮影されたカメラ画像とを重ね合わせることにより左目用の重畳画像が作成され、右目用のオブジェクト画像と外側撮像部（右）２３ｂにより撮影されたカメラ画像とを重ね合わせることにより右目用の重畳画像が作成される。
【０１２０】
なお、このステップＳ１１００において、六面体展開面の消滅処理も行っている。この場合における六面体展開面の消滅処理において、展開面又は展開面の境界線（すなわち展開面の辺）の色が変化するようにして、六面体展開面が消滅するようにできる。特に、六面体展開面が急激に消滅するのではなく、撮像画像と異なる色から同じような色へ徐々に変化してから六面体展開面が沈み込むように消滅させることが好ましい。
【０１２１】
ステップＳ１２００にて、情報処理部３１は、上側ＬＣＤ２２に、カメラ画像と仮想オブジェクト画像とを重ね合わせた重畳画像を表示する。このとき、立体視可能なように、左目用の重畳画像と右目用の重畳画像とが合成される。その後、この処理はステップＳ１００へ戻されて、上述した処理を繰り返す。
【０１２２】
なお、六面体を出現中でもなく展開中でもない場合（ステップＳ５００にてＮＯかつステップＳ７００にてＮＯ）、ゲームの開始がユーザにより要求されていないと判定される。この場合には、仮想オブジェクト画像に撮像画像が重ね合わせられた画像を表示する処理（ステップＳ９００〜ステップＳ１２００）は実行されず、撮像画像のみが上側ＬＣＤ２２に表示される。
【０１２３】
次に、図１１を参照して、出現アニメーション作成処理のサブルーチンについて説明する。ステップＳ６１０にて、情報処理部３１は、出現開始からの経過時間を算出する。この経過時間は、ユーザがゲーム開始を要求してからの時間であるとすることができる。
【０１２４】
ステップＳ６２０にて、情報処理部３１は、六面体展開面の出現開始からの経過時間に応じた上昇量Ｈを算出する。このとき、情報処理部３１は、例えば、この上昇量Ｈを、（経過時間）×（単位時間当たりの上昇量）により算出する。この上昇量Ｈは、０以上六面体高さ以下である。ここで、経過時間をメインフローチャートのサイクルタイムを基準に算出する場合、単位時間当たりの上昇量をサイクル時間当たりの上昇量に設定することができる。これらの経過時間及び単位時間当たりの上昇量は、六面体が出現する状態が滑らかに表現されたアニメーションを実現できるように設定される。なお、上述した第１の時間で六面体が完全に出現する。
【０１２５】
ステップＳ６３０にて、情報処理部３１は、六面体を、上昇量Ｈだけ上昇させたオブジェクトデータに更新する。その後、この処理は終了する（メインルーチンへ戻る）。
【０１２６】
次に、図１２を参照して、展開アニメーション作成処理のサブルーチンについて説明する。ステップＳ８１０にて、情報処理部３１は、六面体展開面の展開開始からの経過時間を算出する。
【０１２７】
ステップＳ８２０にて、情報処理部３１は、展開開始からの経過時間に応じた回転角Ｂを算出する。このとき、情報処理部３１は、例えば、この回転角Ｂを、（経過時間）×（単位時間当たりの展開回転角）により算出する。この回転角Ｂは、０度以上９０度以下の角度である。ここで、経過時間をメインフローチャートのサイクルタイムを基準に算出する場合、単位時間当たりの展開回転角をサイクル時間当たりの回転角に設定することができる。これらの経過時間及び単位時間当たりの展開回転角は、六面体展開面が展開する状態が滑らかに表現されたアニメーションを実現できるように設定される。なお、上述した第２の時間で９０度回転して、六面体が完全に展開する。
【０１２８】
ステップＳ８３０にて、情報処理部３１は、六面体展開面の各面を回転角Ｂだけ展開する方向に回転させたオブジェクトデータに更新する。このとき、六面体展開面の底面は回転せず、側面は底面側の辺を中心に回転角Ｂだけ回転し、上面は側面側の辺を中心に回転角Ｂだけ回転する。その結果、上面は底面に対して回転角Ｂの２倍の角度だけ回転する。
【０１２９】
ステップＳ８４０にて、情報処理部３１は、六面体展開面上の仮想オブジェクトを回転角Ｂだけ展開する方向に回転させたオブジェクトデータに更新する。このとき、データ記憶領域７０の仮想オブジェクトデータ７７に記憶された回転軸データに基づいて、回転軸を中心に回転角Ｂだけ展開する方向に回転させたオブジェクトデータに更新される。さらに具体的には、六面体展開面の底面に配置された仮想オブジェクトは回転せず、側面に配置された仮想オブジェクトは回転軸（底面側の辺）を中心に回転角Ｂだけ回転し、上面に配置された仮想オブジェクトは回転軸（側面側の辺）を中心に回転角Ｂだけ回転する。その結果、上面に配置された仮想オブジェクトは底面に対して回転角Ｂの２倍の角度だけ回転する。なお、このような処理は、平面位置での仮想オブジェクトを回転角（９０−Ｂ）度だけ回転させる処理である。平面位置での仮想オブジェクトの位置データは、データ記憶領域７０の仮想オブジェクトデータ７７に、仮想オブジェクト毎に記憶されているので、記憶された位置データを用いて展開途中の仮想オブジェクトの位置が算出される。その後、この処理は終了する（メインルーチンへ戻る）。
【０１３０】
以上のような構造及びフローチャートに基づく、本実施形態に係るゲーム装置１０の動作について、図１３〜図１６を参照して説明する。これらの図においては、ゲーム装置１０においてシューティングゲームが行われるものとする。このゲームにおいてはユーザを模擬したキャラクタは表示されず、ユーザが特定のボタン（例えば操作ボタン１４Ｂ）を押下すると、ユーザの視線方向（このゲーム装置１０の向いている方向）に弓矢が発射されるものとする。そのため、ユーザの視線方向とは別の方向を向いている的を狙うときには、ゲーム装置１０の方向をユーザが変化させて、的の正面まで回り込んでから弓矢を発射する必要がある。以下においては、このようにして弓矢を発射して全ての的に的中させると第１ステージがクリアされて、難易度の高い（的の数が多くなったり的の方向が異なったりする）第２ステージへ移行する。このようなシューティングゲームが開始される場合に（第１ステージが開始される場合に）、第１ステージの仮想オブジェクト（的等）が、自然な拡張現実感を実現して、出現する動作について説明する。なお、本発明の適用は、このようなシューティングゲームに限定されない。
【０１３１】
（六面体の出現表示動作）
ユーザが、外側撮像部２３を選択して、立体表示モードを選択して、上述したプログラムが実行されるように設定する。ユーザが、例えば机の上に置いたマーカを含めた範囲を外側撮像部２３で撮影することにより、カメラ画像データが取得される（ステップＳ１００）。マーカが検出されると（ステップＳ２００）、マーカの検出結果に基づいて、外側撮像部２３とマーカとの位置関係が算出され（ステップＳ３００）、算出された位置関係に基づいて、仮想カメラの位置及び姿勢が決定される（ステップＳ４００）。この状態でユーザがこのシューティングゲームの開始を要求したとする。
【０１３２】
図１３に、シューティングゲームが開始される前に上側ＬＣＤ２２に表示される画面を示す。外側撮像部２３により撮像されたマーカを含む画像が、立体視可能に、上側ＬＣＤ２２に表示されている。
【０１３３】
図１４Ａに示す画面が上側ＬＣＤ２２に表示されている状態でユーザがゲーム開始を要求すると、ゲーム開始を要求してから、第１の時間が経過するまでは、六面体を出現中であると判定される（ステップＳ５００にてＹＥＳ）。六面体の出現を開始してからの経過時間が算出され（ステップＳ６１０）、図１４Ｂ及び図１４Ｃに示すように、予め定められた位置に予め定められた大きさで（六面体の上面がマーカの位置にマーカの大きさで）、徐々にせり上がる六面体が表示される。このとき、六面体の外側面には、撮像画像が貼り付けられている。ここでは、この撮像画像は、机の表面に載置されたマーカ画像である。なお、六面体の内部がユーザから見えないのであれば、特に画像は限定されるものではない。上述したように、六面体の上面にマーカ画像を貼り付けると、マーカからせり上がるように六面体が出現する。また、六面体の上面に机表面の画像を貼り付けると、机表面からせり上がるように六面体が出現する。いずれであっても、自然な拡張現実感を実現できる点で好ましい。
【０１３４】
時間の経過に従って、六面体がマーカ座標系のｚ軸方向（上方）へせり上がって移動する。このようにして、出現開始から第１の時間が経過するまで、せり上がるように六面体を出現させる処理が進められて、第１の時間の経過時には図１４Ｄに示すように、六面体が完全に出現する。
【０１３５】
図１４Ａ〜図１４Ｄに示す図は、連続的に変化している様子を表現していないが、実際には、図１０に示すメインフローチャートが１／３０秒程度の時間で繰り返し実行される。このため、ユーザがゲーム開始を要求すると、六面体が徐々にせり上がるように出現するアニメーションが表示される。このとき、マーカが六面体の上面に位置するように表示される。なお、図１４Ｄに示す六面体が完全に出現した状態を所定の時間保持するようにしても構わない。
【０１３６】
図１４Ａ〜図１４Ｄに示すように、例えば、現実空間の机の上にマーカを配置して机の上でこのシューティングゲームを行う場合には、机の表面（ここではマーカの表面）から六面体がせり上がってくるように表示されることになる。また、このとき、机ではなく現実空間の芝生の上にマーカを配置して芝生の上でこのシューティングゲームを行っている場合には、マーカの大きさの芝生を上面とする六面体がせり上がるとともに（マーカ位置と六面体位置とは不一致とする）、六面体の側面（上面及び底面以外の外側面）に土の画像を表示することも好ましい。このように地面の下（地下）から仮想オブジェクトが出現するように表示できるので、さらに自然な拡張現実感を実現することができる。
【０１３７】
図１４Ｄに示すように六面体が完全に出現してから、予め定められた第２の時間が経過するまでは、六面体を展開中であると判定される（ステップＳ７００にてＹＥＳ）。六面体の展開を開始してからの経過時間が算出され（ステップＳ８１０）、図１４Ｅに示すように六面体が展開を開始する。
【０１３８】
時間の経過に従って、六面体展開面が展開されていく。六面体が完全に出現してから第２の時間が経過するまでの展開中は（ステップＳ７００にてＹＥＳ）、展開開始からの経過時間に応じた回転角Ｂが算出されて（ステップＳ８２０）、六面体展開面を示すオブジェクトデータが回転角Ｂだけ回転させたオブジェクトデータに更新され（ステップＳ８３０）、六面体展開面上に配置された仮想オブジェクト（第１ステージの家、樹木及び的）を示すオブジェクトデータが回転角Ｂだけ回転させたオブジェクトデータに更新される（ステップＳ８３０）。
【０１３９】
このとき、六面体展開面上に配置された仮想オブジェクト（第１ステージの家、樹木及び的）は、平面位置における位置データを（９０−Ｂ）度だけ回転させた位置に配置されることになる。
【０１４０】
このように回転角Ｂだけ回転された六面体の展開面を示すポリゴンの内側面に撮像画像が貼り付けられて、仮想オブジェクト（第１ステージの家、樹木及び的）を示すポリゴンにオブジェクト画像が貼り付けられる（ステップＳ９００）。
【０１４１】
このようにして、六面体展開面が展開されて、図１４Ｄに示す状態（回転角Ｂが０度の状態）から図１４Ｅに示す状態（回転角Ｂは約４５度の状態）へ変化する。図１４Ｅに示すように、六面体の展開面の内側面に撮像画像がテクスチャマッピングされる状態を表現している。
【０１４２】
なお、このように仮想オブジェクトを回転して表示させる処理は、ワールド座標系における各仮想オブジェクトの位置及び姿勢を変更しておいて処理することにより実現することができる。本発明は、特定の方法に限定されるものではなく、六面体展開面の展開に応じて、その展開面上に配置された仮想オブジェクトの位置及び姿勢が変化（回転）するものであれば構わない。
【０１４３】
このようにして、展開開始から第２の時間が経過するまで、六面体の展開面を展開する処理が進められて、第２の時間の経過時には図１４Ｆに示すように六面体の展開面が完全に展開される。図１４Ｆに示すように、六面体の展開面が完全に展開されたときに、第１ステージの家、樹木及び的Ａ〜小的Ｃが表示される。
【０１４４】
六面体の展開面が完全に展開されると、図１４Ｇにおいて実線で示す状態から図１４Ｈにおいて点線で示す状態に、六面体展開面の面または辺の色が徐々に変化して、六面体展開面が沈み込みようにして徐々に消滅させるようにすることもできる。
【０１４５】
図１４Ｅ〜図１４Ｈに示す図は、図１４Ａ〜図１４Ｅに示す図と同じように、連続的に変化している様子を表現していないが、実際には、図１０に示すメインフローチャートが１／３０秒程度の時間で繰り返し実行されるので、以下のようなアニメーションが表示される。折り畳まれた六面体が展開されると、その展開面上の仮想オブジェクト（第１ステージの家、樹木及び的）が、展開面の回転とともに回転して徐々に見え出す。六面体展開面が完全に展開すると、仮想オブジェクト（第１ステージの家、樹木及び的）が出現する。
【０１４６】
このようにして、図１３に示すゲーム開始前の画面が、図１５に示す第１ステージの画面（ゲーム開始画面）に切り替えられる。
【０１４７】
図１４Ｅに示す状態は、六面体展開面の内側面に、各展開面に対応する領域の撮像画像がテクスチャマッピングされている。これを、図１６を参照して説明する。図１６に示すように、外側撮像部２３で撮像した現実世界（現実空間）において六面体展開面が配置された６つの領域の画像が、六面体展開面の６つの内側面にテクスチャマッピングされる。このように、六面体展開面が展開される途中においても、六面体展開面が配置された領域から切り取られた撮像画像が六面体展開面（内側面）に表示されるので、自然な拡張現実感を実現する。
【０１４８】
以上のように、本実施形態に係るゲーム装置１０によると、外側撮像部２３で撮像した現実世界（現実空間）に、ゲームの的等の仮想オブジェクトを重ね合わせたゲームであって、自然な拡張現実感をユーザに付与できるシューティングゲームを実現することができる。この場合において、ゲームの開始時において仮想オブジェクト（特に的）を出現させる必要があるが、せり上がるように出現した六面体が展開されて第１ステージの的が見えるようになり、六面体展開面が沈み込むように消滅する。このようにゲームが開始する（仮想オブジェクトが出現する）場合に、自然な拡張現実感を阻害することなく、かつ、ゲーム開始時に表示される画像にユーザが興味を抱くようにして、仮想オブジェクトを出現させることができる。
【０１４９】
（変形例）
上述した実施形態においては、マーカの位置に六面体を出現させていた。しかしながら、マーカの位置とは別の位置に六面体を出現させるようにしても構わない。この場合には、出現位置に応じた領域のカメラ画像が上面に貼り付けられる。また、六面体以外の立体（閉空間を構成できる立体）を出現させるようにしても構わない。すなわち、六面体の出現位置は限定されず、かつ、多面体は六面体に限定されない。多面体は、四面体（三角錐）以上であって閉空間を構成できる立体であれば、特に限定されない。さらに、閉空間を構成でき、かつ、その閉空間を展開できる立体であれば、特に限定されない。例えば、伸縮する布のようなもので閉空間を構成することが考えられる。
【０１５０】
ここで、多面体が五面体（四角錐）であって、マーカの位置とは別の位置に四角錐が出現する状態を図１７Ａ〜図１７Ｅに示す。図１７Ａに示すように、四角錐の頂点の一部が机（マーカは机上に載置されているものとする）を突き破るようにして出現し始める。このときの四角錐の頂点側の一部は、閉空間を構成する仮想オブジェクトの外側面の一部である。この図１７Ａに示す状態から四角錐がマーカ座標系のｚ軸方向（上方向）へ移動して、図１７Ｂ及び図１７Ｃに示すように四角錐がせり上がるように上昇してくる。このときに、机の表面が割れて四角錐が盛り上がるようにアニメーションを作成してもよい。図１７Ｄは四角錐の全体が出現した状態を示す。この図１７Ｄに示す状態から四角錐の底面以外の側面が、各側面の底面側の辺を回転軸として外側へ９０度展開して、図１７Ｅに示すように、仮想オブジェクト（第１ステージの家、樹木及び的）が出現する。
【０１５１】
なお、この場合、マーカの位置から四角錐を出現させて、マーカを突き破るように四角錐を出現させることもできる。このようにすると、ユーザに興味をさらに抱かせることができる。また、四角錐（五面体）ではなく、マーカ座標系のｚ軸方向（上方向）に頂点側が配置された円錐、Ｎ角錐（Ｎは３以上の自然数、（Ｎ＋１）面体）等の錐体であっても構わない。
【０１５２】
また、仮想オブジェクトの配置位置、配置数又は仮想オブジェクトの大きさ等のステージの状況に応じて、六面体展開面の大きさを変更するようにしても構わない。逆に、大きな仮想オブジェクト（例えば高い樹木）については、六面体展開面を展開する時に、六面体に収まっていた樹木を六面体の展開状況に応じて徐々に伸ばすように変化するようにしても構わない。
【０１５３】
また、本発明は、本実施形態に係るゲーム装置に限らず、任意の携帯型電子機器（例えば、ＰＤＡ（Ｐｅｒｓｏｎａｌ  Ｄｉｇｉｔａｌ  Ａｓｓｉｓｔａｎｔ）又は携帯電話）、パーソナルコンピュータ、カメラ等に適用することが可能である。
【０１５４】
また、本実施形態に係るゲーム装置１０の情報処理部３１が所定のプログラムを実行することによって、上述したフローチャートによる仮想オブジェクト表示処理が行われた。これに限定されず、仮想オブジェクト表示処理の一部又は全部は、ゲーム装置１０が備える専用回路によって行われてもよい。
【０１５５】
また、上述した処理を１台のゲーム装置（情報処理装置）だけで処理するのではなく、互いに通信可能に接続された複数の情報処理装置で分担して処理するようにしても構わない。
【０１５６】
また、本実施形態においては、外側撮像部２３により撮像したカメラ画像と仮想オブジェクト（シューティングゲームにおける的等）とを重ね合わせて上側ＬＣＤ２２に表示させるビデオシースルー方式を説明したが、本発明はこれに限定されない。例えば、光学シースルー方式を実現する構成であってもよい。この場合には、少なくともカメラを備えたヘッドマウンドディスプレイで構成され、ユーザはメガネのレンズ部分に相当するディスプレイ部を通して現実空間を視認できるようになっている。このディプレイ部は、現実空間を透過してユーザの目に直接導くことが可能な素材によって構成されている。さらに、このディスプレイ部にはコンピュータにより生成した仮想オブジェクトの画像を表示させることができるようになっている。これにより、ユーザは、現実空間と仮想オブジェクトの画像とが重ね合わせられた像を視認することができる。なお、ヘッドマウンドディスプレイに備えられたカメラは現実空間に配置されたマーカを検出するために用いられる。
【符号の説明】
【０１５７】
１０  ゲーム装置
１１  下側ハウジング
１２  下側ＬＣＤ
１３  タッチパネル
１４  操作ボタン
１５  アナログスティック
１６  ＬＥＤ
２１  上側ハウジング
２２  上側ＬＣＤ
２３  外側撮像部
２３ａ  外側撮像部（左）
２３ｂ  外側撮像部（右）
２４  内側撮像部
２５  ３Ｄ調整スイッチ
２６  ３Ｄインジケータ
２８  タッチペン
３１  情報処理部
３１１  ＣＰＵ
３１２  ＧＰＵ
３２  メインメモリ
【図１】
0005514637.tif 000002
【図２】
0005514637.tif 000003
【図３】
0005514637.tif 000004
【図４】
0005514637.tif 000005
【図５】
0005514637.tif 000006
【図６Ａ】
0005514637.tif 000007
【図６Ｂ】
0005514637.tif 000008
【図６Ｃ】
0005514637.tif 000009
【図７】
0005514637.tif 000010
【図８】
0005514637.tif 000011
【図９】
0005514637.tif 000012
【図１０】
0005514637.tif 000013
【図１１】
0005514637.tif 000014
【図１２】
0005514637.tif 000015
【図１３】
0005514637.tif 000016
【図１４Ａ】
0005514637.tif 000017
【図１４Ｂ】
0005514637.tif 000018
【図１４Ｃ】
0005514637.tif 000019
【図１４Ｄ】
0005514637.tif 000020
【図１４Ｅ】
0005514637.tif 000021
【図１４Ｆ】
0005514637.tif 000022
【図１４Ｇ】
0005514637.tif 000023
【図１４Ｈ】
0005514637.tif 000024
【図１５】
0005514637.tif 000025
【図１６】
0005514637.tif 000026
【図１７Ａ】
0005514637.tif 000027
【図１７Ｂ】
0005514637.tif 000028
【図１７Ｃ】
0005514637.tif 000029
【図１７Ｄ】
0005514637.tif 000030
【図１７Ｅ】
0005514637.tif 000031