JP4798705B2 - 位置算出装置、位置算出プログラム、ゲーム装置、およびゲームプログラム - Google Patents

位置算出装置、位置算出プログラム、ゲーム装置、およびゲームプログラム Download PDF

Info

Publication number
JP4798705B2
JP4798705B2 JP2006081336A JP2006081336A JP4798705B2 JP 4798705 B2 JP4798705 B2 JP 4798705B2 JP 2006081336 A JP2006081336 A JP 2006081336A JP 2006081336 A JP2006081336 A JP 2006081336A JP 4798705 B2 JP4798705 B2 JP 4798705B2
Authority
JP
Japan
Prior art keywords
imaging
positional relationship
game
size
controller
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
JP2006081336A
Other languages
English (en)
Other versions
JP2007256100A (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 JP2006081336A priority Critical patent/JP4798705B2/ja
Priority to US11/545,444 priority patent/US7831064B2/en
Publication of JP2007256100A publication Critical patent/JP2007256100A/ja
Application granted granted Critical
Publication of JP4798705B2 publication Critical patent/JP4798705B2/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
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/0304Detection arrangements using opto-electronic means
    • G06F3/0325Detection arrangements using opto-electronic means using a plurality of light emitters or reflectors or a plurality of detectors forming a reference frame from which to derive the orientation of the object, e.g. by triangulation or on the basis of reference deformation in the picked up image
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/033Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
    • G06F3/0346Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor with detection of the device orientation or free movement in a 3D space, e.g. 3D mice, 6-DOF [six degrees of freedom] pointers using gyroscopes, accelerometers or tilt-sensors
    • 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/25Output arrangements for video game devices
    • A63F13/28Output arrangements for video game devices responding to control signals received from the game device for affecting ambient conditions, e.g. for vibrating players' seats, activating scent dispensers or affecting temperature or light
    • 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/54Controlling the output signals based on the game progress involving acoustic signals, e.g. for simulating revolutions per minute [RPM] dependent engine sounds in a driving game or reverberation against a virtual wall
    • 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/10Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by input arrangements for converting player-generated signals into game device control signals
    • A63F2300/1087Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by input arrangements for converting player-generated signals into game device control signals comprising photodetecting means, e.g. a camera
    • 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/6045Methods for processing data by generating or executing the game program for mapping control signals received from the input arrangement into game commands
    • 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
    • A63F2300/6661Methods for processing data by generating or executing the game program for rendering three dimensional images for changing the position of the virtual camera
    • A63F2300/6676Methods for processing data by generating or executing the game program for rendering three dimensional images for changing the position of the virtual camera by dedicated player input
    • 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/8088Features 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 involving concurrently several players in a non-networked game, e.g. on the same game console

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Length Measuring Devices By Optical Means (AREA)
  • Measurement Of Optical Distance (AREA)
  • Position Input By Displaying (AREA)
  • Processing Or Creating Images (AREA)

Description

本発明は、位置算出装置、位置算出プログラム、ゲーム装置、およびゲームプログラムに関し、より特定的には、撮像手段を備えた入力装置の位置を算出する位置算出装置および位置算出プログラムや当該位置算出結果に応じた処理を行うゲーム装置およびゲームプログラムに関する。
従来、赤外線光源を標識として撮像し、その撮像結果を解析して撮像装置の位置と方向を求める位置検出システムが開示されている(例えば、特許文献1参照)。
特許文献1では、位置検出システムの実施例として撮像装置が取り付けられた銃をゲームコントローラとして狙い撃ちするゲームを開示している。撮像装置は、ブラウン管の4隅に配設された赤外線光源を標識として、当該標識が撮像された撮像画像上の位置に応じて銃がブラウン管に対して指し示している位置を検出する。そして、銃が指し示している位置を照準位置として仮想的な射撃ゲームが実行される。なお、特許文献1の第15段落に記載されているように、標識を2つ設置した場合、撮像装置の軸と標識の軸とが並行であれば、照準位置と各標識との距離が判ることが記載されている。
特開平11−305935号公報
しかしながら、上記特許文献1に記載された位置検出システムにおいては、標識が2つの場合は、撮像装置の軸と標識の軸とが並行でなければ、距離を算出することができない。
それ故に、本発明の目的は、2つの撮像対象を用いて撮像装置が搭載された入力装置と撮像対象との距離の算出を行うとき、撮像対象に対して撮像装置が斜めを向いていても位置関係の算出を可能とする位置算出装置、位置算出プログラム、ゲーム装置、およびゲームプログラムを提供することである。
上記の目的を達成するために、本発明は以下の構成を採用した。なお、括弧内の参照符号、ステップ番号(ステップをSと略称しステップ番号のみを記載する)、図面番号等は、本発明の理解を助けるために後述する最良の形態との対応関係を示したものであって、本発明の範囲を何ら限定するものではない。
第1の発明は、第1および第2の撮像対象(8L、8R)を撮像するための撮像装置(74)と、その撮像対象との位置関係(realD、δ1、δ2)を算出する位置算出装置(3)である。位置算出装置は、対象画像サイズ取得手段(S101)および位置関係算出手段(S107)を備える。対象画像サイズ取得手段は、撮像装置の撮像画像において第1の撮像対象を示す対象画像の大きさ(diamL)を示す第1のサイズ(Da1)と、その撮像画像において第2の撮像対象を示す対象画像の大きさ(diamR)を示す第2のサイズ(Da2)とを取得する。位置関係算出手段は、第1および第2のサイズに基づいて、撮像装置と撮像対象との位置関係を算出する。なお、第1サイズおよび第2サイズは、撮像装置側で算出されたものを対象画像サイズ取得手段で取得してもいいし、対象画像サイズ取得手段が撮像画像から算出して取得してもいい。
第2の発明は、上記第1の発明において、位置関係算出手段は、撮像対象距離算出手段(S103、S105)を含む。撮像対象距離算出手段は、第1のサイズとその第1のサイズに対応する第1の撮像対象の実際の大きさ(diamM)とに基づいて、撮像装置と第1の撮像対象との間の第1の距離(realDL)を算出し、第2のサイズとその第2のサイズに対応する第2の撮像対象の実際の大きさ(diamM)とに基づいて、撮像装置と第2の撮像対象との間の第2の距離(realDR)を算出する。位置関係算出手段は、第1および第2の距離と第1および第2の撮像対象の間の実際の配置間隔(m)とに基づいて、第1および第2の撮像対象の間にある所定位置と撮像装置との位置関係を算出する。
第3の発明は、上記第2の発明において、位置関係算出手段は、第1および第2の撮像対象の間の中点と撮像装置との間の距離(realD)を位置関係として算出する。
第4の発明は、上記第2の発明において、位置関係算出手段は、第1および第2の撮像対象の間の中点と撮像装置とを結ぶ配置方向(δ2)を位置関係として算出する。
第5の発明は、上記第2の発明において、位置関係算出手段は、第1および第2の撮像対象の一方と撮像装置とを結ぶ配置方向(δ1)を位置関係として算出する。
第6の発明は、上記第3の発明において、位置関係算出手段は、角度算出手段(S106)を含む。角度算出手段は、第1および第2の距離と配置間隔とに基づいて、第1および第2の撮像対象を結ぶ直線と、第1の撮像対象と撮像装置とを結ぶ直線との間の角度(δ1)を算出する。位置関係算出手段は、角度と第1の距離と配置間隔の2分の1の長さとに基づいて、中点と撮像装置との間の距離を算出する。
第7の発明は、上記第6の発明において、位置関係算出手段は、第1の距離と配置間隔の2分の1の長さと中点および撮像装置の間の距離とに基づいて、第1および第2の撮像対象を結ぶ直線と中点および撮像装置を結ぶ直線との間の配置角度(δ2)を位置関係としてさらに算出する。
第8の発明は、上記第1〜第7の発明の何れかの位置算出装置と、ゲーム処理手段(30)と、表示制御手段(32)とを備えるゲーム装置(3)である。ゲーム処理手段は、位置関係算出手段によって算出された位置関係に応じて、仮想ゲーム世界に対する所定のゲーム処理(図17〜図19)を行う。表示制御手段は、仮想ゲーム世界の少なくとも一部を逐次表示装置(2)に表示させる。
第9の発明は、上記第8の発明において、ゲーム処理手段は、位置関係に応じて、仮想ゲーム世界に配置される仮想カメラ(C)の位置を決定する。表示制御手段は、仮想カメラで撮像された仮想ゲーム世界の少なくとも一部を逐次表示装置に表示させる(図18)。
第10の発明は、上記第8の発明において、ゲーム処理手段は、位置関係に応じて、仮想ゲーム世界に登場する所定のオブジェクト(PC)の位置を決定する(図19)。
第11の発明は、上記第8の発明において、撮像装置は、その作動によって所定の振動を発生する振動発生装置(704)と共に同一の筐体(7、71)内に設けられる。ゲーム処理手段は、位置関係に応じて、振動発生装置が発生する振動を制御する。
第12の発明は、上記第4、第5、および第7の発明のいずれかの位置算出装置と、ゲーム処理手段と、表示制御手段とを備えるゲーム装置である。ゲーム処理手段は、仮想ゲーム世界に対する所定のゲーム処理を行う。表示制御手段は、仮想ゲーム世界の少なくとも一部を逐次表示装置に表示させる。位置関係算出手段は、複数の撮像装置に対して配置方向または配置角度をそれぞれ算出する。表示制御手段は、表示装置の表示領域を複数の領域に分割し、配置方向または配置角度に応じてそれぞれの領域を撮像装置毎に割り当てる(図17)。
第13の発明は、上記第1〜第7の発明のいずれかの位置算出装置と、ゲーム処理手段と、表示制御手段と、音声制御手段(34)とを備えるゲーム装置である。ゲーム処理手段は、仮想ゲーム世界に対する所定のゲーム処理を行う。表示制御手段は、仮想ゲーム世界の少なくとも一部を逐次表示装置に表示させる。音声制御手段は、ゲーム処理手段のゲーム処理に応じて、複数のスピーカ(2a)からサウンドを出力させる。音声制御手段は、位置関係に応じて、スピーカから出力する音量を制御する。
第14の発明は、第1および第2の撮像対象を撮像するための撮像装置と、その撮像対象との位置関係を算出するコンピュータ(30)で実行される位置算出プログラムである。位置算出プログラムは、対象画像サイズ取得ステップおよび位置関係算出ステップを、コンピュータに実行させる。対象画像サイズ取得ステップは、撮像装置の撮像画像において第1の撮像対象を示す対象画像の大きさを示す第1のサイズと、その撮像画像において第2の撮像対象を示す対象画像の大きさを示す第2のサイズとを取得する。位置関係算出ステップは、第1および第2のサイズに基づいて、撮像装置と撮像対象との位置関係を算出する。
第15の発明は、上記第14の発明において、位置関係算出ステップは、撮像対象距離算出ステップを含む。撮像対象距離算出ステップは、第1のサイズとその第1のサイズに対応する第1の撮像対象の実際の大きさとに基づいて、撮像装置と第1の撮像対象との間の第1の距離を算出し、第2のサイズとその第2のサイズに対応する第2の撮像対象の実際の大きさとに基づいて、撮像装置と第2の撮像対象との間の第2の距離を算出する。位置関係算出ステップでは、第1および第2の距離と第1および第2の撮像対象の間の実際の配置間隔とに基づいて、第1および第2の撮像対象の間にある所定位置と撮像装置との位置関係が算出される。
第16の発明は、上記第15の発明において、位置関係算出ステップでは、第1および第2の撮像対象の間の中点と撮像装置との間の距離が位置関係として算出される。
第17の発明は、上記第15の発明において、位置関係算出ステップでは、第1および第2の撮像対象の間の中点と撮像装置とを結ぶ配置方向が位置関係として算出される。
第18の発明は、上記第15の発明において、位置関係算出ステップでは、第1および第2の撮像対象の一方と撮像装置とを結ぶ配置方向が位置関係として算出される。
第19の発明は、上記第16の発明において、位置関係算出ステップは、角度算出ステップを含む。角度算出ステップは、第1および第2の距離と配置間隔とに基づいて、第1および第2の撮像対象を結ぶ直線と、第1の撮像対象と撮像装置とを結ぶ直線との間の角度を算出する。位置関係算出ステップでは、角度と第1の距離と配置間隔の2分の1の長さとに基づいて、中点と撮像装置との間の距離が算出される。
第20の発明は、上記第19の発明において、位置関係算出ステップでは、第1の距離と配置間隔の2分の1の長さと中点および撮像装置の間の距離とに基づいて、第1および第2の撮像対象を結ぶ直線と中点および撮像装置を結ぶ直線との間の配置角度が位置関係としてさらに算出される。
第21の発明は、上記第14〜第20の発明のいずれかの位置算出プログラムがコンピュータに実行させるステップと、ゲーム処理ステップと、表示制御ステップとを、コンピュータに実行させるゲームプログラムである。ゲーム処理ステップは、位置関係算出ステップで算出された位置関係に応じて、仮想ゲーム世界に対する所定のゲーム処理を行う。表示制御ステップは、仮想ゲーム世界の少なくとも一部を逐次表示装置に表示させる。
第22の発明は、上記第21の発明において、ゲーム処理ステップでは、位置関係に応じて、仮想ゲーム世界に配置される仮想カメラの位置が決定される。表示制御ステップでは、仮想カメラで撮像された仮想ゲーム世界の少なくとも一部を逐次表示装置に表示させる。
第23の発明は、上記第21の発明において、ゲーム処理ステップでは、位置関係に応じて、仮想ゲーム世界に登場する所定のオブジェクトの位置が決定される。
第24の発明は、上記第21の発明において、撮像装置は、その作動によって所定の振動を発生する振動発生装置と共に同一の筐体内に設けられる。ゲーム処理ステップでは、位置関係に応じて、振動発生装置が発生する振動が制御される。
第25の発明は、上記第17、第18、および第20の発明のいずれかの位置算出プログラムがコンピュータに実行させるステップと、ゲーム処理ステップと、表示制御ステップとを、コンピュータに実行させるゲームプログラムである。ゲーム処理ステップは、仮想ゲーム世界に対する所定のゲーム処理を行う。表示制御ステップは、コンピュータに実行させ、仮想ゲーム世界の少なくとも一部を逐次表示装置に表示させる。位置関係算出ステップでは、複数の撮像装置に対して配置方向または配置角度がそれぞれ算出される。表示制御ステップでは、表示装置の表示領域を複数の領域に分割し、配置方向または配置角度に応じてそれぞれの領域が撮像装置毎に割り当てられる。
第26の発明は、上記第14〜第20の発明のいずれかの位置算出プログラムがコンピュータに実行させるステップと、ゲーム処理ステップと、表示制御ステップと、音声制御ステップとを、コンピュータに実行させるゲームプログラムである。ゲーム処理ステップは、仮想ゲーム世界に対する所定のゲーム処理を行う。表示制御ステップは、仮想ゲーム世界の少なくとも一部を逐次表示装置に表示させる。音声制御ステップは、ゲーム処理ステップのゲーム処理に応じて、複数のスピーカからサウンドを出力させる。音声制御ステップでは、位置関係に応じて、スピーカから出力する音量が制御される。
上記第1の発明によれば、撮像画像内における撮像対象を示す対象画像の大きさを用いることによって、撮像対象と撮像装置との位置関係を正確に算出することができる。
上記第2の発明によれば、撮像対象が2つであっても、第1および第2の撮像対象の間にある所定位置と撮像装置との位置関係を正確に算出することができる。
上記第3の発明によれば、2つの撮像対象を結ぶ方向に対して撮像装置が斜めに配置されていても、第1および第2の撮像対象の間にある中点と撮像装置との距離を正確に算出することができる。
上記第4および第5の発明によれば、撮像対象が2つであっても、撮像対象に対してどの方向から撮像装置が撮像しているか算出することができる。
上記第6の発明によれば、2つの撮像対象を結ぶ方向に対して撮像装置が斜めに配置されていても、余弦定理を用いて第1および第2の撮像対象の間にある中点と撮像装置との距離を正確に算出することができる。
上記第7の発明によれば、2つの撮像対象を結ぶ方向に対して撮像装置が斜めに配置されていても、その撮像装置が撮像している方向と第1および第2の撮像対象の間にある中点と撮像装置との距離とを正確に算出することができる。
上記第8の発明によれば、撮像対象と撮像装置との位置関係をゲーム処理に反映させることによって、新たなゲーム操作入力が可能となる。
上記第9の発明によれば、撮像対象に対する撮像装置の撮像方向を変化させることによって、表示装置に表示された表示物の裏側に回り込んで当該表示物を見るような操作が可能となる。また、撮像対象に対して前後に撮像装置を移動させることによって、表示物に近づけるまたは遠ざけて当該表示物を見るような操作が可能となる。したがって、撮像装置の位置に応じて仮想カメラの視線方向や位置が変化するため、あたかも撮像装置本体の動きで仮想カメラを移動させているような操作感覚が得られる。
上記第10の発明によれば、撮像対象に対して撮像装置の撮像方向を変えることによって、仮想ゲーム世界のオブジェクトが他のオブジェクトと相対する角度を変えるような操作が可能となる。また、撮像対象に対して前後に撮像装置を移動させることによって、操作するオブジェクトを他のオブジェクトに近づけるまたは遠ざけるような操作が可能となる。したがって、あたかも撮像装置本体の動きで仮想ゲーム世界のオブジェクトを移動させているような操作感覚が得られる。
上記第11の発明によれば、例えば、表示装置に表示された振動源に対する撮像装置の位置関係に応じた振動が振動発生装置に与えられ、当該振動発生装置が設けられた筐体を把持しているプレイヤの手に伝達されるため、プレイヤは、あたかも現実の振動源に近寄ったような感覚を得ることができる。
上記第12の発明によれば、分割された複数の表示領域を、各撮像装置の位置関係に応じてそれぞれの撮像装置を操作するプレイヤに割り当てることができ、例えば、複数のプレイヤが並ぶ順にそれぞれのプレイヤの表示領域を割り当てることができる。
上記第13の発明によれば、撮像装置を操作するプレイヤの視聴方向や視聴距離に応じた音量でサウンド再生することができる。
本発明の位置算出プログラムおよびゲームプログラムによれば、コンピュータで実行することによって上述した位置算出装置およびゲーム装置と同様の効果を得ることができる。
図1を参照して、本発明の一実施形態に係る位置算出装置およびゲーム装置について説明する。以下、説明を具体的にするために、当該位置算出装置として機能するゲーム装置を用いたゲームシステム1を一例として説明する。なお、図1は、当該ゲームシステム1を説明するための外観図である。以下、本発明の位置算出装置およびゲーム装置の一例として据置型ゲーム装置を用いて、当該ゲームシステム1について説明する。
図1において、当該ゲームシステム1は、ステレオスピーカ2aを備えた家庭用テレビジョン受像機等のディスプレイ(以下、モニタと記載する)2に、接続コードを介して接続される据置型ゲーム装置(以下、単にゲーム装置と記載する)3および当該ゲーム装置3に操作情報を与えるコントローラ7によって構成される。ゲーム装置3は、接続端子を介して受信ユニット6が接続される。受信ユニット6は、コントローラ7から無線送信される送信データを受信し、コントローラ7とゲーム装置3とは無線通信によって接続される。また、ゲーム装置3には、当該ゲーム装置3に対して交換可能に用いられる情報記憶媒体の一例の光ディスク4が脱着される。ゲーム装置3の上部主面には、当該ゲーム装置3の電源ON/OFFスイッチ、ゲーム処理のリセットスイッチ、およびゲーム装置3上部の蓋を開くOPENスイッチが設けられている。ここで、プレイヤがOPENスイッチを押下することによって上記蓋が開き、光ディスク4の脱着が可能となる。
また、ゲーム装置3には、セーブデータ等を固定的に記憶するバックアップメモリ等を搭載する外部メモリカード5が必要に応じて着脱自在に装着される。ゲーム装置3は、光ディスク4に記憶されたゲームプログラムなどを実行することによって、その結果をゲーム画像としてモニタ2に表示する。なお、本発明の位置算出処理プログラムは、光ディスク4に記憶されたゲームプログラムの一部に含まれているものとする。さらに、ゲーム装置3は、外部メモリカード5に記憶されたセーブデータを用いて、過去に実行されたゲーム状態を再現して、ゲーム画像をモニタ2に表示することもできる。そして、ゲーム装置3のプレイヤは、モニタ2に表示されたゲーム画像を見ながら、コントローラ7を操作することによって、ゲーム進行を楽しむことができる。
コントローラ7は、その内部に備える通信部75(後述)から受信ユニット6が接続されたゲーム装置3へ、例えばBluetooth(ブルートゥース;登録商標)の技術を用いて送信データを無線送信する。コントローラ7は、主にモニタ2に表示されるゲーム空間に登場するプレイヤオブジェクトを操作するための操作手段である。コントローラ7は、複数の操作ボタン、キー、およびスティック等の操作部が設けられている。また、後述により明らかとなるが、コントローラ7は、当該コントローラ7から見た画像を撮像する撮像情報演算部74を備えている。また、撮像情報演算部74の撮像対象の一例として、モニタ2の表示画面近傍に2つのLEDモジュール(以下、マーカと記載する)8Lおよび8Rが設置される。これらマーカ8Lおよび8Rは、それぞれモニタ2の前方に向かって赤外光を出力する。
次に、図2を参照して、ゲーム装置3の構成について説明する。なお、図2は、ゲーム装置3の機能ブロック図である。
図2において、ゲーム装置3は、各種プログラムを実行する例えばリスク(RISC)CPU(セントラルプロセッシングユニット)30を備える。CPU30は、図示しないブートROMに記憶された起動プログラムを実行し、メインメモリ33等のメモリの初期化等を行った後、光ディスク4に記憶されているゲームプログラムの実行し、そのゲームプログラムに応じたゲーム処理等を行うものである。CPU30には、メモリコントローラ31を介して、GPU(Graphics Processing Unit)32、メインメモリ33、DSP(Digital Signal Processor)34、およびARAM(Audio RAM)35が接続される。また、メモリコントローラ31には、所定のバスを介して、コントローラI/F(インターフェース)36、ビデオI/F37、外部メモリI/F38、オーディオI/F39、およびディスクI/F41が接続され、それぞれ受信ユニット6、モニタ2、外部メモリカード5、スピーカ2a、およびディスクドライブ40が接続されている。
GPU32は、CPU30の命令に基づいて画像処理を行うものあり、例えば、3Dグラフィックスの表示に必要な計算処理を行う半導体チップで構成される。GPU32は、図示しない画像処理専用のメモリやメインメモリ33の一部の記憶領域を用いて画像処理を行う。GPU32は、これらを用いてモニタ2に表示すべきゲーム画像データやムービ映像を生成し、適宜メモリコントローラ31およびビデオI/F37を介してモニタ2に出力する。
メインメモリ33は、CPU30で使用される記憶領域であって、CPU30の処理に必要なゲームプログラム等を適宜記憶する。例えば、メインメモリ33は、CPU30によって光ディスク4から読み出されたゲームプログラムや各種データ等を記憶する。このメインメモリ33に記憶されたゲームプログラムや各種データ等がCPU30によって実行される。
DSP34は、ゲームプログラム実行時にCPU30において生成されるサウンドデータ等を処理するものであり、そのサウンドデータ等を記憶するためのARAM35が接続される。ARAM35は、DSP34が所定の処理(例えば、先読みしておいたゲームプログラムやサウンドデータの記憶)を行う際に用いられる。DSP34は、ARAM35に記憶されたサウンドデータを読み出し、メモリコントローラ31およびオーディオI/F39を介してモニタ2に備えるスピーカ2aに出力させる。
メモリコントローラ31は、データ転送を統括的に制御するものであり、上述した各種I/Fが接続される。コントローラI/F36は、例えば4つのコントローラI/F36a〜36dで構成され、それらが有するコネクタを介して嵌合可能な外部機器とゲーム装置3とを通信可能に接続する。例えば、受信ユニット6は、上記コネクタと嵌合し、コントローラI/F36を介してゲーム装置3と接続される。上述したように受信ユニット6は、コントローラ7からの送信データを受信し、コントローラI/F36を介して当該送信データをCPU30へ出力する。ビデオI/F37には、モニタ2が接続される。外部メモリI/F38には、外部メモリカード5が接続され、その外部メモリカード5に設けられたバックアップメモリ等とアクセス可能となる。オーディオI/F39にはモニタ2に内蔵されるスピーカ2aが接続され、DSP34がARAM35から読み出したサウンドデータやディスクドライブ40から直接出力されるサウンドデータをスピーカ2aから出力可能に接続される。ディスクI/F41には、ディスクドライブ40が接続される。ディスクドライブ40は、所定の読み出し位置に配置された光ディスク4に記憶されたデータを読み出し、ゲーム装置3のバスやオーディオI/F39に出力する。
図3および図4を参照して、コントローラ7について説明する。なお、図3は、コントローラ7の上面後方から見た斜視図である。図4は、コントローラ7を下面後方から見た斜視図である。
図3および図4において、コントローラ7は、例えばプラスチック成型によって形成されたハウジング71を有しており、当該ハウジング71に複数の操作部72が設けられている。ハウジング71は、その前後方向を長手方向とした略直方体形状を有しており、全体として大人や子供の片手で把持可能な大きさである。
ハウジング71上面の中央前面側に、十字キー72aが設けられる。この十字キー72aは、十字型の4方向プッシュスイッチであり、矢印で示す4つの方向(前後左右)に対応する操作部分が十字の突出片にそれぞれ90°間隔で配置される。プレイヤが十字キー72aのいずれかの操作部分を押下することによって前後左右いずれかの方向を選択される。例えばプレイヤが十字キー72aを操作することによって、仮想ゲーム世界に登場するプレイヤキャラクタ等の移動方向を指示したり、カーソルの移動方向を指示したりすることができる。
なお、十字キー72aは、上述したプレイヤの方向入力操作に応じて操作信号を出力する操作部であるが、他の態様の操作部でもかまわない。例えば、リング状に4方向の操作部分を備えたプッシュスイッチとその中央に設けられたセンタスイッチとを複合した複合スイッチを上記十字キー72aの代わりに設けてもかまわない。また、ハウジング71上面から突出した傾倒可能なスティックを倒すことによって、傾倒方向に応じて操作信号を出力する操作部を上記十字キー72aの代わりに設けてもかまわない。さらに、水平移動可能な円盤状部材をスライドさせることによって、当該スライド方向に応じた操作信号を出力する操作部を、上記十字キー72aの代わりに設けてもかまわない。また、タッチパッドを、上記十字キー72aの代わりに設けてもかまわない。また、少なくとも4つの方向(前後左右)をそれぞれ示すスイッチに対して、プレイヤによって押下されたスイッチに応じて操作信号を出力する操作部を上記十字キー72aの代わりに設けてもかまわない。
ハウジング71上面の十字キー72aより後面側に、複数の操作ボタン72b〜72gが設けられる。操作ボタン72b〜72gは、プレイヤがボタン頭部を押下することによって、それぞれの操作ボタン72b〜72gに割り当てられた操作信号を出力する操作部である。例えば、操作ボタン72b〜72dには、Xボタン、Yボタン、およびBボタン等としての機能が割り当てられる。また、操作ボタン72e〜72gには、セレクトスイッチ、メニュースイッチ、およびスタートスイッチ等としての機能が割り当てられる。これら操作ボタン72b〜72gは、ゲーム装置3が実行するゲームプログラムに応じてそれぞれの機能が割り当てられるが、本発明の説明とは直接関連しないため詳細な説明を省略する。なお、図3に示した配置例では、操作ボタン72b〜72dは、ハウジング71上面の中央前後方向に沿って並設されている。また、操作ボタン72e〜72gは、ハウジング71上面の左右方向に沿って操作ボタン72bおよび72dの間に並設されている。そして、操作ボタン72fは、その上面がハウジング71の上面に埋没しており、プレイヤが不意に誤って押下することのないタイプのボタンである。
また、ハウジング71上面の十字キー72aより前面側に、操作ボタン72hが設けられる。操作ボタン72hは、遠隔からゲーム装置3本体の電源をオン/オフする電源スイッチである。この操作ボタン72hも、その上面がハウジング71の上面に埋没しており、プレイヤが不意に誤って押下することのないタイプのボタンである。
また、ハウジング71上面の操作ボタン72cより後面側に、複数のLED702が設けられる。ここで、コントローラ7は、他のコントローラ7と区別するためにコントローラ種別(番号)が設けられている。例えば、LED702は、コントローラ7に現在設定されている上記コントローラ種別をプレイヤに通知するために用いられる。具体的には、コントローラ7から受信ユニット6へ送信データを送信する際、上記コントローラ種別に応じて複数のLED702のうち、種別に対応するLEDが点灯する。
一方、ハウジング71下面には、凹部が形成されている。後述で明らかとなるが、ハウジング71下面の凹部は、プレイヤがコントローラ7を把持したときに当該プレイヤの人差し指や中指が位置するような位置に形成される。そして、上記凹部の後面側傾斜面には、操作ボタン72iが設けられる。操作ボタン72iは、例えばAボタンとして機能する操作部であり、シューティングゲームにおけるトリガスイッチや、プレイヤオブジェクトを所定オブジェクトに対して注目させる操作等に用いられる。なお、本発明では、操作ボタン72iがモニタ2に表示された表示物を掴むような操作をするためのドラッグボタンとして機能し、操作ボタン72iを押下することによってモニタ2に表示された表示物を掴むことができる。
また、ハウジング71前面には、撮像情報演算部74の一部を構成する撮像素子743が設けられる。ここで、撮像情報演算部74は、コントローラ7が撮像した画像データを解析してその中で輝度が高い場所を判別してその場所の重心位置やサイズなどを検出するためのシステムであり、例えば、最大200フレーム/秒程度のサンプリング周期であるため比較的高速なコントローラ7の動きでも追跡して解析することができる。この撮像情報演算部74の詳細な構成については、後述する。また、ハウジング71の後面には、コネクタ73が設けられている。コネクタ73は、例えば32ピンのエッジコネクタであり、例えば接続ケーブルと嵌合して接続するために利用される。
次に、図5を参照して、コントローラ7の内部構造について説明する。なお、図5(a)は、コントローラ7の上筐体(ハウジング71の一部)を外した状態を示す斜視図である。図5(b)は、コントローラ7の下筐体(ハウジング71の一部)を外した状態を示す斜視図である。ここで、図5(b)に示す基板700は、図5(a)に示す基板700の裏面から見た斜視図となっている。
図5(a)において、ハウジング71の内部には基板700が固設されており、当該基板700の上主面上に操作ボタン72a〜72h、加速度センサ701、LED702、水晶振動子703、無線モジュール753、およびアンテナ754等が設けられる。そして、これらは、基板700等に形成された配線(図示せず)によってマイコン751(図6参照)に接続される。また、無線モジュール753およびアンテナ754によって、コントローラ7がワイヤレスコントローラとして機能する。なお、水晶振動子703は、後述するマイコン751の基本クロックを生成する。
一方、図5(b)において、基板700の下主面上の前端縁に撮像情報演算部74が設けられる。撮像情報演算部74は、コントローラ7の前方から順に赤外線フィルタ741、レンズ742、撮像素子743、および画像処理回路744によって構成されており、それぞれ基板700の下主面に取り付けられる。また、基板700の下主面上の後端縁にコネクタ73が取り付けられる。そして、操作ボタン72iが撮像情報演算部74の後方の基板700の下主面上に取り付けられていて、それよりさらに後方に、電池705が収容される。電池705とコネクタ73との間の基板700の下主面上には、バイブレータ704が取り付けられる。このバイブレータ704は、例えば振動モータやソレノイドであってよい。バイブレータ704が作動することによってコントローラ7に振動が発生するので、それを把持しているプレイヤの手にその振動が伝達され、いわゆる振動対応ゲームが実現できる。
次に、図6を参照して、コントローラ7の内部構成について説明する。なお、図6は、コントローラ7の構成を示すブロック図である。
図6において、コントローラ7は、上述した操作部72および撮像情報演算部74の他に、その内部に通信部75および加速度センサ701を備えている。
撮像情報演算部74は、赤外線フィルタ741、レンズ742、撮像素子743、および画像処理回路744を含んでいる。赤外線フィルタ741は、コントローラ7の前方から入射する光から赤外線のみを通過させる。レンズ742は、赤外線フィルタ741を透過した赤外線を集光して撮像素子743へ出射する。撮像素子743は、例えばCMOSセンサやあるいはCCDのような固体撮像素子であり、レンズ742が集光した赤外線を撮像する。したがって、撮像素子743は、赤外線フィルタ741を通過した赤外線だけを撮像して画像データを生成する。撮像素子743で生成された画像データは、画像処理回路744で処理される。具体的には、画像処理回路744は、撮像素子743から得られた画像データを処理して高輝度部分を検知し、それらの位置座標やそれらの面積、直径、幅等を検出した結果を示す処理結果データを通信部75へ出力する。なお、これらの撮像情報演算部74は、コントローラ7のハウジング71に固設されており、ハウジング71自体の方向を変えることによってその撮像方向を変更することができる。後述により明らかとなるが、この撮像情報演算部74から出力される処理結果データに基づいて、コントローラ7の位置や動きに応じた信号を得ることができる。
加速度センサ701は、コントローラ7の上下方向、左右方向、および前後方向の3軸でそれぞれ加速度を検知する加速度センサである。なお、加速度センサ701は、必要な操作信号の種類によっては、上下方向および左右方向の2軸でそれぞれ加速度を検出する加速度センサが用いられてもかまわない。加速度センサ701が検知した加速度を示すデータは、通信部75へ出力される。なお、加速度センサ701は、典型的には静電容量式の加速度センサが用いられるが、他の方式の加速度センサを用いてもかまわない。この加速度センサ701から出力される加速度データに基づいて、マイコン751やCPU30などのコンピュータを利用したソフトウェア処理によってコントローラ7の動きを算出することができる。
通信部75は、マイクロコンピュータ(Micro Computer:マイコン)751、メモリ752、無線モジュール753、およびアンテナ754を含んでいる。マイコン751は、処理の際にメモリ752を記憶領域として用いながら、送信データを無線送信する無線モジュール753を制御する。
コントローラ7に設けられた操作部72からの操作信号(キーデータ)、加速度センサ701からの加速度信号(加速度データ)、および撮像情報演算部74からの処理結果データは、マイコン751に出力される。マイコン751は、入力した各データ(キーデータ、加速度データ、処理結果データ)を受信ユニット6へ送信する送信データとして一時的にメモリ752に格納する。ここで、通信部75から受信ユニット6への無線送信は、所定の周期毎に行われるが、ゲームの処理は1/60秒を単位として行われることが一般的であるので、それよりも短い周期で送信を行うことが必要となる。具体的には、ゲームの処理単位は16.7ms(1/60秒)であり、ブルートゥース(登録商標)で構成される通信部75の送信間隔は5msである。マイコン751は、受信ユニット6への送信タイミングが到来すると、メモリ752に格納されている送信データを一連の操作情報として出力し、無線モジュール753へ出力する。そして、無線モジュール753は、例えばBluetooth(ブルートゥース;登録商標)の技術を用いて、所定周波数の搬送波を用いて操作情報をその電波信号としてアンテナ754から放射する。つまり、コントローラ7に設けられた操作部72からのキーデータ、加速度センサ701からの加速度データ、および撮像情報演算部74からの処理結果データがコントローラ7から送信される。そして、ゲーム装置3の受信ユニット6でその電波信号を受信し、ゲーム装置3で当該電波信号を復調や復号することによって、一連の操作情報(キーデータ、加速度データ、および処理結果データ)を取得する。そして、ゲーム装置3のCPU30は、取得した操作情報とゲームプログラムとに基づいて、ゲーム処理を行う。なお、Bluetooth(登録商標)の技術を用いて通信部75を構成する場合、通信部75は、他のデバイスから無線送信された送信データを受信する機能も備えることができる。
図7に示すように、ゲームシステム1でコントローラ7を用いてゲームをプレイするためには、プレイヤは、一方の手(例えば右手)でコントローラ7を把持する(図8および図9参照)。そして、プレイヤは、コントローラ7の前面(撮像情報演算部74が撮像する光の入射口側)がモニタ2に向くようにコントローラ7を把持する。一方、モニタ2の表示画面近傍には、2つのマーカ8Lおよび8Rが設置される。これらマーカ8Lおよび8Rは、それぞれモニタ2の前方に向かって赤外光を出力し、撮像情報演算部74の撮像対象となる。
プレイヤがその前面がモニタ2に向くようにコントローラ7を把持することによって、撮像情報演算部74には2つのマーカ8Lおよび8Rが出力した赤外光が入射する。そして、赤外線フィルタ741およびレンズ742を介して、入射した赤外光を撮像素子743が撮像し、当該撮像画像を画像処理回路744が処理する。ここで、撮像情報演算部74では、マーカ8Lおよび8Rから出力される赤外線成分を検出することで、上記撮像画像における当該マーカ8Lおよび8Rの位置情報(対象画像の位置)や面積、直径、幅等のサイズ情報を取得する。具体的には、画像処理回路744は、撮像素子743が撮像した画像データを解析して、まず面積情報からマーカ8Lおよび8Rからの赤外光ではあり得ない画像を除外し、さらに輝度が高い点をマーカ8Lおよび8Rそれぞれの位置として判別する。そして、撮像情報演算部74は、判別されたそれらの輝点の重心位置等の位置情報を取得し、上記処理結果データとして出力する。ここで、上記処理結果データである位置情報は、撮像画像における所定の基準点(例えば、撮像画像の中央や左上隅)を原点とした座標値として出力するものでもよく、所定のタイミングにおける輝点位置を基準点として、当該基準位置からの現在の輝点位置の差をベクトルとして出力するものでもよい。つまり、上記対象画像の位置情報は、撮像素子743が撮像した撮像画像に対して所定の基準点を設定した場合に、当該基準点に対する差として用いられるパラメータである。このような位置情報をゲーム装置3へ送信することによって、ゲーム装置3では、基準からの上記位置情報の差に基づいて、マーカ8Lおよび8Rに対する撮像情報演算部74、すなわちコントローラ7の動き、姿勢、位置等に応じた信号の変化量を得ることができる。具体的には、コントローラ7が動かされることによって、通信部75から送信される画像内の高輝度点の位置が変化するため、高輝度点の位置の変化に対応させた方向入力や座標入力を行うことで、3次元空間に対してコントローラ7の移動方向に沿った方向入力や座標入力を行うことができる。
また、撮像情報演算部74が撮像画像におけるマーカ8Lおよび8Rの対象画像それぞれの面積、直径、および幅等の何れかを示すサイズ情報を利用することによって、さらに詳細な3次元空間に対するコントローラ7の位置を解析できる。具体的には、ゲーム装置3では、マーカ8Lおよび8Rに対して斜めの位置から撮像情報演算部74によって撮像された、すなわちモニタ2に対して斜めの位置からコントローラ7を操作した場合でも、そのマーカ8Lおよび8Rからの距離を求めることが可能となる。後述する処理動作例では、ゲーム装置3が上記重心位置の座標に加えて上記サイズ情報も処理結果データとして出力する例を用いる。
このように、コントローラ7の撮像情報演算部74によって、固定的に設置されたマーカ(実施例では、2つのマーカ8Lおよび8Rからの赤外光)を撮像することによって、ゲーム装置3におけるゲーム処理において、コントローラ7から出力されるデータを処理してコントローラ7の動き、姿勢、位置等に対応した操作が可能となり、ボタンを押下するような操作ボタンや操作キーとは異なった直感的な操作入力となる。また、上述したように上記マーカは、モニタ2の表示画面近傍に設置されているため、マーカに対する位置をモニタ2の表示画面に対するコントローラ7の動き、姿勢、位置等に換算することも容易に行うことができる。つまり、コントローラ7の動き、姿勢、位置等による処理結果データは、モニタ2の表示画面に直接作用する操作入力として用いることができる。なお、ゲームシステム1では、マーカ8Lおよび8Rを撮像した撮像画像を用いて、マーカ8Lおよび8Rからコントローラ7までの距離や操作角度もモニタ2の表示画面に直接作用する操作入力として用いることができるが、詳細な動作については後述する。
図8および図9を参照して、プレイヤがコントローラ7を一方の手で把持した状態について説明する。なお、図8は、プレイヤがコントローラ7を右手で把持した状態をコントローラ7の前面側から見た一例である。図9は、プレイヤがコントローラ7を右手で把持した状態をコントローラ7の左側面側から見た一例である。
図8および図9に示すように、コントローラ7は、全体として大人や子供の片手で把持可能な大きさである。そして、プレイヤの親指をコントローラ7の上面(例えば、十字キー72a付近)に添え、プレイヤの人差し指をコントローラ7下面の凹部(例えば、操作ボタン72i付近)に添えたとき、コントローラ7の前面に設けられている撮像情報演算部74の光入射口がプレイヤの前方方向に露出する。なお、このようなコントローラ7に対する把持状態は、プレイヤの左手であっても同様に行えることは言うまでもない。
このように、コントローラ7は、プレイヤが片手で把持した状態で十字キー72aや操作ボタン72i等の操作部72を容易に操作することができる。さらに、プレイヤがコントローラ7を片手で把持したとき、当該コントローラ7の前面に設けられている撮像情報演算部74の光入射口が露出するため、上述した2つのマーカ8Lおよび8Rからの赤外光を容易に当該光入射口から取り入れることができる。つまり、プレイヤは、コントローラ7が有する撮像情報演算部74の機能を阻害することなくコントローラ7を片手で把持することができる。したがって、プレイヤがコントローラ7を把持した手を表示画面に対して動かすことによって、コントローラ7は、プレイヤの手の運動が表示画面に直接作用する操作入力機能をさらに備えることができる。
ここで、図10に示すように、マーカ8Lおよび8Rは、それぞれ視野角θ1を有している。また、撮像素子743は、視野角θ2を有している。例えば、マーカ8Lおよび8Rの視野角θ1は共に34°(半値角)であり、撮像素子743の視野角θ2は41°である。そして、撮像素子743の視野角θ2の中にマーカ8Lおよび8Rが共に存在し、マーカ8Lの視野角θ1の中でかつマーカ8Rの視野角θ1の中に撮像素子743が存在するとき、ゲーム装置3は、2つのマーカ8Lおよび8Rによる高輝度点に関する位置情報やサイズ情報を用いてコントローラ7の位置(マーカ8Lおよび8Rからの距離や角度を含む)を算出する。
次に、図11を参照して、プレイヤがマーカ8Lおよび8Rに対して前後方向に操作および角度を変化させる一例について説明する。なお、図11は、プレイヤUがマーカ8Lおよび8Rに対して前後方向に操作および角度を変化させる一例を示す上面図である。
図11において、プレイヤUは、コントローラ7の前面をマーカ8Lおよび8R(モニタ2)に向けて、当該コントローラ7を把持している。そして、マーカ8Lおよび8Rの中点からコントローラ7の前面までの距離を距離realDとする。また、マーカ8Lおよび8Rを結ぶ直線と上記中点からコントローラ7の前面を結ぶ直線との角度を角度δ2とする。ここで、図11に示す状態Aでは、プレイヤUが距離realD0および角度δ20となる位置でコントローラ7を把持している。そして、プレイヤUは、コントローラ7をモニタ2に向かって前後に動かして角度を変えることによって、マーカ8Lおよび8Rの中点からコントローラ7の前面までの距離realDや角度δ2を変化させることができる。例えば、プレイヤUがコントローラ7をモニタ2に向かって右前に動かすことによって、距離realD0から距離realDnおよび角度δ20から角度δ2nの位置へコントローラ7が移動する(状態B)。また、プレイヤUがコントローラ7をモニタ2に向かって右後ろに動かすことによって、距離realD0から距離realDfおよび角度δ20から角度δ2fの位置へコントローラ7が移動する(状態C)。このような距離realDおよび角度δ2を算出できれば、コントローラ7とマーカ8Lおよび8Rとの位置関係に応じた操作が可能となる。
次に、ゲームシステム1において行われるゲーム処理の詳細を説明する。まず、図12を参照して、ゲーム処理において用いられる主なデータについて説明する。なお、図12は、ゲーム装置3のメインメモリ33に記憶される主なデータを示す図である。
図12に示すように、メインメモリ33には、操作情報Da、操作状態情報Db、および装置情報Dc等が記憶される。なお、メインメモリ33には、図12に示す情報に含まれるデータの他、ゲーム処理に必要なデータが適宜記憶される。
操作情報Daは、コントローラ7から送信データとして送信されてくる一連の操作情報であり、最新の操作情報に更新される。操作情報Daには、上述の処理結果データの位置情報に相当する第1座標データDa1および第2座標データDa2が含まれる。第1座標データDa1は、撮像素子743が撮像した撮像画像に対して、2つのマーカ8Lおよび8Rのうちの一方の対象画像の位置(撮像画像内における位置)を表す座標のデータである。第2座標データDa2は、他方のマーカの対象画像の位置(撮像画像内における位置)を表す座標のデータである。例えば、マーカの画像の位置は、撮像画像におけるXY座標系によって表される。
また、操作情報Daには、撮像画像から得られる処理結果データの一例の座標データ(第1座標データDa1および第2座標データDa2)の他、上述の処理結果データのサイズ情報に相当する第1サイズデータDa3および第2サイズデータDa4が含まれる。第1サイズデータDa3は、撮像素子743が撮像した撮像画像に対して、マーカ8Lを示す対象画像の面積、直径、および幅等を表す大きさのデータである。第2サイズデータDa4は、撮像素子743が撮像した撮像画像に対して、マーカ8Rを示す対象画像の面積、直径、および幅等を表す大きさのデータである。なお、以下に説明する例では、第1サイズデータDa3はマーカ8Lを示す対象画像の直径diamLを示すデータとし、第2サイズデータDa4はマーカ8Rを示す対象画像の直径diamRを示すデータとする。また、操作情報Daには、操作部72から得られるキーデータDa5等が含まれる。なお、ゲーム装置3に備える受信ユニット6は、コントローラ7から所定間隔例えば5msごとに送信される操作情報Daを受信し、受信ユニット6に備える図示しないバッファに蓄えられる。その後、ゲーム処理間隔である例えば1フレーム毎(1/60秒)に読み出され、その最新の情報がメインメモリ33に記憶される。
操作状態情報Dbは、コントローラ7の操作状態を撮像画像に基づいて判断した情報である。操作状態情報Dbは、撮像画像に含まれる対象画像(マーカ)の位置、向き、および大きさ等から得られるデータであり、具体的には、方向データDb1、中点データDb2、距離データDb3、および角度データDb4等を含む。方向データDb1は、第1座標データDa1から第2座標データDa2への方向を示すデータである。ここでは、方向データDb1は、第1座標データDa1が示す位置を始点とし第2座標データDa2が示す位置を終点とするベクトルのデータとする。中点データDb2は、上記撮像画像において、第1座標データDa1が示す位置と第2座標データDa2が示す位置との中点の座標を示す。ここで、2つのマーカ(マーカ8Lおよび8R)の画像を1つの対象画像としてみた場合、中点データDb2は、対象画像の位置を示すことになる。
距離データDb3は、マーカ8Lまでの距離データDb3a、マーカ8Rまでの距離データDb3b、中点までの距離データDb3cを含んでいる。マーカ8Lまでの距離データDb3aは、マーカ8Lからコントローラ7までの距離realDLを示すデータである。マーカ8Rまでの距離データDb3bは、マーカ8Rからコントローラ7までの距離realDRを示すデータである。中点までの距離データDb3cは、マーカ8Lおよび8Rの中点からコントローラ7までの距離realDを示すデータである。角度データDb4は、マーカ8Lおよびコントローラ7を結ぶ直線と、マーカ8Lおよび8Rを結ぶ直線とによって成される角度δ1を示すデータである。
装置情報Dcは、コントローラ7やマーカ8Lおよび8Rに関して、予め設定された情報である。例えば、装置情報Dcは、撮像素子743の視野角θ、撮像画像の幅wi、マーカ8Lおよび8Rの設置間隔m、マーカ8Lおよび8Rの大きさ(直径diamM)等の固定値を示すデータである。
次に、図13〜図16を参照して、ゲーム装置3において行われる位置算出処理の詳細を説明する。なお、図13は、ゲーム装置3において実行される位置算出処理の流れを示すフローチャートである。図14〜図16は、位置算出処理の動作を説明するための図である。なお、図13に示すに示すフローチャートにおいては、処理のうち、ゲームプログラムに含まれる位置算出処理プログラムを実行してコントローラ7の位置を算出する処理について説明し、本願発明と直接関連しない他の処理については詳細な説明を省略する。また、図13では、CPU30が実行する各ステップを「S」と略称する。
ゲーム装置3の電源が投入されると、ゲーム装置3のCPU30は、図示しないブートROMに記憶されている起動プログラムを実行し、これによってメインメモリ33等の各ユニットが初期化される。そして、光ディスク4に記憶されたゲームプログラムがメインメモリ33に読み込まれ、CPU30によって当該ゲームプログラムの実行が開始される。図13に示すフローチャートは、以上の処理が完了した後に行われる処理を示すフローチャートである。
図13において、CPU30は、コントローラ7から受信した操作情報から取得した第1サイズデータDa3および第2サイズデータDa4を取得し(ステップ101)、処理を次のステップに進める。図14に示すように、第1サイズデータDa3および第2サイズデータDa4は、それぞれマーカ8Lおよび8Rを示す撮像画像の大きさを示すデータであり、第1サイズデータDa3がマーカ8Lを撮像した画像の直径diamLを示し、第2サイズデータDa4がマーカ8Rを撮像した画像の直径diamRを示している。例えば、図14に示すように、コントローラ7がマーカ8Lおよび8Rを結ぶ方向に対して斜めに配置された場合、直径diamLと直径diamRとに差が生じる。
なお、ステップ101で受信する操作情報には、マーカ8Lおよび8Rの第1サイズデータDa3および第2サイズデータDa4の他、撮像画像内における位置を示す座標データ(第1座標データDa1および第2座標データDa2)や、コントローラ7の操作部72がどのように操作されたか示すデータ(キーデータDa3)が含まれている。ここでは、通信部75は、所定の時間間隔(例えば5ms間隔)で操作情報をゲーム装置3へ送信する。そして、CPU30は、1フレーム毎に操作情報を利用するものとする。したがって、図13に示すステップ101〜ステップ107の処理ループは、1フレーム毎に繰り返し実行される。
次に、CPU30は、第1サイズデータDa3(直径diamL)に基づいて、マーカ8Lの設置位置における撮像素子743の撮像可能範囲の幅w(図15参照)を算出する(ステップ102)。幅wは、
w=wi×diamM/diamL
で算出される。ここで、diamMは、設置されたマーカ8Lおよび8Rの直径(実際の直径)であり、固定値として装置情報Dcに格納されている。
次に、CPU30は、上記ステップ102で算出した幅wおよび撮像素子743の視野角θを用いて、マーカ8Lと撮像素子743(コントローラ7)との距離realDL(図15参照)を算出し、距離データDb3aとして記憶する(ステップ103)。距離realDLは、
realDL=(w/2)/{tan(θ/2)}
の関係式から算出することができる。ここで、視野角θは固定値として装置情報Dcに格納されている。
次に、CPU30は、第2サイズデータDa4(直径diamR)に基づいて、マーカ8Rの設置位置に対する撮像素子743の撮像可能範囲の幅wを算出する(ステップ104)。ここで、幅wは、
w=wi×diamM/diamR
で算出される。
次に、CPU30は、上記ステップ104で算出した幅wおよび撮像素子743の視野角θを用いて、マーカ8Rと撮像素子743(コントローラ7)との距離realDRを算出し、距離データDb3bとして記憶する(ステップ105)。ここで、距離realDRは、
realDR=(w/2)/{tan(θ/2)}
の関係式から算出することができる。
次に、CPU30は、距離realDLおよびrealDRとマーカ8Lおよび8Rの設置間隔mとを用いて角度δ1を算出して、角度データDb4として記憶する(ステップ106)。図16に示すように、角度δ1は、マーカ8Lおよびコントローラ7を結ぶ直線と、マーカ8Lおよび8Rを結ぶ直線とによって成される角度である。角度δ1は、余弦定理を用いて、
cosδ1=(realDL2×m2−realDR2)/(2×realDL×m)
で算出される。
次に、CPU30は、マーカ8Lおよび8R間の中点とコントローラ7との距離realD(図16参照)を算出して、距離データDb3cとして記憶し(ステップ107)、当該フローチャートによる処理を終了する。距離realDは、余弦定理を用いて、
Figure 0004798705
で算出される。
なお、上記中点およびコントローラ7を結ぶ直線と、マーカ8Lおよび8Rを結ぶ直線とによって成される角度δ2(図16参照)を求めることも可能である。角度δ2は、距離realD、距離realDL、および設置間隔mを用いて、余弦定理から、
cosδ2={realD2×(m/2)2−realDL2
/{2×realD×(m/2)}
で算出される。この角度δ2を得ることによって、コントローラ7がマーカ8Lおよび8Rに対してどのような角度位置に配置されているか算出することができ、コントローラ7の角度位置に応じた処理が可能となる。
このように算出されたコントローラ7の位置(距離realD、角度δ2)を用いて、ゲーム装置3は様々な処理を行うことができる。以下、コントローラ7の位置を用いた処理例を説明する。
コントローラ7の位置を用いた第1の処理例は、当該位置に応じてモニタ2の表示領域を分割する態様である。図17は、コントローラ7aを操作するプレイヤUaとコントローラ7bを操作するプレイヤUbとがゲーム装置3を操作するとき、モニタ2の表示領域が分割される一例を示す図である。
複数のプレイヤがそれぞれ別のコントローラを操作して1つのゲーム装置を操作するとき、1つのモニタの表示領域がそれぞれのプレイヤ用に分割されることがある。例えば、2人のプレイヤUaおよびUbが操作するとき、モニタ2の表示領域が左右の2つの表示領域に分割され、それらの表示領域がそれぞれプレイヤUaおよびUb専用の表示領域となる。このとき、分割された左の表示領域が何れのプレイヤ用であるのかは、一般的に予め固定的に設定されていたり、操作順序で設定されたり、プレイヤのボタン操作によって選択されたりする。
図17に示すように、第1の処理例では、コントローラ7aおよび7bそれぞれの角度δ2に応じて、コントローラ7aおよび7bを操作するプレイヤUaおよびUbが用いる表示領域を設定する。図17の一例では、プレイヤUaが操作するコントローラ7aから取得した第1サイズデータDa3および第2サイズデータDa4に基づいて、マーカ8Lおよび8Rの中点およびコントローラ7aを結ぶ直線と、マーカ8Lおよび8Rを結ぶ直線とによって成される角度が角度δ2aであることが算出されている。一方、プレイヤUbが操作するコントローラ7bから取得した第1サイズデータDa3および第2サイズデータDa4に基づいて、上記中点およびコントローラ7bを結ぶ直線と、マーカ8Lおよび8Rを結ぶ直線とによって成される角度が角度δ2b(δ2b>δ2a)であることが算出されている。
ここで、ゲーム装置3は、算出した角度δ2aおよびδ2bを比較することによって、コントローラ7aおよび7bがモニタ2に向かってどの方向に位置しているか判別することができる。具体的には、図17の例では角度δ2b>角度δ2aであるので、ゲーム装置3は、コントローラ7bに対してコントローラ7aがモニタ2に向かって左側に位置していることを判別できる。この場合、ゲーム装置3は、左右に分割されたモニタ2の表示領域のうち、向かって左側の表示領域をコントローラ7a用(つまり、プレイヤUa用)に設定する。そして、ゲーム装置3は、向かって右側の表示領域をコントローラ7b用(つまり、プレイヤUb用)に設定する。これによって、分割された複数の表示領域に対して、プレイヤUaおよびUbにとってそれぞれ近い側の表示領域が自分の操作用の表示領域となる。
なお、上述した第1の処理例の説明では、2人のプレイヤが操作する例を説明したが、3人以上のプレイヤであっても同様に本発明を実現できる。1つのゲーム装置3に対して、n人のプレイヤがそれぞれn個のコントローラ7を操作して、モニタ2の表示領域がそれぞれのプレイヤ用として左右n個に分割されるとする。この場合、n個のコントローラ7に対するそれぞれの角度δ2を算出し、それらの角度が小さいコントローラ7から順にモニタ2に向かって左の表示領域をそのコントローラ7で操作する表示領域として割り当てる。これによって、n人のプレイヤがそれぞれ用いる表示領域は、プレイヤがモニタ2に対して左右に並んだ順にそれぞれ割り当てられる。
コントローラ7の位置を用いた第2の処理例は、当該位置に応じてゲーム画像を生成する仮想カメラを移動させる態様である。図18は、コントローラ7の位置に応じて仮想カメラCの位置を変化させる一例を示す図である。
図18に示すように、仮想世界に配置されたオブジェクトOBJを仮想カメラCによって撮像してモニタ2に表示されている。そして、コントローラ7から取得した第1サイズデータDa3および第2サイズデータDa4に基づいて、マーカ8Lおよび8Rの中点およびコントローラ7aを結ぶ直線と、マーカ8Lおよび8Rを結ぶ直線とによって成される角度が角度δ2であることが算出されているとする。このとき、ゲーム装置3は、所定の基準方向と仮想カメラCの視線方向との間の角度が角度δ2になるように、仮想カメラCを移動させる(図18の状態)。これによって、仮想カメラCがオブジェクトOBJを撮像する方向が変化するため、モニタ2に表示されるオブジェクトOBJの表示方向が変化する。したがって、プレイヤは、マーカ8Lおよび8Rに対するコントローラ7の撮像方向を変化させることによって、オブジェクトOBJの裏側に回り込んで当該オブジェクトOBJを見るような操作が可能となる。また、コントローラ7の位置に応じて仮想カメラCの視線方向が変化するため、プレイヤは、あたかもコントローラ7本体の動きで仮想カメラCを移動させているような操作感覚が得られる。
さらに、コントローラ7から取得した第1サイズデータDa3および第2サイズデータDa4に基づいて得られる距離realDに応じて、仮想カメラCを移動させてもかまわない。例えば、ゲーム装置3は、現実の距離realDに応じた仮想世界の仮想距離virtualDを所定の関数、例えば、
virtualD=P×realD+Q
を用いて算出する。ここで、P、Qは、任意の定数である。そして、ゲーム装置3は、オブジェクトOBJと仮想カメラCとの距離が仮想距離virtualDになるように、仮想カメラCを移動させる。これによって、仮想カメラCとオブジェクトOBJとの距離が変化するため、モニタ2に表示されるオブジェクトOBJの大きさが変化する。したがって、プレイヤは、マーカ8Lおよび8Rに対して前後にコントローラ7を移動させることによって、オブジェクトOBJに近づけるまたは遠ざけて当該オブジェクトOBJを見るような操作が可能となる。また、定数Pを正の値に設定することによって、プレイヤは、あたかもコントローラ7本体の動きで仮想カメラCを移動させているような操作感覚が得られる。
コントローラ7の位置を用いた第3の処理例は、当該位置に応じて仮想世界に配置されたオブジェクトを移動させる態様である。図19は、コントローラ7の位置に応じて仮想世界のプレイヤキャラクタPCaおよびPCbの位置を変化させる一例を示す図である。
図19に示すように、コントローラ7aによって操作されるプレイヤキャラクタPCaと、コントローラ7bによって操作されるプレイヤキャラクタPCbと、敵キャラクタEとが仮想世界に配置され、仮想カメラCによって撮像してモニタ2に表示されている。そして、コントローラ7aから取得した第1サイズデータDa3および第2サイズデータDa4に基づいて、マーカ8Lおよび8Rの中点およびコントローラ7aを結ぶ直線と、マーカ8Lおよび8Rを結ぶ直線とによって成される角度が角度δ2aであることが算出されているとする。また、コントローラ7bから取得した第1サイズデータDa3および第2サイズデータDa4に基づいて、上記中点およびコントローラ7bを結ぶ直線と、マーカ8Lおよび8Rを結ぶ直線とによって成される角度が角度δ2bであることが算出されているとする(図17で示した配置関係と同様)。このとき、ゲーム装置3は、プレイヤキャラクタPCaおよび敵キャラクタEを結ぶ方向と所定の基準方向との間の角度が角度δ2aになるように、プレイヤキャラクタPCaを移動させる。また、ゲーム装置3は、プレイヤキャラクタPCbおよび敵キャラクタEを結ぶ方向と上記基準方向との間の角度が角度δ2bになるように、プレイヤキャラクタPCbを移動させる。これによって、プレイヤは、マーカ8Lおよび8Rに対してコントローラ7の撮像方向を変化させることによって、プレイヤキャラクタPCが敵キャラクタEと相対する角度を変えるような操作が可能となる。そして、プレイヤは、あたかもコントローラ7本体の動きでプレイヤキャラクタPCを移動させているような操作感覚が得られる。
さらに、コントローラ7aおよび7bからそれぞれ取得した第1サイズデータDa3および第2サイズデータDa4に基づいて得られる距離realDaおよびrealDbに応じて、プレイヤキャラクタPCを移動させてもかまわない。例えば、ゲーム装置3は、現実の距離realDaおよびrealDbに応じた仮想世界の仮想距離virtualDaおよびvirtualDbを上述した関数を用いて算出する。そして、ゲーム装置3は、プレイヤキャラクタPCaと敵キャラクタEとの距離が仮想距離virtualDaとなるようにプレイヤキャラクタPCaを移動させる。また、ゲーム装置3は、プレイヤキャラクタPCbと敵キャラクタEとの距離が仮想距離virtualDbとなるようにプレイヤキャラクタPCbを移動させる。これによって、プレイヤは、マーカ8Lおよび8Rに対して前後にコントローラ7を移動させることによって、操作するプレイヤキャラクタPCを敵キャラクタEに近づけるまたは遠ざけるような操作が可能となる。つまり、上述した角度δ2に応じたプレイヤキャラクタPCの移動と合わせて、コントローラ7を操作するプレイヤ自身があたかも敵キャラクタEの前に存在しているような操作感覚が得られる。
他のコントローラ7の位置を用いた処理例として、当該位置に応じてスピーカ2aから再生する音量を変化させてもかまわない。上述したように角度δ2を得ることによって、コントローラ7がマーカ8Lおよび8Rに対してどのような角度位置に配置されているか、すなわちモニタ2の左右に設置されたスピーカ2aからの配置角度を算出することができる。したがって、左右のスピーカ2aから再生されるサウンドの音量バランスを角度δ2に応じて調整する(例えば、コントローラ7から遠い側となる一方のスピーカ2aから再生する音量を他方のスピーカ2aから再生する音量より大きく調整する)ことによって、コントローラ7を操作するプレイヤに対して再生されるステレオサウンドの左右の音量バランスを視聴方向に合わせて良好な状態に調整することができる。また、上述したように距離realDを得ることによって、コントローラ7がマーカ8Lおよび8Rに対して配置されている距離、すなわちモニタ2の左右に設置されたスピーカ2aからコントローラ7までの距離を算出することができる。したがって、左右のスピーカ2aから再生されるサウンドの音量を距離realDに応じて調整する(例えば、距離realDが相対的に長くなれば、左右のスピーカ2aから再生する音量を相対的に大きくする)ことによって、コントローラ7を操作するプレイヤの視聴距離に応じて適切な音量でサウンド再生することができる。
さらに、他のコントローラ7の位置を用いた処理例として、いわゆる振動対応ゲームをゲーム装置3が実行する際、当該位置に応じてバイブレータ704の振幅および/または振動周波数を変化させてもかまわない。例えば、モニタ2に仮想的に表示された振動源側にコントローラ7が近寄ったことを角度δ2や距離realDが示すとき、ゲーム装置3は、振幅拡大または振動周波数を上げてバイブレータ704を作動させる。これによって、振動源に近寄ったような振動がコントローラ7を把持しているプレイヤの手に伝達されるため、プレイヤは、あたかも現実の振動源に近寄ったような感覚を得ることができる。
このように、本発明の位置算出装置によれば、撮像画像内における撮像対象(例えば、マーカ8Lおよび8R)の対象画像サイズを用いることによって、撮像対象と撮像装置(コントローラ7)との位置関係を正確に算出することができる。例えば、2つの撮像対象を結ぶ方向に対して撮像装置が配置されている角度を算出することができる。また、上記撮像対象を結ぶ方向に対して撮像装置が斜めに配置されていても、撮像対象から撮像装置までの距離を正確に算出することができる。また、撮像対象と撮像装置との位置関係を示す情報に応じた処理を行うことによって、当該処理に対して撮像装置の位置に応じた操作が可能となり、今までにない新たな操作入力手段が実現できる。例えば、ゲーム処理を行うゲーム装置が、撮像対象と撮像装置を備えたゲームコントローラとの位置関係を示す情報を得ることによって、当該情報に応じたゲーム処理が可能となり、ゲームコントローラを操作するプレイヤは、当該ゲームコントローラ本体の位置に応じた新たなゲーム操作が可能となる。
なお、上述した位置算出処理では、マーカ8Lおよび8Rの直径と当該マーカ8Lおよび8Rが撮像された画像の直径とを用いたが、他のサイズ情報を用いてもかまわない。例えば、マーカ8Lおよび8Rの面積と当該マーカ8Lおよび8Rが撮像された画像の面積とを用いても、同様に距離realDや角度δ2を算出することができる。また、マーカ8Lおよび8Rの形状が既知の情報であるため、マーカ8Lおよび8Rが撮像された画像の面積の情報から、所望の長さ(直径、幅等)が算出可能となる。したがって、ゲーム装置3がマーカ8Lおよび8Rが撮像された画像の面積情報を得たとしても、当該面積情報を直径に置換した後、上述と同様の位置算出処理が可能であることは言うまでもない。
また、上述した処理例では、マーカ8Lおよび8Rに対するコントローラ7の角度位置を示すパラメータとして角度δ2を用いたが、上記ステップ106で算出する角度δ1(図16参照)を用いてもかまわない。さらに、マーカ8Rおよびコントローラ7を結ぶ直線と、マーカ8Lおよび8Rを結ぶ直線とによって成される角度を算出して、当該角度を上記角度位置を示すパラメータとして用いてもかまわない。また、上述した距離や角度の演算手順は単なる一例に過ぎず、他の演算手順で距離および角度を算出してもかまわない。
また、上述した説明では、撮像対象と撮像装置(コントローラ7)との位置関係を示す情報がリアルタイムに処理に反映される例を用いたが、所定の操作がされているとき(例えば、操作ボタン72iが押下されているとき)のみ当該情報が処理に反映されるようにしてもかまわない。
また、上述した説明では、コントローラ7とゲーム装置3とが無線通信によって接続された態様を用いたが、コントローラ7とゲーム装置3とがケーブルを介して電気的に接続されてもかまわない。この場合、コントローラ7に接続されたケーブルをゲーム装置3の接続端子に接続する。
また、コントローラ7から無線送信される送信データを受信する受信手段として、ゲーム装置3の接続端子に接続された受信ユニット6を用いて説明したが、ゲーム装置3の本体内部に設けられた受信モジュールによって当該受信手段を構成してもかまわない。この場合、受信モジュールが受信した送信データは、所定のバスを介してCPU30に出力される。
また、撮像素子743で撮像した画像データを解析してマーカ8Lおよび8Rからの赤外光のサイズや位置座標やそれらの重心座標等を取得し、それらを処理結果データとしてコントローラ7内で生成してゲーム装置3へ送信する態様を説明したが、他の処理段階のデータをコントローラ7からゲーム装置3へ送信してもかまわない。例えば、撮像素子743が撮像した画像データをコントローラ7からゲーム装置3へ送信し、CPU30において上記解析処理を行って処理結果データを取得してもかまわない。この場合、コントローラ7に設けられた画像処理回路744が不要となる。また、上記画像データの解析途中のデータをコントローラ7からゲーム装置3へ送信してもかまわない。例えば、画像データから得られる輝度および位置等を示すデータをコントローラ7からゲーム装置3へ送信し、CPU30において残りの解析処理を行って処理結果データを取得してもかまわない。
また、上述した説明では、2つのマーカ8Lおよび8Rからの赤外光を、コントローラ7の撮像情報演算部74の撮像対象としたが、他のものを撮像対象にしてもかまわない。例えば、3つ以上のマーカをモニタ2の近傍に設置し、それらのマーカからの赤外光を撮像情報演算部74の撮像対象としてもかまわない。
また、上述したコントローラ7の形状や、それらに設けられている操作部72の形状、数、および設置位置等は、単なる一例に過ぎず他の形状、数、および設置位置であっても、本発明を実現できることは言うまでもない。また、コントローラ7における撮像情報演算部74の位置(撮像情報演算部74の光入射口)は、ハウジング71の前面でなくてもよく、ハウジング71の外部から光を取り入れることができれば他の面に設けられてもかまわない。
また、上記実施例では、ゲーム装置3をコントローラ7で操作しているが、撮像手段を備えた入力装置で操作される一般的なパーソナルコンピュータなどの情報処理装置でもかまわない。この場合、この情報処理装置のコンピュータが実行するプログラムは、典型的にゲームに用いられるゲームプログラムに限らず、上記情報処理装置に対する処理に用いられる汎用的なプログラムである。
本発明に係る位置算出装置、位置算出プログラム、ゲーム装置、およびゲームプログラムは、撮像対象と撮像装置との位置関係等を正確に算出することができ、当該位置関係を用いて操作する処理として有用である。
本発明の一実施形態に係るゲームシステム1を説明するための外観図 図1のゲーム装置3の機能ブロック図 図3のコントローラ7の上面後方から見た斜視図 図3のコントローラ7を下面後方から見た斜視図 図3のコントローラ7の上筐体を外した状態を示す斜視図 図3のコントローラ7の構成を示すブロック図 図3のコントローラ7を用いてゲーム操作するときの状態を概説する図解図 プレイヤがコントローラ7を右手で把持した状態をコントローラ7の前面側から見た一例 プレイヤがコントローラ7を右手で把持した状態をコントローラ7の左側面側から見た一例 マーカ8Lおよび8Rと撮像情報演算部74との視野角を説明するための図 プレイヤUがマーカ8Lおよび8Rに対して前後方向に操作および角度を変化させる方向へ操作する一例を示す上面図 ゲーム装置3のメインメモリ33に記憶される主なデータを示す図 ゲーム装置3において実行される位置算出処理の流れを示すフローチャート 位置算出処理の動作を説明するための図 位置算出処理の動作を説明するための図 位置算出処理の動作を説明するための図 コントローラ7aを操作するプレイヤUaとコントローラ7bを操作するプレイヤUbとがゲーム装置3を操作するとき、モニタ2の表示領域が分割される一例を示す図 コントローラ7の位置に応じて仮想カメラCの位置を変化させる一例を示す図 コントローラ7の位置に応じて仮想世界のプレイヤキャラクタPCaおよびPCbの位置を変化させる一例を示す図
符号の説明
1…ゲームシステム
2…モニタ
2a…スピーカ
3…ゲーム装置
30…CPU
31…メモリコントローラ
32…GPU
33…メインメモリ
34…DSP
35…ARAM
36…コントローラI/F
37…ビデオI/F
38…外部メモリI/F
39…オーディオI/F
40…ディスクドライブ
41…ディスクI/F
4…光ディスク
5…外部メモリカード
6…受信ユニット
7…コントローラ
71…ハウジング
72…操作部
73…コネクタ
74…撮像情報演算部
741…赤外線フィルタ
742…レンズ
743…撮像素子
744…画像処理回路
75…通信部
751…マイコン
752…メモリ
753…無線モジュール
754…アンテナ
700…基板
701…加速度センサ
702…LED
703…水晶振動子
704…バイブレータ
705…電池
8…マーカ

Claims (26)

  1. 第1および第2の撮像対象を撮像するための撮像装置と、当該撮像対象との位置関係を算出する位置算出装置であって、
    前記撮像装置の撮像画像において前記第1の撮像対象を示す対象画像の大きさを示す第1のサイズと、当該撮像画像において前記第2の撮像対象を示す対象画像の大きさを示す第2のサイズとを取得する対象画像サイズ取得手段と、
    前記第1および第2のサイズに基づいて、前記撮像装置と前記撮像対象との位置関係を算出する位置関係算出手段とを備える、位置算出装置。
  2. 前記位置関係算出手段は、前記第1のサイズと当該第1のサイズに対応する前記第1の撮像対象の実際の大きさとに基づいて、前記撮像装置と前記第1の撮像対象との間の第1の距離を算出し、前記第2のサイズと当該第2のサイズに対応する前記第2の撮像対象の実際の大きさとに基づいて、前記撮像装置と前記第2の撮像対象との間の第2の距離を算出する撮像対象距離算出手段を含み、
    前記位置関係算出手段は、前記第1および第2の距離と前記第1および第2の撮像対象の間の実際の配置間隔とに基づいて、前記第1および第2の撮像対象の間にある所定位置と前記撮像装置との位置関係を算出する、請求項1に記載の位置算出装置。
  3. 前記位置関係算出手段は、前記第1および第2の撮像対象の間の中点と前記撮像装置との間の距離を前記位置関係として算出する、請求項2に記載の位置算出装置。
  4. 前記位置関係算出手段は、前記第1および第2の撮像対象の間の中点と前記撮像装置とを結ぶ配置方向を前記位置関係として算出する、請求項2に記載の位置算出装置。
  5. 前記位置関係算出手段は、前記第1および第2の撮像対象の一方と前記撮像装置とを結ぶ配置方向を前記位置関係として算出する、請求項2に記載の位置算出装置。
  6. 前記位置関係算出手段は、前記第1および第2の距離と前記配置間隔とに基づいて、前記第1および第2の撮像対象を結ぶ直線と、前記第1の撮像対象と前記撮像装置とを結ぶ直線との間の角度を算出する角度算出手段を含み、
    前記位置関係算出手段は、前記角度と前記第1の距離と前記配置間隔の2分の1の長さとに基づいて、前記中点と前記撮像装置との間の距離を算出する、請求項3に記載の位置算出装置。
  7. 前記位置関係算出手段は、前記第1の距離と前記配置間隔の2分の1の長さと前記中点および前記撮像装置の間の距離とに基づいて、前記第1および第2の撮像対象を結ぶ直線と前記中点および前記撮像装置を結ぶ直線との間の配置角度を前記位置関係としてさらに算出する、請求項6に記載の位置算出装置。
  8. 請求項1乃至7のいずれかに記載の位置算出装置と、
    前記位置関係算出手段によって算出された前記位置関係に応じて、仮想ゲーム世界に対する所定のゲーム処理を行うゲーム処理手段と、
    仮想ゲーム世界の少なくとも一部を逐次表示装置に表示させる表示制御手段とを備える、ゲーム装置。
  9. 前記ゲーム処理手段は、前記位置関係に応じて、仮想ゲーム世界に配置される仮想カメラの位置を決定し、
    前記表示制御手段は、前記仮想カメラで撮像された仮想ゲーム世界の少なくとも一部を逐次表示装置に表示させる、請求項8に記載のゲーム装置。
  10. 前記ゲーム処理手段は、前記位置関係に応じて、仮想ゲーム世界に登場する所定のオブジェクトの位置を決定する、請求項8に記載のゲーム装置。
  11. 前記撮像装置は、その作動によって所定の振動を発生する振動発生装置と共に同一の筐体内に設けられ、
    前記ゲーム処理手段は、前記位置関係に応じて、前記振動発生装置が発生する振動を制御する、請求項8に記載のゲーム装置。
  12. 請求項4、5、および7のいずれかに記載の位置算出装置と、
    仮想ゲーム世界に対する所定のゲーム処理を行うゲーム処理手段と、
    仮想ゲーム世界の少なくとも一部を逐次表示装置に表示させる表示制御手段とを備え、
    前記位置関係算出手段は、複数の前記撮像装置に対して前記配置方向または前記配置角度をそれぞれ算出し、
    前記表示制御手段は、前記表示装置の表示領域を複数の領域に分割し、前記配置方向または前記配置角度に応じてそれぞれの領域を前記撮像装置毎に割り当てる、ゲーム装置。
  13. 請求項1乃至7のいずれかに記載の位置算出装置と、
    仮想ゲーム世界に対する所定のゲーム処理を行うゲーム処理手段と、
    仮想ゲーム世界の少なくとも一部を逐次表示装置に表示させる表示制御手段と、
    前記ゲーム処理手段のゲーム処理に応じて、複数のスピーカからサウンドを出力させる音声制御手段とを備え、
    前記音声制御手段は、前記位置関係に応じて、前記スピーカから出力する音量を制御する、ゲーム装置。
  14. 第1および第2の撮像対象を撮像するための撮像装置と、当該撮像対象との位置関係を算出するコンピュータで実行される位置算出プログラムであって、
    前記撮像装置の撮像画像において前記第1の撮像対象を示す対象画像の大きさを示す第1のサイズと、当該撮像画像において前記第2の撮像対象を示す対象画像の大きさを示す第2のサイズとを取得する対象画像サイズ取得ステップと、
    前記第1および第2のサイズに基づいて、前記撮像装置と前記撮像対象との位置関係を算出する位置関係算出ステップとを、前記コンピュータに実行させる、位置算出プログラム。
  15. 前記位置関係算出ステップは、前記第1のサイズと当該第1のサイズに対応する前記第1の撮像対象の実際の大きさとに基づいて、前記撮像装置と前記第1の撮像対象との間の第1の距離を算出し、前記第2のサイズと当該第2のサイズに対応する前記第2の撮像対象の実際の大きさとに基づいて、前記撮像装置と前記第2の撮像対象との間の第2の距離を算出する撮像対象距離算出ステップを含み、
    前記位置関係算出ステップでは、前記第1および第2の距離と前記第1および第2の撮像対象の間の実際の配置間隔とに基づいて、前記第1および第2の撮像対象の間にある所定位置と前記撮像装置との位置関係が算出される、請求項14に記載の位置算出プログラム。
  16. 前記位置関係算出ステップでは、前記第1および第2の撮像対象の間の中点と前記撮像装置との間の距離が前記位置関係として算出される、請求項15に記載の位置算出プログラム。
  17. 前記位置関係算出ステップでは、前記第1および第2の撮像対象の間の中点と前記撮像装置とを結ぶ配置方向が前記位置関係として算出される、請求項15に記載の位置算出プログラム。
  18. 前記位置関係算出ステップでは、前記第1および第2の撮像対象の一方と前記撮像装置とを結ぶ配置方向が前記位置関係として算出される、請求項15に記載の位置算出プログラム。
  19. 前記位置関係算出ステップは、前記第1および第2の距離と前記配置間隔とに基づいて、前記第1および第2の撮像対象を結ぶ直線と、前記第1の撮像対象と前記撮像装置とを結ぶ直線との間の角度を算出する角度算出ステップを含み、
    前記位置関係算出ステップでは、前記角度と前記第1の距離と前記配置間隔の2分の1の長さとに基づいて、前記中点と前記撮像装置との間の距離が算出される、請求項16に記載の位置算出プログラム。
  20. 前記位置関係算出ステップでは、前記第1の距離と前記配置間隔の2分の1の長さと前記中点および前記撮像装置の間の距離とに基づいて、前記第1および第2の撮像対象を結ぶ直線と前記中点および前記撮像装置を結ぶ直線との間の配置角度が前記位置関係としてさらに算出される、請求項19に記載の位置算出プログラム。
  21. 請求項14乃至20のいずれかに記載の位置算出プログラムが前記コンピュータに実行させるステップと、
    前記位置関係算出ステップで算出された前記位置関係に応じて、仮想ゲーム世界に対する所定のゲーム処理を行うゲーム処理ステップと、
    仮想ゲーム世界の少なくとも一部を逐次表示装置に表示させる表示制御ステップとを、前記コンピュータに実行させる、ゲームプログラム。
  22. 前記ゲーム処理ステップでは、前記位置関係に応じて、仮想ゲーム世界に配置される仮想カメラの位置が決定され、
    前記表示制御ステップでは、前記仮想カメラで撮像された仮想ゲーム世界の少なくとも一部を逐次表示装置に表示させる、請求項21に記載のゲームプログラム。
  23. 前記ゲーム処理ステップでは、前記位置関係に応じて、仮想ゲーム世界に登場する所定のオブジェクトの位置が決定される、請求項21に記載のゲームプログラム。
  24. 前記撮像装置は、その作動によって所定の振動を発生する振動発生装置と共に同一の筐体内に設けられ、
    前記ゲーム処理ステップでは、前記位置関係に応じて、前記振動発生装置が発生する振動が制御される、請求項21に記載のゲームプログラム。
  25. 請求項17、18、および20のいずれかに記載の位置算出プログラムが前記コンピュータに実行させるステップと、
    仮想ゲーム世界に対する所定のゲーム処理を行うゲーム処理ステップと、
    仮想ゲーム世界の少なくとも一部を逐次表示装置に表示させる表示制御ステップとを、前記コンピュータに実行させ、
    前記位置関係算出ステップでは、複数の前記撮像装置に対して前記配置方向または前記配置角度がそれぞれ算出され、
    前記表示制御ステップでは、前記表示装置の表示領域を複数の領域に分割し、前記配置方向または前記配置角度に応じてそれぞれの領域が前記撮像装置毎に割り当てられる、ゲームプログラム。
  26. 請求項14乃至20のいずれかに記載の位置算出プログラムが前記コンピュータに実行させるステップと、
    仮想ゲーム世界に対する所定のゲーム処理を行うゲーム処理ステップと、
    仮想ゲーム世界の少なくとも一部を逐次表示装置に表示させる表示制御ステップと、
    前記ゲーム処理ステップのゲーム処理に応じて、複数のスピーカからサウンドを出力させる音声制御ステップとを、前記コンピュータに実行させ、
    前記音声制御ステップでは、前記位置関係に応じて、前記スピーカから出力する音量が制御される、ゲームプログラム。
JP2006081336A 2006-03-23 2006-03-23 位置算出装置、位置算出プログラム、ゲーム装置、およびゲームプログラム Active JP4798705B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2006081336A JP4798705B2 (ja) 2006-03-23 2006-03-23 位置算出装置、位置算出プログラム、ゲーム装置、およびゲームプログラム
US11/545,444 US7831064B2 (en) 2006-03-23 2006-10-11 Position calculation apparatus, storage medium storing position calculation program, game apparatus, and storage medium storing game program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006081336A JP4798705B2 (ja) 2006-03-23 2006-03-23 位置算出装置、位置算出プログラム、ゲーム装置、およびゲームプログラム

Publications (2)

Publication Number Publication Date
JP2007256100A JP2007256100A (ja) 2007-10-04
JP4798705B2 true JP4798705B2 (ja) 2011-10-19

Family

ID=38566289

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006081336A Active JP4798705B2 (ja) 2006-03-23 2006-03-23 位置算出装置、位置算出プログラム、ゲーム装置、およびゲームプログラム

Country Status (2)

Country Link
US (1) US7831064B2 (ja)
JP (1) JP4798705B2 (ja)

Families Citing this family (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7221287B2 (en) 2002-03-05 2007-05-22 Triangle Software Llc Three-dimensional traffic report
US7610145B2 (en) 2003-07-25 2009-10-27 Triangle Software Llc System and method for determining recommended departure time
US7961909B2 (en) 2006-03-08 2011-06-14 Electronic Scripting Products, Inc. Computer interface employing a manipulated object with absolute pose detection component and a display
US9229540B2 (en) 2004-01-30 2016-01-05 Electronic Scripting Products, Inc. Deriving input from six degrees of freedom interfaces
US8157651B2 (en) 2005-09-12 2012-04-17 Nintendo Co., Ltd. Information processing program
JP4773170B2 (ja) 2005-09-14 2011-09-14 任天堂株式会社 ゲームプログラムおよびゲームシステム
CN100573614C (zh) * 2006-12-22 2009-12-23 鸿富锦精密工业(深圳)有限公司 红外遥控模组及具有红外遥控模组的便携式电子装置
JP4918376B2 (ja) * 2007-02-23 2012-04-18 任天堂株式会社 情報処理プログラムおよび情報処理装置
JP5060798B2 (ja) * 2007-02-23 2012-10-31 任天堂株式会社 情報処理プログラムおよび情報処理装置
TWM324351U (en) * 2007-03-19 2007-12-21 Halfa Entpr Co Ltd Infrared remote controller structure with built-in bluetooth wireless transmission
US20100292007A1 (en) 2007-06-26 2010-11-18 Nintendo Of America Inc. Systems and methods for control device including a movement detector
TW200906468A (en) * 2007-08-14 2009-02-16 Sunplus Mmedia Inc Coordinate positioning system with function of suspended-in-midair positioning and method thereof
US8669938B2 (en) * 2007-11-20 2014-03-11 Naturalpoint, Inc. Approach for offset motion-based control of a computer
JP5224832B2 (ja) * 2008-01-21 2013-07-03 任天堂株式会社 情報処理プログラムおよび情報処理装置
US8152642B2 (en) * 2008-03-12 2012-04-10 Echostar Technologies L.L.C. Apparatus and methods for authenticating a user of an entertainment device using a mobile communication device
US9210355B2 (en) 2008-03-12 2015-12-08 Echostar Technologies L.L.C. Apparatus and methods for controlling an entertainment device using a mobile communication device
US8619072B2 (en) 2009-03-04 2013-12-31 Triangle Software Llc Controlling a three-dimensional virtual broadcast presentation
US8982116B2 (en) 2009-03-04 2015-03-17 Pelmorex Canada Inc. Touch screen based interaction with traffic data
US9046924B2 (en) 2009-03-04 2015-06-02 Pelmorex Canada Inc. Gesture based interaction with traffic data
KR101624505B1 (ko) * 2009-09-24 2016-05-26 삼성전자주식회사 3-d 포인팅 감지 장치 및 방법
US8348760B2 (en) * 2010-02-05 2013-01-08 Sony Computer Entertainment Inc. Systems and methods for determining controller functionality based on position, orientation or motion
CN102763059B (zh) * 2009-11-20 2015-08-05 索尼电脑娱乐公司 用于根据位置、方向或动作确定控制器功能的系统和方法
JP4956631B2 (ja) * 2010-01-28 2012-06-20 株式会社コナミデジタルエンタテインメント 領域推定装置、領域推定方法、ならびに、プログラム
JP5335723B2 (ja) * 2010-03-26 2013-11-06 日本電信電話株式会社 制御システム、制御方法および制御プログラム
EP2638493A4 (en) 2010-11-14 2017-12-13 Muddy River, Series 97 of Allied Security Trust 1 Crowd sourced traffic reporting
US9478067B1 (en) 2011-04-08 2016-10-25 Amazon Technologies, Inc. Augmented reality environment with secondary sensory feedback
WO2012159083A2 (en) 2011-05-18 2012-11-22 Triangle Software Llc System for providing traffic data and driving efficiency data
CA2883973C (en) 2012-01-27 2021-02-23 Edgar Rojas Estimating time travel distributions on signalized arterials
US10150028B2 (en) 2012-06-04 2018-12-11 Sony Interactive Entertainment Inc. Managing controller pairing in a multiplayer game
US10223909B2 (en) 2012-10-18 2019-03-05 Uber Technologies, Inc. Estimating time travel distributions on signalized arterials
US10378897B2 (en) * 2013-06-21 2019-08-13 Qualcomm Incorporated Determination of positioning information of a mobile device using modulated light signals
US9588586B2 (en) * 2014-06-09 2017-03-07 Immersion Corporation Programmable haptic devices and methods for modifying haptic strength based on perspective and/or proximity
JP6374904B2 (ja) 2016-04-13 2018-08-15 任天堂株式会社 振動制御システム、振動出力装置、振動出力プログラム、および振動出力方法
JP6382880B2 (ja) * 2016-04-13 2018-08-29 任天堂株式会社 振動制御システム、振動制御方法、振動出力装置、ゲームコントローラ、振動出力プログラム、および振動出力方法
US11577159B2 (en) 2016-05-26 2023-02-14 Electronic Scripting Products Inc. Realistic virtual/augmented/mixed reality viewing and interactions
US10162058B2 (en) 2016-12-23 2018-12-25 X Development Llc Detecting sensor orientation characteristics using marker-based localization
US20200403935A1 (en) * 2019-06-18 2020-12-24 Tmrw Foundation Ip & Holding S. À R.L. Software engine virtualization and dynamic resource and task distribution across edge and cloud
CN113625988B (zh) * 2021-08-06 2023-08-22 网易(杭州)网络有限公司 音量调整方法、装置、设备及存储介质

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03166072A (ja) * 1989-11-27 1991-07-18 Shinko Electric Co Ltd ワーク位置検出方法
US5309137A (en) * 1991-02-26 1994-05-03 Mitsubishi Denki Kabushiki Kaisha Motor car traveling control device
JPH05127809A (ja) * 1991-04-19 1993-05-25 Sharp Corp 三次元空間座標入力装置
JP3208953B2 (ja) * 1993-09-29 2001-09-17 株式会社デンソー 視覚に基く三次元位置および姿勢の認識方法ならびに視覚に基く三次元位置および姿勢の認識装置
US5574479A (en) 1994-01-07 1996-11-12 Selectech, Ltd. Optical system for determining the roll orientation of a remote unit relative to a base unit
GB2289756B (en) 1994-05-26 1998-11-11 Alps Electric Co Ltd Space coordinates detecting device and input apparatus using same
JP3497979B2 (ja) * 1996-10-30 2004-02-16 株式会社山武 距離検出装置
JPH11305935A (ja) 1998-04-24 1999-11-05 Image Tec Kk 位置検出システム
US6707443B2 (en) * 1998-06-23 2004-03-16 Immersion Corporation Haptic trackball device
JP2000035312A (ja) * 1998-07-16 2000-02-02 Penta Ocean Constr Co Ltd 海中に据付けたブロック等の構造物の位置測定装置
JP4794708B2 (ja) * 1999-02-04 2011-10-19 オリンパス株式会社 3次元位置姿勢センシング装置
US20010030667A1 (en) 2000-04-10 2001-10-18 Kelts Brett R. Interactive display interface for information objects
US6864877B2 (en) * 2000-09-28 2005-03-08 Immersion Corporation Directional tactile feedback for haptic feedback interface devices
JP3718747B2 (ja) * 2001-04-27 2005-11-24 日産自動車株式会社 車両用走行制御装置
US6982697B2 (en) 2002-02-07 2006-01-03 Microsoft Corporation System and process for selecting objects in a ubiquitous computing environment
US7389171B2 (en) * 2003-12-22 2008-06-17 Ford Global Technologies Llc Single vision sensor object detection system
US7561720B2 (en) * 2004-04-30 2009-07-14 Visteon Global Technologies, Inc. Single camera system and method for range and lateral position measurement of a preceding vehicle
ES2664472T3 (es) 2004-04-30 2018-04-19 Idhl Holdings, Inc. Dispositivos de señalización de espacio libre con compensación de inclinación y facilidad de uso mejorada
CA2578653A1 (en) 2004-07-29 2006-02-09 Kevin Ferguson A human movement measurement system
US7672543B2 (en) * 2005-08-23 2010-03-02 Ricoh Co., Ltd. Triggering applications based on a captured text in a mixed media environment
US7545956B2 (en) * 2005-08-12 2009-06-09 Visteon Global Technologies, Inc. Single camera system and method for range and lateral position measurement of a preceding vehicle
JP5424373B2 (ja) * 2006-03-09 2014-02-26 任天堂株式会社 画像処理装置、画像処理プログラム、画像処理システム、および画像処理方法

Also Published As

Publication number Publication date
US20070222750A1 (en) 2007-09-27
JP2007256100A (ja) 2007-10-04
US7831064B2 (en) 2010-11-09

Similar Documents

Publication Publication Date Title
JP4798705B2 (ja) 位置算出装置、位置算出プログラム、ゲーム装置、およびゲームプログラム
JP5424373B2 (ja) 画像処理装置、画像処理プログラム、画像処理システム、および画像処理方法
JP4907128B2 (ja) ゲームシステムおよびゲームプログラム
JP4794957B2 (ja) ゲームプログラム、ゲーム装置、ゲームシステム、およびゲーム処理方法
JP4471910B2 (ja) 仮想位置決定プログラム
JP4262726B2 (ja) ゲームコントローラおよびゲームシステム
US9199166B2 (en) Game system with virtual camera controlled by pointing device
JP5074346B2 (ja) ゲームコントローラおよびゲームシステム
JP4989105B2 (ja) ゲームコントローラ
JP5075330B2 (ja) 情報処理プログラム
JP4907129B2 (ja) 情報処理システムおよびプログラム
JP4895352B2 (ja) 対象選択プログラム、対象選択装置、対象選択システム、および対象選択方法
JP4240510B2 (ja) ゲームコントローラおよびゲームシステム
JP5004518B2 (ja) ゲーム装置、ゲームプログラム、ゲームシステム、およびゲーム処理方法
JP4964729B2 (ja) 画像処理プログラムおよび画像処理装置
JP2007289413A (ja) ゲームプログラムおよびゲーム装置
JP5735865B2 (ja) ゲームシステムおよびゲームプログラム
JP5735866B2 (ja) 情報処理システムおよびプログラム
JP5331259B2 (ja) 情報処理プログラム、情報処理装置、情報処理システム、および情報処理方法
JP2008302241A (ja) 情報処理システム、情報処理方法、および情報処理プログラム
JP5357998B2 (ja) ゲームプログラム、ゲーム装置、ゲームシステム、およびゲーム処理方法
JP5352626B2 (ja) 情報処理プログラム
JP5352692B2 (ja) 画像処理プログラムおよび画像処理装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090216

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110421

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: 20110728

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110729

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140812

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4798705

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

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