(57)【特許請求の範囲】
【請求項１】
撮像装置と表示装置に接続された、情報処理装置のコンピュータを、
前記撮像装置により実世界が撮像されることにより得られる実世界画像を取得する実世界画像取得手段、
移動オブジェクトを仮想空間内に配置する移動オブジェクト配置手段、
高さが異なる部分を有する地形オブジェクトを仮想空間内に配置する地形オブジェクト配置手段、
前記地形オブジェクトの形状に応じて前記移動オブジェクトを移動させる移動制御手段、
前記実世界画像の少なくとも一部を前記地形オブジェクトにテクスチャとしてマッピングするテクスチャマッピング手段、
前記移動オブジェクトおよび前記実世界画像の少なくとも一部がテクスチャとしてマッピングされた地形オブジェクトを描画して仮想空間画像を生成する仮想空間画像生成手段、および
前記実世界画像もしくは、前記表示装置の画面を透過して見える実世界に重ね合わせてユーザに視認されるように、前記仮想空間画像を前記表示装置に表示させる表示制御手段として機能させるための情報処理プログラム。
【請求項２】
前記情報処理装置は、前記コンピュータを、
前記地形オブジェクト配置手段によって配置された地形オブジェクトを変形させる変形手段としてさらに機能させる、請求項１に記載の情報処理プログラム。
【請求項３】
前記変形手段は、時間経過に応じて周期的に前記地形オブジェクトを変形させる、請求項１または請求項２に記載の情報処理プログラム。
【請求項４】
前記変形手段は、前記地形オブジェクトの表面に沿った方向に前記地形オブジェクトを変形させる、請求項１〜３のいずれか１項に記載の情報処理プログラム。
【請求項５】
前記変形手段は、所定条件を満たしたときに前記地形オブジェクトを変形させる、請求項１〜４のいずれか１項に記載の情報処理プログラム。
【請求項６】
前記地形オブジェクト配置手段は、
平面状の地形オブジェクトを仮想空間内に配置する初期配置手段、および
前記初期配置手段によって配置された平面状の地形オブジェクトの少なくとも一部の高さを変化させる初期変形手段を含む、請求項１〜５のいずれか１項に記載の情報処理プログラム。
【請求項７】
前記情報処理装置は、前記コンピュータを、
前記実世界画像から所定の認識対象を検出する検出手段、および
前記検出手段による検出結果に応じて仮想空間内に仮想カメラを配置する仮想カメラ配置手段としてさらに機能させ、
前記仮想空間画像生成手段は、前記仮想カメラに基づいて前記移動オブジェクトおよび前記地形オブジェクトを描画する、請求項１〜６のいずれか１項に記載の情報処理プログラム。
【請求項８】
前記撮像装置および前記表示装置は、前記情報処理装置と一体的に設けられており、
前記移動制御手段は、実世界における前記情報処理装置の位置および姿勢に応じて前記移動オブジェクトの移動方向を決定する移動方向決定手段を含む、請求項１〜７のいずれか１項に記載の情報処理プログラム。
【請求項９】
前記撮像装置および前記表示装置は、前記情報処理装置と一体的に設けられており、
前記移動制御手段は、実世界における前記情報処理装置の位置および姿勢に応じて前記移動オブジェクトの移動速度を決定する移動速度決定手段を含む、請求項１〜８のいずれか１項に記載の情報処理プログラム。
【請求項１０】
前記移動制御手段は、ユーザの操作に応じて前記移動オブジェクトを移動させるものであり、
前記情報処理装置は、前記コンピュータを、
前記移動制御手段により移動した前記移動オブジェクトの仮想空間内の位置に基づいて所定のゲーム処理を実行するゲーム処理手段としてさらに機能させる、請求項１〜９のいずれか１項に記載の情報処理プログラム。
【請求項１１】
撮像装置により実世界が撮像されることにより得られる実世界画像を取得する実世界画像取得手段、
移動オブジェクトを仮想空間内に配置する移動オブジェクト配置手段、
高さが異なる部分を有する地形オブジェクトを仮想空間内に配置する地形オブジェクト配置手段、
前記地形オブジェクトの形状に応じて前記移動オブジェクトを移動させる移動制御手段、
前記実世界画像の少なくとも一部を前記地形オブジェクトにテクスチャとしてマッピングするテクスチャマッピング手段、
前記移動オブジェクトおよび前記実世界画像の少なくとも一部がテクスチャとしてマッピングされた地形オブジェクトを描画して仮想空間画像を生成する仮想空間画像生成手段、および
前記実世界画像もしくは、表示装置の画面を透過して見える実世界に重ね合わせてユーザに視認されるように、前記仮想空間画像を前記表示装置に表示させる表示制御手段を備える情報処理装置。
【請求項１２】
撮像装置、
表示装置、
前記撮像装置により実世界が撮像されることにより得られる実世界画像を取得する実世界画像取得手段、
移動オブジェクトを仮想空間内に配置する移動オブジェクト配置手段、
高さが異なる部分を有する地形オブジェクトを仮想空間内に配置する地形オブジェクト配置手段、
前記地形オブジェクトの形状に応じて前記移動オブジェクトを移動させる移動制御手段、
前記実世界画像の少なくとも一部を前記地形オブジェクトにテクスチャとしてマッピングするテクスチャマッピング手段、
前記移動オブジェクトおよび前記実世界画像の少なくとも一部がテクスチャとしてマッピングされた地形オブジェクトを描画して仮想空間画像を生成する仮想空間画像生成手段、および
前記実世界画像もしくは、前記表示装置の画面を透過して見える実世界に重ね合わせてユーザに視認されるように、前記仮想空間画像を前記表示装置に表示させる表示制御手段を備える情報処理システム。
【請求項１３】
情報処理装置の制御部によって処理される情報処理方法であって、
前記制御部が、撮像装置により実世界が撮像されることにより得られる実世界画像を取得する実世界画像取得ステップ、
移動オブジェクトを仮想空間内に配置する移動オブジェクト配置ステップ、
高さが異なる部分を有する地形オブジェクトを仮想空間内に配置する地形オブジェクト配置ステップ、
前記地形オブジェクトの形状に応じて前記移動オブジェクトを移動させる移動制御ステップ、
前記実世界画像の少なくとも一部を前記地形オブジェクトにテクスチャとしてマッピングするテクスチャマッピングステップ、
前記移動オブジェクトおよび前記実世界画像の少なくとも一部がテクスチャとしてマッピングされた地形オブジェクトを描画して仮想空間画像を生成する仮想空間画像生成ステップ、および
前記実世界画像もしくは、表示装置の画面を透過して見える実世界に重ね合わせてユーザに視認されるように、前記仮想空間画像を前記表示装置に表示させる表示制御ステップを備える情報処理方法。
【請求項１４】
実世界に配置されるマーカ、
撮像装置、
表示装置、
前記撮像装置により実世界が撮像されることにより得られる実世界画像を取得する実世界画像取得手段、
前記実世界画像から前記マーカを検出する検出手段、
前記検出手段による検出結果に応じて仮想空間内に仮想カメラを配置する仮想カメラ配置手段、
移動オブジェクトを仮想空間内に配置する移動オブジェクト配置手段、
高さが異なる部分を有する地形オブジェクトを仮想空間内に配置する地形オブジェクト配置手段、
前記地形オブジェクトの形状に応じて前記移動オブジェクトを移動させる移動制御手段、
前記実世界画像の少なくとも一部を前記地形オブジェクトにテクスチャとしてマッピングするテクスチャマッピング手段、
前記仮想カメラに基づいて前記移動オブジェクトおよび前記実世界画像の少なくとも一部がテクスチャとしてマッピングされた地形オブジェクトを描画して仮想空間画像を生成する仮想空間画像生成手段、および
前記実世界画像もしくは、前記表示装置の画面を透過して見える実世界に重ね合わせてユーザに視認されるように、前記仮想空間画像を前記表示装置に表示させる表示制御手段を備える情報処理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理プログラム、情報処理システム、情報処理装置および情報処理方法に関し、特に、拡張現実（Augmented Reality）技術を利用した情報処理プログラム、情報処理システム、情報処理装置および情報処理方法に関する。
【背景技術】
【０００２】
特許文献１には、ゲームカード上にキャラクタとともにボールオブジェクトをディスプレイに表示させ、プレイヤによりゲームカードが操作されたときに、ゲームカードの向きに応じた方向にボールオブジェクトが転がっていき、別のゲームカード上に表示されている複数のピンオブジェクトを倒すような演出が行われるゲーム装置が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００８−１１３７４６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１に記載されているものでは、ボールオブジェクトが単に平面上を転がっていく演出がなされるに過ぎず、仮想オブジェクトがあたかも現実空間に存在して移動しているという現実感をユーザに与えることができなかった。
【課題を解決するための手段】
【０００５】
上記のような課題を解決するために、本発明は以下のような構成を採用した。
【０００６】
本発明の一構成例に係る情報処理プログラムは、撮像装置と表示装置に接続された、情報処理装置のコンピュータを、実世界画像取得手段、移動オブジェクト配置手段、地形オブジェクト配置手段、移動制御手段、テクスチャマッピング手段、仮想空間画像生成手段、および表示制御手段として機能させる。
【０００７】
上記実世界画像取得手段は、前記撮像装置により前記実世界が撮像されることにより得られる実世界画像を取得する。上記移動オブジェクト配置手段は、移動オブジェクトを仮想空間内に配置する。上記地形オブジェクト配置手段は、高さが異なる部分を有する地形オブジェクトを仮想空間内に配置する。上記移動制御手段は、前記地形オブジェクトの形状に応じて前記移動オブジェクトを移動させる。上記テクスチャマッピング手段は、前記実世界画像の少なくとも一部を前記地形オブジェクトにテクスチャとしてマッピングする。上記仮想空間画像生成手段は、前記移動オブジェクトおよび前記実世界画像の少なくとも一部がテクスチャとしてマッピングされた地形オブジェクトを描画して仮想空間画像を生成する。上記表示制御手段は、前記実世界画像もしくは、前記表示装置の画面を透過して見える実世界に重ね合わせてユーザに視認されるように、前記仮想空間画像を前記表示装置に表示させる。
【０００８】
上記情報処理プログラムの他の構成例として、前記情報処理装置は、前記コンピュータを、前記地形オブジェクト配置手段によって配置された地形オブジェクトを変形させる変形手段としてさらに機能させてもよい。
【０００９】
上記構成例によれば、ユーザは、現実世界があたかも実際に変形したかのような不思議な体験をすることができる。
【００１０】
上記情報処理プログラムのさらに他の構成例として、前記変形手段は、時間経過に応じて周期的に前記地形オブジェクトを変形させてもよい。
【００１１】
上記情報処理プログラムのさらに他の構成例として、前記変形手段は、前記地形オブジェクトの表面に沿った方向に前記地形オブジェクトを変形させてもよい。
【００１２】
上記情報処理プログラムのさらに他の構成例として、前記変形手段は、所定条件を満たしたときに前記地形オブジェクトを変形させてもよい。
【００１３】
上記情報処理プログラムのさらに他の構成例として、前記地形オブジェクト配置手段は、平面状の地形オブジェクトを仮想空間内に配置する初期配置手段、および前記初期配置手段によって配置された平面状の地形オブジェクトの少なくとも一部の高さを変化させる初期変形手段を含んでいてもよい。
【００１４】
上記構成例によれば、地形オブジェクト（初期変形手段による変形後の地形オブジェクト）が平面状ではないことを、ユーザに分かりやすく認識させることができる。
【００１５】
上記情報処理プログラムのさらに他の構成例として、前記情報処理装置は、前記コンピュータを、前記実世界画像から所定の認識対象を検出する検出手段、および前記検出手段による検出結果に応じて仮想空間内に仮想カメラを配置する仮想カメラ配置手段としてさらに機能させてもよい。そして、前記仮想空間画像生成手段は、前記仮想カメラに基づいて前記移動オブジェクトおよび前記地形オブジェクトを描画してもよい。
【００１６】
上記構成例によれば、撮像装置によって撮像される実世界画像に応じて仮想空間画像の視点が変化するため、実世界に連動して仮想空間画像の見え方が変化し、仮想空間内の仮想オブジェクトがあたかも実世界に存在しているかのようにユーザに視認させることができる。
【００１７】
上記情報処理プログラムのさらに他の構成例として、前記撮像装置および前記表示装置は、前記情報処理装置と一体的に設けられており、前記移動制御手段は、実世界における前記情報処理装置の位置および姿勢に応じて前記移動オブジェクトの移動方向を決定する移動方向決定手段を含んでいてもよい。
【００１８】
上記構成例によれば、情報処理装置を動かすことによって移動オブジェクトの移動方向を指示できるため、ユーザは容易に移動方向を指示することができる。
【００１９】
上記情報処理プログラムのさらに他の構成例として、前記撮像装置および前記表示装置は、前記情報処理装置と一体的に設けられており、前記移動制御手段は、実世界における前記情報処理装置の位置および姿勢に応じて前記移動オブジェクトの移動速度を決定する移動速度決定手段を含んでいてもよい。
【００２０】
上記構成例によれば、情報処理装置を動かすことによって移動オブジェクトの移動速度を指示できるため、ユーザは容易に移動速度を指示することができる。
【００２１】
上記情報処理プログラムのさらに他の構成例として、前記移動制御手段は、ユーザの操作に応じて前記移動オブジェクトを移動させるものであり、前記情報処理装置は、前記コンピュータを、前記移動制御手段により移動した前記移動オブジェクトの仮想空間内の位置に基づいて所定のゲーム処理を実行するゲーム処理手段としてさらに機能させてもよい。
【００２２】
本発明の一構成例に係る情報処理装置は、実世界画像取得手段、移動オブジェクト配置手段、地形オブジェクト配置手段、移動制御手段、テクスチャマッピング手段、仮想空間画像生成手段、および表示制御手段を備える。
【００２３】
本発明の一構成例に係る情報処理システムは、撮像装置、表示装置、実世界画像取得手段、移動オブジェクト配置手段、地形オブジェクト配置手段、移動制御手段、テクスチャマッピング手段、仮想空間画像生成手段、および表示制御手段を備える。
【００２４】
本発明の一構成例に係る情報処理方法は、情報処理装置の制御部によって処理される情報処理方法であって、実世界画像取得ステップ、移動オブジェクト配置ステップ、地形オブジェクト配置ステップ、移動制御ステップ、テクスチャマッピングステップ、仮想空間画像生成ステップ、および表示制御ステップを備える。
【００２５】
上記実世界画像取得ステップでは、前記制御部が、撮像装置により前記実世界が撮像されることにより得られる実世界画像を取得する。上記移動オブジェクト配置ステップでは、前記制御部が、移動オブジェクトを仮想空間内に配置する。上記地形オブジェクト配置ステップでは、前記制御部が、高さが異なる部分を有する地形オブジェクトを仮想空間内に配置する。上記移動制御ステップでは、前記制御部が、前記地形オブジェクトの形状に応じて前記移動オブジェクトを移動させる。上記テクスチャマッピングステップでは、前記制御部が、前記実世界画像の少なくとも一部を前記地形オブジェクトにテクスチャとしてマッピングする。上記仮想空間画像生成ステップでは、前記制御部が、前記移動オブジェクトおよび前記実世界画像の少なくとも一部がテクスチャとしてマッピングされた地形オブジェクトを描画して仮想空間画像を生成する。上記表示制御ステップでは、前記制御部が、前記実世界画像もしくは、表示装置の画面を透過して見える実世界に重ね合わせてユーザに視認されるように、前記仮想空間画像を前記表示装置に表示させる。
【００２６】
本発明の一構成例に係る情報処理システムは、実世界に配置されるマーカ、撮像装置、表示装置、実世界画像取得手段、検出手段、仮想カメラ配置手段、移動オブジェクト配置手段、地形オブジェクト配置手段、移動制御手段、テクスチャマッピング手段、仮想空間画像生成手段、および表示制御手段を備える。
【００２７】
上記実世界画像取得手段は、前記撮像装置により前記実世界が撮像されることにより得られる実世界画像を取得する。上記検出手段は、前記実世界画像から前記マーカを検出する。上記仮想カメラ配置手段は、前記検出手段による検出結果に応じて仮想空間内に仮想カメラを配置する。上記移動オブジェクト配置手段は、移動オブジェクトを仮想空間内に配置する。上記地形オブジェクト配置手段は、高さが異なる部分を有する地形オブジェクトを仮想空間内に配置する。上記移動制御手段は、前記地形オブジェクトの形状に応じて前記移動オブジェクトを移動させる。上記テクスチャマッピング手段は、前記実世界画像の少なくとも一部を前記地形オブジェクトにテクスチャとしてマッピングする。上記仮想空間画像生成手段は、前記仮想カメラに基づいて前記移動オブジェクトおよび前記実世界画像の少なくとも一部がテクスチャとしてマッピングされた地形オブジェクトを描画して仮想空間画像を生成する。上記表示制御手段は、前記実世界画像もしくは、前記表示装置の画面を透過して見える実世界に重ね合わせてユーザに視認されるように、前記仮想空間画像を前記表示装置に表示させる。
【発明の効果】
【００２８】
本発明によれば、ユーザは、現実世界があたかも実際に変形しているかのような不思議な体験をすることができる。
【図面の簡単な説明】
【００２９】
【図１】開状態におけるゲーム装置１０の正面図
【図２Ａ】閉状態におけるゲーム装置１０の左側面図
【図２Ｂ】閉状態におけるゲーム装置１０の正面図
【図２Ｃ】閉状態におけるゲーム装置１０の右側面図
【図２Ｄ】閉状態におけるゲーム装置１０の背面図
【図３】ゲーム装置１０の内部構成を示すブロック図
【図４】ゲームプレイ中のゲーム画像例
【図５】ゲームプレイ中のゲーム画像例
【図６】ゲームプレイ中のゲーム画像例
【図７】ゲームプレイ中のゲーム画像例
【図８】ゲームプレイ中のゲーム画像例
【図９】ゲームプレイ中のゲーム画像例
【図１０】ゲームプレイ中のゲーム画像例
【図１１】ゲームプレイ中のゲーム画像例
【図１２】ゲームプレイ中のゲーム画像例
【図１３】ゲームプレイ中のゲーム画像例
【図１４】メインメモリ３２のメモリマップ
【図１５】ゲーム処理全体の流れを示すフローチャート
【図１６】移動オブジェクト制御処理の流れを示すフローチャート
【図１７】仮想空間に配置される仮想オブジェクトを示す図
【図１８】一対の仮想カメラとキューオブジェクトの配置方法を示す図
【図１９】地形オブジェクト６５が変形後の仮想空間を示す図
【図２０】地形オブジェクト６５へのテクスチャマッピングを示す図
【発明を実施するための形態】
【００３０】
（ゲーム装置の構成）
以下、本発明の一実施形態に係るゲーム装置について説明する。ゲーム装置１０は携帯型のゲーム装置である。図１および図２Ａ〜Ｄに示されるように、ゲーム装置１０は、下側ハウジング１１および上側ハウジング２１を有する。下側ハウジング１１と上側ハウジング２１とは、開閉可能（折り畳み可能）に接続されている。
【００３１】
（下側ハウジングの説明）
図１および図２Ａ〜Ｄに示すように、下側ハウジング１１には、下側ＬＣＤ（Ｌｉｑｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙ：液晶表示装置）１２、タッチパネル１３、各操作ボタン１４Ａ〜１４Ｌ、アナログスティック１５、ＬＥＤ１６Ａ〜１６Ｂ、挿入口１７、および、マイクロフォン用孔１８が設けられる。
【００３２】
タッチパネル１３は、下側ＬＣＤ１２の画面上に装着されている。下側ハウジング１１の上側面には、タッチペン２８を収納するための挿入口１７（図１および図２Ｄに示す点線）が設けられている。
【００３３】
下側ハウジング１１の内側面（主面）には、十字ボタン１４Ａ（方向入力ボタン１４Ａ）、ボタン１４Ｂ、ボタン１４Ｃ、ボタン１４Ｄ、ボタン１４Ｅ、電源ボタン１４Ｆ、セレクトボタン１４Ｊ、ＨＯＭＥボタン１４Ｋ、およびスタートボタン１４Ｌが、設けられる。
【００３４】
アナログスティック１５は、方向を指示するデバイスである。
【００３５】
下側ハウジング１１の内側面には、マイクロフォン用孔１８が設けられる。マイクロフォン用孔１８の下部には後述する音声入力装置としてのマイク４２（図３参照）が設けられる。
【００３６】
図２ＢおよびＤに示されるように、下側ハウジング１１の上側面には、Ｌボタン１４ＧおよびＲボタン１４Ｈが設けられている。また、図２Ａに示されるように、下側ハウジング１１の左側面には、ゲーム装置１０が備えるスピーカ４３（図３参照）の音量を調整するための音量ボタン１４Ｉが設けられる。
【００３７】
図２Ａに示されるように、下側ハウジング１１の左側面には開閉可能なカバー部１１Ｃが設けられる。このカバー部１１Ｃの内側には、ゲーム装置１０とデータ保存用外部メモリ４５とを電気的に接続するためのコネクタが設けられる。
【００３８】
図２Ｄに示されるように、下側ハウジング１１の上側面には、外部メモリ４４を挿入するための挿入口１１Ｄが設けられる。
【００３９】
図１および図２Ｃに示されるように、下側ハウジング１１の下側面にはゲーム装置１０の電源のＯＮ／ＯＦＦ状況をユーザに通知する第１ＬＥＤ１６Ａ、下側ハウジング１１の右側面にはゲーム装置１０の無線通信の確立状況をユーザに通知する第２ＬＥＤ１６Ｂが設けられる。ゲーム装置１０は他の機器との間で無線通信を行うことが可能であり、下側ハウジング１１の右側面には、この無線通信の機能を有効／無効にする無線スイッチ１９が設けられる（図２Ｃ参照）。
【００４０】
（上側ハウジングの説明）
図１および図２に示すように、上側ハウジング２１には、上側ＬＣＤ（Ｌｉｑｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙ：液晶表示装置）２２、外側撮像部２３（外側撮像部（左）２３ａおよび外側撮像部（右）２３ｂ）、内側撮像部２４、３Ｄ調整スイッチ２５、および、３Ｄインジケータ２６が設けられる。
【００４１】
上側ＬＣＤ２２は、立体視可能な画像を表示することが可能な表示装置である。具体的には、パララックスバリア方式の裸眼立体視可能な表示装置である。上側ＬＣＤ２２は、視差バリアを用いてユーザの左目に左目用画像をユーザの右目に右目用画像を視認させることにより、ユーザにとって立体感のある画像（立体視画像）を表示することができる。また、上側ＬＣＤ２２は、上記視差バリアを無効にすることが可能であり、視差バリアを無効にした場合は、画像を平面的に表示することができる。このように、上側ＬＣＤ２２は、立体視画像を表示する立体表示モードと、画像を平面的に表示する（平面視画像を表示する）平面表示モードとを切り替えることが可能な表示装置である。この表示モードの切り替えは、例えば、後述する３Ｄ調整スイッチ２５によって行われる。
【００４２】
外側撮像部２３は、上側ハウジング２１の外側面２１Ｄに設けられた２つの撮像部（２３ａおよび２３ｂ）の総称である。外側撮像部（左）２３ａと外側撮像部（右）２３ｂとは、ゲーム装置１０が実行するプログラムによって、ステレオカメラとして使用することが可能である。
【００４３】
内側撮像部２４は、上側ハウジング２１の内側面２１Ｂに設けられ、当該内側面の内向きの法線方向を撮像方向とする撮像部である。
【００４４】
３Ｄ調整スイッチ２５は、スライドスイッチであり、上述のように上側ＬＣＤ２２の表示モードを切り替えるために用いられるスイッチである。また、３Ｄ調整スイッチ２５は、上側ＬＣＤ２２に表示された立体視可能な画像（立体画像）の立体感を調整するために用いられる。３Ｄ調整スイッチ２５のスライダ２５ａは、所定方向（上下方向）の任意の位置にスライド可能であり、当該スライダ２５ａの位置に応じて上側ＬＣＤ２２の表示モードが設定される。また、スライダ２５ａの位置に応じて、立体画像の見え方が調整される。
【００４５】
３Ｄインジケータ２６は、上側ＬＣＤ２２が立体表示モードか否かを示すＬＥＤである。
【００４６】
また、上側ハウジング２１の内側面には、スピーカ孔２１Ｅが設けられる。後述するスピーカ４３からの音声がこのスピーカ孔２１Ｅから出力される。
【００４７】
（ゲーム装置１０の内部構成）
次に、図３を参照して、ゲーム装置１０の内部の電気的構成について説明する。図３に示すように、ゲーム装置１０は、上述した各部に加えて、情報処理部３１、メインメモリ３２、外部メモリインターフェイス（外部メモリＩ／Ｆ）３３、データ保存用外部メモリＩ／Ｆ３４、データ保存用内部メモリ３５、無線通信モジュール３６、ローカル通信モジュール３７、リアルタイムクロック（ＲＴＣ）３８、加速度センサ３９、電源回路４０、およびインターフェイス回路（Ｉ／Ｆ回路）４１等の電子部品を備えている。
【００４８】
情報処理部３１は、所定のプログラムを実行するためのＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）３１１、画像処理を行うＧＰＵ（Ｇｒａｐｈｉｃｓ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）３１２、ＶＲＡＭ（Ｖｉｄｅｏ  ＲＡＭ）３１３を含む。ＣＰＵ３１１は、ゲーム装置１０内のメモリ（例えば外部メモリＩ／Ｆ３３に接続された外部メモリ４４やデータ保存用内部メモリ３５）に記憶されているプログラムを実行することによって、当該プログラムに応じた処理を実行する。なお、ＣＰＵ３１１によって実行されるプログラムは、他の機器との通信によって他の機器から取得されてもよい。ＧＰＵ３１２は、ＣＰＵ３１１からの命令に応じて画像を生成し、ＶＲＡＭ３１３に描画する。ＶＲＡＭ３１３に描画された画像は、上側ＬＣＤ２２及び／又は下側ＬＣＤ１２に出力され、上側ＬＣＤ２２及び／又は下側ＬＣＤ１２に当該画像が表示される。
【００４９】
外部メモリＩ／Ｆ３３は、外部メモリ４４を着脱自在に接続するためのインターフェイスである。また、データ保存用外部メモリＩ／Ｆ３４は、データ保存用外部メモリ４５を着脱自在に接続するためのインターフェイスである。
【００５０】
メインメモリ３２は、情報処理部３１（のＣＰＵ３１１）のワーク領域やバッファ領域として用いられる揮発性の記憶装置である。
【００５１】
外部メモリ４４は、情報処理部３１によって実行されるプログラム等を記憶するための不揮発性の記憶装置である。外部メモリ４４は、例えば読み取り専用の半導体メモリで構成される。
【００５２】
データ保存用外部メモリ４５は、不揮発性の読み書き可能なメモリ（例えばＮＡＮＤ型フラッシュメモリ）で構成され、任意のデータを保存するために用いられる。
【００５３】
データ保存用内部メモリ３５は、読み書き可能な不揮発性メモリ（例えばＮＡＮＤ型フラッシュメモリ）で構成され、所定のデータを格納するために用いられる。例えば、データ保存用内部メモリ３５には、無線通信モジュール３６を介した無線通信によってダウンロードされたデータやプログラムが格納される。
【００５４】
無線通信モジュール３６は、例えばＩＥＥＥ８０２．１１ｂ／ｇの規格に準拠した方式により、無線ＬＡＮに接続する機能を有する。また、ローカル通信モジュール３７は、所定の通信方式（例えば独自プロトコルによる通信や、赤外線通信）により同種のゲーム装置との間で無線通信を行う機能を有する。
【００５５】
加速度センサ３９は、３軸（ｘｙｚ軸）方向に沿った直線方向の加速度（直線加速度）の大きさを検出する。情報処理部３１は、加速度センサ３９が検出した加速度を示すデータ（加速度データ）を受信して、ゲーム装置１０の姿勢や動きを検出することができる。
【００５６】
ＲＴＣ３８は、時間をカウントして情報処理部３１に出力する。情報処理部３１は、ＲＴＣ３８によって計時された時間に基づき現在時刻（日付）を計算する。電源回路４０は、ゲーム装置１０が有する電源（充電式電池）からの電力を制御し、ゲーム装置１０の各部品に電力を供給する。
【００５７】
Ｉ／Ｆ回路４１には、タッチパネル１３、マイク４２およびスピーカ４３が接続される。Ｉ／Ｆ回路４１は、マイク４２およびスピーカ４３（アンプ）の制御を行う音声制御回路と、タッチパネルの制御を行うタッチパネル制御回路とを含む。音声制御回路は、音声信号に対するＡ／Ｄ変換およびＤ／Ａ変換を行ったり、音声信号を所定の形式の音声データに変換したりする。タッチパネル制御回路は、タッチパネル１３からの信号に基づいて所定の形式のタッチ位置データを生成して情報処理部３１に出力する。情報処理部３１は、タッチ位置データを取得することにより、タッチパネル１３に対して入力が行われた位置を知ることができる。
【００５８】
操作ボタン１４は、上記各操作ボタン１４Ａ〜１４Ｌからなり、操作ボタン１４から情報処理部３１へは、各操作ボタン１４Ａ〜１４Ｉに対する入力状況（押下されたか否か）を示す操作データが出力される。
【００５９】
下側ＬＣＤ１２および上側ＬＣＤ２２は情報処理部３１に接続される。具体的には、情報処理部３１は、上側ＬＣＤ２２のＬＣＤコントローラ（図示せず）と接続され、当該ＬＣＤコントローラに対して視差バリアのＯＮ／ＯＦＦを制御する。上側ＬＣＤ２２の視差バリアがＯＮになっている場合、情報処理部３１のＶＲＡＭ３１３に格納された右目用画像と左目用画像とが、上側ＬＣＤ２２に出力される。より具体的には、ＬＣＤコントローラは、右目用画像について縦方向に１ライン分の画素データを読み出す処理と、左目用画像について縦方向に１ライン分の画素データを読み出す処理とを交互に繰り返すことによって、ＶＲＡＭ３１３から右目用画像と左目用画像とを読み出す。これにより、右目用画像および左目用画像が、画素を縦に１ライン毎に並んだ短冊状画像に分割され、分割された右目用画像の短冊状画像と左目用画像の短冊状画像とが交互に配置された画像が、上側ＬＣＤ２２の画面に表示される。そして、上側ＬＣＤ２２の視差バリアを介して当該画像がユーザに視認されることによって、ユーザの右目に右目用画像が、ユーザの左目に左目用画像が視認される。以上により、上側ＬＣＤ２２の画面には立体視可能な画像が表示される。
【００６０】
外側撮像部２３および内側撮像部２４は、情報処理部３１の指示に従って画像を撮像し、撮像した画像データを情報処理部３１に出力する。
【００６１】
３Ｄ調整スイッチ２５は、スライダ２５ａの位置に応じた電気信号を情報処理部３１に送信する。
【００６２】
情報処理部３１は、３Ｄインジケータ２６の点灯を制御する。例えば、情報処理部３１は、上側ＬＣＤ２２が立体表示モードである場合、３Ｄインジケータ２６を点灯させる。
【００６３】
（ゲームの概要）
次に、図４〜図１３を参照して、ゲーム装置１０において実行されるゲーム（玉突きゲーム）の概要を説明する。このゲームは、所定の模様（文字、数字、記号、その他の図柄）の描かれたマーカ５０を机の上などに置いて、ゲーム装置１０の外側撮像部２３によって当該マーカ５０を撮像しながらプレイする、拡張現実技術を利用したゲームである。
【００６４】
図４は、ゲームの開始直後に上側ＬＣＤ２２および下側ＬＣＤ１２に表示されるゲーム画像を示している。
【００６５】
上側ＬＣＤ２２には、外側撮像部２３によって現在撮像されている実世界を示す実世界画像と、仮想空間に配置された仮想オブジェクトの画像とを合成した画像（立体視画像）が、立体表示される。この例では、机の上に置かれたマーカ５０を撮像することにより得られる実世界画像と、仮想空間に配置された球オブジェクト６０、ゴールオブジェクト６１およびキューオブジェクト６２の画像とが上側ＬＣＤ２２に合成表示されている。
【００６６】
下側ＬＣＤ１２には、ステージを選択するための画像が表示される。ゲーム開始直後は第１ステージしかプレイできず、第１ステージをクリアすると、第２ステージをプレイ可能となる。第１〜第７ステージの目標（クリア条件）は、キューオブジェクト６２によって球オブジェクト６０を突いて、球オブジェクト６０をゴールオブジェクト６１へ到達させることである。
【００６７】
図４に示すような画像が表示された直後、上側ＬＣＤ２２に表示されている実世界画像の一部が変形（隆起したり、沈降したり）するアニメーション表示（冒頭演出）が行われ、最終的に、上側ＬＣＤ２２には図５に示すような立体視画像が表示される。図５の例では、上側ＬＣＤ２２に表示されている机の一部およびマーカ５０の一部が隆起して見えるように表示される。こうして、第１ステージのプレイが開始される。
【００６８】
ユーザは、ゲーム装置１０を移動または回転させることによって、仮想空間に配置されたキューオブジェクト６２を移動または回転させることができる。すなわち、現実世界におけるゲーム装置１０の位置および姿勢と、仮想空間におけるキューオブジェクト６２の位置および姿勢は連動する。後述するように、マーカ５０の位置および姿勢は、マーカ５０に対する外側撮像部２３の相対的位置および姿勢に対応している。そして、マーカ５０の位置および姿勢に基づいて仮想カメラ６６の位置および姿勢が決定される。すなわち、外側撮像部２３が設けられたゲーム装置１０の位置および姿勢は、仮想空間における仮想カメラの位置および姿勢とも連動する。また、キューオブジェクト６２は、仮想空間に配置された仮想カメラと相対的に固定された位置に配置される。これにより、ゲーム装置１０の位置および姿勢と、キューオブジェクト６２の位置姿勢とは連動することになる。
【００６９】
図６は、球オブジェクト６０をキューオブジェクト６２で突くために、ユーザが図５の状態からゲーム装置１０を右方向に移動させたときの様子を示している。ゲーム装置１０の移動に連動してキューオブジェクト６２が移動した結果、球オブジェクト６０を突くことができる位置にキューオブジェクト６２が移動している。この状態で、ユーザが特定の操作ボタン（例えば操作ボタン１４Ｂ）を押下すると、図７に示すように、キューオブジェクト６２が向いている方向へと球オブジェクト６０が移動して、第１打目が終了する。すなわち、ゲーム装置１０の位置および姿勢に応じて球オブジェクト６０の移動方向が決定されるようになっている。
【００７０】
第２打目以降についても第１打目と同様に、ユーザは、ゲーム装置１０を移動または回転させることによってキューオブジェクト６２を所望の位置および姿勢にして、球オブジェクト６０を突くことを、球オブジェクト６０がゴールオブジェクト６１に到達するまで繰り返す。
【００７１】
なお、前述のように、上側ＬＣＤ２２では、机の一部およびマーカ５０の一部が隆起して見えるように表示されているが、これは単に見た目だけでなく、球オブジェクト６０の移動にも影響を及ぼす。例えば、図８の状態でユーザがゴールオブジェクト６１を狙って球オブジェクト６０を突いたとしても、図９に示すように、球オブジェクト６０が移動途中で隆起部分に接触すると、図９に示すように球オブジェクト６０の移動方向および移動速度が変化するようになっている。すなわち、ユーザは、当該ゲームをプレイしている間、現実世界の机やマーカ５０があたかも実際に変形しているかのような不思議な体験をすることができる。
【００７２】
なお、図６〜図９の例では、隆起部を迂回するルートで球オブジェクト６０をゴールオブジェクト６１へ到達させようとしているが、どのようなルートを選ぶかはユーザの自由である。例えば、隆起部を乗り越えるようなルートで球オブジェクト６０をゴールオブジェクト６１へ到達させようと試みてもよい。
【００７３】
第１ステージをクリアすると、続いて第２ステージが開始される。第２ステージの開始時も、第１ステージの開始時と同様に、実世界画像の一部が隆起または沈降するアニメーション表示（冒頭演出）が行われる。第２ステージ以降のステージについても同様である。
【００７４】
図１０は、第２ステージの冒頭演出が行われた後の、上側ＬＣＤ２２および下側ＬＣＤ１２に表示されるゲーム画像を示している。
【００７５】
第２ステージでは、実世界画像において、第１ステージと同じ領域が隆起している。ただし、第１ステージでは、隆起部の高さは固定であったが、第２ステージでは、隆起部の高さが周期的に変動する。すなわち、時間の経過に応じて、隆起部の高さが高くなったり低くなったりする。したがって、ユーザは、隆起部の高さが低くなるタイミングに合わせて球オブジェクト６０を突くことによって、隆起部を乗り越えるようなルートで球オブジェクト６０をゴールオブジェクト６１へ到達させることができる。ただし、球オブジェクト６０を突くタイミングが悪いと、隆起部の高さが高いときに球オブジェクト６０が隆起部に到達し、隆起部を乗り越えることができずに球オブジェクト６０が戻ってきてしまうことになる。したがって、第２ステージでは、ユーザは球オブジェクト６０を突くタイミングも考慮する必要があり、第１ステージよりもゲーム性が高まっている。
【００７６】
第２ステージをクリアすると、続いて第３ステージが開始される。図１１に示すように、第３ステージでは、実世界画像の一部が沈降しており、それに加えて、実世界画像の所定の移動領域７０がベルトコンベアのように沈降部へ向かって移動しているように表示される。この移動領域７０についても、単に見た目だけでなく、球オブジェクト６０の移動にも影響を及ぼす。したがって、移動領域７０上を移動する間、球オブジェクト６０が左方向へ加速されて移動方向が左方向へずれるので、ユーザはこれを考慮して球オブジェクト６０を突く方向を決定する必要があり、第１ステージよりもゲーム性が高まっている。
【００７７】
図１２は、第８ステージ（最終ステージ）において、上側ＬＣＤ２２および下側ＬＣＤ１２に表示されるゲーム画像を示している。
【００７８】
第８ステージの目標（クリア条件）は、キューオブジェクト６２によって爆弾オブジェクト６０を突いて、爆弾オブジェクト６３を敵オブジェクト６４へぶつけて敵オブジェクト６４を倒すことである。爆弾オブジェクト６３が敵オブジェクト６４にぶつかる度に、敵オブジェクト６４のダメージが一定値（例えば１０）ずつ加算され、累積ダメージが規定値（例えば１００）に達すると敵オブジェクト６４を倒すことができる。
【００７９】
第８ステージでは、敵オブジェクト６４の累積ダメージが所定の閾値（例えば、４０および７０）に達する毎に、図１３に示すように、実世界画像の一部が隆起して、敵オブジェクト６４を守るバリケードへと変化する。したがって、ユーザは、敵オブジェクト６４にさらなるダメージを与えるために、バリケードを迂回して爆弾オブジェクト６３を敵オブジェクト６４へとぶつける必要があり、ゲームの難度が上昇する。なお、実世界画像の一部が隆起して、敵オブジェクト６４を守るバリケードへと変化するのは、第８ステージの開始から所定時間を経過するたびに行われてもよい。
【００８０】
（ゲーム装置１０の動作の詳細）
次に、図１４〜図２０を参照して、ゲーム装置１０の動作についてより詳細に説明する。
【００８１】
図１４は、ゲームの実行中にメインメモリ３２に格納されるプログラムおよびデータの一例を示している。
【００８２】
ゲームプログラムＤ１１は、ゲームの実行に先立って外部メモリ４４またはデータ保存用内部メモリ３５等から読み出されて、メインメモリ３２に格納される。なお、無線通信機能を使ってサーバ装置または他のゲーム装置からゲームプログラムＤ１１を受信して、メインメモリ３２に格納してもよい。
【００８３】
ステージ情報Ｄ１２は、各ステージにおいて配置される各種仮想オブジェクトや、それらの初期位置や、前述の隆起部や沈降部や移動領域７０などを定義した情報である。
【００８４】
仮想オブジェクト情報Ｄ１３は、仮想空間に配置される各種仮想オブジェクト（地形オブジェクトや、移動オブジェクトや、その他のオブジェクト）に関連する情報であって、仮想オブジェクトの形状、色、模様、位置、姿勢などの情報を含んでいる。移動オブジェクト（球オブジェクト６０、爆弾オブジェクト６３）については、移動方向および移動速度の情報も含まれている。なお、地形オブジェクトとは、実世界画像の一部が隆起したり沈降したりする処理を実現するために仮想空間に配置される、多数のポリゴンで構成されたオブジェクトである（図１７〜図１９の６５参照）。
【００８５】
左実世界画像Ｄ１４は、外側撮像部（左）２３ａによって撮像された実世界画像であり、右実世界画像Ｄ１５は、外側撮像部（右）２３ｂによって撮像された実世界画像である。
【００８６】
仮想カメラ情報Ｄ１６は、立体視画像を生成する際に用いられる一対の仮想カメラ（後述する左仮想カメラおよび右仮想カメラ）に関する情報であって、仮想空間における各仮想カメラの位置や姿勢などの情報を含んでいる。
【００８７】
左仮想空間画像Ｄ１７は、左仮想カメラに基づいて描画された仮想空間画像であり、右仮想空間画像Ｄ１８は、右仮想カメラに基づいて描画された仮想空間画像である。
【００８８】
次に、図１５および図１６を参照して、ゲームプログラムＤ１１に基づいてＣＰＵ３１１によって実行されるゲーム処理の流れについて説明する。当該ゲーム処理は、例えば、外側撮像部２３によって撮像された実世界を示す実世界画像において後述のマーカ認識処理と同様な処理によってマーカ５０の位置および姿勢が検出されている状態で、操作ボタン１４のボタン１４Ｂが押下されたときに開始される。
【００８９】
図１５のステップＳ１１において、ＣＰＵ３１１は、ステージを決定する。例えば、ゲーム開始直後の場合は、第１ステージに決定される。また、或るステージがクリアされた直後の場合は、次のステージに決定される。また、ユーザがタッチパネル１３等でステージを指定した場合は、その指定されたステージに決定される。
【００９０】
ステップＳ１２において、ＣＰＵ３１１は、キューオブジェクト６２以外の仮想オブジェクトを配置する。図１７は、一例として、第１ステージの開始時に仮想空間に配置される球オブジェクト６０、ゴールオブジェクト６１および地形オブジェクト６５を示している。
【００９１】
地形オブジェクト６５は、マーカ座標系の原点を基準として配置される。マーカ座標系とは、仮想空間における位置を表すための座標系である。マーカ座標系の原点は、実世界におけるマーカ５０の位置に対応し、マーカ座標系のｘ軸方向、ｙ軸方向、ｚ軸方向は、実世界におけるマーカ５０の左右方向、前後方向、上下方向にそれぞれ対応している。地形オブジェクト６５は、後述するステップＳ１７において変形され得るが、初期状態では、マーカ座標系のｘｙ平面に沿った平面状オブジェクトである。
【００９２】
球オブジェクト６０およびゴールオブジェクト６１は、地形オブジェクト６５上の初期位置（ステージ毎に定義されたそれぞれの初期位置）に配置される。
【００９３】
ステップＳ１３において、ＣＰＵ３１１は、外側撮像部（左）２３ａおよび外側撮像部（右）２３ｂから、最新の左実世界画像Ｄ１４および右実世界画像Ｄ１５を取得して、メインメモリ３２に格納する。
【００９４】
ステップＳ１４において、ＣＰＵ３１１は、マーカ認識処理を行う。当該マーカ認識処理では、左実世界画像Ｄ１４および右実世界画像Ｄ１５のそれぞれにおけるマーカ５０の位置および姿勢が検出される。例えば、左実世界画像Ｄ１４および右実世界画像Ｄ１５に対して、それぞれエッジ検出処理とパターンマッチング処理を行うことによって、左実世界画像Ｄ１４および右実世界画像Ｄ１５のそれぞれにおけるマーカ５０の位置および姿勢が検出される。左実世界画像Ｄ１４におけるマーカ５０の位置および姿勢は、マーカ５０に対する外側撮像部（左）２３ａの相対位置および相対姿勢に対応している。同様に、右実世界画像Ｄ１５におけるマーカ５０の位置および姿勢は、マーカ５０に対する外側撮像部（右）２３ｂの相対位置および相対姿勢に対応している。
【００９５】
ステップＳ１５において、ＣＰＵ３１１は、ステップＳ１４の検出結果に基づいて、図１８に示すように仮想空間に一対の仮想カメラ（左仮想カメラ６６Ｌおよび右仮想カメラ６６Ｒ）を配置する。具体的には、左実世界画像Ｄ１４におけるマーカ５０の位置および姿勢に基づいて、仮想空間における左仮想カメラ６６Ｌの位置および姿勢を決定し、右実世界画像Ｄ１５におけるマーカ５０の位置および姿勢に基づいて、仮想空間における右仮想カメラ６６Ｒの位置および姿勢を決定する。
【００９６】
ステップＳ１６において、ＣＰＵ３１１は、図１８に示すように、ステップＳ１５において決定された仮想カメラの位置および姿勢を基準として、当該仮想カメラに対して一定の相対位置および相対姿勢となるように仮想空間にキューオブジェクト６２を配置する。これにより、現実世界におけるゲーム装置１０の位置および姿勢と、仮想空間におけるキューオブジェクト６２の位置および姿勢とが連動することになる。
【００９７】
ステップＳ１７において、ＣＰＵ３１１は、地形オブジェクト変形処理を行う。例えば、第１ステージの開始直後の冒頭演出では、図１８に示す形状から図１９に示す形状へと地形オブジェクト６５を変化させる。このような地形オブジェクト６５の変形は、地形オブジェクト６５を構成するポリゴンの各頂点の位置をｚ軸方向（図１７参照）に移動させることによって行われる。すなわち、地形オブジェクト６５は、この地形オブジェクト６５の表面に沿った方向に変形されることになる。なお、ステップＳ１７では、図１９に示したような冒頭演出における変形処理に限らず、図１０に示したような周期的な変形処理や、図１１に示したようなｚ軸方向以外の方向への変形処理や、所定条件を満たしたことに応じて行われる図１３に示したような変形処理なども行われる。これらの変形処理は、球オブジェクト６０をゴールオブジェクト６１に到達させることを難しくさせるための処理、すなわちゲームの難度を上げるための処理である。
【００９８】
ステップＳ１８において、ＣＰＵ３１１は、移動オブジェクト制御処理を行う。以下、図１６を参照して、移動オブジェクト制御処理の詳細について説明する。
【００９９】
図１６のステップＳ３０において、ＣＰＵ３１１は、移動オブジェクト（球オブジェクト６０または爆弾オブジェクト６３）が移動中であるかどうかを判断する。そして、移動オブジェクトが停止している場合には処理はステップＳ３１に進み、移動オブジェクトが移動している場合には処理はステップＳ３４に進む。
【０１００】
ステップＳ３１において、ＣＰＵ３１１は、キューオブジェクト６２が移動オブジェクトを指しているかどうか（すなわち、キューオブジェクト６２の中心軸を通る直線が、移動オブジェクトと交差しているかどうか）を判断する。そして、キューオブジェクト６２が移動オブジェクトを指している場合には処理はステップＳ３２に進み、キューオブジェクト６２が移動オブジェクトを指していない場合には移動オブジェクト制御処理を終了する。
【０１０１】
ステップＳ３２において、ＣＰＵ３１１は、特定の操作ボタン（例えば操作ボタン１４Ｂ）が押されたかどうかを判断し、押された場合には処理はステップＳ３３に進み、そうでない場合には移動オブジェクト制御処理を終了する。
【０１０２】
ステップＳ３３において、ＣＰＵ３１１は、移動オブジェクトの移動方向（初期移動方向）および移動速度（初速度）を決定する。本実施形態では、キューオブジェクト６２の後端から先端に向かう方向を示す３次元ベクトルを、マーカ座標系のｘｙ平面（ｚ座標値が０である平面）に投影することによって得られる３次元ベクトルを、移動オブジェクトの移動方向（初期移動方向）として決定し、移動オブジェクトの移動速度（初速度）は、予め定められた一定値とする。ステップＳ３３の処理が終わると、移動オブジェクト制御処理を終了する。
【０１０３】
ステップＳ３４において、ＣＰＵ３１１は、移動オブジェクトの移動方向および移動速度を更新する。移動オブジェクトの移動方向および移動速度は、仮想空間において移動オブジェクトにかかる重力や、移動オブジェクトが地形オブジェクト６５から受ける摩擦力などを考慮して随時更新される。
【０１０４】
ステップＳ３５において、ＣＰＵ３１１は、ステップＳ３４において更新された移動方向および移動速度に応じて、仮想オブジェクトの位置を更新する。ステップＳ３５の処理が終わると、移動オブジェクト制御処理を終了する。
【０１０５】
移動オブジェクト制御処理が終了すると、処理は図１５のステップＳ１９に進む。
【０１０６】
ステップＳ１９において、ＣＰＵ３１１は、地形オブジェクト６５に実世界画像をテクスチャとしてマッピングする。本実施形態では、地形オブジェクト６５にマッピングされるテクスチャ（実世界画像）は、左仮想空間画像Ｄ１７を描画する際と、右仮想空間画像Ｄ１８を描画する際とで異なる。左仮想空間画像Ｄ１７を描画する際には、左実世界画像Ｄ１４がテクスチャとして用いられ、右仮想空間画像Ｄ１８を描画する際には、右実世界画像Ｄ１５がテクスチャとして用いられる。
【０１０７】
図２０は、左仮想空間画像Ｄ１７を描画する際に、地形オブジェクト６５に左実世界画像Ｄ１４がテクスチャとしてマッピングされる様子を示している。まず、左仮想カメラ６６Ｌから見た初期状態の地形オブジェクト６５（すなわち、変形する前の平面状の地形オブジェクト６５）の各頂点の位置（２次元座標値）が計算される。そして、当該計算結果に基づいて、地形オブジェクト６５の各頂点と左実世界画像Ｄ１４内の各点とがそれぞれ対応付けられて、これらの対応関係に基づいて、地形オブジェクト６５に左実世界画像Ｄ１４がテクスチャとしてマッピングされる。
【０１０８】
右仮想空間画像Ｄ１８を描画する際にも同様に、まず、右仮想カメラ６６Ｒから見た初期状態の地形オブジェクト６５（すなわち、変形する前の平面状の地形オブジェクト６５）の各頂点の位置（２次元座標値）が計算される。そして、当該計算結果に基づいて、地形オブジェクト６５の各頂点と右実世界画像Ｄ１５内の各点とがそれぞれ対応付けられて、これらの対応関係に基づいて、地形オブジェクト６５に右実世界画像Ｄ１５がテクスチャとしてマッピングされる。
【０１０９】
ステップＳ２０において、ＣＰＵ３１１は、仮想空間画像を描画する。具体的には、左仮想カメラ６６Ｌに基づいて仮想オブジェクト（左実世界画像Ｄ１４がテクスチャとしてマッピングされた地形オブジェクト６５、移動オブジェクト、キューオブジェクト６２など）を描画することによって左仮想空間画像Ｄ１７が生成され、右仮想カメラ６６Ｒに基づいて仮想オブジェクトを描画することによって右仮想空間画像Ｄ１８が生成される。なお、仮想空間の描画処理は、典型的には、ＣＰＵ３１１の指示に従ってＧＰＵ３１２が行う。
【０１１０】
ステップＳ２１において、ＣＰＵ３１１は、実世界画像と仮想空間画像とを合成する。具体的には、左実世界画像Ｄ１４に左仮想空間画像Ｄ１７（すなわち、左仮想カメラ６６Ｌに基づいて描画された仮想オブジェクト）が上書きされ、右実世界画像Ｄ１５に右仮想空間画像Ｄ１８（すなわち、右仮想カメラ６６Ｒに基づいて描画された仮想オブジェクト）が上書きされる。そして、これらの画像が、上側ＬＣＤ２２に左目用画像および右目用画像として出力される。
【０１１１】
ステップＳ２２において、ＣＰＵ３１１は、ゲームが終了したかどうかを判断し、ゲームが終了した場合には処理はゲーム処理を終了し、そうでない場合には処理はステップＳ２３に進む。
【０１１２】
ステップＳ２３において、ＣＰＵ３１１は、ステージ変更が発生するかどうかを判断し、ステージ変更が発生する場合には処理はステップＳ１１に戻り、そうでない場合には処理はステップＳ１３に戻る。ステージ変更は、現在のステージをクリアしたときや、ユーザが現在のステージとは異なるステージを選択したときなどに発生する。
【０１１３】
上記のステップＳ１３〜ステップＳ２１の処理が一定の周期（例えば１秒間に６０回）で繰り返されることによって、球オブジェクト６０が滑らかに移動する様子などが上側ＬＣＤ２２に表示される。
【０１１４】
（本実施形態の効果）
以上のように、本実施形態によれば、上側ＬＣＤ２２には、単に背景のように実世界画像が表示されているのではなく、実世界画像の一部が変形し、しかも変形後の形状に応じて移動オブジェクトの移動方向および移動速度が変化する。したがって、ユーザは、ゲームをプレイしている間、現実世界があたかも実際に変形しているかのような不思議な体験をすることができる。
【０１１５】
また、本実施形態では、図１０〜図１３に示したように、ゲームの途中でも地形オブジェクト６５が変形するため、ゲーム進行が単調にならず、かつ、ゲーム性が高まる。
【０１１６】
（変形例）
なお、上記実施形態では、実世界におけるゲーム装置１０の位置および姿勢（言い換えると、実世界に配置されたマーカ５０に対するゲーム装置１０の相対位置および相対姿勢）に応じて移動オブジェクトの初期移動方向を決定しているが、他の実施形態では、ゲーム装置１０の動きや、任意の入力装置（例えば、アナログスティック１５やタッチパネル１３など）からの信号に基づいて移動オブジェクトの初期移動方向を決定してもよい。
【０１１７】
また、上記実施形態では、キューオブジェクト６２の後端から先端に向かう方向を示す３次元ベクトルを、マーカ座標系のｘｙ平面（ｚ座標値が０である平面）に投影することによって得られる３次元ベクトルを、移動オブジェクトの初期移動方向として決定しているが、他の実施形態では、キューオブジェクト６２の後端から先端に向かう方向を示す３次元ベクトルを、そのまま、移動オブジェクトの初期移動方向として利用しても良い。ところで、ユーザが３次元の任意の方向を指定しようとする場合、ジョイスティックやタッチパネルなどの通常の入力装置では簡単に指定することができない。しかしながら、このように実世界におけるゲーム装置１０の位置および姿勢に応じて３次元の任意の方向を指定するようにすれば、簡単で且つ直感的に方向を指定することができ、操作性が向上する。なお、実世界におけるゲーム装置１０の位置および姿勢は、上記実施形態のように、実世界画像におけるマーカ５０の位置および姿勢から算出するものに限らず、例えば、加速度センサや、角速度センサなどを利用して算出してもよい。
【０１１８】
また、上記実施形態では、移動オブジェクトの初速度を予め定められた一定値としているが、他の実施形態では、キューオブジェクトの先端から移動オブジェクトまでの距離に応じて（言い換えると、一対の仮想カメラから移動オブジェクトまでの距離に応じて）移動オブジェクトの初速度が変化するようにしてもよい。
【０１１９】
また、上記実施形態では、各ステージの開始直後には地形オブジェクト６５は平面状であり、その後の冒頭演出を経て、ステージに応じた形状へと地形オブジェクト６５が変形しているが、他の実施形態では、各ステージの開始直後から、ステージに応じた形状を有する地形オブジェクト６５が仮想空間に配置されてもよい。
【０１２０】
また、上記実施形態では、地形オブジェクト６５がステージに応じて変形しているが、他の実施形態では、ステージ毎に異なる形状の地形オブジェクトが予め用意されていてもよい。
【０１２１】
また、上記実施形態では、図１５のステップＳ１７において地形オブジェクト６５自体を変形させる（すなわち、地形オブジェクト６５の各頂点を移動させる）ことによって、図１１に示すように移動領域７０が移動しているように表示しているが、他の実施形態では、地形オブジェクト６５自体は変形させずに、地形オブジェクト６５にテクスチャマッピングする際に用いられるテクスチャ座標を変化させることによって、移動領域７０が移動して見える表示を実現してもよい。
【０１２２】
また、上記実施形態では、外側撮像部２３によって撮像された実世界画像に仮想空間画像を合成して上側ＬＣＤ２２に表示している（ビデオシースルー方式）が、本発明はこれに限らない。本発明は、透過型の表示画面に仮想オブジェクトを表示し、当該透過型の表示画面を通じて見える実世界にあたかも仮想オブジェクトが実在するかのようにユーザに視認されるような光学シースルー方式のゲーム装置やゲームシステムにも適用できる。
【０１２３】
また、上記実施形態では、マーカ検出処理の結果に応じて、左仮想カメラ６６Ｌの位置および姿勢と、右仮想カメラ６６Ｒの位置および姿勢とを個別に決定しているが、他の実施形態では、マーカ検出処理の結果に応じていずれか一方の仮想カメラの位置および姿勢を決定した後、当該一方の仮想カメラの位置および姿勢から他方の仮想カメラの位置および姿勢を決定するようにしてもよい。
【０１２４】
また、上記実施形態では、実世界におけるマーカ５０に対応する仮想空間内の点を基準（原点）として、マーカ検出処理の結果に応じて仮想カメラの位置および姿勢を随時算出しているが、他の実施形態では、仮想空間における仮想カメラおよびキューオブジェクト６２の位置および姿勢を固定にして、マーカ検出処理の結果に応じてその他の仮想オブジェクトの位置および姿勢を随時算出するようにしてもよい。
【０１２５】
また、上記実施形態では、実世界画像に含まれるマーカ５０の位置および姿勢に基づいて仮想カメラの位置および姿勢を決定しているが、他の実施形態では、実世界画像に含まれるマーカ５０以外の認識対象物（例えば、顔や、手など）の位置等に応じて仮想カメラの位置等を決定してもよい。
【０１２６】
また、上記実施形態では、左仮想空間画像Ｄ１７を描画する際には、地形オブジェクト６５のテクスチャとして左実世界画像Ｄ１４が用いられ、右仮想空間画像Ｄ１８を描画する際には、地形オブジェクト６５のテクスチャとして右実世界画像Ｄ１５が用いられる例を説明したが、他の実施形態では、左仮想空間画像Ｄ１７を描画する際にも右仮想空間画像Ｄ１８を描画する際にも、地形オブジェクト６５のテクスチャとして左実世界画像Ｄ１４または右実世界画像Ｄ１５のいずれか一方を共通に用いてもよい。
【０１２７】
また、上記実施形態では、上側ＬＣＤ２２に立体視画像を表示する例を説明したが、本発明はこれに限らず、平面視画像を表示する場合にも本発明は適用できる。例えば、外側撮像部（左）２３ａまたは外側撮像部（右）２３ｂのいずれか一方から取得した実世界画像に基づいて仮想空間に１つの仮想カメラを配置して、上記実施形態と同様の処理を行えばよい。
【０１２８】
また、上記実施形態では、ゲームプログラムＤ１１の処理がＣＰＵ（ＣＰＵ３１１）によって実行される例を説明したが、他の実施形態では、ゲームプログラムＤ１１の少なくとも一部の処理がハードウェアのみによって実現されてもよい。
【０１２９】
また、上記実施形態では、玉突きゲームの例を説明したが、本発明はこれに限らず、地形オブジェクトに沿って移動オブジェクトが移動するような任意のゲームに適用可能である。また、本発明はゲームソフトウェアに限らず、任意のアプリケーションソフトウェアにも適用可能である。
【０１３０】
また、上記実施形態では、携帯型のゲーム装置１０について説明したが、他の実施形態では、任意の情報処理装置（据え置き型ゲーム装置、デスクトップパソコン、ノートパソコン、携帯電話など）をゲーム装置またはゲームシステムとして利用してもよい。
【０１３１】
また、上記実施形態では、ゲームプログラムＤ１１の処理が１つのＣＰＵ（ＣＰＵ３１１）によって実行される例を説明したが、他の実施形態では、ゲームプログラムＤ１１の処理が複数のプロセッサによって分担して実行されてもよい。また、これらの複数のプロセッサは、同一の情報処理装置に内蔵されていてもよいし、サーバ装置とクライアント装置のように互いに通信可能な複数の情報処理装置に分散して設けられていてもよい。
【符号の説明】
【０１３２】
１０  ゲーム装置
１２  下側ＬＣＤ
２２  上側ＬＣＤ
２３ａ  外側撮像部（左）
２３ｂ  外側撮像部（右）
５０  マーカ
６０  球オブジェクト
６１  ゴールオブジェクト
６２  キューオブジェクト
６３  爆弾オブジェクト
６４  敵オブジェクト
６５  地形オブジェクト
６６Ｌ  左仮想カメラ
６６Ｒ  右仮想カメラ
７０  移動領域
【図１】
0005690135.tif 000002
【図２Ａ】
0005690135.tif 000003
【図２Ｂ】
0005690135.tif 000004
【図２Ｃ】
0005690135.tif 000005
【図２Ｄ】
0005690135.tif 000006
【図３】
0005690135.tif 000007
【図４】
0005690135.tif 000008
【図５】
0005690135.tif 000009
【図６】
0005690135.tif 000010
【図７】
0005690135.tif 000011
【図８】
0005690135.tif 000012
【図９】
0005690135.tif 000013
【図１０】
0005690135.tif 000014
【図１１】
0005690135.tif 000015
【図１２】
0005690135.tif 000016
【図１３】
0005690135.tif 000017
【図１４】
0005690135.tif 000018
【図１５】
0005690135.tif 000019
【図１６】
0005690135.tif 000020
【図１７】
0005690135.tif 000021
【図１８】
0005690135.tif 000022
【図１９】
0005690135.tif 000023
【図２０】
0005690135.tif 000024