説明

情報処理プログラム、情報処理装置、情報処理システム、及び情報処理方法

【課題】自然な拡張現実感を実現して現実空間に表示された的を撃つゲームを開始する。
【解決手段】ゲーム装置の情報処理部は、カメラ画像を取得するステップ(S100)と、マーカを検出するステップ(S200)と、仮想カメラの位置及び姿勢を算出するステップ(S400)と、ゲームの開始が要求されるとマーカ上に六面体を出現させるアニメーションを作成するステップ(S600)と、的を示す仮想オブジェクトとともに六面体を展開するアニメーションを作成するステップ(S800)と、オブジェクトに撮像画像を貼り付けるステップ(S900)と、仮想カメラでオブジェクトを撮影するステップ(S1000)と、カメラ画像とオブジェクト画像とを重ね合わせて表示するステップ(S1100、S1200)とを含むプログラムを実行する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ユーザが視認可能な現実空間に、仮想オブジェクト画像を重ね合わせて表示することにより自然な拡張現実感を実現する情報処理技術に関し、より具体的には、自然な拡張現実感を維持して、仮想オブジェクトを出現させる情報処理技術に関する。
【背景技術】
【0002】
仮想オブジェクト画像を、現実世界(現実空間又は現実環境ともいう)に重ね合わせて表示することにより、仮想空間にオブジェクトが存在するように表示する、いわゆる拡張現実感システムが実現されている。この拡張現実感システムは、仮想物体(仮想オブジェクト)を現実世界の中に表示する技術であって、例えば、カメラで撮像した現実空間に、予め作成しておいた仮想オブジェクトの画像を重ね合わせて、違和感なく仮想オブジェクトを表示させる。特許文献1は、実オブジェクト(ゲームカード)の動きに連動させた仮想オブジェクト(キャラクタ)を表示するゲーム装置を開示する。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2006−260602号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、特許文献1に開示されたゲーム装置では、ゲームの開始時にキャラクタが唐突に画面に表示される。すなわち、このゲーム装置では、ゲームを開始するためにキャラクタの3次元画像の表示を開始する場合、何も表示されていない状態からフレーム画像とキャラクタの3次元画像とが重ね合わせられた画像が表示されている状態に切り替わったり、フレーム画像が表示されている状態からフレーム画像とキャラクタの3次元画像とが重ね合わせられた画像が表示されている状態に切り替わったりする。このように表示が切り替わると、キャラクタの3次元画像が唐突に画面に出現することになるため、キャラクタの3次元画像が現実空間にあたかも存在しているような、自然な拡張現実感をユーザに与えることができない。
【0005】
このように、拡張現実感システムを適用したゲームにおいて、自然な拡張現実感が実現されている場合に、仮想キャラクタを出現させて新たにゲームを開始させるということに大きな問題がある。しかしながら、特許文献1に開示されたゲーム装置においても公知の技術においても、このような問題を解決することができない。
【0006】
それ故、本発明の目的は、拡張現実感システムを適用して、現実世界に重ね合わせられて表示されるための仮想オブジェクトを出現させる場合に、実現された自然な拡張現実感を阻害することなく、かつ、出現時に表示される画像にユーザが興味を抱くようにして、仮想オブジェクトを出現させる技術を提供することである。
【課題を解決するための手段】
【0007】
本発明は、上述の課題を解決するために、以下の構成を採用した。
【0008】
本発明の第1の局面に係る情報処理プログラムは、撮像手段と、画面上において現実空間を視認可能な表示手段と、内側面と外側面とを有し閉空間を構成する第1の仮想オブジェクトのオブジェクトデータ及び閉空間内に配置される第2の仮想オブジェクトのオブジェクトデータを記憶する記憶手段とに接続された情報処理装置のコンピュータを、仮想カメラ設定手段、オブジェクト配置手段、第1のオブジェクト制御手段、第2のオブジェクト制御手段、第3のオブジェクト制御手段、テクスチャマッピング手段、オブジェクト画像作成手段、及び表示制御手段として機能させる。仮想カメラ設定手段は、仮想空間内に仮想カメラを設定する。オブジェクト配置手段は、仮想カメラから第1の仮想オブジェクトの外側面の一部が見えるように当該第1の仮想オブジェクトを仮想空間内に配置する。第1のオブジェクト制御手段は、第1の仮想オブジェクトを、当該第1の仮想オブジェクトの全体が仮想カメラから見えるように移動させる。第2のオブジェクト制御手段は、第1の仮想オブジェクトの形状を、当該第1の仮想オブジェクトによって内側面が内向きになるような閉空間が構成される閉形状から、仮想カメラから内側面が見えるように当該第1の仮想オブジェクトが展開された開形状へ変形させる第2のオブジェクト制御手段、第3のオブジェクト制御手段は、第1の仮想オブジェクトの内側面上に1以上の第2の仮想オブジェクトを配置するとともに、第1の仮想オブジェクトの形状の変形に応じて、第1の仮想オブジェクトの内側面に連動するように当該第2の仮想オブジェクトの位置及び姿勢を変化させる。テクスチャマッピング手段は、撮像画像における第1の仮想オブジェクトの外側面の一部に対応する領域の画像と第1の仮想オブジェクトの開形状に対応する領域の画像とを、第1の仮想オブジェクトの外側面と内側面とにテクスチャとして貼り付ける。オブジェクト画像作成手段は、テクスチャを貼り付けた第1の仮想オブジェクトと、第2の仮想オブジェクトとに基づいて、オブジェクト画像を作成する。表示制御手段は、画面上の現実空間に、オブジェクト画像作成手段により作成されたオブジェクト画像を重ね合わせた重畳画像を、表示手段に逐次表示させる。
【0009】
この構成によると、画面上の現実空間に、第1の仮想オブジェクト及び第2の仮想オブジェクトから構成されるオブジェクト画像が重ね合わせられた重畳画像が、表示手段に表示される。この場合において、第1の仮想オブジェクトは、内側面と外側面とを有し、オブジェクト配置手段により、外側面の一部が仮想カメラから見えるように配置された後に、第2のオブジェクト制御手段により、全体が仮想カメラから見えるように移動される。第1の仮想オブジェクトは、さらに第2のオブジェクト制御手段により、内側面が内向きになるような閉空間が構成される閉形状から、仮想カメラから内側面が見えるようにその閉空間が展開された開形状へ変形される。第2の仮想オブジェクトは、第1の仮想オブジェクトの内側面上に1以上配置され、第3のオブジェクト制御手段により、第1の仮想オブジェクトの変形(閉形状から開形状への変形)に応じて、第1の仮想オブジェクトの内側面に連動するように、その位置及び姿勢が変化される。例えば、拡張現実感を適用したシューティングゲームにおいて、第2の仮想オブジェクトがゲーム開始時のステージの的である場合に、第2の仮想オブジェクトをその閉空間に収納した第1の仮想オブジェクトの一部が仮想カメラから見えるように仮想空間に配置される。その後、第1の仮想オブジェクトの全体が仮想カメラから見えるように移動される。第2の仮想オブジェクトは、第1の仮想オブジェクトの内側面に連動するように、的の位置及び姿勢が変化される。すなわち、閉形状の第1の仮想オブジェクトの内側面に配置された的は、第1の仮想オブジェクトについての閉形状から開形状への変化に応じて(六面体で閉形状を構成する場合に閉形状から開形状への変化に応じて)、的の位置及び姿勢が変化する。このようにして、第1の仮想オブジェクトが閉形状から開形状へ展開して、第2の仮想オブジェクトが配置された開空間が現れる。そして、この的が配置された第1の仮想オブジェクトの外側面には、撮像画像における第1の仮想オブジェクトの外側面の一部に対応する領域の撮像画像がテクスチャとして、その内側面には、第1の仮想オブジェクトの開形状に対応する領域の撮像画像がテクスチャとして、貼り付けられる。このため、自然な拡張現実感を実現して、一部から全部が見えるように出現した第1の仮想オブジェクトが、閉形状から開形状へ変化して、展開面に第2の仮想オブジェクトを表示する。この場合、ユーザは、第1の仮想オブジェクトの出現(一部から全部)及び形状変化(閉形状から開形状)並びに第2の仮想オブジェクトの位置及び姿勢の変化(開形状になるに従い見える)に興味を抱くことになる。その結果、拡張現実感システムを適用して、現実世界に重ね合わせられて表示された仮想オブジェクトを出現させるにあたり、実現された自然な拡張現実感を阻害することなく、かつ、出現時に表示される画像にユーザが興味を抱くようにすることができる。
【0010】
好ましくは、第1のオブジェクト制御手段は、第1の仮想オブジェクトの移動状態を連続的に変化させたアニメーション形式で、当該第1の仮想オブジェクトの位置を変化させるように構成することができる。この場合において、第2のオブジェクト制御手段は、第1の仮想オブジェクトの展開状態を連続的に変化させたアニメーション形式で、当該第1の仮想オブジェクトの形状を変形させるように構成することができる。また、第3のオブジェクト制御手段は、第1の仮想オブジェクトの展開状態を示すアニメーションの進行度合いに応じて、第2の仮想オブジェクトの位置及び姿勢を変化させるように構成することができる。
【0011】
この構成によると、一部が見えた第1の仮想オブジェクトの全部が見えるようになる状態までを連続的に表現したアニメーション、閉形状の第1の仮想オブジェクトが開形状に変化する状態を連続的に表現したアニメーション及び第1の仮想オブジェクトのアニメーションに対応して第2の仮想オブジェクトの位置及び姿勢が変化する状態を連続的に表現したアニメーションを用いて、第2の仮想オブジェクトを第1の仮想オブジェクトから出現させることができる。その結果、第1の仮想オブジェクトの位置の変化、第1の仮想オブジェクトの形状の変化及び第2の仮想オブジェクトの位置及び姿勢の変化が連続的になるため、さらに実現された自然な拡張現実感を阻害することなく、かつ、出現時に表示される画像にユーザが興味を抱くようにすることができる。
【0012】
好ましくは、第1の仮想オブジェクトは複数の展開面から構成される多面体で構成することができる。この場合において、アニメーションは、多面体が閉空間を構成する第1の状態から、展開面が回転して多面体が開いて多面体の展開面に第2の仮想オブジェクトが配置された第2の状態までを含むように構成することができる。
【0013】
この構成によると、この構成によると、展開面が回転して多面体が展開されると第2の仮想オブジェクトが出現するようなアニメーションを表示することができる。このため、ゲームの開始時に、実現された自然な拡張現実感を阻害することなく、かつ、第2の仮想オブジェクトの出現時に表示される画像にユーザが興味を抱くようにすることができる。
【0014】
好ましくは、アニメーションは、多面体の一部が出現するまでを含むように構成することができる。
【0015】
この構成によると、現実空間のみが視認可能な状態から、第1の仮想オブジェクトである多面体の一部が現れて、その一部から全部が現れて、多面体が展開して第2の仮想オブジェクトが出現するようなアニメーションを表示することができる。
【0016】
好ましくは、アニメーションは、第2の状態から多面体の展開面が消えるまでを含むように構成することができる。
【0017】
この構成によると、第2の仮想オブジェクト(的)が多面体の展開面上に表示されている状態から、ゲームに関係がない多面体の展開面が消えるようなアニメーションを表示することができる。
【0018】
好ましくは、アニメーションは、第2の状態から展開面又は展開面の境界線の色が変化してから多面体の展開面が消えるように構成することができる。
【0019】
この構成によると、多面体が展開されて第2の仮想オブジェクトが展開面に配置された状態から、多面体の展開面がその面又は辺の色が変化して沈み込むように消えるので、自然な拡張現実感を実現することができる。
【0020】
好ましくは、第3のオブジェクト制御手段は、展開面の回転に対応させて、当該第2の仮想オブジェクトを回転することにより、当該第2の仮想オブジェクトの位置及び姿勢を変化させるように構成することができる。
【0021】
この構成によると、第1の仮想オブジェクトは、多面体の展開面が回転することにより閉形状から開形状へ変化する。このような回転に対応させて第2の仮想オブジェクトが回転するので、自然な拡張現実感を実現することができる。
【0022】
好ましくは、第1の仮想オブジェクトは複数の展開面から構成される多面体で構成することができる。この場合において、オブジェクト配置手段により配置された第1の仮想オブジェクトの外側面の一部は、複数の展開面のうちの1つの展開面であるように構成することができる。
【0023】
この構成によると、第1の仮想オブジェクトの外側面の一部が、複数の展開面の1つであるので、初めに見えるようになった外側面(例えば六面体の上面)が展開されて、第2の仮想オブジェクトを出現させることができる。
【0024】
好ましくは、多面体は六面体で構成することができる。なお、この六面体には、立方体又は直方体を始めとして、角錐台等であっても構わない。
【0025】
この構成によると、多面体として六面体を用いて、立方体又は直方体等で構成される閉空間内に第2の仮想オブジェクトを収納しておいて、立方体又は直方体等を展開すると第2の仮想オブジェクトを出現させることができる。これにより、自然な拡張現実感を実現しつつ、仮想オブジェクトを出現させることができる。
【0026】
好ましくは、プログラムは、コンピュータを、撮像手段により撮像された撮像画像を示す撮像画像データを逐次取得する撮像画像データ取得手段、撮像画像データ取得手段により逐次取得された撮像画像データから特定対象物を検出する検出手段、及び特定対象物の検出結果に基づいて、撮像手段と特定の対象物との相対的位置を算出する算出手段としてさらに機能させるように構成することができる。この場合において、オブジェクト配置手段は、1つの展開面の位置が特定対象物の位置と同一になるように第1の仮想オブジェクトを仮想空間内に配置するように構成することができる。
【0027】
この構成によると、拡張現実感システムで必要な特定対象物(マーカ)の位置に展開面の1つを配置するので、マーカから第1の仮想オブジェクトを出現させるようにすることができる。第1の仮想オブジェクトは、第2の仮想オブジェクトを収納しているので、結果的に、マーカから第2の仮想オブジェクトを出現させるようにできる。
【0028】
好ましくは、多面体は錐体で構成することができる。なお、この錐体は、例えば、円錐、N角錐(Nは3以上の自然数、(N+1)面体)等である。
【0029】
この構成によると、多面体として錐体(円錐、三角錐、四角錐・・・)を用いて、この閉空間内に第2の仮想オブジェクトを収納しておいて、錐体を展開すると第2の仮想オブジェクトを出現させることができる。この場合に、錐体の頂点から出現するように、その一部から全体を出現させるようにすることにより、ユーザに興味を抱かせることができる。
【0030】
好ましくは、オブジェクト配置手段は、錐体の頂点の位置が特定対象物の位置と同一になるように第1の仮想オブジェクトを仮想空間内に配置するように構成することができる。
【0031】
この構成によると、拡張現実感システムで必要な特定対象物(マーカ)の位置から錐体の頂点が出現するようにして、マーカから突き出るように、第1の仮想オブジェクトを出現させるようにすることができる。
【0032】
好ましくは、表示制御手段は、第2の仮想オブジェクトが閉空間を構成する面を透過しないように表示するように構成することができる。
【0033】
この構成によると、第1の仮想オブジェクトが閉形状から開形状へ変化するに従い第2の仮想オブジェクトが見えるようになるため、ユーザがその変化に興味を抱くことになる。さらに、第1の仮想オブジェクトの形状が閉形状から開形状に変化する前に、第2の仮想オブジェクトをユーザに見せないようにすることができるため、実現された自然な拡張現実感を阻害することなく、かつ、出現時に表示される画像にユーザが興味を抱くようにすることができる。
【0034】
好ましくは、プログラムは、コンピュータを、ユーザの操作に応じて第2の仮想オブジェクトを動作させる操作手段としてさらに機能させるように構成することができる。
【0035】
この構成によると、第2の仮想オブジェクトとして、例えばユーザの操作により動作するキャラクタを配置して、そのキャラクタが的を撃つシューティングゲームを実現する情報処理を実行することができる。
【0036】
好ましくは、テクスチャマッピング手段は、撮像画像における第1の仮想オブジェクトの外側面の一部に対応する領域の画像を第1の仮想オブジェクトの外側面の一部にテクスチャとして貼り付けるとともに、撮像画像における第1の仮想オブジェクトの開形状に対応する領域の画像を第1の仮想オブジェクトの内側面にテクスチャとして貼り付けるように構成することができる。
【0037】
この構成によると、仮想空間に配置されている第1のオブジェクトが移動する前に仮想カメラから見える外側面の一部を撮像画像にし、第1の仮想オブジェクトの形状が閉形状から開形状にされるときに見える内側面を撮像画像にするため、現実空間に唐突に仮想オブジェクトが表示されてしまうことを防止することができる。その結果、実現された自然な拡張現実感を阻害することなく、かつ、出現時に表示される画像にユーザが興味を抱くようにすることができる。
【0038】
本発明の第2の局面に係る情報処理装置は、撮像手段と、画面上において現実空間を視認可能な表示手段と、内側面と外側面とを有し閉空間を構成する第1の仮想オブジェクトのオブジェクトデータ及び閉空間内に配置される第2の仮想オブジェクトのオブジェクトデータを記憶する記憶手段と、仮想空間内に仮想カメラを設定する仮想カメラ設定手段と、仮想カメラから第1の仮想オブジェクトの外側面の一部が見えるように当該第1の仮想オブジェクトを仮想空間内に配置するオブジェクト配置手段と、第1の仮想オブジェクトを、当該第1の仮想オブジェクトの全体が仮想カメラから見えるように移動させる第1のオブジェクト制御手段と、第1の仮想オブジェクトの形状を、当該第1の仮想オブジェクトによって内側面が内向きになるような閉空間が構成される閉形状から、仮想カメラから内側面が見えるように当該第1の仮想オブジェクトが展開された開形状へ変形させる第2のオブジェクト制御手段と、第1の仮想オブジェクトの内側面上に1以上の第2の仮想オブジェクトを配置するとともに、第1の仮想オブジェクトの形状の変形に応じて、第1の仮想オブジェクトの内側面に連動するように当該第2の仮想オブジェクトの位置及び姿勢を変化させる第3のオブジェクト制御手段と、撮像画像における第1の仮想オブジェクトの外側面の一部に対応する領域の画像と第1の仮想オブジェクトの開形状に対応する領域の画像とを、第1の仮想オブジェクトの外側面と内側面とにテクスチャとして貼り付けるテクスチャマッピング手段と、テクスチャを貼り付けた第1の仮想オブジェクトと、第2の仮想オブジェクトとに基づいて、オブジェクト画像を作成するオブジェクト画像作成手段と、画面上の現実空間に、オブジェクト画像作成手段により作成されたオブジェクト画像を重ね合わせた重畳画像を、表示手段に逐次表示させる表示制御手段とを含む。
【0039】
本発明の第3の局面に係る情報処理システムは、撮像手段と、画面上において現実空間を視認可能な表示手段と、内側面と外側面とを有し閉空間を構成する第1の仮想オブジェクトのオブジェクトデータ及び閉空間内に配置される第2の仮想オブジェクトのオブジェクトデータを記憶する記憶手段と、仮想空間内に仮想カメラを設定する仮想カメラ設定手段と、仮想カメラから第1の仮想オブジェクトの外側面の一部が見えるように当該第1の仮想オブジェクトを仮想空間内に配置するオブジェクト配置手段と、第1の仮想オブジェクトを、当該第1の仮想オブジェクトの全体が仮想カメラから見えるように移動させる第1のオブジェクト制御手段と、第1の仮想オブジェクトの形状を、当該第1の仮想オブジェクトによって内側面が内向きになるような閉空間が構成される閉形状から、仮想カメラから内側面が見えるように当該第1の仮想オブジェクトが展開された開形状へ変形させる第2のオブジェクト制御手段と、第1の仮想オブジェクトの内側面上に1以上の第2の仮想オブジェクトを配置するとともに、第1の仮想オブジェクトの形状の変形に応じて、第1の仮想オブジェクトの内側面に連動するように当該第2の仮想オブジェクトの位置及び姿勢を変化させる第3のオブジェクト制御手段と、撮像画像における第1の仮想オブジェクトの外側面の一部に対応する領域の画像と第1の仮想オブジェクトの開形状に対応する領域の画像とを、第1の仮想オブジェクトの外側面と内側面とにテクスチャとして貼り付けるテクスチャマッピング手段と、テクスチャを貼り付けた第1の仮想オブジェクトと、第2の仮想オブジェクトとに基づいて、オブジェクト画像を作成するオブジェクト画像作成手段と、画面上の現実空間に、オブジェクト画像作成手段により作成されたオブジェクト画像を重ね合わせた重畳画像を、表示手段に逐次表示させる表示制御手段とを含む。
【0040】
本発明の第4の局面に係る情報処理方法は、撮像手段により撮像画像を撮像する撮像ステップと、画面上において現実空間を視認可能に表示する表示ステップと、内側面と外側面とを有し閉空間を構成する第1の仮想オブジェクトのオブジェクトデータ及び閉空間内に配置される第2の仮想オブジェクトのオブジェクトデータを記憶する記憶ステップと、仮想空間内に仮想カメラを設定する仮想カメラ設定ステップと、仮想カメラから第1の仮想オブジェクトの外側面の一部が見えるように当該第1の仮想オブジェクトを仮想空間内に配置するオブジェクト配置ステップと、第1の仮想オブジェクトを、当該第1の仮想オブジェクトの全体が仮想カメラから見えるように移動させる第1のオブジェクト制御ステップと、第1の仮想オブジェクトの形状を、当該第1の仮想オブジェクトによって内側面が内向きになるような閉空間が構成される閉形状から、仮想カメラから内側面が見えるように当該第1の仮想オブジェクトが展開された開形状へ変形させる第2のオブジェクト制御ステップと、第1の仮想オブジェクトの内側面上に1以上の第2の仮想オブジェクトを配置するとともに、第1の仮想オブジェクトの形状の変形に応じて、第1の仮想オブジェクトの内側面に連動するように当該第2の仮想オブジェクトの位置及び姿勢を変化させる第3のオブジェクト制御ステップと、撮像画像における第1の仮想オブジェクトの外側面の一部に対応する領域の画像と第1の仮想オブジェクトの開形状に対応する領域の画像とを、第1の仮想オブジェクトの外側面と内側面とにテクスチャとして貼り付けるテクスチャマッピングステップと、テクスチャを貼り付けた第1の仮想オブジェクトと、第2の仮想オブジェクトとに基づいて、オブジェクト画像を作成するオブジェクト画像作成ステップと、画面上の現実空間に、オブジェクト画像作成ステップにおいて作成されたオブジェクト画像を重ね合わせた重畳画像を、表示ステップにて逐次表示させる表示制御ステップとを含む。
【0041】
本発明の第2の局面に係る情報処理装置、第3の局面に係る情報処理システム及び第4の局面に係る情報処理方法によると、第1の局面に係る情報処理プログラムと同様の作用効果を発現する。
【発明の効果】
【0042】
本発明によれば、拡張現実感システムを適用して、現実世界に重ね合わせられて表示された仮想オブジェクトを、実現された自然な拡張現実感を阻害することなく、かつ、出現時に表示される画像にユーザが興味を抱くようにして、出現させることができる。
【図面の簡単な説明】
【0043】
【図1】開状態におけるゲーム装置10の正面図
【図2】開状態におけるゲーム装置10の側面図
【図3】閉状態におけるゲーム装置10の左側面図、正面図、右側面図及び背面図
【図4】上側ハウジング21の内側面からスクリーンカバー27を分離した状態を示す図
【図5】図1に示す上側ハウジング21のA−A’線断面図
【図6A】3D調整スイッチ25のスライダ25aが最下点(第3の位置)に存在する様子を示す図
【図6B】3D調整スイッチ25のスライダ25aが最下点よりも上方位置(第1の位置)に存在する様子を示す図
【図6C】3D調整スイッチ25のスライダ25aが最上点(第2の位置)に存在する様子を示す図
【図7】ゲーム装置10の内部構成を示すブロック図
【図8】ゲーム装置10のメインメモリ32のメモリマップを示す図
【図9】図8の仮想オブジェクトデータを示す図
【図10】本実施形態に係る仮想オブジェクト表示処理の詳細を示すメインフローチャート
【図11】図10の出現アニメーション作成処理(ステップS600)の詳細を示すフローチャート
【図12】図10の展開アニメーション作成処理(ステップS800)の詳細を示すフローチャート
【図13】上側LCD22に表示されるシューティングゲームのゲーム開始前を示す図
【図14A】上側LCD22に表示される撮像画像を示す図
【図14B】図14Aの状態から六面体の一部が出現した状態を示す図
【図14C】図14Bの状態から六面体がさらに出現した状態を示す図
【図14D】図14Cの状態から六面体がさらに出現して六面体の全体が出現した状態を示す図
【図14E】図14Dの状態から六面体が展開される途中の状態を示す図
【図14F】図14Eの状態から六面体が完全に展開された状態を示す図
【図14G】図14Gの状態からテクスチャを消去した状態を示す図
【図14H】六面体展開面が消滅したゲーム開始時の状態を示す図
【図15】上側LCD22に表示されるシューティングゲームのゲーム開始時を示す図
【図16】六面体展開面に撮像画像がテクスチャマッピングされる場合を説明する図
【図17A】変形例において四角錐の一部が出現した状態を示す図
【図17B】図17Aの状態から四角錐がさらに出現した状態を示す図
【図17C】図17Bの状態から四角錐がさらに出現した状態を示す図
【図17D】図17Cの状態から四角錐がさらに出現して四角錐の全体が出現した状態を示す図
【図17E】図17Dの状態から四角錐が完全に展開された状態を示す図
【発明を実施するための形態】
【0044】
(ゲーム装置の構成)
以下、本発明の実施形態に係る情報処理装置であるゲーム装置について説明する。なお、本発明は、このような装置に限定されるものではなく、このような装置において実行される情報処理プログラムであっても、このような装置に関係がある情報処理システムであっても構わない。さらに、本発明は、このような装置における情報処理方法であっても構わない。さらに、このゲーム装置において実行されるゲームは、的当てゲーム(シューティングゲームであって、このゲームの開始時に、的等の仮想オブジェクトが閉空間を構成する六面体に収納されて出現して、その六面体が展開するとゲーム開始時の仮想オブジェクトが出現するものとして説明する。しかしながら、本発明は、このようなシューティングゲームにも、閉空間が六面体で構成されることにも、限定されない。
【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の下部には後述する音声入力装置としてのマイク(図7参照)が設けられ、当該マイクがゲーム装置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及び図4に示すように、上側ハウジング21の内側面は、透明なスクリーンカバー27によって覆われている。図4は、上側ハウジング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】
図5は、図1に示す上側ハウジング21のA−A’線断面図である。図5に示すように、上側ハウジング21の内側面の右端部には、凹部21Cが形成され、当該凹部21Cに3D調整スイッチ25が設けられる。3D調整スイッチ25は、図1及び図2に示されるように、上側ハウジング21の正面及び右側面から視認可能に配置される。3D調整スイッチ25のスライダ25aは、所定方向(上下方向)の任意の位置にスライド可能であり、当該スライダ25aの位置に応じて上側LCD22の表示モードが設定される。
【0074】
図6Aから図6Cは、3D調整スイッチ25のスライダ25aがスライドする様子を示す図である。図6Aは、3D調整スイッチ25のスライダ25aが最下点(第3の位置)に存在する様子を示す図である。図6Bは、3D調整スイッチ25のスライダ25aが最下点よりも上方位置(第1の位置)に存在する様子を示す図である。図6Cは、3D調整スイッチ25のスライダ25aが最上点(第2の位置)に存在する様子を示す図である。
【0075】
図6Aに示すように、3D調整スイッチ25のスライダ25aが最下点位置(第3の位置)に存在する場合、上側LCD22は平面表示モードに設定され、上側LCD22の画面には平面画像が表示される(なお、上側LCD22を立体表示モードのままとして、左目用画像と右目用画像を同一の画像とすることにより平面表示してもよい)。一方、図6Bに示す位置(最下点より上側の位置(第1の位置))から図6Cに示す位置(最上点の位置(第2の位置))までの間にスライダ25aが存在する場合、上側LCD22は立体表示モードに設定される。この場合、上側LCD22の画面には立体視可能な画像が表示される。スライダ25aが第1の位置から第2の位置の間に存在する場合、スライダ25aの位置に応じて、立体画像の見え方が調整される。具体的には、スライダ25aの位置に応じて、右目用画像及び左目用画像の横方向の位置のずれ量が調整される。3D調整スイッチ25のスライダ25aは、第3の位置で固定されるように構成されており、第1の位置と第2の位置との間では上下方向に任意の位置にスライド可能に構成されている。例えば、スライダ25aは、第3の位置において、3D調整スイッチ25を形成する側面から図6Aに示す横方向に突出した凸部(図示せず)によって固定されて、所定以上の力が上方に加わらないと第3の位置よりも上方にスライドしないように構成されている。第3の位置から第1の位置にスライダ25aが存在する場合、立体画像の見え方は調整されないが、これはいわゆるあそびである。他の例においては、あそびをなくして、第3の位置と第1の位置とを同じ位置としてもよい。また、第3の位置を第1の位置と第2の位置の間としてもよい。その場合、スライダを第3の位置から第1の位置の方向に動かした場合と、第2の方向に動かした場合とで、右目用画像及び左目用画像の横方向の位置のずれ量の調整する方向が逆になる。
【0076】
なお、本実施形態のゲーム装置が実行するプログラムには、立体写真を表示するためのプログラムと、立体的なCG画像を表示するためのプログラムがある。後者のプログラムでは、左目用の仮想カメラと右目用の仮想カメラで仮想空間を撮影して、左目用画像と右目用画像を生成する。本実施形態のゲーム装置は、このようなプログラムの実行時において、3D調整スイッチ25のスライダ25aの位置に応じて、2つの仮想カメラの間隔を変更することにより、立体感を調整する。
【0077】
3Dインジケータ26は、上側LCD22が立体表示モードか否かを示す。3Dインジケータ26は、LEDであり、上側LCD22の立体表示モードが有効の場合に点灯する。なお、3Dインジケータ26は、上側LCD22が立体表示モードになっており、かつ、立体視画像を表示するプログラム処理が実行されているとき(すなわち、3D調整スイッチが上記第1の位置から上記第2の位置にあるときに、左目用画像と右目用画像が異なるような画像処理が実行されているとき)に限り、点灯するようにしてもよい。図1に示されるように、3Dインジケータ26は、上側ハウジング21の内側面に設けられ、上側LCD22の画面近傍に設けられる。このため、ユーザが上側LCD22の画面を正視した場合、ユーザは3Dインジケータ26を視認しやすい。従って、ユーザは上側LCD22の画面を視認している状態でも、上側LCD22の表示モードを容易に認識することができる。
【0078】
また、上側ハウジング21の内側面には、スピーカ孔21Eが設けられる。後述するスピーカ43からの音声がこのスピーカ孔21Eから出力される。
【0079】
(ゲーム装置10の内部構成)
次に、図7を参照して、ゲーム装置10の内部の電気的構成について説明する。図7は、ゲーム装置10の内部構成を示すブロック図である。図7に示すように、ゲーム装置10は、上述した各部に加えて、情報処理部31、メインメモリ32、外部メモリインターフェイス(外部メモリI/F)33、データ保存用外部メモリI/F34、データ保存用内部メモリ35、無線通信モジュール36、ローカル通信モジュール37、リアルタイムクロック(RTC)38、加速度センサ39、電源回路40、及びインターフェイス回路(I/F回路)41等の電子部品を備えている。これらの電子部品は、電子回路基板上に実装されて下側ハウジング11(又は上側ハウジング21でもよい)内に収納される。
【0080】
情報処理部31は、所定のプログラムを実行するためのCPU(Central Processing Unit)311、画像処理を行うGPU(Graphics Processing Unit)312等を含む情報処理手段である。本実施形態では、所定のプログラムがゲーム装置10内のメモリ(例えば外部メモリI/F33に接続された外部メモリ44やデータ保存用内部メモリ35)に記憶されている。情報処理部31のCPU311は、当該所定のプログラムを実行することによって、後述する仮想オブジェクト表示処理(図10)を実行する。なお、情報処理部31のCPU311によって実行されるプログラムは、他の機器との通信によって他の機器から取得されてもよい。また、情報処理部31は、VRAM(Video RAM)313を含む。情報処理部31のGPU312は、情報処理部31のCPU311からの命令に応じて画像を生成し、VRAM313に描画する。そして、情報処理部31のGPU312は、VRAM313に描画された画像を上側LCD22及び/又は下側LCD12に出力し、上側LCD22及び/又は下側LCD12に当該画像が表示される。
【0081】
情報処理部31には、メインメモリ32、外部メモリI/F33、データ保存用外部メモリI/F34、及び、データ保存用内部メモリ35が接続される。外部メモリI/F33は、外部メモリ44を着脱自在に接続するためのインターフェイスである。また、データ保存用外部メモリI/F34は、データ保存用外部メモリ45を着脱自在に接続するためのインターフェイスである。
【0082】
メインメモリ32は、情報処理部31(のCPU311)のワーク領域やバッファ領域として用いられる揮発性の記憶手段である。すなわち、メインメモリ32は、上記仮想オブジェクト表示処理に用いられる各種データを一時的に記憶したり、外部(外部メモリ44や他の機器等)から取得されるプログラムを一時的に記憶したりする。本実施形態では、メインメモリ32として例えばPSRAM(Pseudo−SRAM)を用いる。
【0083】
外部メモリ44は、情報処理部31によって実行されるプログラムを記憶するための不揮発性の記憶手段である。外部メモリ44は、例えば読み取り専用の半導体メモリで構成される。外部メモリ44が外部メモリI/F33に接続されると、情報処理部31は外部メモリ44に記憶されたプログラムを読み込むことができる。情報処理部31が読み込んだプログラムを実行することにより、所定の処理が行われる。データ保存用外部メモリ45は、不揮発性の読み書き可能なメモリ(例えばNAND型フラッシュメモリ)で構成され、所定のデータを格納するために用いられる。例えば、データ保存用外部メモリ45には、外側撮像部23で撮像された画像や他の機器で撮像された画像が記憶される。データ保存用外部メモリ45がデータ保存用外部メモリI/F34に接続されると、情報処理部31はデータ保存用外部メモリ45に記憶された画像を読み込み、上側LCD22及び/又は下側LCD12に当該画像を表示することができる。
【0084】
データ保存用内部メモリ35は、読み書き可能な不揮発性メモリ(例えばNAND型フラッシュメモリ)で構成され、所定のデータを格納するために用いられる。例えば、データ保存用内部メモリ35には、無線通信モジュール36を介した無線通信によってダウンロードされたデータやプログラムが格納される。
【0085】
無線通信モジュール36は、例えばIEEE802.11.b/gの規格に準拠した方式により、無線LANに接続する機能を有する。また、ローカル通信モジュール37は、所定の通信方式(例えば赤外線通信)により同種のゲーム装置との間で無線通信を行う機能を有する。無線通信モジュール36及びローカル通信モジュール37は情報処理部31に接続される。情報処理部31は、無線通信モジュール36を用いてインターネットを介して他の機器との間でデータを送受信したり、ローカル通信モジュール37を用いて同種の他のゲーム装置との間でデータを送受信したりすることができる。
【0086】
また、情報処理部31には、加速度センサ39が接続される。加速度センサ39は、3軸(xyz軸)方向に沿った直線方向の加速度(直線加速度)の大きさを検出する。加速度センサ39は、下側ハウジング11の内部に設けられる。加速度センサ39は、図1に示すように、下側ハウジング11の長辺方向をx軸、下側ハウジング11の短辺方向をy軸、下側ハウジング11の内側面(主面)に対して垂直な方向をz軸として、各軸の直線加速度の大きさを検出する。なお、加速度センサ39は、例えば静電容量式の加速度センサであるとするが、他の方式の加速度センサを用いるようにしてもよい。また、加速度センサ39は1軸又は2軸方向を検出する加速度センサであってもよい。情報処理部31は、加速度センサ39が検出した加速度を示すデータ(加速度データ)を受信して、ゲーム装置10の姿勢や動きを検出することができる。
【0087】
また、情報処理部31には、RTC38及び電源回路40が接続される。RTC38は、時間をカウントして情報処理部31に出力する。情報処理部31は、RTC38によって計時された時間に基づき現在時刻(日付)を計算する。電源回路40は、ゲーム装置10が有する電源(下側ハウジング11に収納される上記充電式電池)からの電力を制御し、ゲーム装置10の各部品に電力を供給する。
【0088】
また、情報処理部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に対して入力が行われた位置を知ることができる。
【0089】
操作ボタン14は、上記各操作ボタン14A〜14Lからなり、情報処理部31に接続される。操作ボタン14から情報処理部31へは、各操作ボタン14A〜14Iに対する入力状況(押下されたか否か)を示す操作データが出力される。情報処理部31は、操作ボタン14から操作データを取得することによって、操作ボタン14に対する入力に従った処理を実行する。
【0090】
下側LCD12及び上側LCD22は情報処理部31に接続される。下側LCD12及び上側LCD22は、情報処理部31(のGPU312)の指示に従って画像を表示する。本実施形態では、情報処理部31は、上側LCD22に立体画像(立体視可能な画像)を表示させる。
【0091】
具体的には、情報処理部31は、上側LCD22のLCDコントローラ(図示せず)と接続され、当該LCDコントローラに対して視差バリアのON/OFFを制御する。上側LCD22の視差バリアがONになっている場合、情報処理部31のVRAM313に格納された右目用画像と左目用画像とが、上側LCD22に出力される。より具体的には、LCDコントローラは、右目用画像について縦方向に1ライン分の画素データを読み出す処理と、左目用画像について縦方向に1ライン分の画素データを読み出す処理とを交互に繰り返すことによって、VRAM313から右目用画像と左目用画像とを読み出す。これにより、右目用画像及び左目用画像が、画素を縦に1ライン毎に並んだ短冊状画像に分割され、分割された右目用画像の短冊状画像と左目用画像の短冊状画像とが交互に配置された画像が、上側LCD22の画面に表示される。そして、上側LCD22の視差バリアを介して当該画像がユーザに視認されることによって、ユーザの右目に右目用画像が、ユーザの左目に左目用画像が視認される。以上により、上側LCD22の画面には立体視可能な画像が表示される。
【0092】
外側撮像部23及び内側撮像部24は、情報処理部31に接続される。外側撮像部23及び内側撮像部24は、情報処理部31の指示に従って画像を撮像し、撮像した画像データを情報処理部31に出力する。本実施形態では、情報処理部31は外側撮像部23及び内側撮像部24のいずれか一方に対して撮像指示を行い、撮像指示を受けた撮像部が画像を撮像して画像データを情報処理部31に送る。具体的には、本実施形態では、ユーザによるタッチパネル13を用いたタッチ操作によって使用する撮像部が選択される。撮像部が選択されたことを情報処理部31(CPU311)が検知し、情報処理部31が外側撮像部23又は内側撮像部24に対して撮像指示を行う。
【0093】
3D調整スイッチ25は、情報処理部31に接続される。3D調整スイッチ25は、スライダ25aの位置に応じた電気信号を情報処理部31に送信する。
【0094】
また、3Dインジケータ26は、情報処理部31に接続される。情報処理部31は、3Dインジケータ26の点灯を制御する。本実施形態では、情報処理部31は、上側LCD22が立体表示モードである場合、3Dインジケータ26を点灯させる。以上がゲーム装置10の内部構成の説明である。
【0095】
(仮想オブジェクト表示処理の詳細)
次に、図8〜図12を参照して、本実施形態に係る仮想オブジェクト表示処理の詳細について説明する。まず、仮想オブジェクト表示処理の際にメインメモリ32に記憶される主なデータについて説明する。図8は、ゲーム装置10のメインメモリ32のメモリマップを示す図である。図8に示されるように、メインメモリ32には、データ記憶領域70が設けられる。データ記憶領域70には、カメラ選択データ71、左目用画像位置データ72、右目用画像位置データ73、表示モードデータ74、操作データ75、仮想カメラデータ(位置、姿勢)76、仮想オブジェクトデータ77等が記憶される。これらのデータの他、メインメモリ32には、上記撮像処理を実行するプログラムやタッチパネル13へのタッチ位置を示すデータ、下側LCD12に表示されるカメラ選択のための画像を示すデータ等が記憶される。なお、以下においては、「撮像部」を「カメラ」という文言で代用して記載する場合がある。
【0096】
カメラ選択データ71は、現在選択されている撮像部を示すデータである。カメラ選択データ71は、現在選択されている撮像部が外側撮像部23か内側撮像部24かを示すデータである。
【0097】
左目用画像位置データ72は、外側撮像部(左)23aによって撮像された左目用画像の上側LCD22上の表示位置を示すデータであり、左目用画像の画像中心の座標値を示すデータである。右目用画像位置データ73は、外側撮像部(右)23bによって撮像された右目用画像の上側LCD22上の表示位置を示すデータであり、右目用画像の画像中心の座標値を示すデータである。
【0098】
表示モードデータ74は、上側LCD22の表示モードが立体表示モードか平面表示モードかを示すデータである。
【0099】
操作データ75は、各操作ボタン14A〜E、G〜H、及び、アナログスティック15に対して行われた操作を示すデータである。この操作データ75は、例えば、ユーザがキャラクタとして画面表示されるシューティングゲームにおいて、キャラクタを移動させる操作を示すデータであったり、キャラクタにシューティング動作させる操作を示すデータであったりする。
【0100】
仮想カメラデータ76は、後述するマーカ認識結果に基づいて算出された、マーカ座標系における仮想カメラの位置データ及び姿勢データである。
【0101】
仮想オブジェクトデータ77は、仮想空間に表示される仮想オブジェクトを示すデータであって、詳しくは、図9に示すように、例えば、シューティングゲームのステージ毎に、そのステージで表示される仮想オブジェクトに関するデータである。
【0102】
図9に示すように、この仮想オブジェクトデータは、各ステージで表示される仮想オブジェクトが、仮想オブジェクト番号をキーにした、仮想オブジェクト名称と、平面位置における位置データ(マーカ座標系)と、回転軸データとから構成される。なお、仮想オブジェクトデータの項目はこれらに限定されるものではない。
【0103】
この仮想オブジェクトデータ77に記憶される仮想オブジェクトは、後述するように、閉空間を構成する六面体が完全に展開された時に展開面に配置される仮想オブジェクトである。すなわち、これらの仮想オブジェクトは六面体で構成される閉空間内に閉じ込められる仮想オブジェクトである。平面位置における位置データは、閉空間を構成する六面体が完全に展開された時に、その展開面に配置される仮想オブジェクトの位置を示す。ここで、六面体を構成する6個の展開面が、閉状態から開状態へ変形する場合に、展開面に配置された仮想オブジェクトもその変形に応じて位置及び姿勢が変化する。このときに、仮想オブジェクトが配置された展開面の底面側の1辺が、仮想オブジェクトの回転中心になるため、この1辺を示すデータを回転軸データとして記憶する。
【0104】
次に、仮想オブジェクト表示処理の詳細について、図10〜図12を参照して説明する。図10は、本実施形態に係る仮想オブジェクト表示処理を示すメインフローチャート(メインルーチン)である。図11は、図10のS600に示す出現アニメーション作成処理を示すフローチャート(サブルーチン)、図12は、図10のS800に示す展開アニメーション作成処理を示すフローチャート(サブルーチン)である。
【0105】
ゲーム装置10の電源が投入されると、ゲーム装置10の情報処理部31(CPU311)は、図示しないROMに記憶されている起動プログラムを実行し、これによってメインメモリ32等の各ユニットが初期化される。次に、データ保存用内部メモリ35に記憶された仮想オブジェクト表示プログラムがメインメモリ32に読み込まれ、情報処理部31のCPU311によって当該プログラムの実行が開始される。なお、これら以外のプログラムも用いて上側LCD22に仮想オブジェクトを含む画像が表示されるが、これら以外のプログラムは、本発明の本質的な部分との関連性が低いので、ここでは説明しない。
【0106】
なお、図10に示すステップS100〜ステップS1200の処理ループは、1フレーム(例えば1/30秒であってフレーム時間又はサイクル時間という)毎に繰り返し実行される。このプログラムが繰り返して実行されることにより、シューティングゲームの開始時において、以下のようなアニメーションが表示される。
【0107】
例えば、ゲームプログラムの開始をユーザが要求すると、第1ステージの仮想オブジェクト(シューティング対象の的)が上側LCD22に表示される。この第1ステージの仮想オブジェクトが上側LCD22に表示されるまでに、第1ステージの仮想オブジェクトが収納された六面体が、マーカの位置にマーカと同じ上面の大きさで、せり上がるようにして出現する。次いで六面体が展開されて、第1ステージの仮想オブジェクトが表示される。そして、展開面が消去されて第1ステージ(このゲームの最初のステージ)が開始される。図10に示すプログラムが繰り返し実行されることにより、このようなアニメーションが、ゲームの開始をユーザが要求してからゲームが開始されるまでの間で表示される。
【0108】
また、以下においては、撮像部として外側撮像部23が選択され、表示モードとして立体表示モードが選択されているとして説明する。なお、本発明の適用は、立体表示モードに限定されるものではなく、平面表示モードであっても構わない。また、以下に示すフローチャートとは別に、情報処理部31は、六面体又は六面体展開面(上面)の配置情報を予め取得しているものとする。このとき、六面体は、その上面が予め定められた位置に(例えばマーカの位置に)予め定められた大きさで(例えばマーカの大きさで)表示されるように設定しておいても構わないし、表示される仮想オブジェクトが六面体展開面に配置されるように、ゲームの開始時の仮想オブジェクトの配置に基づいて決定するようにしても構わない。この場合において、このゲームの開始時に表示させたい全ての仮想オブジェクトが、六面体展開面のいずれかの面に配置されている必要がある。ここで、この六面体の展開面は、底面の四辺に側面(4個の面)が隣接して配置されて、いずれか1個の側面に上面が隣接するように構成されたものとする。
【0109】
まず、図10を参照して、仮想オブジェクト表示処理のメインルーチンについて説明する。ステップS100にて、情報処理部31は、カメラ画像データを取得する。具体的には、情報処理部31は、現在選択されているカメラによって撮像された画像を示す画像データを取得し、VRAM313に格納する。ここでは、外側撮像部23が選択されているため、情報処理部31は、外側撮像部23によって撮像された右実世界画像と左実世界画像とを取得する。
【0110】
ステップS200にて、情報処理部31は、外側撮像部23により撮像された画像の中からマーカを検出する。ここでは、このマーカは、白色の紙片の中央付近に四角枠が黒色で印刷され、その四角枠の中に矢印が白抜きで印刷されたものとする。しかしながら、マーカはこのような形状、模様、色彩に限定されないで、マーカの位置(ここでは4点の位置)と方向とが認識できるものであればよい。具体的には、情報処理部31は、まず、外側撮像部23により撮像された画像の中から4本の線分によって連結される連結領域を抽出し、抽出した連結領域の内部のパターン画像を決定する。そして、情報処理部31は、決定したパターン画像を示すパターン画像データと外部メモリ44に予め記憶されているパターン画像データとの類似度を計算し、計算した結果としての類似度を示す値が予め定められた閾値以上である場合に、マーカを検出する。
【0111】
ステップS300にて、情報処理部31は、マーカ検出結果に基づいて、外側撮像部23(ゲーム装置10)とマーカとの位置関係を算出する。ここで、位置関係とは、例えば、外側撮像部23とマーカの一方を基準としたときの他方の3次元の位置及び姿勢として表される。なお、位置関係を算出する処理は、従来の拡張現実感技術における処理と同様な処理で実現できる。
【0112】
ステップS400にて、情報処理部31は、外側撮像部23とマーカとの位置関係に基づいて、仮想カメラの位置及び姿勢を決定する。このとき、立体表示モードが選択されているので、情報処理部31は、外側撮像部(左)23aによるカメラ画像データに基づいて左目用の仮想カメラの位置及び姿勢を算出して、外側撮像部(右)23bによるカメラ画像データに基づいて右目用の仮想カメラの位置及び姿勢を算出する。なお、仮想カメラの位置及び姿勢は、外側撮像部23とマーカとの位置関係から仮想カメラのビュー行列を求め、求めた仮想カメラのビュー行列により求められる。決定した仮想カメラの位置及び姿勢を示す位置データ及び姿勢データは、メインメモリ32のデータ記憶領域70の仮想カメラデータ76として記憶される。また、カメラ画像データに基づいて算出された一方の仮想カメラの位置及び姿勢から、他方の仮想カメラの位置及び姿勢を算出するようにしても構わない。
【0113】
ステップS500にて、情報処理部31は、六面体を出現中であるか否かを判定する。このとき、ゲームの開始がユーザにより要求されてから、予め定められた第1の時間が経過するまでは、六面体を出現中であると判定される。六面体を出現中であると判定されると(ステップS500にてYES)、処理はS600へ移される。もしそうでないと(ステップS500にてNO)、この処理はS700へ移される。なお、六面体を出現中とは、後述するように、六面体の一部である上面が見えるようになってから(ここでは、上面はマーカに覆われている場合があるが、この場合でも六面体の一部である上面が見えるものとする)、六面体がマーカ座標系のz軸方向(上方向)に移動して、六面体の全体が見えるようになるまでを示す。なお、マーカ座標系のz軸方向の逆方向に仮想オブジェクトが配置されている場合には、その部分については、カメラ画像が優先して表示される。すなわち、本実施形態のゲームでは、マーカ座標系のz=0を地面と認識して、その地面より下の部分に配置されているオブジェクトは地面として、カメラ画像が見えないようになっている。
【0114】
ステップS600にて、情報処理部31は、出現アニメーション作成処理を実行する。なお、このステップS600の出現アニメーション作成処理はサブルーチン化されており、その詳細については、後述する。その後、この処理はステップS900へ移される。
【0115】
ステップS700にて、情報処理部31は、六面体を展開中であるか否かを判定する。このとき、六面体の出現が終了してから、予め定められた第2の時間が経過するまでは、六面体を展開中であると判定される。六面体を展開中であると判定されると(ステップS700にてYES)、処理はS800へ移される。もしそうでないと(ステップS700にてNO)、この処理はS100へ戻される。
【0116】
ステップS800にて、情報処理部31は、展開アニメーション作成処理を実行する。なお、このステップS800の展開アニメーション作成処理はサブルーチン化されており、その詳細については、後述する。その後、この処理はステップS900へ移される。
【0117】
ステップS900にて、情報処理部31は、六面体の展開面を示すポリゴンの内側面に撮像画像を貼り付けて、仮想オブジェクトを示すポリゴンにオブジェクト画像を貼り付ける(テクスチャマッピング)。さらに、情報処理部31は、六面体の展開面を示すポリゴンの外側面に所定の画像を貼り付ける。このとき、そのポリゴンの外側面(ここでは上面)に貼り付ける所定の画像を、撮像画像(例えば、マーカの画像又はマーカが載置された机の画像)とすることができる。マーカの位置と六面体の上面の位置とが一致している場合には、マーカがせり上がるように表示でき、マーカの位置と六面体の上面の位置とが一致していない場合には、机の表面から六面体がせり上がるように表示できる。いずれの場合にも、自然な拡張現実感を実現することができる。なお、側面については不透明であれば、撮像画像以外の他の画像であっても構わないし、内側面と同じ撮像画像であっても構わない。
【0118】
ステップS1000にて、情報処理部31は、仮想カメラで、画像が貼り付けられたポリゴンを撮影してオブジェクト画像(六面体画像及び仮想オブジェクト画像)データを作成する。このとき、立体表示モードが選択されているので、左目用の仮想カメラの位置及び姿勢に基づいて左目用のオブジェクト画像を作成するとともに、右目用の仮想カメラの位置及び姿勢に基づいて右目用のオブジェクト画像を作成する。
【0119】
ステップS1100にて、情報処理部31は、カメラ画像データとオブジェクト画像データとに基づいて、カメラ画像にオブジェクト画像を重ね合わせた重畳画像を作成する。このとき、立体表示モードが選択されているので、情報処理部31は、左目用のオブジェクト画像と外側撮像部(左)23aにより撮影されたカメラ画像とを重ね合わせることにより左目用の重畳画像が作成され、右目用のオブジェクト画像と外側撮像部(右)23bにより撮影されたカメラ画像とを重ね合わせることにより右目用の重畳画像が作成される。
【0120】
なお、このステップS1100において、六面体展開面の消滅処理も行っている。この場合における六面体展開面の消滅処理において、展開面又は展開面の境界線(すなわち展開面の辺)の色が変化するようにして、六面体展開面が消滅するようにできる。特に、六面体展開面が急激に消滅するのではなく、撮像画像と異なる色から同じような色へ徐々に変化してから六面体展開面が沈み込むように消滅させることが好ましい。
【0121】
ステップS1200にて、情報処理部31は、上側LCD22に、カメラ画像と仮想オブジェクト画像とを重ね合わせた重畳画像を表示する。このとき、立体視可能なように、左目用の重畳画像と右目用の重畳画像とが合成される。その後、この処理はステップS100へ戻されて、上述した処理を繰り返す。
【0122】
なお、六面体を出現中でもなく展開中でもない場合(ステップS500にてNOかつステップS700にてNO)、ゲームの開始がユーザにより要求されていないと判定される。この場合には、仮想オブジェクト画像に撮像画像が重ね合わせられた画像を表示する処理(ステップS900〜ステップS1200)は実行されず、撮像画像のみが上側LCD22に表示される。
【0123】
次に、図11を参照して、出現アニメーション作成処理のサブルーチンについて説明する。ステップS610にて、情報処理部31は、出現開始からの経過時間を算出する。この経過時間は、ユーザがゲーム開始を要求してからの時間であるとすることができる。
【0124】
ステップS620にて、情報処理部31は、六面体展開面の出現開始からの経過時間に応じた上昇量Hを算出する。このとき、情報処理部31は、例えば、この上昇量Hを、(経過時間)×(単位時間当たりの上昇量)により算出する。この上昇量Hは、0以上六面体高さ以下である。ここで、経過時間をメインフローチャートのサイクルタイムを基準に算出する場合、単位時間当たりの上昇量をサイクル時間当たりの上昇量に設定することができる。これらの経過時間及び単位時間当たりの上昇量は、六面体が出現する状態が滑らかに表現されたアニメーションを実現できるように設定される。なお、上述した第1の時間で六面体が完全に出現する。
【0125】
ステップS630にて、情報処理部31は、六面体を、上昇量Hだけ上昇させたオブジェクトデータに更新する。その後、この処理は終了する(メインルーチンへ戻る)。
【0126】
次に、図12を参照して、展開アニメーション作成処理のサブルーチンについて説明する。ステップS810にて、情報処理部31は、六面体展開面の展開開始からの経過時間を算出する。
【0127】
ステップS820にて、情報処理部31は、展開開始からの経過時間に応じた回転角Bを算出する。このとき、情報処理部31は、例えば、この回転角Bを、(経過時間)×(単位時間当たりの展開回転角)により算出する。この回転角Bは、0度以上90度以下の角度である。ここで、経過時間をメインフローチャートのサイクルタイムを基準に算出する場合、単位時間当たりの展開回転角をサイクル時間当たりの回転角に設定することができる。これらの経過時間及び単位時間当たりの展開回転角は、六面体展開面が展開する状態が滑らかに表現されたアニメーションを実現できるように設定される。なお、上述した第2の時間で90度回転して、六面体が完全に展開する。
【0128】
ステップS830にて、情報処理部31は、六面体展開面の各面を回転角Bだけ展開する方向に回転させたオブジェクトデータに更新する。このとき、六面体展開面の底面は回転せず、側面は底面側の辺を中心に回転角Bだけ回転し、上面は側面側の辺を中心に回転角Bだけ回転する。その結果、上面は底面に対して回転角Bの2倍の角度だけ回転する。
【0129】
ステップS840にて、情報処理部31は、六面体展開面上の仮想オブジェクトを回転角Bだけ展開する方向に回転させたオブジェクトデータに更新する。このとき、データ記憶領域70の仮想オブジェクトデータ77に記憶された回転軸データに基づいて、回転軸を中心に回転角Bだけ展開する方向に回転させたオブジェクトデータに更新される。さらに具体的には、六面体展開面の底面に配置された仮想オブジェクトは回転せず、側面に配置された仮想オブジェクトは回転軸(底面側の辺)を中心に回転角Bだけ回転し、上面に配置された仮想オブジェクトは回転軸(側面側の辺)を中心に回転角Bだけ回転する。その結果、上面に配置された仮想オブジェクトは底面に対して回転角Bの2倍の角度だけ回転する。なお、このような処理は、平面位置での仮想オブジェクトを回転角(90−B)度だけ回転させる処理である。平面位置での仮想オブジェクトの位置データは、データ記憶領域70の仮想オブジェクトデータ77に、仮想オブジェクト毎に記憶されているので、記憶された位置データを用いて展開途中の仮想オブジェクトの位置が算出される。その後、この処理は終了する(メインルーチンへ戻る)。
【0130】
以上のような構造及びフローチャートに基づく、本実施形態に係るゲーム装置10の動作について、図13〜図16を参照して説明する。これらの図においては、ゲーム装置10においてシューティングゲームが行われるものとする。このゲームにおいてはユーザを模擬したキャラクタは表示されず、ユーザが特定のボタン(例えば操作ボタン14B)を押下すると、ユーザの視線方向(このゲーム装置10の向いている方向)に弓矢が発射されるものとする。そのため、ユーザの視線方向とは別の方向を向いている的を狙うときには、ゲーム装置10の方向をユーザが変化させて、的の正面まで回り込んでから弓矢を発射する必要がある。以下においては、このようにして弓矢を発射して全ての的に的中させると第1ステージがクリアされて、難易度の高い(的の数が多くなったり的の方向が異なったりする)第2ステージへ移行する。このようなシューティングゲームが開始される場合に(第1ステージが開始される場合に)、第1ステージの仮想オブジェクト(的等)が、自然な拡張現実感を実現して、出現する動作について説明する。なお、本発明の適用は、このようなシューティングゲームに限定されない。
【0131】
(六面体の出現表示動作)
ユーザが、外側撮像部23を選択して、立体表示モードを選択して、上述したプログラムが実行されるように設定する。ユーザが、例えば机の上に置いたマーカを含めた範囲を外側撮像部23で撮影することにより、カメラ画像データが取得される(ステップS100)。マーカが検出されると(ステップS200)、マーカの検出結果に基づいて、外側撮像部23とマーカとの位置関係が算出され(ステップS300)、算出された位置関係に基づいて、仮想カメラの位置及び姿勢が決定される(ステップS400)。この状態でユーザがこのシューティングゲームの開始を要求したとする。
【0132】
図13に、シューティングゲームが開始される前に上側LCD22に表示される画面を示す。外側撮像部23により撮像されたマーカを含む画像が、立体視可能に、上側LCD22に表示されている。
【0133】
図14Aに示す画面が上側LCD22に表示されている状態でユーザがゲーム開始を要求すると、ゲーム開始を要求してから、第1の時間が経過するまでは、六面体を出現中であると判定される(ステップS500にてYES)。六面体の出現を開始してからの経過時間が算出され(ステップS610)、図14B及び図14Cに示すように、予め定められた位置に予め定められた大きさで(六面体の上面がマーカの位置にマーカの大きさで)、徐々にせり上がる六面体が表示される。このとき、六面体の外側面には、撮像画像が貼り付けられている。ここでは、この撮像画像は、机の表面に載置されたマーカ画像である。なお、六面体の内部がユーザから見えないのであれば、特に画像は限定されるものではない。上述したように、六面体の上面にマーカ画像を貼り付けると、マーカからせり上がるように六面体が出現する。また、六面体の上面に机表面の画像を貼り付けると、机表面からせり上がるように六面体が出現する。いずれであっても、自然な拡張現実感を実現できる点で好ましい。
【0134】
時間の経過に従って、六面体がマーカ座標系のz軸方向(上方)へせり上がって移動する。このようにして、出現開始から第1の時間が経過するまで、せり上がるように六面体を出現させる処理が進められて、第1の時間の経過時には図14Dに示すように、六面体が完全に出現する。
【0135】
図14A〜図14Dに示す図は、連続的に変化している様子を表現していないが、実際には、図10に示すメインフローチャートが1/30秒程度の時間で繰り返し実行される。このため、ユーザがゲーム開始を要求すると、六面体が徐々にせり上がるように出現するアニメーションが表示される。このとき、マーカが六面体の上面に位置するように表示される。なお、図14Dに示す六面体が完全に出現した状態を所定の時間保持するようにしても構わない。
【0136】
図14A〜図14Dに示すように、例えば、現実空間の机の上にマーカを配置して机の上でこのシューティングゲームを行う場合には、机の表面(ここではマーカの表面)から六面体がせり上がってくるように表示されることになる。また、このとき、机ではなく現実空間の芝生の上にマーカを配置して芝生の上でこのシューティングゲームを行っている場合には、マーカの大きさの芝生を上面とする六面体がせり上がるとともに(マーカ位置と六面体位置とは不一致とする)、六面体の側面(上面及び底面以外の外側面)に土の画像を表示することも好ましい。このように地面の下(地下)から仮想オブジェクトが出現するように表示できるので、さらに自然な拡張現実感を実現することができる。
【0137】
図14Dに示すように六面体が完全に出現してから、予め定められた第2の時間が経過するまでは、六面体を展開中であると判定される(ステップS700にてYES)。六面体の展開を開始してからの経過時間が算出され(ステップS810)、図14Eに示すように六面体が展開を開始する。
【0138】
時間の経過に従って、六面体展開面が展開されていく。六面体が完全に出現してから第2の時間が経過するまでの展開中は(ステップS700にてYES)、展開開始からの経過時間に応じた回転角Bが算出されて(ステップS820)、六面体展開面を示すオブジェクトデータが回転角Bだけ回転させたオブジェクトデータに更新され(ステップS830)、六面体展開面上に配置された仮想オブジェクト(第1ステージの家、樹木及び的)を示すオブジェクトデータが回転角Bだけ回転させたオブジェクトデータに更新される(ステップS830)。
【0139】
このとき、六面体展開面上に配置された仮想オブジェクト(第1ステージの家、樹木及び的)は、平面位置における位置データを(90−B)度だけ回転させた位置に配置されることになる。
【0140】
このように回転角Bだけ回転された六面体の展開面を示すポリゴンの内側面に撮像画像が貼り付けられて、仮想オブジェクト(第1ステージの家、樹木及び的)を示すポリゴンにオブジェクト画像が貼り付けられる(ステップS900)。
【0141】
このようにして、六面体展開面が展開されて、図14Dに示す状態(回転角Bが0度の状態)から図14Eに示す状態(回転角Bは約45度の状態)へ変化する。図14Eに示すように、六面体の展開面の内側面に撮像画像がテクスチャマッピングされる状態を表現している。
【0142】
なお、このように仮想オブジェクトを回転して表示させる処理は、ワールド座標系における各仮想オブジェクトの位置及び姿勢を変更しておいて処理することにより実現することができる。本発明は、特定の方法に限定されるものではなく、六面体展開面の展開に応じて、その展開面上に配置された仮想オブジェクトの位置及び姿勢が変化(回転)するものであれば構わない。
【0143】
このようにして、展開開始から第2の時間が経過するまで、六面体の展開面を展開する処理が進められて、第2の時間の経過時には図14Fに示すように六面体の展開面が完全に展開される。図14Fに示すように、六面体の展開面が完全に展開されたときに、第1ステージの家、樹木及び的A〜小的Cが表示される。
【0144】
六面体の展開面が完全に展開されると、図14Gにおいて実線で示す状態から図14Hにおいて点線で示す状態に、六面体展開面の面または辺の色が徐々に変化して、六面体展開面が沈み込みようにして徐々に消滅させるようにすることもできる。
【0145】
図14E〜図14Hに示す図は、図14A〜図14Eに示す図と同じように、連続的に変化している様子を表現していないが、実際には、図10に示すメインフローチャートが1/30秒程度の時間で繰り返し実行されるので、以下のようなアニメーションが表示される。折り畳まれた六面体が展開されると、その展開面上の仮想オブジェクト(第1ステージの家、樹木及び的)が、展開面の回転とともに回転して徐々に見え出す。六面体展開面が完全に展開すると、仮想オブジェクト(第1ステージの家、樹木及び的)が出現する。
【0146】
このようにして、図13に示すゲーム開始前の画面が、図15に示す第1ステージの画面(ゲーム開始画面)に切り替えられる。
【0147】
図14Eに示す状態は、六面体展開面の内側面に、各展開面に対応する領域の撮像画像がテクスチャマッピングされている。これを、図16を参照して説明する。図16に示すように、外側撮像部23で撮像した現実世界(現実空間)において六面体展開面が配置された6つの領域の画像が、六面体展開面の6つの内側面にテクスチャマッピングされる。このように、六面体展開面が展開される途中においても、六面体展開面が配置された領域から切り取られた撮像画像が六面体展開面(内側面)に表示されるので、自然な拡張現実感を実現する。
【0148】
以上のように、本実施形態に係るゲーム装置10によると、外側撮像部23で撮像した現実世界(現実空間)に、ゲームの的等の仮想オブジェクトを重ね合わせたゲームであって、自然な拡張現実感をユーザに付与できるシューティングゲームを実現することができる。この場合において、ゲームの開始時において仮想オブジェクト(特に的)を出現させる必要があるが、せり上がるように出現した六面体が展開されて第1ステージの的が見えるようになり、六面体展開面が沈み込むように消滅する。このようにゲームが開始する(仮想オブジェクトが出現する)場合に、自然な拡張現実感を阻害することなく、かつ、ゲーム開始時に表示される画像にユーザが興味を抱くようにして、仮想オブジェクトを出現させることができる。
【0149】
(変形例)
上述した実施形態においては、マーカの位置に六面体を出現させていた。しかしながら、マーカの位置とは別の位置に六面体を出現させるようにしても構わない。この場合には、出現位置に応じた領域のカメラ画像が上面に貼り付けられる。また、六面体以外の立体(閉空間を構成できる立体)を出現させるようにしても構わない。すなわち、六面体の出現位置は限定されず、かつ、多面体は六面体に限定されない。多面体は、四面体(三角錐)以上であって閉空間を構成できる立体であれば、特に限定されない。さらに、閉空間を構成でき、かつ、その閉空間を展開できる立体であれば、特に限定されない。例えば、伸縮する布のようなもので閉空間を構成することが考えられる。
【0150】
ここで、多面体が五面体(四角錐)であって、マーカの位置とは別の位置に四角錐が出現する状態を図17A〜図17Eに示す。図17Aに示すように、四角錐の頂点の一部が机(マーカは机上に載置されているものとする)を突き破るようにして出現し始める。このときの四角錐の頂点側の一部は、閉空間を構成する仮想オブジェクトの外側面の一部である。この図17Aに示す状態から四角錐がマーカ座標系のz軸方向(上方向)へ移動して、図17B及び図17Cに示すように四角錐がせり上がるように上昇してくる。このときに、机の表面が割れて四角錐が盛り上がるようにアニメーションを作成してもよい。図17Dは四角錐の全体が出現した状態を示す。この図17Dに示す状態から四角錐の底面以外の側面が、各側面の底面側の辺を回転軸として外側へ90度展開して、図17Eに示すように、仮想オブジェクト(第1ステージの家、樹木及び的)が出現する。
【0151】
なお、この場合、マーカの位置から四角錐を出現させて、マーカを突き破るように四角錐を出現させることもできる。このようにすると、ユーザに興味をさらに抱かせることができる。また、四角錐(五面体)ではなく、マーカ座標系のz軸方向(上方向)に頂点側が配置された円錐、N角錐(Nは3以上の自然数、(N+1)面体)等の錐体であっても構わない。
【0152】
また、仮想オブジェクトの配置位置、配置数又は仮想オブジェクトの大きさ等のステージの状況に応じて、六面体展開面の大きさを変更するようにしても構わない。逆に、大きな仮想オブジェクト(例えば高い樹木)については、六面体展開面を展開する時に、六面体に収まっていた樹木を六面体の展開状況に応じて徐々に伸ばすように変化するようにしても構わない。
【0153】
また、本発明は、本実施形態に係るゲーム装置に限らず、任意の携帯型電子機器(例えば、PDA(Personal Digital Assistant)又は携帯電話)、パーソナルコンピュータ、カメラ等に適用することが可能である。
【0154】
また、本実施形態に係るゲーム装置10の情報処理部31が所定のプログラムを実行することによって、上述したフローチャートによる仮想オブジェクト表示処理が行われた。これに限定されず、仮想オブジェクト表示処理の一部又は全部は、ゲーム装置10が備える専用回路によって行われてもよい。
【0155】
また、上述した処理を1台のゲーム装置(情報処理装置)だけで処理するのではなく、互いに通信可能に接続された複数の情報処理装置で分担して処理するようにしても構わない。
【0156】
また、本実施形態においては、外側撮像部23により撮像したカメラ画像と仮想オブジェクト(シューティングゲームにおける的等)とを重ね合わせて上側LCD22に表示させるビデオシースルー方式を説明したが、本発明はこれに限定されない。例えば、光学シースルー方式を実現する構成であってもよい。この場合には、少なくともカメラを備えたヘッドマウンドディスプレイで構成され、ユーザはメガネのレンズ部分に相当するディスプレイ部を通して現実空間を視認できるようになっている。このディプレイ部は、現実空間を透過してユーザの目に直接導くことが可能な素材によって構成されている。さらに、このディスプレイ部にはコンピュータにより生成した仮想オブジェクトの画像を表示させることができるようになっている。これにより、ユーザは、現実空間と仮想オブジェクトの画像とが重ね合わせられた像を視認することができる。なお、ヘッドマウンドディスプレイに備えられたカメラは現実空間に配置されたマーカを検出するために用いられる。
【符号の説明】
【0157】
10 ゲーム装置
11 下側ハウジング
12 下側LCD
13 タッチパネル
14 操作ボタン
15 アナログスティック
16 LED
21 上側ハウジング
22 上側LCD
23 外側撮像部
23a 外側撮像部(左)
23b 外側撮像部(右)
24 内側撮像部
25 3D調整スイッチ
26 3Dインジケータ
28 タッチペン
31 情報処理部
311 CPU
312 GPU
32 メインメモリ

【特許請求の範囲】
【請求項1】
撮像手段と、画面上において現実空間を視認可能な表示手段と、内側面と外側面とを有し閉空間を構成する第1の仮想オブジェクトのオブジェクトデータ及び前記閉空間内に配置される第2の仮想オブジェクトのオブジェクトデータを記憶する記憶手段とに接続された情報処理装置のコンピュータを、
仮想空間内に仮想カメラを設定する仮想カメラ設定手段、
前記仮想カメラから前記第1の仮想オブジェクトの外側面の一部が見えるように当該第1の仮想オブジェクトを前記仮想空間内に配置するオブジェクト配置手段、
前記第1の仮想オブジェクトを、当該第1の仮想オブジェクトの全体が前記仮想カメラから見えるように移動させる第1のオブジェクト制御手段、
前記第1の仮想オブジェクトの形状を、当該第1の仮想オブジェクトによって前記内側面が内向きになるような閉空間が構成される閉形状から、前記仮想カメラから前記内側面が見えるように当該第1の仮想オブジェクトが展開された開形状へ変形させる第2のオブジェクト制御手段、
前記第1の仮想オブジェクトの前記内側面上に1以上の第2の仮想オブジェクトを配置するとともに、前記第1の仮想オブジェクトの形状の変形に応じて、前記第1の仮想オブジェクトの前記内側面に連動するように当該第2の仮想オブジェクトの位置及び姿勢を変化させる第3のオブジェクト制御手段、
前記撮像画像における前記第1の仮想オブジェクトの外側面の一部に対応する領域の画像と前記第1の仮想オブジェクトの前記開形状に対応する領域の画像とを、前記第1の仮想オブジェクトの前記外側面と前記内側面とにテクスチャとして貼り付けるテクスチャマッピング手段、
前記テクスチャを貼り付けた第1の仮想オブジェクトと、前記第2の仮想オブジェクトとに基づいて、オブジェクト画像を作成するオブジェクト画像作成手段、及び
前記画面上の現実空間に、前記オブジェクト画像作成手段により作成されたオブジェクト画像を重ね合わせた重畳画像を、前記表示手段に逐次表示させる表示制御手段として機能させる情報処理プログラム。
【請求項2】
前記第1のオブジェクト制御手段は、前記第1の仮想オブジェクトの移動状態を連続的に変化させたアニメーション形式で、当該第1の仮想オブジェクトの位置を変化させ、
前記第2のオブジェクト制御手段は、前記第1の仮想オブジェクトの展開状態を連続的に変化させたアニメーション形式で、当該第1の仮想オブジェクトの形状を変形させ、
前記第3のオブジェクト制御手段は、前記第1の仮想オブジェクトの展開状態を示すアニメーションの進行度合いに応じて、第2の仮想オブジェクトの位置及び姿勢を変化させる、請求項1に記載の情報処理プログラム。
【請求項3】
前記第1の仮想オブジェクトは複数の展開面から構成される多面体であって、
前記アニメーションは、前記多面体が閉空間を構成する第1の状態から、前記展開面が回転して前記多面体が開いて前記多面体の展開面に第2の仮想オブジェクトが配置された第2の状態までを含む、請求項2に記載の情報処理プログラム。
【請求項4】
前記アニメーションは、前記多面体の一部が出現するまでを含む、請求項3に記載の情報処理プログラム。
【請求項5】
前記アニメーションは、前記第2の状態から前記多面体の展開面が消えるまでを含む、請求項3に記載の情報処理プログラム。
【請求項6】
前記アニメーションは、前記第2の状態から前記展開面又は前記展開面の境界線の色が変化してから前記多面体の展開面が消える、請求項5に記載の情報処理プログラム。
【請求項7】
前記第3のオブジェクト制御手段は、前記展開面の回転に対応させて、当該第2の仮想オブジェクトを回転することにより、当該第2の仮想オブジェクトの位置及び姿勢を変化させる、請求項3〜請求項6のいずれかに記載の情報処理プログラム。
【請求項8】
前記第1の仮想オブジェクトは複数の展開面から構成される多面体であって、
前記オブジェクト配置手段により配置された前記第1の仮想オブジェクトの外側面の一部は、前記複数の展開面のうちの1つの展開面である、請求項1又は請求項2に記載の情報処理プログラム。
【請求項9】
前記多面体は六面体である、請求項3〜請求項8のいずれかに記載の情報処理プログラム。
【請求項10】
前記プログラムは、前記コンピュータを、
前記撮像手段により撮像された撮像画像を示す撮像画像データを逐次取得する撮像画像データ取得手段、
前記撮像画像データ取得手段により逐次取得された撮像画像データから特定対象物を検出する検出手段、及び
前記特定対象物の検出結果に基づいて、前記撮像手段と前記特定の対象物との相対的位置を算出する算出手段としてさらに機能させ、
前記オブジェクト配置手段は、前記1つの展開面の位置が前記特定対象物の位置と同一になるように前記第1の仮想オブジェクトを前記仮想空間内に配置する、請求項9に記載の情報処理プログラム。
【請求項11】
前記多面体は錐体である、請求項3〜請求項8のいずれかに記載の情報処理プログラム。
【請求項12】
前記オブジェクト配置手段は、前記錐体の頂点の位置が前記特定対象物の位置と同一になるように前記第1の仮想オブジェクトを前記仮想空間内に配置する、請求項11に記載の情報処理プログラム。
【請求項13】
前記表示制御手段は、前記第2の仮想オブジェクトが前記閉空間を構成する面を透過しないように表示する、請求項1〜請求項12のいずれかに記載の情報処理プログラム。
【請求項14】
前記プログラムは、前記コンピュータを、ユーザの操作に応じて前記第2の仮想オブジェクトを動作させる操作手段としてさらに機能させる、請求項1〜請求項13のいずれかに記載の情報処理プログラム。
【請求項15】
前記テクスチャマッピング手段は、前記撮像画像における前記第1の仮想オブジェクトの外側面の一部に対応する領域の画像を当該第1の仮想オブジェクトの外側面の一部にテクスチャとして貼り付けるとともに、前記撮像画像における当該第1の仮想オブジェクトの前記開形状に対応する領域の画像を当該第1の仮想オブジェクトの前記内側面にテクスチャとして貼り付ける、請求項1〜請求項14のいずれかに記載の情報処理プログラム。
【請求項16】
撮像手段と、
画面上において現実空間を視認可能な表示手段と、
内側面と外側面とを有し閉空間を構成する第1の仮想オブジェクトのオブジェクトデータ及び前記閉空間内に配置される第2の仮想オブジェクトのオブジェクトデータを記憶する記憶手段と、
仮想空間内に仮想カメラを設定する仮想カメラ設定手段と、
前記仮想カメラから前記第1の仮想オブジェクトの外側面の一部が見えるように当該第1の仮想オブジェクトを前記仮想空間内に配置するオブジェクト配置手段と、
前記第1の仮想オブジェクトを、当該第1の仮想オブジェクトの全体が前記仮想カメラから見えるように移動させる第1のオブジェクト制御手段と、
前記第1の仮想オブジェクトの形状を、当該第1の仮想オブジェクトによって前記内側面が内向きになるような閉空間が構成される閉形状から、前記仮想カメラから前記内側面が見えるように当該第1の仮想オブジェクトが展開された開形状へ変形させる第2のオブジェクト制御手段と、
前記第1の仮想オブジェクトの前記内側面上に1以上の第2の仮想オブジェクトを配置するとともに、前記第1の仮想オブジェクトの形状の変形に応じて、前記第1の仮想オブジェクトの前記内側面に連動するように当該第2の仮想オブジェクトの位置及び姿勢を変化させる第3のオブジェクト制御手段と、
前記撮像画像における前記第1の仮想オブジェクトの外側面の一部に対応する領域の画像と前記第1の仮想オブジェクトの前記開形状に対応する領域の画像とを、前記第1の仮想オブジェクトの前記外側面と前記内側面とにテクスチャとして貼り付けるテクスチャマッピング手段と、
前記テクスチャを貼り付けた第1の仮想オブジェクトと、前記第2の仮想オブジェクトとに基づいて、オブジェクト画像を作成するオブジェクト画像作成手段と、
前記画面上の現実空間に、前記オブジェクト画像作成手段により作成されたオブジェクト画像を重ね合わせた重畳画像を、前記表示手段に逐次表示させる表示制御手段とを含む情報処理装置。
【請求項17】
撮像手段と、
画面上において現実空間を視認可能な表示手段と、
内側面と外側面とを有し閉空間を構成する第1の仮想オブジェクトのオブジェクトデータ及び前記閉空間内に配置される第2の仮想オブジェクトのオブジェクトデータを記憶する記憶手段と、
仮想空間内に仮想カメラを設定する仮想カメラ設定手段と、
前記仮想カメラから前記第1の仮想オブジェクトの外側面の一部が見えるように当該第1の仮想オブジェクトを前記仮想空間内に配置するオブジェクト配置手段と、
前記第1の仮想オブジェクトを、当該第1の仮想オブジェクトの全体が前記仮想カメラから見えるように移動させる第1のオブジェクト制御手段と、
前記第1の仮想オブジェクトの形状を、当該第1の仮想オブジェクトによって前記内側面が内向きになるような閉空間が構成される閉形状から、前記仮想カメラから前記内側面が見えるように当該第1の仮想オブジェクトが展開された開形状へ変形させる第2のオブジェクト制御手段と、
前記第1の仮想オブジェクトの前記内側面上に1以上の第2の仮想オブジェクトを配置するとともに、前記第1の仮想オブジェクトの形状の変形に応じて、前記第1の仮想オブジェクトの前記内側面に連動するように当該第2の仮想オブジェクトの位置及び姿勢を変化させる第3のオブジェクト制御手段と、
前記撮像画像における前記第1の仮想オブジェクトの外側面の一部に対応する領域の画像と前記第1の仮想オブジェクトの前記開形状に対応する領域の画像とを、前記第1の仮想オブジェクトの前記外側面と前記内側面とにテクスチャとして貼り付けるテクスチャマッピング手段と、
前記テクスチャを貼り付けた第1の仮想オブジェクトと、前記第2の仮想オブジェクトとに基づいて、オブジェクト画像を作成するオブジェクト画像作成手段と、
前記画面上の現実空間に、前記オブジェクト画像作成手段により作成されたオブジェクト画像を重ね合わせた重畳画像を、前記表示手段に逐次表示させる表示制御手段とを含む情報処理システム。
【請求項18】
撮像手段により撮像画像を撮像する撮像ステップと、
画面上において現実空間を視認可能に表示する表示ステップと、
内側面と外側面とを有し閉空間を構成する第1の仮想オブジェクトのオブジェクトデータ及び前記閉空間内に配置される第2の仮想オブジェクトのオブジェクトデータを記憶する記憶ステップと、
仮想空間内に仮想カメラを設定する仮想カメラ設定ステップと、
前記仮想カメラから前記第1の仮想オブジェクトの外側面の一部が見えるように当該第1の仮想オブジェクトを前記仮想空間内に配置するオブジェクト配置ステップと、
前記第1の仮想オブジェクトを、当該第1の仮想オブジェクトの全体が前記仮想カメラから見えるように移動させる第1のオブジェクト制御ステップと、
前記第1の仮想オブジェクトの形状を、当該第1の仮想オブジェクトによって前記内側面が内向きになるような閉空間が構成される閉形状から、前記仮想カメラから前記内側面が見えるように当該第1の仮想オブジェクトが展開された開形状へ変形させる第2のオブジェクト制御ステップと、
前記第1の仮想オブジェクトの前記内側面上に1以上の第2の仮想オブジェクトを配置するとともに、前記第1の仮想オブジェクトの形状の変形に応じて、前記第1の仮想オブジェクトの前記内側面に連動するように当該第2の仮想オブジェクトの位置及び姿勢を変化させる第3のオブジェクト制御ステップと、
前記撮像画像における前記第1の仮想オブジェクトの外側面の一部に対応する領域の画像と前記第1の仮想オブジェクトの前記開形状に対応する領域の画像とを、前記第1の仮想オブジェクトの前記外側面と前記内側面とにテクスチャとして貼り付けるテクスチャマッピングステップと、
前記テクスチャを貼り付けた第1の仮想オブジェクトと、前記第2の仮想オブジェクトとに基づいて、オブジェクト画像を作成するオブジェクト画像作成ステップと、
前記画面上の現実空間に、前記オブジェクト画像作成ステップにおいて作成されたオブジェクト画像を重ね合わせた重畳画像を、前記表示ステップにて逐次表示させる表示制御ステップとを含む情報処理方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6A】
image rotate

【図6B】
image rotate

【図6C】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14A】
image rotate

【図14B】
image rotate

【図14C】
image rotate

【図14D】
image rotate

【図14E】
image rotate

【図14F】
image rotate

【図14G】
image rotate

【図14H】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17A】
image rotate

【図17B】
image rotate

【図17C】
image rotate

【図17D】
image rotate

【図17E】
image rotate


【公開番号】特開2011−258155(P2011−258155A)
【公開日】平成23年12月22日(2011.12.22)
【国際特許分類】
【出願番号】特願2010−134567(P2010−134567)
【出願日】平成22年6月11日(2010.6.11)
【出願人】(000233778)任天堂株式会社 (1,115)
【出願人】(391041718)株式会社ハル研究所 (38)
【Fターム(参考)】