JP5690135B2 - 情報処理プログラム、情報処理システム、情報処理装置および情報処理方法 - Google Patents

情報処理プログラム、情報処理システム、情報処理装置および情報処理方法 Download PDF

Info

Publication number
JP5690135B2
JP5690135B2 JP2010294483A JP2010294483A JP5690135B2 JP 5690135 B2 JP5690135 B2 JP 5690135B2 JP 2010294483 A JP2010294483 A JP 2010294483A JP 2010294483 A JP2010294483 A JP 2010294483A JP 5690135 B2 JP5690135 B2 JP 5690135B2
Authority
JP
Japan
Prior art keywords
real world
image
virtual space
information processing
terrain
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2010294483A
Other languages
English (en)
Other versions
JP2012141822A (ja
Inventor
慎治 北原
慎治 北原
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nintendo Co Ltd
Original Assignee
Nintendo Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nintendo Co Ltd filed Critical Nintendo Co Ltd
Priority to JP2010294483A priority Critical patent/JP5690135B2/ja
Priority to US13/156,690 priority patent/US8684837B2/en
Publication of JP2012141822A publication Critical patent/JP2012141822A/ja
Application granted granted Critical
Publication of JP5690135B2 publication Critical patent/JP5690135B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/60Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor
    • A63F13/65Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor automatically by game devices or servers from real world data, e.g. measurement in live racing competition
    • A63F13/655Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor automatically by game devices or servers from real world data, e.g. measurement in live racing competition by importing photos, e.g. of the player
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/20Input arrangements for video game devices
    • A63F13/21Input arrangements for video game devices characterised by their sensors, purposes or types
    • A63F13/213Input arrangements for video game devices characterised by their sensors, purposes or types comprising photodetecting means, e.g. cameras, photodiodes or infrared cells
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/50Controlling the output signals based on the game progress
    • A63F13/52Controlling the output signals based on the game progress involving aspects of the displayed game scene
    • A63F13/525Changing parameters of virtual cameras
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/50Controlling the output signals based on the game progress
    • A63F13/52Controlling the output signals based on the game progress involving aspects of the displayed game scene
    • A63F13/525Changing parameters of virtual cameras
    • A63F13/5252Changing parameters of virtual cameras using two or more virtual cameras concurrently or sequentially, e.g. automatically switching between fixed virtual cameras when a character changes room or displaying a rear-mirror view in a car-driving game
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/50Controlling the output signals based on the game progress
    • A63F13/52Controlling the output signals based on the game progress involving aspects of the displayed game scene
    • A63F13/525Changing parameters of virtual cameras
    • A63F13/5255Changing parameters of virtual cameras according to dedicated instructions from a player, e.g. using a secondary joystick to rotate the camera around a player's character
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/006Mixed reality
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/20Input arrangements for video game devices
    • A63F13/21Input arrangements for video game devices characterised by their sensors, purposes or types
    • A63F13/211Input arrangements for video game devices characterised by their sensors, purposes or types using inertial sensors, e.g. accelerometers or gyroscopes
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/40Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment
    • A63F13/42Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment by mapping the input signals into game commands, e.g. mapping the displacement of a stylus on a touch screen to the steering angle of a virtual vehicle
    • A63F13/428Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment by mapping the input signals into game commands, e.g. mapping the displacement of a stylus on a touch screen to the steering angle of a virtual vehicle involving motion or position input signals, e.g. signals representing the rotation of an input controller or a player's arm motions sensed by accelerometers or gyroscopes
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/80Special adaptations for executing a specific game genre or game mode
    • A63F13/812Ball games, e.g. soccer or baseball
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/60Methods for processing data by generating or executing the game program
    • A63F2300/66Methods for processing data by generating or executing the game program for rendering three dimensional images
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/60Methods for processing data by generating or executing the game program
    • A63F2300/69Involving elements of the real world in the game world, e.g. measurement in live races, real video
    • A63F2300/695Imported photos, e.g. of the player
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/80Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game specially adapted for executing a specific type of game
    • A63F2300/8011Ball
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/10Processing, recording or transmission of stereoscopic or multi-view image signals
    • H04N13/106Processing image signals
    • H04N13/156Mixing image signals

Description

本発明は、情報処理プログラム、情報処理システム、情報処理装置および情報処理方法に関し、特に、拡張現実(Augmented Reality)技術を利用した情報処理プログラム、情報処理システム、情報処理装置および情報処理方法に関する。
特許文献1には、ゲームカード上にキャラクタとともにボールオブジェクトをディスプレイに表示させ、プレイヤによりゲームカードが操作されたときに、ゲームカードの向きに応じた方向にボールオブジェクトが転がっていき、別のゲームカード上に表示されている複数のピンオブジェクトを倒すような演出が行われるゲーム装置が開示されている。
特開2008−113746号公報
特許文献1に記載されているものでは、ボールオブジェクトが単に平面上を転がっていく演出がなされるに過ぎず、仮想オブジェクトがあたかも現実空間に存在して移動しているという現実感をユーザに与えることができなかった。
上記のような課題を解決するために、本発明は以下のような構成を採用した。
本発明の一構成例に係る情報処理プログラムは、撮像装置と表示装置に接続された、情報処理装置のコンピュータを、実世界画像取得手段、移動オブジェクト配置手段、地形オブジェクト配置手段、移動制御手段、テクスチャマッピング手段、仮想空間画像生成手段、および表示制御手段として機能させる。
上記実世界画像取得手段は、前記撮像装置により前記実世界が撮像されることにより得られる実世界画像を取得する。上記移動オブジェクト配置手段は、移動オブジェクトを仮想空間内に配置する。上記地形オブジェクト配置手段は、高さが異なる部分を有する地形オブジェクトを仮想空間内に配置する。上記移動制御手段は、前記地形オブジェクトの形状に応じて前記移動オブジェクトを移動させる。上記テクスチャマッピング手段は、前記実世界画像の少なくとも一部を前記地形オブジェクトにテクスチャとしてマッピングする。上記仮想空間画像生成手段は、前記移動オブジェクトおよび前記実世界画像の少なくとも一部がテクスチャとしてマッピングされた地形オブジェクトを描画して仮想空間画像を生成する。上記表示制御手段は、前記実世界画像もしくは、前記表示装置の画面を透過して見える実世界に重ね合わせてユーザに視認されるように、前記仮想空間画像を前記表示装置に表示させる。
上記情報処理プログラムの他の構成例として、前記情報処理装置は、前記コンピュータを、前記地形オブジェクト配置手段によって配置された地形オブジェクトを変形させる変形手段としてさらに機能させてもよい。
上記構成例によれば、ユーザは、現実世界があたかも実際に変形したかのような不思議な体験をすることができる。
上記情報処理プログラムのさらに他の構成例として、前記変形手段は、時間経過に応じて周期的に前記地形オブジェクトを変形させてもよい。
上記情報処理プログラムのさらに他の構成例として、前記変形手段は、前記地形オブジェクトの表面に沿った方向に前記地形オブジェクトを変形させてもよい。
上記情報処理プログラムのさらに他の構成例として、前記変形手段は、所定条件を満たしたときに前記地形オブジェクトを変形させてもよい。
上記情報処理プログラムのさらに他の構成例として、前記地形オブジェクト配置手段は、平面状の地形オブジェクトを仮想空間内に配置する初期配置手段、および前記初期配置手段によって配置された平面状の地形オブジェクトの少なくとも一部の高さを変化させる初期変形手段を含んでいてもよい。
上記構成例によれば、地形オブジェクト(初期変形手段による変形後の地形オブジェクト)が平面状ではないことを、ユーザに分かりやすく認識させることができる。
上記情報処理プログラムのさらに他の構成例として、前記情報処理装置は、前記コンピュータを、前記実世界画像から所定の認識対象を検出する検出手段、および前記検出手段による検出結果に応じて仮想空間内に仮想カメラを配置する仮想カメラ配置手段としてさらに機能させてもよい。そして、前記仮想空間画像生成手段は、前記仮想カメラに基づいて前記移動オブジェクトおよび前記地形オブジェクトを描画してもよい。
上記構成例によれば、撮像装置によって撮像される実世界画像に応じて仮想空間画像の視点が変化するため、実世界に連動して仮想空間画像の見え方が変化し、仮想空間内の仮想オブジェクトがあたかも実世界に存在しているかのようにユーザに視認させることができる。
上記情報処理プログラムのさらに他の構成例として、前記撮像装置および前記表示装置は、前記情報処理装置と一体的に設けられており、前記移動制御手段は、実世界における前記情報処理装置の位置および姿勢に応じて前記移動オブジェクトの移動方向を決定する移動方向決定手段を含んでいてもよい。
上記構成例によれば、情報処理装置を動かすことによって移動オブジェクトの移動方向を指示できるため、ユーザは容易に移動方向を指示することができる。
上記情報処理プログラムのさらに他の構成例として、前記撮像装置および前記表示装置は、前記情報処理装置と一体的に設けられており、前記移動制御手段は、実世界における前記情報処理装置の位置および姿勢に応じて前記移動オブジェクトの移動速度を決定する移動速度決定手段を含んでいてもよい。
上記構成例によれば、情報処理装置を動かすことによって移動オブジェクトの移動速度を指示できるため、ユーザは容易に移動速度を指示することができる。
上記情報処理プログラムのさらに他の構成例として、前記移動制御手段は、ユーザの操作に応じて前記移動オブジェクトを移動させるものであり、前記情報処理装置は、前記コンピュータを、前記移動制御手段により移動した前記移動オブジェクトの仮想空間内の位置に基づいて所定のゲーム処理を実行するゲーム処理手段としてさらに機能させてもよい。
本発明の一構成例に係る情報処理装置は、実世界画像取得手段、移動オブジェクト配置手段、地形オブジェクト配置手段、移動制御手段、テクスチャマッピング手段、仮想空間画像生成手段、および表示制御手段を備える。
本発明の一構成例に係る情報処理システムは、撮像装置、表示装置、実世界画像取得手段、移動オブジェクト配置手段、地形オブジェクト配置手段、移動制御手段、テクスチャマッピング手段、仮想空間画像生成手段、および表示制御手段を備える。
本発明の一構成例に係る情報処理方法は、情報処理装置の制御部によって処理される情報処理方法であって、実世界画像取得ステップ、移動オブジェクト配置ステップ、地形オブジェクト配置ステップ、移動制御ステップ、テクスチャマッピングステップ、仮想空間画像生成ステップ、および表示制御ステップを備える。
上記実世界画像取得ステップでは、前記制御部が、撮像装置により前記実世界が撮像されることにより得られる実世界画像を取得する。上記移動オブジェクト配置ステップでは、前記制御部が、移動オブジェクトを仮想空間内に配置する。上記地形オブジェクト配置ステップでは、前記制御部が、高さが異なる部分を有する地形オブジェクトを仮想空間内に配置する。上記移動制御ステップでは、前記制御部が、前記地形オブジェクトの形状に応じて前記移動オブジェクトを移動させる。上記テクスチャマッピングステップでは、前記制御部が、前記実世界画像の少なくとも一部を前記地形オブジェクトにテクスチャとしてマッピングする。上記仮想空間画像生成ステップでは、前記制御部が、前記移動オブジェクトおよび前記実世界画像の少なくとも一部がテクスチャとしてマッピングされた地形オブジェクトを描画して仮想空間画像を生成する。上記表示制御ステップでは、前記制御部が、前記実世界画像もしくは、表示装置の画面を透過して見える実世界に重ね合わせてユーザに視認されるように、前記仮想空間画像を前記表示装置に表示させる。
本発明の一構成例に係る情報処理システムは、実世界に配置されるマーカ、撮像装置、表示装置、実世界画像取得手段、検出手段、仮想カメラ配置手段、移動オブジェクト配置手段、地形オブジェクト配置手段、移動制御手段、テクスチャマッピング手段、仮想空間画像生成手段、および表示制御手段を備える。
上記実世界画像取得手段は、前記撮像装置により前記実世界が撮像されることにより得られる実世界画像を取得する。上記検出手段は、前記実世界画像から前記マーカを検出する。上記仮想カメラ配置手段は、前記検出手段による検出結果に応じて仮想空間内に仮想カメラを配置する。上記移動オブジェクト配置手段は、移動オブジェクトを仮想空間内に配置する。上記地形オブジェクト配置手段は、高さが異なる部分を有する地形オブジェクトを仮想空間内に配置する。上記移動制御手段は、前記地形オブジェクトの形状に応じて前記移動オブジェクトを移動させる。上記テクスチャマッピング手段は、前記実世界画像の少なくとも一部を前記地形オブジェクトにテクスチャとしてマッピングする。上記仮想空間画像生成手段は、前記仮想カメラに基づいて前記移動オブジェクトおよび前記実世界画像の少なくとも一部がテクスチャとしてマッピングされた地形オブジェクトを描画して仮想空間画像を生成する。上記表示制御手段は、前記実世界画像もしくは、前記表示装置の画面を透過して見える実世界に重ね合わせてユーザに視認されるように、前記仮想空間画像を前記表示装置に表示させる。
本発明によれば、ユーザは、現実世界があたかも実際に変形しているかのような不思議な体験をすることができる。
開状態におけるゲーム装置10の正面図 閉状態におけるゲーム装置10の左側面図 閉状態におけるゲーム装置10の正面図 閉状態におけるゲーム装置10の右側面図 閉状態におけるゲーム装置10の背面図 ゲーム装置10の内部構成を示すブロック図 ゲームプレイ中のゲーム画像例 ゲームプレイ中のゲーム画像例 ゲームプレイ中のゲーム画像例 ゲームプレイ中のゲーム画像例 ゲームプレイ中のゲーム画像例 ゲームプレイ中のゲーム画像例 ゲームプレイ中のゲーム画像例 ゲームプレイ中のゲーム画像例 ゲームプレイ中のゲーム画像例 ゲームプレイ中のゲーム画像例 メインメモリ32のメモリマップ ゲーム処理全体の流れを示すフローチャート 移動オブジェクト制御処理の流れを示すフローチャート 仮想空間に配置される仮想オブジェクトを示す図 一対の仮想カメラとキューオブジェクトの配置方法を示す図 地形オブジェクト65が変形後の仮想空間を示す図 地形オブジェクト65へのテクスチャマッピングを示す図
(ゲーム装置の構成)
以下、本発明の一実施形態に係るゲーム装置について説明する。ゲーム装置10は携帯型のゲーム装置である。図1および図2A〜Dに示されるように、ゲーム装置10は、下側ハウジング11および上側ハウジング21を有する。下側ハウジング11と上側ハウジング21とは、開閉可能(折り畳み可能)に接続されている。
(下側ハウジングの説明)
図1および図2A〜Dに示すように、下側ハウジング11には、下側LCD(Liquid Crystal Display:液晶表示装置)12、タッチパネル13、各操作ボタン14A〜14L、アナログスティック15、LED16A〜16B、挿入口17、および、マイクロフォン用孔18が設けられる。
タッチパネル13は、下側LCD12の画面上に装着されている。下側ハウジング11の上側面には、タッチペン28を収納するための挿入口17(図1および図2Dに示す点線)が設けられている。
下側ハウジング11の内側面(主面)には、十字ボタン14A(方向入力ボタン14A)、ボタン14B、ボタン14C、ボタン14D、ボタン14E、電源ボタン14F、セレクトボタン14J、HOMEボタン14K、およびスタートボタン14Lが、設けられる。
アナログスティック15は、方向を指示するデバイスである。
下側ハウジング11の内側面には、マイクロフォン用孔18が設けられる。マイクロフォン用孔18の下部には後述する音声入力装置としてのマイク42(図3参照)が設けられる。
図2BおよびDに示されるように、下側ハウジング11の上側面には、Lボタン14GおよびRボタン14Hが設けられている。また、図2Aに示されるように、下側ハウジング11の左側面には、ゲーム装置10が備えるスピーカ43(図3参照)の音量を調整するための音量ボタン14Iが設けられる。
図2Aに示されるように、下側ハウジング11の左側面には開閉可能なカバー部11Cが設けられる。このカバー部11Cの内側には、ゲーム装置10とデータ保存用外部メモリ45とを電気的に接続するためのコネクタが設けられる。
図2Dに示されるように、下側ハウジング11の上側面には、外部メモリ44を挿入するための挿入口11Dが設けられる。
図1および図2Cに示されるように、下側ハウジング11の下側面にはゲーム装置10の電源のON/OFF状況をユーザに通知する第1LED16A、下側ハウジング11の右側面にはゲーム装置10の無線通信の確立状況をユーザに通知する第2LED16Bが設けられる。ゲーム装置10は他の機器との間で無線通信を行うことが可能であり、下側ハウジング11の右側面には、この無線通信の機能を有効/無効にする無線スイッチ19が設けられる(図2C参照)。
(上側ハウジングの説明)
図1および図2に示すように、上側ハウジング21には、上側LCD(Liquid Crystal Display:液晶表示装置)22、外側撮像部23(外側撮像部(左)23aおよび外側撮像部(右)23b)、内側撮像部24、3D調整スイッチ25、および、3Dインジケータ26が設けられる。
上側LCD22は、立体視可能な画像を表示することが可能な表示装置である。具体的には、パララックスバリア方式の裸眼立体視可能な表示装置である。上側LCD22は、視差バリアを用いてユーザの左目に左目用画像をユーザの右目に右目用画像を視認させることにより、ユーザにとって立体感のある画像(立体視画像)を表示することができる。また、上側LCD22は、上記視差バリアを無効にすることが可能であり、視差バリアを無効にした場合は、画像を平面的に表示することができる。このように、上側LCD22は、立体視画像を表示する立体表示モードと、画像を平面的に表示する(平面視画像を表示する)平面表示モードとを切り替えることが可能な表示装置である。この表示モードの切り替えは、例えば、後述する3D調整スイッチ25によって行われる。
外側撮像部23は、上側ハウジング21の外側面21Dに設けられた2つの撮像部(23aおよび23b)の総称である。外側撮像部(左)23aと外側撮像部(右)23bとは、ゲーム装置10が実行するプログラムによって、ステレオカメラとして使用することが可能である。
内側撮像部24は、上側ハウジング21の内側面21Bに設けられ、当該内側面の内向きの法線方向を撮像方向とする撮像部である。
3D調整スイッチ25は、スライドスイッチであり、上述のように上側LCD22の表示モードを切り替えるために用いられるスイッチである。また、3D調整スイッチ25は、上側LCD22に表示された立体視可能な画像(立体画像)の立体感を調整するために用いられる。3D調整スイッチ25のスライダ25aは、所定方向(上下方向)の任意の位置にスライド可能であり、当該スライダ25aの位置に応じて上側LCD22の表示モードが設定される。また、スライダ25aの位置に応じて、立体画像の見え方が調整される。
3Dインジケータ26は、上側LCD22が立体表示モードか否かを示すLEDである。
また、上側ハウジング21の内側面には、スピーカ孔21Eが設けられる。後述するスピーカ43からの音声がこのスピーカ孔21Eから出力される。
(ゲーム装置10の内部構成)
次に、図3を参照して、ゲーム装置10の内部の電気的構成について説明する。図3に示すように、ゲーム装置10は、上述した各部に加えて、情報処理部31、メインメモリ32、外部メモリインターフェイス(外部メモリI/F)33、データ保存用外部メモリI/F34、データ保存用内部メモリ35、無線通信モジュール36、ローカル通信モジュール37、リアルタイムクロック(RTC)38、加速度センサ39、電源回路40、およびインターフェイス回路(I/F回路)41等の電子部品を備えている。
情報処理部31は、所定のプログラムを実行するためのCPU(Central Processing Unit)311、画像処理を行うGPU(Graphics Processing Unit)312、VRAM(Video RAM)313を含む。CPU311は、ゲーム装置10内のメモリ(例えば外部メモリI/F33に接続された外部メモリ44やデータ保存用内部メモリ35)に記憶されているプログラムを実行することによって、当該プログラムに応じた処理を実行する。なお、CPU311によって実行されるプログラムは、他の機器との通信によって他の機器から取得されてもよい。GPU312は、CPU311からの命令に応じて画像を生成し、VRAM313に描画する。VRAM313に描画された画像は、上側LCD22及び/又は下側LCD12に出力され、上側LCD22及び/又は下側LCD12に当該画像が表示される。
外部メモリI/F33は、外部メモリ44を着脱自在に接続するためのインターフェイスである。また、データ保存用外部メモリI/F34は、データ保存用外部メモリ45を着脱自在に接続するためのインターフェイスである。
メインメモリ32は、情報処理部31(のCPU311)のワーク領域やバッファ領域として用いられる揮発性の記憶装置である。
外部メモリ44は、情報処理部31によって実行されるプログラム等を記憶するための不揮発性の記憶装置である。外部メモリ44は、例えば読み取り専用の半導体メモリで構成される。
データ保存用外部メモリ45は、不揮発性の読み書き可能なメモリ(例えばNAND型フラッシュメモリ)で構成され、任意のデータを保存するために用いられる。
データ保存用内部メモリ35は、読み書き可能な不揮発性メモリ(例えばNAND型フラッシュメモリ)で構成され、所定のデータを格納するために用いられる。例えば、データ保存用内部メモリ35には、無線通信モジュール36を介した無線通信によってダウンロードされたデータやプログラムが格納される。
無線通信モジュール36は、例えばIEEE802.11b/gの規格に準拠した方式により、無線LANに接続する機能を有する。また、ローカル通信モジュール37は、所定の通信方式(例えば独自プロトコルによる通信や、赤外線通信)により同種のゲーム装置との間で無線通信を行う機能を有する。
加速度センサ39は、3軸(xyz軸)方向に沿った直線方向の加速度(直線加速度)の大きさを検出する。情報処理部31は、加速度センサ39が検出した加速度を示すデータ(加速度データ)を受信して、ゲーム装置10の姿勢や動きを検出することができる。
RTC38は、時間をカウントして情報処理部31に出力する。情報処理部31は、RTC38によって計時された時間に基づき現在時刻(日付)を計算する。電源回路40は、ゲーム装置10が有する電源(充電式電池)からの電力を制御し、ゲーム装置10の各部品に電力を供給する。
I/F回路41には、タッチパネル13、マイク42およびスピーカ43が接続される。I/F回路41は、マイク42およびスピーカ43(アンプ)の制御を行う音声制御回路と、タッチパネルの制御を行うタッチパネル制御回路とを含む。音声制御回路は、音声信号に対するA/D変換およびD/A変換を行ったり、音声信号を所定の形式の音声データに変換したりする。タッチパネル制御回路は、タッチパネル13からの信号に基づいて所定の形式のタッチ位置データを生成して情報処理部31に出力する。情報処理部31は、タッチ位置データを取得することにより、タッチパネル13に対して入力が行われた位置を知ることができる。
操作ボタン14は、上記各操作ボタン14A〜14Lからなり、操作ボタン14から情報処理部31へは、各操作ボタン14A〜14Iに対する入力状況(押下されたか否か)を示す操作データが出力される。
下側LCD12および上側LCD22は情報処理部31に接続される。具体的には、情報処理部31は、上側LCD22のLCDコントローラ(図示せず)と接続され、当該LCDコントローラに対して視差バリアのON/OFFを制御する。上側LCD22の視差バリアがONになっている場合、情報処理部31のVRAM313に格納された右目用画像と左目用画像とが、上側LCD22に出力される。より具体的には、LCDコントローラは、右目用画像について縦方向に1ライン分の画素データを読み出す処理と、左目用画像について縦方向に1ライン分の画素データを読み出す処理とを交互に繰り返すことによって、VRAM313から右目用画像と左目用画像とを読み出す。これにより、右目用画像および左目用画像が、画素を縦に1ライン毎に並んだ短冊状画像に分割され、分割された右目用画像の短冊状画像と左目用画像の短冊状画像とが交互に配置された画像が、上側LCD22の画面に表示される。そして、上側LCD22の視差バリアを介して当該画像がユーザに視認されることによって、ユーザの右目に右目用画像が、ユーザの左目に左目用画像が視認される。以上により、上側LCD22の画面には立体視可能な画像が表示される。
外側撮像部23および内側撮像部24は、情報処理部31の指示に従って画像を撮像し、撮像した画像データを情報処理部31に出力する。
3D調整スイッチ25は、スライダ25aの位置に応じた電気信号を情報処理部31に送信する。
情報処理部31は、3Dインジケータ26の点灯を制御する。例えば、情報処理部31は、上側LCD22が立体表示モードである場合、3Dインジケータ26を点灯させる。
(ゲームの概要)
次に、図4〜図13を参照して、ゲーム装置10において実行されるゲーム(玉突きゲーム)の概要を説明する。このゲームは、所定の模様(文字、数字、記号、その他の図柄)の描かれたマーカ50を机の上などに置いて、ゲーム装置10の外側撮像部23によって当該マーカ50を撮像しながらプレイする、拡張現実技術を利用したゲームである。
図4は、ゲームの開始直後に上側LCD22および下側LCD12に表示されるゲーム画像を示している。
上側LCD22には、外側撮像部23によって現在撮像されている実世界を示す実世界画像と、仮想空間に配置された仮想オブジェクトの画像とを合成した画像(立体視画像)が、立体表示される。この例では、机の上に置かれたマーカ50を撮像することにより得られる実世界画像と、仮想空間に配置された球オブジェクト60、ゴールオブジェクト61およびキューオブジェクト62の画像とが上側LCD22に合成表示されている。
下側LCD12には、ステージを選択するための画像が表示される。ゲーム開始直後は第1ステージしかプレイできず、第1ステージをクリアすると、第2ステージをプレイ可能となる。第1〜第7ステージの目標(クリア条件)は、キューオブジェクト62によって球オブジェクト60を突いて、球オブジェクト60をゴールオブジェクト61へ到達させることである。
図4に示すような画像が表示された直後、上側LCD22に表示されている実世界画像の一部が変形(隆起したり、沈降したり)するアニメーション表示(冒頭演出)が行われ、最終的に、上側LCD22には図5に示すような立体視画像が表示される。図5の例では、上側LCD22に表示されている机の一部およびマーカ50の一部が隆起して見えるように表示される。こうして、第1ステージのプレイが開始される。
ユーザは、ゲーム装置10を移動または回転させることによって、仮想空間に配置されたキューオブジェクト62を移動または回転させることができる。すなわち、現実世界におけるゲーム装置10の位置および姿勢と、仮想空間におけるキューオブジェクト62の位置および姿勢は連動する。後述するように、マーカ50の位置および姿勢は、マーカ50に対する外側撮像部23の相対的位置および姿勢に対応している。そして、マーカ50の位置および姿勢に基づいて仮想カメラ66の位置および姿勢が決定される。すなわち、外側撮像部23が設けられたゲーム装置10の位置および姿勢は、仮想空間における仮想カメラの位置および姿勢とも連動する。また、キューオブジェクト62は、仮想空間に配置された仮想カメラと相対的に固定された位置に配置される。これにより、ゲーム装置10の位置および姿勢と、キューオブジェクト62の位置姿勢とは連動することになる。
図6は、球オブジェクト60をキューオブジェクト62で突くために、ユーザが図5の状態からゲーム装置10を右方向に移動させたときの様子を示している。ゲーム装置10の移動に連動してキューオブジェクト62が移動した結果、球オブジェクト60を突くことができる位置にキューオブジェクト62が移動している。この状態で、ユーザが特定の操作ボタン(例えば操作ボタン14B)を押下すると、図7に示すように、キューオブジェクト62が向いている方向へと球オブジェクト60が移動して、第1打目が終了する。すなわち、ゲーム装置10の位置および姿勢に応じて球オブジェクト60の移動方向が決定されるようになっている。
第2打目以降についても第1打目と同様に、ユーザは、ゲーム装置10を移動または回転させることによってキューオブジェクト62を所望の位置および姿勢にして、球オブジェクト60を突くことを、球オブジェクト60がゴールオブジェクト61に到達するまで繰り返す。
なお、前述のように、上側LCD22では、机の一部およびマーカ50の一部が隆起して見えるように表示されているが、これは単に見た目だけでなく、球オブジェクト60の移動にも影響を及ぼす。例えば、図8の状態でユーザがゴールオブジェクト61を狙って球オブジェクト60を突いたとしても、図9に示すように、球オブジェクト60が移動途中で隆起部分に接触すると、図9に示すように球オブジェクト60の移動方向および移動速度が変化するようになっている。すなわち、ユーザは、当該ゲームをプレイしている間、現実世界の机やマーカ50があたかも実際に変形しているかのような不思議な体験をすることができる。
なお、図6〜図9の例では、隆起部を迂回するルートで球オブジェクト60をゴールオブジェクト61へ到達させようとしているが、どのようなルートを選ぶかはユーザの自由である。例えば、隆起部を乗り越えるようなルートで球オブジェクト60をゴールオブジェクト61へ到達させようと試みてもよい。
第1ステージをクリアすると、続いて第2ステージが開始される。第2ステージの開始時も、第1ステージの開始時と同様に、実世界画像の一部が隆起または沈降するアニメーション表示(冒頭演出)が行われる。第2ステージ以降のステージについても同様である。
図10は、第2ステージの冒頭演出が行われた後の、上側LCD22および下側LCD12に表示されるゲーム画像を示している。
第2ステージでは、実世界画像において、第1ステージと同じ領域が隆起している。ただし、第1ステージでは、隆起部の高さは固定であったが、第2ステージでは、隆起部の高さが周期的に変動する。すなわち、時間の経過に応じて、隆起部の高さが高くなったり低くなったりする。したがって、ユーザは、隆起部の高さが低くなるタイミングに合わせて球オブジェクト60を突くことによって、隆起部を乗り越えるようなルートで球オブジェクト60をゴールオブジェクト61へ到達させることができる。ただし、球オブジェクト60を突くタイミングが悪いと、隆起部の高さが高いときに球オブジェクト60が隆起部に到達し、隆起部を乗り越えることができずに球オブジェクト60が戻ってきてしまうことになる。したがって、第2ステージでは、ユーザは球オブジェクト60を突くタイミングも考慮する必要があり、第1ステージよりもゲーム性が高まっている。
第2ステージをクリアすると、続いて第3ステージが開始される。図11に示すように、第3ステージでは、実世界画像の一部が沈降しており、それに加えて、実世界画像の所定の移動領域70がベルトコンベアのように沈降部へ向かって移動しているように表示される。この移動領域70についても、単に見た目だけでなく、球オブジェクト60の移動にも影響を及ぼす。したがって、移動領域70上を移動する間、球オブジェクト60が左方向へ加速されて移動方向が左方向へずれるので、ユーザはこれを考慮して球オブジェクト60を突く方向を決定する必要があり、第1ステージよりもゲーム性が高まっている。
図12は、第8ステージ(最終ステージ)において、上側LCD22および下側LCD12に表示されるゲーム画像を示している。
第8ステージの目標(クリア条件)は、キューオブジェクト62によって爆弾オブジェクト60を突いて、爆弾オブジェクト63を敵オブジェクト64へぶつけて敵オブジェクト64を倒すことである。爆弾オブジェクト63が敵オブジェクト64にぶつかる度に、敵オブジェクト64のダメージが一定値(例えば10)ずつ加算され、累積ダメージが規定値(例えば100)に達すると敵オブジェクト64を倒すことができる。
第8ステージでは、敵オブジェクト64の累積ダメージが所定の閾値(例えば、40および70)に達する毎に、図13に示すように、実世界画像の一部が隆起して、敵オブジェクト64を守るバリケードへと変化する。したがって、ユーザは、敵オブジェクト64にさらなるダメージを与えるために、バリケードを迂回して爆弾オブジェクト63を敵オブジェクト64へとぶつける必要があり、ゲームの難度が上昇する。なお、実世界画像の一部が隆起して、敵オブジェクト64を守るバリケードへと変化するのは、第8ステージの開始から所定時間を経過するたびに行われてもよい。
(ゲーム装置10の動作の詳細)
次に、図14〜図20を参照して、ゲーム装置10の動作についてより詳細に説明する。
図14は、ゲームの実行中にメインメモリ32に格納されるプログラムおよびデータの一例を示している。
ゲームプログラムD11は、ゲームの実行に先立って外部メモリ44またはデータ保存用内部メモリ35等から読み出されて、メインメモリ32に格納される。なお、無線通信機能を使ってサーバ装置または他のゲーム装置からゲームプログラムD11を受信して、メインメモリ32に格納してもよい。
ステージ情報D12は、各ステージにおいて配置される各種仮想オブジェクトや、それらの初期位置や、前述の隆起部や沈降部や移動領域70などを定義した情報である。
仮想オブジェクト情報D13は、仮想空間に配置される各種仮想オブジェクト(地形オブジェクトや、移動オブジェクトや、その他のオブジェクト)に関連する情報であって、仮想オブジェクトの形状、色、模様、位置、姿勢などの情報を含んでいる。移動オブジェクト(球オブジェクト60、爆弾オブジェクト63)については、移動方向および移動速度の情報も含まれている。なお、地形オブジェクトとは、実世界画像の一部が隆起したり沈降したりする処理を実現するために仮想空間に配置される、多数のポリゴンで構成されたオブジェクトである(図17〜図19の65参照)。
左実世界画像D14は、外側撮像部(左)23aによって撮像された実世界画像であり、右実世界画像D15は、外側撮像部(右)23bによって撮像された実世界画像である。
仮想カメラ情報D16は、立体視画像を生成する際に用いられる一対の仮想カメラ(後述する左仮想カメラおよび右仮想カメラ)に関する情報であって、仮想空間における各仮想カメラの位置や姿勢などの情報を含んでいる。
左仮想空間画像D17は、左仮想カメラに基づいて描画された仮想空間画像であり、右仮想空間画像D18は、右仮想カメラに基づいて描画された仮想空間画像である。
次に、図15および図16を参照して、ゲームプログラムD11に基づいてCPU311によって実行されるゲーム処理の流れについて説明する。当該ゲーム処理は、例えば、外側撮像部23によって撮像された実世界を示す実世界画像において後述のマーカ認識処理と同様な処理によってマーカ50の位置および姿勢が検出されている状態で、操作ボタン14のボタン14Bが押下されたときに開始される。
図15のステップS11において、CPU311は、ステージを決定する。例えば、ゲーム開始直後の場合は、第1ステージに決定される。また、或るステージがクリアされた直後の場合は、次のステージに決定される。また、ユーザがタッチパネル13等でステージを指定した場合は、その指定されたステージに決定される。
ステップS12において、CPU311は、キューオブジェクト62以外の仮想オブジェクトを配置する。図17は、一例として、第1ステージの開始時に仮想空間に配置される球オブジェクト60、ゴールオブジェクト61および地形オブジェクト65を示している。
地形オブジェクト65は、マーカ座標系の原点を基準として配置される。マーカ座標系とは、仮想空間における位置を表すための座標系である。マーカ座標系の原点は、実世界におけるマーカ50の位置に対応し、マーカ座標系のx軸方向、y軸方向、z軸方向は、実世界におけるマーカ50の左右方向、前後方向、上下方向にそれぞれ対応している。地形オブジェクト65は、後述するステップS17において変形され得るが、初期状態では、マーカ座標系のxy平面に沿った平面状オブジェクトである。
球オブジェクト60およびゴールオブジェクト61は、地形オブジェクト65上の初期位置(ステージ毎に定義されたそれぞれの初期位置)に配置される。
ステップS13において、CPU311は、外側撮像部(左)23aおよび外側撮像部(右)23bから、最新の左実世界画像D14および右実世界画像D15を取得して、メインメモリ32に格納する。
ステップS14において、CPU311は、マーカ認識処理を行う。当該マーカ認識処理では、左実世界画像D14および右実世界画像D15のそれぞれにおけるマーカ50の位置および姿勢が検出される。例えば、左実世界画像D14および右実世界画像D15に対して、それぞれエッジ検出処理とパターンマッチング処理を行うことによって、左実世界画像D14および右実世界画像D15のそれぞれにおけるマーカ50の位置および姿勢が検出される。左実世界画像D14におけるマーカ50の位置および姿勢は、マーカ50に対する外側撮像部(左)23aの相対位置および相対姿勢に対応している。同様に、右実世界画像D15におけるマーカ50の位置および姿勢は、マーカ50に対する外側撮像部(右)23bの相対位置および相対姿勢に対応している。
ステップS15において、CPU311は、ステップS14の検出結果に基づいて、図18に示すように仮想空間に一対の仮想カメラ(左仮想カメラ66Lおよび右仮想カメラ66R)を配置する。具体的には、左実世界画像D14におけるマーカ50の位置および姿勢に基づいて、仮想空間における左仮想カメラ66Lの位置および姿勢を決定し、右実世界画像D15におけるマーカ50の位置および姿勢に基づいて、仮想空間における右仮想カメラ66Rの位置および姿勢を決定する。
ステップS16において、CPU311は、図18に示すように、ステップS15において決定された仮想カメラの位置および姿勢を基準として、当該仮想カメラに対して一定の相対位置および相対姿勢となるように仮想空間にキューオブジェクト62を配置する。これにより、現実世界におけるゲーム装置10の位置および姿勢と、仮想空間におけるキューオブジェクト62の位置および姿勢とが連動することになる。
ステップS17において、CPU311は、地形オブジェクト変形処理を行う。例えば、第1ステージの開始直後の冒頭演出では、図18に示す形状から図19に示す形状へと地形オブジェクト65を変化させる。このような地形オブジェクト65の変形は、地形オブジェクト65を構成するポリゴンの各頂点の位置をz軸方向(図17参照)に移動させることによって行われる。すなわち、地形オブジェクト65は、この地形オブジェクト65の表面に沿った方向に変形されることになる。なお、ステップS17では、図19に示したような冒頭演出における変形処理に限らず、図10に示したような周期的な変形処理や、図11に示したようなz軸方向以外の方向への変形処理や、所定条件を満たしたことに応じて行われる図13に示したような変形処理なども行われる。これらの変形処理は、球オブジェクト60をゴールオブジェクト61に到達させることを難しくさせるための処理、すなわちゲームの難度を上げるための処理である。
ステップS18において、CPU311は、移動オブジェクト制御処理を行う。以下、図16を参照して、移動オブジェクト制御処理の詳細について説明する。
図16のステップS30において、CPU311は、移動オブジェクト(球オブジェクト60または爆弾オブジェクト63)が移動中であるかどうかを判断する。そして、移動オブジェクトが停止している場合には処理はステップS31に進み、移動オブジェクトが移動している場合には処理はステップS34に進む。
ステップS31において、CPU311は、キューオブジェクト62が移動オブジェクトを指しているかどうか(すなわち、キューオブジェクト62の中心軸を通る直線が、移動オブジェクトと交差しているかどうか)を判断する。そして、キューオブジェクト62が移動オブジェクトを指している場合には処理はステップS32に進み、キューオブジェクト62が移動オブジェクトを指していない場合には移動オブジェクト制御処理を終了する。
ステップS32において、CPU311は、特定の操作ボタン(例えば操作ボタン14B)が押されたかどうかを判断し、押された場合には処理はステップS33に進み、そうでない場合には移動オブジェクト制御処理を終了する。
ステップS33において、CPU311は、移動オブジェクトの移動方向(初期移動方向)および移動速度(初速度)を決定する。本実施形態では、キューオブジェクト62の後端から先端に向かう方向を示す3次元ベクトルを、マーカ座標系のxy平面(z座標値が0である平面)に投影することによって得られる3次元ベクトルを、移動オブジェクトの移動方向(初期移動方向)として決定し、移動オブジェクトの移動速度(初速度)は、予め定められた一定値とする。ステップS33の処理が終わると、移動オブジェクト制御処理を終了する。
ステップS34において、CPU311は、移動オブジェクトの移動方向および移動速度を更新する。移動オブジェクトの移動方向および移動速度は、仮想空間において移動オブジェクトにかかる重力や、移動オブジェクトが地形オブジェクト65から受ける摩擦力などを考慮して随時更新される。
ステップS35において、CPU311は、ステップS34において更新された移動方向および移動速度に応じて、仮想オブジェクトの位置を更新する。ステップS35の処理が終わると、移動オブジェクト制御処理を終了する。
移動オブジェクト制御処理が終了すると、処理は図15のステップS19に進む。
ステップS19において、CPU311は、地形オブジェクト65に実世界画像をテクスチャとしてマッピングする。本実施形態では、地形オブジェクト65にマッピングされるテクスチャ(実世界画像)は、左仮想空間画像D17を描画する際と、右仮想空間画像D18を描画する際とで異なる。左仮想空間画像D17を描画する際には、左実世界画像D14がテクスチャとして用いられ、右仮想空間画像D18を描画する際には、右実世界画像D15がテクスチャとして用いられる。
図20は、左仮想空間画像D17を描画する際に、地形オブジェクト65に左実世界画像D14がテクスチャとしてマッピングされる様子を示している。まず、左仮想カメラ66Lから見た初期状態の地形オブジェクト65(すなわち、変形する前の平面状の地形オブジェクト65)の各頂点の位置(2次元座標値)が計算される。そして、当該計算結果に基づいて、地形オブジェクト65の各頂点と左実世界画像D14内の各点とがそれぞれ対応付けられて、これらの対応関係に基づいて、地形オブジェクト65に左実世界画像D14がテクスチャとしてマッピングされる。
右仮想空間画像D18を描画する際にも同様に、まず、右仮想カメラ66Rから見た初期状態の地形オブジェクト65(すなわち、変形する前の平面状の地形オブジェクト65)の各頂点の位置(2次元座標値)が計算される。そして、当該計算結果に基づいて、地形オブジェクト65の各頂点と右実世界画像D15内の各点とがそれぞれ対応付けられて、これらの対応関係に基づいて、地形オブジェクト65に右実世界画像D15がテクスチャとしてマッピングされる。
ステップS20において、CPU311は、仮想空間画像を描画する。具体的には、左仮想カメラ66Lに基づいて仮想オブジェクト(左実世界画像D14がテクスチャとしてマッピングされた地形オブジェクト65、移動オブジェクト、キューオブジェクト62など)を描画することによって左仮想空間画像D17が生成され、右仮想カメラ66Rに基づいて仮想オブジェクトを描画することによって右仮想空間画像D18が生成される。なお、仮想空間の描画処理は、典型的には、CPU311の指示に従ってGPU312が行う。
ステップS21において、CPU311は、実世界画像と仮想空間画像とを合成する。具体的には、左実世界画像D14に左仮想空間画像D17(すなわち、左仮想カメラ66Lに基づいて描画された仮想オブジェクト)が上書きされ、右実世界画像D15に右仮想空間画像D18(すなわち、右仮想カメラ66Rに基づいて描画された仮想オブジェクト)が上書きされる。そして、これらの画像が、上側LCD22に左目用画像および右目用画像として出力される。
ステップS22において、CPU311は、ゲームが終了したかどうかを判断し、ゲームが終了した場合には処理はゲーム処理を終了し、そうでない場合には処理はステップS23に進む。
ステップS23において、CPU311は、ステージ変更が発生するかどうかを判断し、ステージ変更が発生する場合には処理はステップS11に戻り、そうでない場合には処理はステップS13に戻る。ステージ変更は、現在のステージをクリアしたときや、ユーザが現在のステージとは異なるステージを選択したときなどに発生する。
上記のステップS13〜ステップS21の処理が一定の周期(例えば1秒間に60回)で繰り返されることによって、球オブジェクト60が滑らかに移動する様子などが上側LCD22に表示される。
(本実施形態の効果)
以上のように、本実施形態によれば、上側LCD22には、単に背景のように実世界画像が表示されているのではなく、実世界画像の一部が変形し、しかも変形後の形状に応じて移動オブジェクトの移動方向および移動速度が変化する。したがって、ユーザは、ゲームをプレイしている間、現実世界があたかも実際に変形しているかのような不思議な体験をすることができる。
また、本実施形態では、図10〜図13に示したように、ゲームの途中でも地形オブジェクト65が変形するため、ゲーム進行が単調にならず、かつ、ゲーム性が高まる。
(変形例)
なお、上記実施形態では、実世界におけるゲーム装置10の位置および姿勢(言い換えると、実世界に配置されたマーカ50に対するゲーム装置10の相対位置および相対姿勢)に応じて移動オブジェクトの初期移動方向を決定しているが、他の実施形態では、ゲーム装置10の動きや、任意の入力装置(例えば、アナログスティック15やタッチパネル13など)からの信号に基づいて移動オブジェクトの初期移動方向を決定してもよい。
また、上記実施形態では、キューオブジェクト62の後端から先端に向かう方向を示す3次元ベクトルを、マーカ座標系のxy平面(z座標値が0である平面)に投影することによって得られる3次元ベクトルを、移動オブジェクトの初期移動方向として決定しているが、他の実施形態では、キューオブジェクト62の後端から先端に向かう方向を示す3次元ベクトルを、そのまま、移動オブジェクトの初期移動方向として利用しても良い。ところで、ユーザが3次元の任意の方向を指定しようとする場合、ジョイスティックやタッチパネルなどの通常の入力装置では簡単に指定することができない。しかしながら、このように実世界におけるゲーム装置10の位置および姿勢に応じて3次元の任意の方向を指定するようにすれば、簡単で且つ直感的に方向を指定することができ、操作性が向上する。なお、実世界におけるゲーム装置10の位置および姿勢は、上記実施形態のように、実世界画像におけるマーカ50の位置および姿勢から算出するものに限らず、例えば、加速度センサや、角速度センサなどを利用して算出してもよい。
また、上記実施形態では、移動オブジェクトの初速度を予め定められた一定値としているが、他の実施形態では、キューオブジェクトの先端から移動オブジェクトまでの距離に応じて(言い換えると、一対の仮想カメラから移動オブジェクトまでの距離に応じて)移動オブジェクトの初速度が変化するようにしてもよい。
また、上記実施形態では、各ステージの開始直後には地形オブジェクト65は平面状であり、その後の冒頭演出を経て、ステージに応じた形状へと地形オブジェクト65が変形しているが、他の実施形態では、各ステージの開始直後から、ステージに応じた形状を有する地形オブジェクト65が仮想空間に配置されてもよい。
また、上記実施形態では、地形オブジェクト65がステージに応じて変形しているが、他の実施形態では、ステージ毎に異なる形状の地形オブジェクトが予め用意されていてもよい。
また、上記実施形態では、図15のステップS17において地形オブジェクト65自体を変形させる(すなわち、地形オブジェクト65の各頂点を移動させる)ことによって、図11に示すように移動領域70が移動しているように表示しているが、他の実施形態では、地形オブジェクト65自体は変形させずに、地形オブジェクト65にテクスチャマッピングする際に用いられるテクスチャ座標を変化させることによって、移動領域70が移動して見える表示を実現してもよい。
また、上記実施形態では、外側撮像部23によって撮像された実世界画像に仮想空間画像を合成して上側LCD22に表示している(ビデオシースルー方式)が、本発明はこれに限らない。本発明は、透過型の表示画面に仮想オブジェクトを表示し、当該透過型の表示画面を通じて見える実世界にあたかも仮想オブジェクトが実在するかのようにユーザに視認されるような光学シースルー方式のゲーム装置やゲームシステムにも適用できる。
また、上記実施形態では、マーカ検出処理の結果に応じて、左仮想カメラ66Lの位置および姿勢と、右仮想カメラ66Rの位置および姿勢とを個別に決定しているが、他の実施形態では、マーカ検出処理の結果に応じていずれか一方の仮想カメラの位置および姿勢を決定した後、当該一方の仮想カメラの位置および姿勢から他方の仮想カメラの位置および姿勢を決定するようにしてもよい。
また、上記実施形態では、実世界におけるマーカ50に対応する仮想空間内の点を基準(原点)として、マーカ検出処理の結果に応じて仮想カメラの位置および姿勢を随時算出しているが、他の実施形態では、仮想空間における仮想カメラおよびキューオブジェクト62の位置および姿勢を固定にして、マーカ検出処理の結果に応じてその他の仮想オブジェクトの位置および姿勢を随時算出するようにしてもよい。
また、上記実施形態では、実世界画像に含まれるマーカ50の位置および姿勢に基づいて仮想カメラの位置および姿勢を決定しているが、他の実施形態では、実世界画像に含まれるマーカ50以外の認識対象物(例えば、顔や、手など)の位置等に応じて仮想カメラの位置等を決定してもよい。
また、上記実施形態では、左仮想空間画像D17を描画する際には、地形オブジェクト65のテクスチャとして左実世界画像D14が用いられ、右仮想空間画像D18を描画する際には、地形オブジェクト65のテクスチャとして右実世界画像D15が用いられる例を説明したが、他の実施形態では、左仮想空間画像D17を描画する際にも右仮想空間画像D18を描画する際にも、地形オブジェクト65のテクスチャとして左実世界画像D14または右実世界画像D15のいずれか一方を共通に用いてもよい。
また、上記実施形態では、上側LCD22に立体視画像を表示する例を説明したが、本発明はこれに限らず、平面視画像を表示する場合にも本発明は適用できる。例えば、外側撮像部(左)23aまたは外側撮像部(右)23bのいずれか一方から取得した実世界画像に基づいて仮想空間に1つの仮想カメラを配置して、上記実施形態と同様の処理を行えばよい。
また、上記実施形態では、ゲームプログラムD11の処理がCPU(CPU311)によって実行される例を説明したが、他の実施形態では、ゲームプログラムD11の少なくとも一部の処理がハードウェアのみによって実現されてもよい。
また、上記実施形態では、玉突きゲームの例を説明したが、本発明はこれに限らず、地形オブジェクトに沿って移動オブジェクトが移動するような任意のゲームに適用可能である。また、本発明はゲームソフトウェアに限らず、任意のアプリケーションソフトウェアにも適用可能である。
また、上記実施形態では、携帯型のゲーム装置10について説明したが、他の実施形態では、任意の情報処理装置(据え置き型ゲーム装置、デスクトップパソコン、ノートパソコン、携帯電話など)をゲーム装置またはゲームシステムとして利用してもよい。
また、上記実施形態では、ゲームプログラムD11の処理が1つのCPU(CPU311)によって実行される例を説明したが、他の実施形態では、ゲームプログラムD11の処理が複数のプロセッサによって分担して実行されてもよい。また、これらの複数のプロセッサは、同一の情報処理装置に内蔵されていてもよいし、サーバ装置とクライアント装置のように互いに通信可能な複数の情報処理装置に分散して設けられていてもよい。
10 ゲーム装置
12 下側LCD
22 上側LCD
23a 外側撮像部(左)
23b 外側撮像部(右)
50 マーカ
60 球オブジェクト
61 ゴールオブジェクト
62 キューオブジェクト
63 爆弾オブジェクト
64 敵オブジェクト
65 地形オブジェクト
66L 左仮想カメラ
66R 右仮想カメラ
70 移動領域

Claims (14)

  1. 撮像装置と表示装置に接続された、情報処理装置のコンピュータを、
    前記撮像装置により実世界が撮像されることにより得られる実世界画像を取得する実世界画像取得手段、
    移動オブジェクトを仮想空間内に配置する移動オブジェクト配置手段、
    高さが異なる部分を有する地形オブジェクトを仮想空間内に配置する地形オブジェクト配置手段、
    前記地形オブジェクトの形状に応じて前記移動オブジェクトを移動させる移動制御手段、
    前記実世界画像の少なくとも一部を前記地形オブジェクトにテクスチャとしてマッピングするテクスチャマッピング手段、
    前記移動オブジェクトおよび前記実世界画像の少なくとも一部がテクスチャとしてマッピングされた地形オブジェクトを描画して仮想空間画像を生成する仮想空間画像生成手段、および
    前記実世界画像もしくは、前記表示装置の画面を透過して見える実世界に重ね合わせてユーザに視認されるように、前記仮想空間画像を前記表示装置に表示させる表示制御手段として機能させるための情報処理プログラム。
  2. 前記情報処理装置は、前記コンピュータを、
    前記地形オブジェクト配置手段によって配置された地形オブジェクトを変形させる変形手段としてさらに機能させる、請求項1に記載の情報処理プログラム。
  3. 前記変形手段は、時間経過に応じて周期的に前記地形オブジェクトを変形させる、請求項1または請求項2に記載の情報処理プログラム。
  4. 前記変形手段は、前記地形オブジェクトの表面に沿った方向に前記地形オブジェクトを変形させる、請求項1〜3のいずれか1項に記載の情報処理プログラム。
  5. 前記変形手段は、所定条件を満たしたときに前記地形オブジェクトを変形させる、請求項1〜4のいずれか1項に記載の情報処理プログラム。
  6. 前記地形オブジェクト配置手段は、
    平面状の地形オブジェクトを仮想空間内に配置する初期配置手段、および
    前記初期配置手段によって配置された平面状の地形オブジェクトの少なくとも一部の高さを変化させる初期変形手段を含む、請求項1〜5のいずれか1項に記載の情報処理プログラム。
  7. 前記情報処理装置は、前記コンピュータを、
    前記実世界画像から所定の認識対象を検出する検出手段、および
    前記検出手段による検出結果に応じて仮想空間内に仮想カメラを配置する仮想カメラ配置手段としてさらに機能させ、
    前記仮想空間画像生成手段は、前記仮想カメラに基づいて前記移動オブジェクトおよび前記地形オブジェクトを描画する、請求項1〜6のいずれか1項に記載の情報処理プログラム。
  8. 前記撮像装置および前記表示装置は、前記情報処理装置と一体的に設けられており、
    前記移動制御手段は、実世界における前記情報処理装置の位置および姿勢に応じて前記移動オブジェクトの移動方向を決定する移動方向決定手段を含む、請求項1〜7のいずれか1項に記載の情報処理プログラム。
  9. 前記撮像装置および前記表示装置は、前記情報処理装置と一体的に設けられており、
    前記移動制御手段は、実世界における前記情報処理装置の位置および姿勢に応じて前記移動オブジェクトの移動速度を決定する移動速度決定手段を含む、請求項1〜8のいずれか1項に記載の情報処理プログラム。
  10. 前記移動制御手段は、ユーザの操作に応じて前記移動オブジェクトを移動させるものであり、
    前記情報処理装置は、前記コンピュータを、
    前記移動制御手段により移動した前記移動オブジェクトの仮想空間内の位置に基づいて所定のゲーム処理を実行するゲーム処理手段としてさらに機能させる、請求項1〜9のいずれか1項に記載の情報処理プログラム。
  11. 撮像装置により実世界が撮像されることにより得られる実世界画像を取得する実世界画像取得手段、
    移動オブジェクトを仮想空間内に配置する移動オブジェクト配置手段、
    高さが異なる部分を有する地形オブジェクトを仮想空間内に配置する地形オブジェクト配置手段、
    前記地形オブジェクトの形状に応じて前記移動オブジェクトを移動させる移動制御手段、
    前記実世界画像の少なくとも一部を前記地形オブジェクトにテクスチャとしてマッピングするテクスチャマッピング手段、
    前記移動オブジェクトおよび前記実世界画像の少なくとも一部がテクスチャとしてマッピングされた地形オブジェクトを描画して仮想空間画像を生成する仮想空間画像生成手段、および
    前記実世界画像もしくは、表示装置の画面を透過して見える実世界に重ね合わせてユーザに視認されるように、前記仮想空間画像を前記表示装置に表示させる表示制御手段を備える情報処理装置。
  12. 撮像装置、
    表示装置、
    前記撮像装置により実世界が撮像されることにより得られる実世界画像を取得する実世界画像取得手段、
    移動オブジェクトを仮想空間内に配置する移動オブジェクト配置手段、
    高さが異なる部分を有する地形オブジェクトを仮想空間内に配置する地形オブジェクト配置手段、
    前記地形オブジェクトの形状に応じて前記移動オブジェクトを移動させる移動制御手段、
    前記実世界画像の少なくとも一部を前記地形オブジェクトにテクスチャとしてマッピングするテクスチャマッピング手段、
    前記移動オブジェクトおよび前記実世界画像の少なくとも一部がテクスチャとしてマッピングされた地形オブジェクトを描画して仮想空間画像を生成する仮想空間画像生成手段、および
    前記実世界画像もしくは、前記表示装置の画面を透過して見える実世界に重ね合わせてユーザに視認されるように、前記仮想空間画像を前記表示装置に表示させる表示制御手段を備える情報処理システム。
  13. 情報処理装置の制御部によって処理される情報処理方法であって、
    前記制御部が、撮像装置により実世界が撮像されることにより得られる実世界画像を取得する実世界画像取得ステップ、
    移動オブジェクトを仮想空間内に配置する移動オブジェクト配置ステップ、
    高さが異なる部分を有する地形オブジェクトを仮想空間内に配置する地形オブジェクト配置ステップ、
    前記地形オブジェクトの形状に応じて前記移動オブジェクトを移動させる移動制御ステップ、
    前記実世界画像の少なくとも一部を前記地形オブジェクトにテクスチャとしてマッピングするテクスチャマッピングステップ、
    前記移動オブジェクトおよび前記実世界画像の少なくとも一部がテクスチャとしてマッピングされた地形オブジェクトを描画して仮想空間画像を生成する仮想空間画像生成ステップ、および
    前記実世界画像もしくは、表示装置の画面を透過して見える実世界に重ね合わせてユーザに視認されるように、前記仮想空間画像を前記表示装置に表示させる表示制御ステップを備える情報処理方法。
  14. 実世界に配置されるマーカ、
    撮像装置、
    表示装置、
    前記撮像装置により実世界が撮像されることにより得られる実世界画像を取得する実世界画像取得手段、
    前記実世界画像から前記マーカを検出する検出手段、
    前記検出手段による検出結果に応じて仮想空間内に仮想カメラを配置する仮想カメラ配置手段、
    移動オブジェクトを仮想空間内に配置する移動オブジェクト配置手段、
    高さが異なる部分を有する地形オブジェクトを仮想空間内に配置する地形オブジェクト配置手段、
    前記地形オブジェクトの形状に応じて前記移動オブジェクトを移動させる移動制御手段、
    前記実世界画像の少なくとも一部を前記地形オブジェクトにテクスチャとしてマッピングするテクスチャマッピング手段、
    前記仮想カメラに基づいて前記移動オブジェクトおよび前記実世界画像の少なくとも一部がテクスチャとしてマッピングされた地形オブジェクトを描画して仮想空間画像を生成する仮想空間画像生成手段、および
    前記実世界画像もしくは、前記表示装置の画面を透過して見える実世界に重ね合わせてユーザに視認されるように、前記仮想空間画像を前記表示装置に表示させる表示制御手段を備える情報処理システム。

JP2010294483A 2010-12-29 2010-12-29 情報処理プログラム、情報処理システム、情報処理装置および情報処理方法 Active JP5690135B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2010294483A JP5690135B2 (ja) 2010-12-29 2010-12-29 情報処理プログラム、情報処理システム、情報処理装置および情報処理方法
US13/156,690 US8684837B2 (en) 2010-12-29 2011-06-09 Information processing program, information processing system, information processing apparatus, and information processing method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010294483A JP5690135B2 (ja) 2010-12-29 2010-12-29 情報処理プログラム、情報処理システム、情報処理装置および情報処理方法

Publications (2)

Publication Number Publication Date
JP2012141822A JP2012141822A (ja) 2012-07-26
JP5690135B2 true JP5690135B2 (ja) 2015-03-25

Family

ID=46381230

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010294483A Active JP5690135B2 (ja) 2010-12-29 2010-12-29 情報処理プログラム、情報処理システム、情報処理装置および情報処理方法

Country Status (2)

Country Link
US (1) US8684837B2 (ja)
JP (1) JP5690135B2 (ja)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5620414B2 (ja) * 2012-01-18 2014-11-05 株式会社スクウェア・エニックス ゲーム装置
GB2507810A (en) * 2012-03-15 2014-05-14 Crown Packaging Technology Inc Marking Applications for Metal Packages and Packages Having Metal Components
JP5563613B2 (ja) * 2012-03-30 2014-07-30 株式会社コナミデジタルエンタテインメント ゲーム装置、ゲーム装置の制御方法、及びプログラム
US20140253540A1 (en) * 2013-03-07 2014-09-11 Yoav DORI Method and system of incorporating real world objects into a virtual environment
CN107656618B (zh) * 2013-03-15 2021-03-23 奇跃公司 显示系统和方法
JP5884816B2 (ja) * 2013-12-16 2016-03-15 コニカミノルタ株式会社 透過型hmdを有する情報表示システム及び表示制御プログラム
US10452892B2 (en) 2013-12-17 2019-10-22 Sony Corporation Controlling image processing device to display data based on state of object in real space
US20170061700A1 (en) * 2015-02-13 2017-03-02 Julian Michael Urbach Intercommunication between a head mounted display and a real world object
US10818089B2 (en) * 2018-09-25 2020-10-27 Disney Enterprises, Inc. Systems and methods to provide a shared interactive experience across multiple presentation devices
JP7223555B2 (ja) * 2018-11-12 2023-02-16 任天堂株式会社 情報処理装置、情報処理プログラム、情報処理システム、および情報処理方法
US10918949B2 (en) 2019-07-01 2021-02-16 Disney Enterprises, Inc. Systems and methods to provide a sports-based interactive experience

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3653196B2 (ja) * 1998-06-30 2005-05-25 飛島建設株式会社 仮想現実感を利用した施工支援情報システム。
JP3584229B2 (ja) * 2001-09-28 2004-11-04 キヤノン株式会社 映像体験システムおよび情報処理方法
US20060223635A1 (en) * 2005-04-04 2006-10-05 Outland Research method and apparatus for an on-screen/off-screen first person gaming experience
JP5038307B2 (ja) * 2005-08-09 2012-10-03 トタル イメルシオン 実在環境内においてデジタルモデルを視覚化する方法、装置、及びコンピュータプログラム
JP2006260602A (ja) * 2006-06-13 2006-09-28 Sony Computer Entertainment Inc 画像処理装置
JP4331190B2 (ja) * 2006-09-21 2009-09-16 株式会社ソニー・コンピュータエンタテインメント ゲーム装置、ゲーム制御方法、及びゲーム制御プログラム
JP5153119B2 (ja) 2006-11-01 2013-02-27 富士フイルム株式会社 ゲーム装置、ゲーム方法、及びゲームプログラム
EP2157545A1 (en) * 2008-08-19 2010-02-24 Sony Computer Entertainment Europe Limited Entertainment device, system and method
JP5433215B2 (ja) * 2008-11-21 2014-03-05 株式会社コナミデジタルエンタテインメント ゲーム装置、ゲーム装置の制御方法及びプログラム

Also Published As

Publication number Publication date
US8684837B2 (en) 2014-04-01
JP2012141822A (ja) 2012-07-26
US20120172127A1 (en) 2012-07-05

Similar Documents

Publication Publication Date Title
JP5690135B2 (ja) 情報処理プログラム、情報処理システム、情報処理装置および情報処理方法
US9495800B2 (en) Storage medium having stored thereon image processing program, image processing apparatus, image processing system, and image processing method
JP5586545B2 (ja) ゲームシステム、携帯型ゲーム装置、情報処理部の制御方法、および情報処理部の制御プログラム
JP5800501B2 (ja) 表示制御プログラム、表示制御装置、表示制御システム、及び、表示制御方法
JP5791433B2 (ja) 情報処理プログラム、情報処理システム、情報処理装置および情報処理方法
JP5675260B2 (ja) 画像処理プログラム、画像処理装置、画像処理システム、及び、画像処理方法
JP5122659B2 (ja) 情報処理プログラム、情報処理方法、情報処理装置及び情報処理システム
JP5627973B2 (ja) ゲーム処理をするためのプログラム、装置、システムおよび方法
JP4917664B1 (ja) 画像表示装置、ゲームプログラム、ゲーム制御方法
US8884987B2 (en) Storage medium having stored thereon display control program, display control apparatus, display control system, and display control method for setting and controlling display of a virtual object using a real world image
US9594399B2 (en) Computer-readable storage medium, display control apparatus, display control method and display control system for controlling displayed virtual objects with symbol images
JP5814532B2 (ja) 表示制御プログラム、表示制御装置、表示制御システム及び表示制御方法
JP5520656B2 (ja) プログラム及び画像生成装置
JP5939733B2 (ja) 画像処理プログラム、画像処理装置、画像処理システム、及び、画像処理方法
US8784202B2 (en) Apparatus and method for repositioning a virtual camera based on a changed game state
US20120268493A1 (en) Information processing system for augmented reality
JP5791434B2 (ja) 情報処理プログラム、情報処理システム、情報処理装置および情報処理方法
JP2013050883A (ja) 情報処理プログラム、情報処理システム、情報処理装置および情報処理方法
JP5117565B2 (ja) 情報処理プログラム、情報処理装置、情報処理方法及び情報処理システム
JP5714393B2 (ja) 情報処理プログラム、情報処理装置、情報処理方法及び情報処理システム
JP2012106005A (ja) 画像表示装置、ゲームプログラム、ゲーム制御方法
JP4469709B2 (ja) 画像処理プログラムおよび画像処理装置
JP5639138B2 (ja) 情報処理プログラム、情報処理方法、情報処理装置及び情報処理システム

Legal Events

Date Code Title Description
RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20120713

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20131114

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140815

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140825

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20141010

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20150126

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150130

R150 Certificate of patent or registration of utility model

Ref document number: 5690135

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250