操作装置および情報処理システム
【課題】 接触させて傾ける操作に適した操作装置を提供する。
【解決手段】 操作装置34は細長い形状のハウジング78を有し、このハウジング78に加速度センサ(84)および/またはジャイロセンサ(104)が収納される。加速度センサおよび/またはジャイロセンサによる加速度データおよび/または角速度データは、操作データ送信部(92)によって操作データに含めて送信される。そして、ハウジング78の下端部78Lに、球面または略球面(Sf0)を有する弾性部材200が設けられる。
【解決手段】 操作装置34は細長い形状のハウジング78を有し、このハウジング78に加速度センサ(84)および/またはジャイロセンサ(104)が収納される。加速度センサおよび/またはジャイロセンサによる加速度データおよび/または角速度データは、操作データ送信部(92)によって操作データに含めて送信される。そして、ハウジング78の下端部78Lに、球面または略球面(Sf0)を有する弾性部材200が設けられる。
【発明の詳細な説明】
【技術分野】
【0001】
この発明は、操作装置および操作システムに関し、特にたとえば、加速度センサおよび/またはジャイロセンサを含む操作装置、およびそのような操作装置を含む情報処理システムに関する。
【背景技術】
【0002】
この種の装置ないしシステムの一例として、加速度センサを含む「Wiiリモコン」(Wii:登録商標)が非特許文献1に開示されている。「Wiiリモコン」には、ジャイロセンサを含む「Wiiモーションプラス」を接続することもできる。ユーザが「Wiiリモコン」を振ったり傾けたりすると、「Wiiリモコン」から加速度データおよび/または角速度データを含む操作データが送信される。Wii本体では、「Wiiリモコン」から受信した操作データに基づくゲーム処理が実行される。加速度データおよび/または角速度データは、たとえばオブジェクトの姿勢や動作の制御などに利用される。
【0003】
また、この種の装置やシステムの具体的な構成および動作は、たとえば特許文献1および2に開示されている。
【非特許文献1】任天堂株式会社、“Wii|コントローラ”、[online]、[平成22年3月30日検索]、インターネット<URL:http://www.nintendo.co.jp/wii/controllers/index.html>
【特許文献1】特開2007−83024号公報
【特許文献2】特開2007−54114号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
ところで、たとえばフライトシミュレータやシューティングゲームのように、姿勢や動作の細やかな制御が必要なゲームでは、操作装置としてジョイスティックが用いられることが多い。「Wiiリモコン」をジョイスティックに見立てて操作することで、この種のゲームを行うことも可能であるが、「Wiiリモコン」を傾ける際に支点が定まらないため、個人差が出やすく、細やかな制御は容易でない。そこで、「Wiiリモコン」の一方端を机面等に接触させ、この接触点を支点に「Wiiリモコン」を傾斜させる操作を行う方法が考えられる。
【0005】
しかし、「Wiiリモコン」は、ハウジングが硬くて平らであるため、接触させて傾ける操作には適さない。
【0006】
それゆえに、この発明の主たる目的は、新規な、操作装置および情報処理システムを提供することである。
【0007】
この発明の他の目的は、接触させて傾ける操作に適した、操作装置および情報処理システムを提供することである。
【課題を解決するための手段】
【0008】
この発明は、上記の課題を解決するために、以下の構成を採用した。
【0009】
第1の発明は、操作装置であって、細長い形状のハウジング、ハウジングに収納または結合される加速度センサおよび/またはジャイロセンサ、加速度センサおよび/またはジャイロセンサによる加速度データおよび/または角速度データを少なくとも含む操作データを送信する操作データ送信部、およびハウジングの一方端または当該一方端の近傍に設けられる弾性部材を備え、弾性部材は球面または略球面を有する。
【0010】
第1の発明では、操作装置は細長い形状のハウジングを有し、このハウジングに加速度センサおよび/またはジャイロセンサが収納または結合される。加速度センサおよび/またはジャイロセンサによる加速度データおよび/または角速度データは、操作データ送信部によって操作データに含めて送信される。そして、ハウジングの一方端または当該一方端の近傍に、球面または略球面を有する弾性部材が設けられる。
【0011】
ここで、加速度センサおよび/またはジャイロセンサは、典型的にはハウジングに内蔵されるが、外付けでもよい。たとえば、ジャイロセンサを含む外付けユニットがハウジングの後端に取り付けられている場合には、弾性部材は、外付けユニットのさらに後端に装着される。また、ハウジングがジャケットで包まれている場合には、弾性部材は、ジャケットを介してハウジングの後端に装着される。弾性部材は、外付けユニットやジャケットと一体化されていてもよい。
【0012】
また、略球面は、全体として球面であればよく、一部に平面や凸凹を含んでいてもよい。
【0013】
第1の発明によれば、弾性部材付きのハウジングを把持して、弾性部材の球面または略球面を机面等と接触させ、その接点ないし接触面を支点としてハウジングを傾けることで、操作装置をジョイスティックのように操作することができる。また、弾性部材付きのハウジングを把持して、弾性部材の球面または略球面を机面等と接触させた状態で机面等に押し付ける操作(プッシュ操作)も行えるし、弾性部材の球面または略球面で机面等を叩く操作(ビート操作)も行える。
【0014】
第2の発明は、操作装置であって、細長い形状のハウジング、ハウジングに収納または結合される加速度センサおよび/またはジャイロセンサ、加速度センサおよび/またはジャイロセンサによる加速度データおよび/または角速度データを少なくとも含む操作データを送信する操作データ送信部、およびハウジングの一方端または当該一方端の近傍に設けられる弾性部材を備え、弾性部材は、ハウジングに取り付けられる側とは反対側に曲面を有し、ハウジングに取り付けられることで、自身を含む操作装置全体の重心を曲面の曲率中心と曲面との間に位置させる。
【0015】
第2の発明では、操作装置は細長い形状のハウジングを有し、このハウジングに加速度センサおよび/またはジャイロセンサが収納または結合される。加速度センサおよび/またはジャイロセンサによる加速度データおよび/または角速度データは、操作データ送信部によって操作データに含めて送信される。そして、ハウジングの一方端または当該一方端の近傍に弾性部材が設けられる。この弾性部材は、ハウジングに取り付けられる側とは反対側に曲面を有し、自身を含む操作装置全体の重心を曲面の曲率中心と曲面との間に位置させる。
【0016】
ここで曲面は、曲率が一定のもの(球面)でも、曲率が段階的または連続的に変化するものでもよい。曲面はまた、全体として曲面であればよく、平面や凹凸を含んでいてもよいし、複数の平面で構成された近似的な曲面であっても構わない。
【0017】
重心を曲面の曲率中心と曲面との間に位置させるには、弾性部材を重くする、特に曲面の近傍を重くすることで、重心を曲面に近づける方法、および/または、曲面の曲率を小さくすることで、曲率中心を曲面から遠ざける方法がある。前者の方法では、曲面の近傍に錘を配置するようにすれば、錘の重さによって重心位置を調整できるので、好ましい。
【0018】
第2の発明によれば、弾性部材付きのハウジングを把持して、弾性部材の曲面を机面等と接触させ、その接点ないし接触面を支点としてハウジングを傾けることで、操作装置をジョイスティックのように操作することができる。また、弾性部材付きのハウジングを把持して、弾性部材の曲面を机面等と接触させた状態で机面等に押し付けるプッシュ操作も行える。さらには、弾性部材の重心が曲面の近傍に位置するので、ハウジングには傾斜に応じた復元力が作用し、その結果、操作装置は自立が可能になるし、ユーザは、傾斜に応じた操作感が得られる。
【0019】
なお、上記第1の発明でも、球面または略球面の下端(ハウジングとは反対側の端部)近傍に錘を配置して重心を下げることで、操作装置は自立が可能になるし、ユーザは傾斜に応じた操作感が得られる。
【0020】
第3の発明は、第1または第2の発明に従属する操作装置であって、弾性部材はハウジングの一方端に着脱可能に取り付けられる。
【0021】
第3の発明によれば、弾性部材を必要に応じて着脱できるので、利便性が向上する。
【0022】
第4の発明は、第1または第2の発明に従属する操作装置であって、ハウジングの、弾性部材とは反対側の端部に設けられるカメラ、およびカメラが撮像した画像内における対象の位置情報を算出する位置情報算出部をさらに備え、操作データには位置情報算出部によって算出された位置情報がさらに含まれる。
【0023】
第4の発明によれば、加速度データおよび/または角速度データに加えて位置情報も操作データに含めて送信するので、操作装置の動きおよび位置(向き)を通して多彩な操作が可能となる。
【0024】
第5の発明は、第4の発明に従属する操作装置であって、ハウジングの上面のカメラ寄りに設けられる第1ボタンをさらに備え、操作データには第1ボタンの操作情報がさらに含まれる。
【0025】
第6の発明は、第5の発明に従属する操作装置であって、ハウジングの下面の第1ボタンと略対向する位置に設けられる第2ボタンをさらに備え、操作データには第2ボタンの操作情報がさらに含まれる。
【0026】
第5,第6の発明によれば、加速度データおよび/または角速度データに加えて位置情報およびボタン操作情報も操作データに含めて送信するので、操作装置の動きおよび位置(向き)ならびにボタンを通して多彩な操作が可能となる。
【0027】
第7の発明は、第1ないし第6のいずれかに記載の操作装置と情報処理装置とを含む情報処理システムであって、情報処理装置は、操作装置からの操作データを受信する受信部、受信部によって受信された操作データに含まれる加速度データおよび/または角速度データに基づいて、操作装置の姿勢を算出する姿勢算出部、および姿勢算出部によって算出された姿勢に応じた所定の情報処理を行う情報処理部を備える。
【0028】
第7の発明によれば、操作装置をジョイスティックのように傾けることで(ジョイスティック的操作)、情報処理装置に所定の情報処理、特にたとえば、フライトシミュレータやシューティングゲームのような、姿勢や動作の細やかな制御が必要な情報処理を行わせることができる。
【0029】
第8の発明は、第1ないし第6のいずれかに記載の操作装置と情報処理装置を含む情報処理システムであって、情報処理装置は、操作装置からの操作データを受信する受信部、受信部によって受信された操作データに含まれる加速度データおよび/または角速度データに基づいて、操作装置の振動を検出する振動検出部、および振動検出部によって検出された振動に応じた所定の情報処理を行う情報処理部を備える。
【0030】
第8の発明によれば、操作装置を机面等に押し付けたり(プッシュ操作)、操作装置で机面等を叩いたりして(ビート操作)、操作装置を振動させることで、情報処理装置に所定の情報処理を行わせることができる。たとえば、シューティングゲームにおいて、プッシュ操作をトリガに弾丸を発射することができる。
【0031】
第9の発明は、第8の発明に従属する情報処理システムであって、情報処理装置は、受信部によって受信された操作データに含まれる加速度データおよび/または角速度データに基づいて、操作装置の姿勢を算出する姿勢算出部をさらに備え、情報処理部は、振動検出部によって検出された振動および姿勢算出部によって算出された姿勢に応じた所定の情報処理を行う。
【0032】
第9の発明によれば、ジョイスティック的操作とプッシュ操作やビート操作とを組み合わせることで、多様な情報処理を行わせることが可能になる。たとえば、シューティングゲームにおいて、ジョイスティック的操作で照準を標的に合わせ、プッシュ操作で弾丸を発射する、といった処理が行える。
【0033】
第10の発明は、細長い形状のハウジングと、ハウジングに収納または結合される加速度センサおよび/またはジャイロセンサと、加速度センサおよび/またはジャイロセンサによる加速度データおよび/または角速度データを少なくとも含む操作データを送信する操作データ送信部とを備える、操作装置の一方端または当該一方端の近傍に設けられる弾性部材であって、球面または略球面を有し、球面または略球面上にハウジングの一方端と略同一形状の凹部が形成されている。
【0034】
第10の発明でも、第1の発明と同様に、操作装置をジョイスティックのように操作することができる。また、プッシュ操作も、ビート操作も行える。
【0035】
第11の発明は、細長い形状のハウジングと、ハウジングに収納または結合される加速度センサおよび/またはジャイロセンサと、加速度センサおよび/またはジャイロセンサによる加速度データおよび/または角速度データを少なくとも含む操作データを送信する操作データ送信部とを備える、操作装置の一方端または当該一方端の近傍に設けられる弾性部材であって、ハウジングが取り付けられる側とは反対側に曲面を有し、ハウジングに取り付けられることで、自身を含む操作装置全体の重心を曲面の曲率中心と曲面との間に位置させる。
【0036】
第11の発明でも、第2の発明と同様に、操作装置をジョイスティックのように操作することができる。また、プッシュ操作も行える。さらには、操作装置は自立が可能になるし、ユーザは、傾斜に応じた操作感が得られる。
【発明の効果】
【0037】
この発明によれば、接触させて傾ける操作に適した、操作装置および情報処理システムならびに弾性部材が実現される。さらには、押したり叩いたりする操作にも適した、操作装置および情報処理システムならびに弾性部材が実現される。
【0038】
この発明の上述の目的,その他の目的,特徴および利点は、図面を参照して行う以下の実施例の詳細な説明から一層明らかとなろう。
【図面の簡単な説明】
【0039】
【図1】この発明の一実施例の構成を示すブロック図である。
【図2】図1実施例に適用される第1コントローラの外観を示す図解図であり、図2(A)は第1コントローラを上面後方から見た斜視図であり、図2(B)は第1コントローラを下面前方から見た斜視図である。
【図3】図1実施例に適用される第2コントローラの本体の外観を示す図解図であり、図3(A)は第2コントローラ本体を上面後方から見た斜視図であり、図3(B)は第1コントローラ本体を下面前方から見た斜視図である。
【図4】第2コントローラのコネクタの外観を示す図解図である。
【図5】第1コントローラに第2コントローラのコネクタを接続した状態で、第1コントローラに装着されたストラップのひもをコネクタのフックに掛け止めた様子を示す図解図である。
【図6】図1実施例に適用されるジャイロセンサユニットの外観を示す図解図であり、図6(A)はジャイロセンサユニットを上面前方から見た斜視図であり、図6(B)はジャイロセンサユニットを下面後方から見た斜視図である。
【図7】第1コントローラにジャイロセンサユニットを接続した状態を示す図解図である。
【図8】第1コントローラにジャイロセンサユニット介して第2コントローラを接続した状態を示す図解図である。
【図9】図1実施例の電気的な構成を示すブロック図である。
【図10】図1実施例に適用されるコントローラ全体の電気的な構成を示すブロック図である。
【図11】プレイヤがコントローラを操作する様子を示す図解図である。
【図12】弾性部材が装着された第1コントローラを示す図解図である。
【図13】弾性部材の構造を示す図解図である。
【図14】弾性部材を装着した第1コントローラの操作例を示す図解図である。
【図15】弾性部材を装着した第1コントローラの他の操作例を示す図解図である。
【図16】弾性部材を装着した第1コントローラのその他の操作例を示す図解図である。
【図17】図1実施例で実行される処理を示すフロー図であり、図17(A)は第1コントローラのマイコン動作の一部を示し、図17(B)はゲーム装置のCPU動作の一部を示す。
【図18】弾性部材の表面の構成例を示す図解図であり、図18(A)は曲率が異なる2つの曲面で構成された表面(底面の曲率が大きい場合)を示し、図18(B)は平面および曲面で構成された表面を示し、そして図18(C)は図18(B)の表面において曲面が3つの平面で構成された近似的な曲面である場合を示す。
【図19】弾性部材の表面の他の構成例を示す図解図であり、曲率が異なる2つの曲面で構成された表面(底面の曲率が小さい場合)を示す。
【図20】図20は他の弾性部材に関する図解図であり、図20(A)はこの弾性部材の構造を示す斜視図であり、図20(B)はこの弾性部材が装着された第1コントローラを示す上面図であり、図20(C)はこの弾性部材が装着された第1コントローラを示す側面図である。
【図21】弾性部材が装着されたジャイロ付きの第1コントローラを示す図解図である。
【図22】弾性部材が装着されたジャケット付きの第1コントローラを示す図解図である。
【図23】プレイヤが弾性部材を装着したコントローラを操作する様子を示す図解図である。
【発明を実施するための形態】
【0040】
図1を参照して、この発明の一実施例であるゲームシステム10は、ゲーム装置12およびコントローラ14を含む。ゲーム装置12は据置型ゲーム装置である。コントローラ14は、ユーザないしプレイヤの入力装置ないし操作装置である。ゲーム装置12とコントローラ14とは無線によって接続される。
【0041】
ゲーム装置12は、略直方体のハウジング16を含み、ハウジング16の前面にはディスクスロット18およびメモリカードスロットカバー20が設けられる。ディスクスロット18から、ゲームプログラムおよびデータを記憶した情報記憶媒体の一例である光ディスク66(図10)が挿入されて、ハウジング16内のディスクドライブ54(図10)に装着される。メモリカードスロットカバー20の内側には外部メモリカード用コネクタ62(図10)が設けられており、外部メモリカード(図示せず)が挿入される。外部メモリカードは、光ディスク66(図10)から読み出したゲームプログラム等をローディングして一時的に記憶したり、このゲームシステム10を利用してプレイされたゲームのゲームデータ(結果データまたは途中データ)を保存(セーブ)しておいたりするために利用される。また、上記ゲームデータの保存は、外部メモリカードに代えて、たとえばフラッシュメモリ等の内部メモリに対して行うようにしてもよい。
【0042】
ゲーム装置12のハウジング16の後面には、AVケーブルコネクタ(図示せず)が設けられ、当該コネクタを用いて、ゲーム装置12はAVケーブル28を介してモニタ(ディスプレイ)30に接続される。このモニタ30は典型的にはカラーテレビジョン受像機であり、AVケーブル28は、ゲーム装置12からの映像信号をカラーテレビのビデオ入力端子に入力し、音声信号を音声入力端子に入力する。したがって、カラーテレビ(モニタ)30の画面上にたとえば3Dビデオゲームのゲーム画像が表示され、内蔵されるスピーカ32からゲーム音楽や効果音などのステレオゲーム音声が出力される。
【0043】
また、モニタ30の周辺(この実施例では、モニタ30の上側)には、2つの赤外LED(マーカ)22aおよび22bを備えるマーカ部22が設けられる。マーカ22aおよび22bは、それぞれモニタ30の前方に向けて赤外光を出力する。
【0044】
なお、ゲーム装置12の電源は、一般的なACアダプタ(図示せず)によって与えられる。ACアダプタは家庭用の標準的な壁ソケットに接続され、家庭用電源を、ゲーム装置12を駆動するのに適した低いDC電圧信号に変換する。他の実施例では、電源としてバッテリが用いられてもよい。マーカ部22は、図示しない電源線を通してゲーム装置12に接続されており、ゲーム装置12から電源の供給を受ける。
【0045】
コントローラ14は、詳細は後述されるが、それぞれが片手で把持可能な第1コントローラ34および第2コントローラ36と、第1コントローラ34に装着されるジャイロセンサユニット100とを含む。第1コントローラ34の後端面にはコネクタ42(図2(A)、図11)が設けられ、第2コントローラ36の後端から延びるケーブル38の先端にはコネクタ40(図4(A)、図11)が設けられ、そしてジャイロセンサユニット100の先端面および後端面にはコネクタ106および108(図6(A)、図6(B)、図7および図11)がそれぞれ設けられる。ジャイロセンサユニット100の先端面側のコネクタ106は第1コントローラ34のコネクタ42と接続可能であり、第2コントローラ36のコネクタ40は第1コントローラ34のコネクタ42またはジャイロセンサユニット100の後端面側のコネクタ108と接続可能である。
【0046】
コネクタ106をコネクタ42に接続することで、ジャイロセンサユニット100は、第1コントローラ34と物理的および電気的に結合される。こうして第1コントローラ34に装着(一体化)されたジャイロセンサユニット100からは、第1コントローラ34の角速度を示す角速度データが出力される。
【0047】
こうして第1コントローラ34にジャイロセンサユニット100が装着された場合、第2コントローラ36のコネクタ40は、ジャイロセンサユニット100の後端面側のコネクタ108に接続される。すなわち、コネクタ42は、コネクタ106とコネクタ40の両者を選択的に接続可能な構造であって、コネクタ40は、コネクタ42とコネクタ108の両者に選択的に接続可能な構造である。したがって、ジャイロセンサユニット100に設けられるコネクタ106とコネクタ108とは、同一のハウジングに設けられるため実際は接続できないが、コネクタの形状としては互いに接続可能な形状をしていることになる。第2コントローラ36の入力データは、ケーブル38およびジャイロセンサユニット100を介して第1コントローラ34に与えられる。第1コントローラ34は、第1コントローラ34自身の入力データと、ジャイロセンサユニット100からの角速度データと、第2コントローラ36の入力データとを含むコントローラデータをゲーム装置12に送信する。
【0048】
なお、コネクタ40をコネクタ42に接続した場合には、第2コントローラ36の操作データないし入力データはケーブル38を介して第1コントローラ34に与えられ、第1コントローラ34は、第1コントローラ34自身の入力データと第2コントローラ36の入力データとを含むコントローラデータをゲーム装置12に送信する。
【0049】
このとき、第1コントローラ34の入力データと、第2コントローラ36の入力データを送信するシステムにおいて、一度に送信するデータ量を追加することができないように設計されている場合もあるが、ジャイロユニット100を追加した場合に、ジャイロユニット100からの角速度データと、第2コントローラ36からの入力データとを交互に第1コントローラ36へ出力することによって、両者のデータを送信することができる。このデータ制御はジャイロユニット100で行うことができるので、第1コントローラ34や第2コントローラ36には何ら設計の変更をする必要がない。
【0050】
このように、ジャイロセンサユニット100は、既存の第1コントローラ34および第2コントローラ36をそのまま利用しながら、第1コントローラ34にジャイロ機能を付加するための拡張ユニットである。
【0051】
このゲームシステム10において、ゲーム(または他のアプリケーション)をプレイするために、ユーザはまずゲーム装置12の電源をオンし、次いで、ユーザはビデオゲーム(もしくは実行したいと思う他のアプリケーション)を記憶している適宜の光ディスク66を選択し、その光ディスク66をゲーム装置12のディスクスロット18からディスクドライブ54にローディングする。これに応じて、ゲーム装置12がその光ディスク66に記憶されているソフトウェアに基づいてビデオゲームもしくは他のアプリケーションを実行し始めるようにする。ユーザはゲーム装置12に入力を与えるためにコントローラ14を操作する。
【0052】
図2には第1コントローラ34の外観の一例が示される。図2(A)は、第1コントローラ34を上面後方から見た斜視図であり、図2(B)は、第1コントローラ34を下面前方から見た斜視図である。
【0053】
第1コントローラ34は、たとえばプラスチック成型によって形成されたハウジング78を有している。ハウジング78は、その前後方向(Z軸方向)を長手方向とした略直方体形状を有しており、全体として大人や子供の片手で把持可能な大きさである。一例として、ハウジング78は人間の掌とほぼ同じ長さまたは幅を持つ大きさをしている。プレイヤは、第1コントローラ34を用いて、それに設けられたボタンを押下することと、第1コントローラ34自体の位置や向きを変えることとによって、ゲーム操作を行うことができる。
【0054】
ハウジング78には、複数の操作ボタンが設けられる。すなわち、ハウジング78の上面には、十字キー80a、Xボタン80b、Yボタン80c、Aボタン80d、セレクトスイッチ80e、メニュースイッチ80f、およびスタートスイッチ80gが設けられる。一方、ハウジング78の下面には凹部が形成されており、当該凹部の後方側傾斜面にはBボタン80hが設けられる。これら各ボタン(スイッチ)80a−80hには、ゲーム装置12が実行するゲームプログラムに応じてそれぞれ適宜な機能が割り当てられる。また、ハウジング78の上面には、遠隔からゲーム装置12本体の電源をオン/オフするための電源スイッチ80iが設けられる。第1コントローラ34に設けられる各ボタン(スイッチ)は、包括的に参照符号80を用いて示されることもある。
【0055】
ハウジング78内には、図2に示すX、YおよびZの3軸方向(すなわち左右方向、上下方向および前後方向)の加速度を検出する加速度センサ84(図11)が設けられる。なお、加速度センサ84としては、ハウジング78の形状または第1コントローラ34の持たせ方の限定等に応じて、上下方向、左右方向および前後方向のうちいずれか2方向の加速度を検出する2軸加速度センサが用いられてもよい。場合によっては1軸加速度センサが用いられてもよい。
【0056】
ハウジング78の前面には光入射口78bが形成され、ハウジング78内には撮像情報演算部81がさらに設けられる。撮像情報演算部81は、赤外線を撮像するカメラ81aと撮像対象の画像内での座標を算出する演算部81bとによって構成され、上述のマーカ22aおよび22bを含む被写界を赤外線で捉えて、マーカ22aおよび22bの被写界内における位置座標を算出する。
【0057】
また、ハウジング78の後面には、上述のコネクタ42が設けられている。コネクタ42は、第1コントローラ34に他の機器を接続するために利用される。この実施例では、コネクタ42には第2コントローラ36のコネクタ40またはジャイロセンサユニット100のコネクタ106が接続される。
【0058】
ハウジング78の後面にはまた、コネクタ42を左右(X軸方向)に挟んで対向する位置に、一対の孔82aおよび82bが形成されている。この一対の孔82aおよび82bは、ジャイロセンサユニット100をハウジング78の後面に固定するためのフック112Faおよび112Fb(図6(A))が挿入される。ハウジング78の後面にはさらに、ストラップ24(図4(B))を装着するための孔82cも形成されている。
【0059】
図3には第2コントローラ36の本体の外観の一例が示される。図3(A)は、第2コントローラ36を上面後方から見た斜視図であり、図3(B)は、第2コントローラ36を下面前方から見た斜視図である。なお、図3では、第2コントローラ36のケーブル38は省略されている。
【0060】
第2コントローラ36は、たとえばプラスチック成型によって形成されたハウジング86を有している。ハウジング86は、平面視では、前後方向(Z軸方向)に略細長い楕円形状を有し、後端側の左右方向(X軸方向)の幅が先端側のそれよりも狭くされている。また、ハウジング86は、側面視では、全体として湾曲した形状を有しており、先端側の水平部分から後端側に向かって下がるように湾曲している。ハウジング86は、第1コントローラ34と同様に、全体として大人や子供の片手で把持可能な大きさであるが、長手方向(Z軸方向)の長さは、第1コントローラ34のハウジング78よりもやや短くされている。この第2コントローラ36でも、プレイヤは、ボタンやスティックを操作することと、コントローラ自体の位置や向きを変えることとによって、ゲーム操作を行うことができる。
【0061】
ハウジング86の上面の先端側には、アナログジョイスティック88aが設けられる。ハウジング86の先端には、後方にやや傾斜する先端面が設けられており、この先端面には、上下方向(図3に示すY軸方向)に並べて、Cボタン88bおよびZボタン88cが設けられる。アナログジョイスティック88aおよび各ボタン88b,88cには、ゲーム装置12が実行するゲームプログラムに応じてそれぞれ適宜な機能が割り当てられる。
第2コントローラ36に設けられるアナログジョイスティック88aおよび各ボタン88b,88cは、包括的に参照符号88を用いて示されることもある。
【0062】
また、第2コントローラ36のハウジング86内には加速度センサ90(図11)が設けられている。この加速度センサ90としては、第1コントローラ34の加速度センサ84と同様の加速度センサが適用される。具体的には、この実施例では3軸加速度センサが適用され、第2コントローラ36の上下方向(Y軸方向)、左右方向(X軸方向)および前後方向(Z軸方向)の3軸方向のそれぞれで加速度を検知する。したがって、第1コントローラ34の場合と同様に、検出された加速度に適宜な演算処理を施すことによって、第2コントローラ36の傾きや回転、重力方向に対する加速度センサ90の姿勢などを算出することができる。また、振り等によって第1コントローラ34に加えられた動きについても同様に算出することができる。
【0063】
図4には第2コントローラ36のコネクタ40の外観の一例が示される。図4は、コネクタ40を下面前方から見た斜視図である。なお、ここでもケーブル38は省略されている。コネクタ40は、たとえばプラスチック成型によって形成されたハウジング142を有する。ハウジング142の下面にはフック144が設けられている。このフック144は、本来的には、図5に示すように、コネクタ40を第1コントローラ34(のコネクタ42)と直に接続した場合に、第1コントローラ34に装着されたストラップ24のひもを掛け止めるためのものである。ストラップ24のひもをフック144に掛け止めることによって、第1コントローラ34と第2コントローラ36が強く引っ張られた場合等においても、コネクタが外れて飛ぶようなことを防止することができる。
【0064】
図6にはジャイロセンサユニット100の外観の一例が示される。図6(A)は、ジャイロセンサユニット100を上面前方から見た斜視図であり、図6(B)は、ジャイロセンサユニット100を下面後方から見た斜視図である。
【0065】
ジャイロセンサユニット100は、たとえばプラスチック成型によって形成されたハウジング110を有している。ハウジング110は、略直方体形状を有しており、その長さは第1コントローラ34のハウジング78の長さのおよそ1/5、その幅および厚みはハウジング78の幅および厚みとほぼ同じである。プレイヤは、第1コントローラ34にジャイロセンサユニット100を装着した状態でも、第1コントローラ34自体の位置や向きを変えることによって、ゲーム操作を行うことができる。
【0066】
ハウジング110の前面および後面には上述のコネクタ106および108が、ハウジング110の両側面には一対のリリースボタン112aおよび112bが、そしてハウジング110の下面にはロックスイッチ114が、それぞれ設けられている。ハウジング110の前面下端から下面先端にかけては、第1コントローラ34にジャイロセンサユニット100を装着した状態でストラップ24用の孔82cが露見するように(図8)、略球面状の凹部110aが設けられている。
【0067】
ハウジング110の前面にはまた、コネクタ106を挟んで横方向(X軸方向)に対向する位置に、一対のリリースボタン112aおよび112bとそれぞれ連繋する一対のフック112Faおよび112Fbが設けられている。ジャイロセンサユニット100を第1コントローラ34に装着するべく、コネクタ106をコネクタ42に接続すると、一対のフック112Faおよび112Fbはハウジング78後面の一対の孔82aおよび82b(図2(A))に挿入され、フック112Faおよび112Fbの爪がハウジング78の内壁に引っ掛かる。これによって、ジャイロセンサユニット100は、第1コントローラ34の後面に固定される。
【0068】
こうして第1コントローラ34に装着されたジャイロセンサユニット100が図8に示される。この状態で一対のリリースボタン112aおよび112bを押せば、爪の引っ掛かりは解け、ジャイロセンサユニット100を第1コントローラ34から取り外せるようになる。
【0069】
ロックスイッチ114は、このようなリリースボタン112aおよび112bにロックをかけるためのスライドスイッチである。リリースボタン112aおよび112bは、ロックスイッチ114が第1位置(たとえば後ろ寄り)にあるとき押下不能(ロック状態)であり、ロックスイッチ114が第2位置(たとえば前寄り)にあるとき押下可能(解除状態)である。ハウジング110内には、ロックバネ118aおよび118b(図7)が設けられ、リリースボタン112aおよび112bを押下すると反発するように構成され、押下されていないときは爪が引っ掛かった状態を維持するように構成されている。このため、ジャイロセンサユニット100を取り外すには、ユーザは、ロックスイッチ114を第1位置から第2位置にスライドさせたうえで、リリースボタン112aおよび112bを押す必要がある。
【0070】
このように、ジャイロセンサユニット100は、第1コントローラ34の後面に装着されるため、ゲーム操作中にジャイロセンサユニット100に加わる遠心力は専ら、ジャイロセンサユニット100を第1コントローラ34に押し付けるように作用する。また、ジャイロセンサユニット100をフック112Faおよび112Fbで第1コントローラ34の後面に固定する一方、フック112Faおよび112Fbを開放するためリリースボタン112aおよび112bにはロックスイッチ114を設けたため、ゲーム操作中であってもジャイロセンサユニット100と第1コントローラ34とがしっかり固定された状態にすることができる。
【0071】
ハウジング110の後面にはまた、コネクタ108に装着されるコネクタカバー116を収納可能な凹部110bが、このコネクタ108の周囲に形成される。コネクタカバー116は、その主面の一方端部に、前後(Z軸方向)に長細い薄手の(すなわち曲折容易な)突起116aを有する。この突起116aの先端部分がハウジング110と係合されており、コネクタカバー116は、コネクタ108から取り外された状態でもハウジング110に係留される。
【0072】
コネクタカバー116はまた、その主面の他方端部に、左右(X軸方向)に長細い厚手の(すなわち曲折困難な)突起116bを有する。突起116bの厚み(Z軸方向の高さ)は、第2コントローラ36のコネクタ40に設けられたフック144(図4)の厚み(Y軸方向の高さ)とほぼ同じである。第1コントローラ34にジャイロセンサユニット100を介して第2コントローラ36が接続された場合、コネクタカバー116は、図9に示すように、その主面が水平となって、突起116bがフック144の側面と係合される。コネクタ108から取り外されたコネクタカバー116をこうしてコネクタ40と一体化することで、操作性や見た目が改善されるだけでなく、コネクタ40がジャイロセンサユニット100にしっかりと固定される。
【0073】
図示は省略するが、ジャイロセンサユニット100は、ジャイロセンサを含み、ジャイロセンサは、1軸のジャイロセンサおよび2軸のジャイロセンサの2チップで構成される。前者はヨー角に関する角速度(Y軸周りの角速度)を検出するためのものであり、後者はロール角およびピッチ角に関する2つの角速度(Z軸周りの角速度およびX軸周りの角速度)を検出するためのものである。なお、ジャイロセンサは、2チップ構成とは限らず、3個の1軸ジャイロセンサ(3チップ)で構成してもよく、1個の3軸ジャイロセンサ(1チップ)で構成してもよい。いずれの場合も、上述の3つの角速度を適正に検出できるように、各チップの位置や向きが決定される。さらにまた、場合によっては、ジャイロセンサ104は、1個の2軸ジャイロセンサで構成しても、2個または1個の1軸ジャイロセンサで構成してもよい。また、図2に示した第1コントローラ34、図3および図4に示した第2コントローラ36、および図6に示したジャイロセンサユニット100の形状や、ボタン(スイッチまたはスティック等)の形状、数および設置位置等は単なる一例に過ぎず、他の形状、数および設置位置等に適宜変更され得る。
【0074】
なお、センサは、好ましい実施例ではジャイロセンサ(角速度センサ)であるが、たとえば加速度センサ、速度センサ、変位センサ、回転角センサ、傾斜センサなど他のモーションセンサでもよく、複数のモーションセンサの組み合わせでもよい。
【0075】
また、コントローラ14の電源は、第1コントローラ34内に取替可能に収容されるバッテリ(図示せず)によって与えられる。第2コントローラ36には、コネクタ40およびケーブル38を介してこの電源が供給される。第1コントローラ34にジャイロセンサユニット100が接続されている場合、ジャイロセンサユニット100にはコネクタ42および106を介してこの電源が供給される。さらにジャイロセンサユニット100に第2コントローラ36が接続されていれば、第1コントローラ34からジャイロセンサユニット100に供給された電源の一部は、コネクタ108、コネクタ40およびケーブル38を介して第2コントローラ36にも与えられる。
【0076】
図10にはゲームシステム10の電気的な構成が示される。図示は省略するが、ハウジング16内の各コンポーネントは、プリント基板に実装される。図10に示すように、ゲーム装置12には、CPU44が設けられ、ゲームプロセッサとして機能する。また、CPU44には、システムLSI64が接続される。このシステムLSI64には、外部メインメモリ46、ROM/RTC48、ディスクドライブ54およびAV IC56が接続される。
【0077】
外部メインメモリ46は、ゲームプログラム等のプログラムを記憶したり、各種データを記憶したりして、CPU44のワーク領域やバッファ領域として用いられる。ROM/RTC48は、いわゆるブートROMであり、ゲーム装置12の起動用のプログラムが組み込まれるとともに、時間をカウントする時計回路が設けられる。ディスクドライブ54は、光ディスク66からプログラムやテクスチャデータ等を読み出し、CPU44の制御の下で、後述する内部メインメモリ64eまたは外部メインメモリ46に書き込む。
【0078】
システムLSI64には、入出力プロセッサ64a、GPU(Graphics Processor Unit)64b,DSP(Digital Signal Processor)64c,VRAM64dおよび内部メインメモリ42eが設けられ、図示は省略するが、これらは内部バスによって互いに接続される。
【0079】
入出力プロセッサ(I/Oプロセッサ)42aは、データの送受信を実行したり、データのダウンロードを実行したりする。
【0080】
GPU64は、描画手段の一部を形成し、CPU44からのグラフィクスコマンド(作画命令)を受け、そのコマンドに従ってゲーム画像データを生成する。ただし、CPU40は、グラフィクスコマンドに加えて、ゲーム画像データの生成に必要な画像生成プログラムをGPU64に与える。
【0081】
図示は省略するが、上述したように、GPU64にはVRAM64dが接続される。GPU64が作画命令を実行するにあたって必要なデータ(画像データ:ポリゴンデータやテクスチャデータなどのデータ)は、GPU64がVRAM64dにアクセスして取得する。ただし、CPU44は、描画に必要な画像データを、GPU64を介してVRAM64dに書き込む。GPU64は、VRAM64dにアクセスして描画のためのゲーム画像データを作成する。
【0082】
なお、この実施例では、GPU64がゲーム画像データを生成する場合について説明するが、ゲームアプリケーション以外の任意のアプリケーションを実行する場合には、GPU64は当該任意のアプリケーションについての画像データを生成する。
【0083】
また、DSP64cは、オーディオプロセッサとして機能し、内部メインメモリ64eや外部メインメモリ46に記憶されるサウンドデータや音波形(音色)データを用いて、スピーカ32から出力する音、音声或いは音楽に対応するオーディオデータを生成する。
【0084】
上述のように生成されたゲーム画像データおよびオーディオデータは、AV IC56によって読み出され、AVコネクタ58を介してモニタ30およびスピーカ32に出力される。したがって、ゲーム画面がモニタ30に表示され、ゲームに必要な音(音楽)がスピーカ32から出力される。
【0085】
また、入出力プロセッサ64aには、フラッシュメモリ43、無線通信モジュール50および無線コントローラモジュール52が接続されるとともに、拡張コネクタ60およびメモリカード用コネクタ62が接続される。また、無線通信モジュール50にはアンテナ50aが接続され、無線コントローラモジュール52にはアンテナ52aが接続される。
【0086】
入出力プロセッサ64aは、無線通信モジュール50を介して、ネットワーク(図示せず)に接続される他のゲーム装置や各種サーバと通信することができる。ただし、ネットワークを介さずに、直接的に他のゲーム装置と通信することもできる。入出力プロセッサ64aは、定期的にフラッシュメモリ43にアクセスし、ネットワークへ送信する必要があるデータ(「送信データ」とする)の有無を検出し、当該送信データが有る場合には、無線通信モジュール50およびアンテナ50aを介してネットワークに送信する。また、入出力プロセッサ64aは、他のゲーム装置から送信されるデータ(「受信データ」とする)を、ネットワーク、アンテナ50aおよび無線通信モジュール50を介して受信し、当該受信データをフラッシュメモリ43に記憶する。ただし、受信データが一定の条件を満たさない場合には、当該受信データはそのまま破棄される。さらに、入出力プロセッサ64aは、ダウンロードサーバ(図示せず)からダウンロードしたデータ(ダウンロードデータとする)をネットワーク、アンテナ50aおよび無線通信モジュール50を介して受信し、そのダウンロードデータをフラッシュメモリ43に記憶することもできる。
【0087】
また、入出力プロセッサ64aは、コントローラ14から送信される入力データをアンテナ52aおよび無線コントローラモジュール52を介して受信し、内部メインメモリ64eまたは外部メインメモリ46のバッファ領域に記憶(一時記憶)する。入力データは、CPU44の処理(たとえば、ゲーム処理)によって利用された後、バッファ領域から消去される。
【0088】
なお、この実施例では、上述したように、無線コントローラモジュール52は、Bluetooth規格に従ってコントローラ14との間で通信を行う。このため、コントローラ14からデータを取得するだけでなく、ゲーム装置12からコントローラ14に所定の命令を送信し、コントローラ14の動作をゲーム装置12から制御することもできる。
【0089】
さらに、入出力プロセッサ64aには、拡張コネクタ60およびメモリカード用コネクタ62が接続される。拡張コネクタ60は、USBやSCSIのようなインタフェースのためのコネクタであり、外部記憶媒体のようなメディアを接続したり、コントローラ14とは異なる他のコントローラのような周辺機器を接続したりすることができる。また、拡張コネクタ60に有線LANアダプタを接続し、無線通信モジュール50に代えて当該有線LANを利用することもできる。メモリカード用コネクタ62には、メモリカード38のような外部記憶媒体を接続することができる。したがって、たとえば、入出力プロセッサ64aは、拡張コネクタ60やメモリカード用コネクタ62を介して、外部記憶媒体にアクセスし、データを保存したり、データを読み出したりすることができる。
【0090】
詳細な説明は省略するが、図1にも示したように、ゲーム装置12(ハウジング16)には、電源ボタン20a,リセットボタン20bおよびイジェクトボタン20cが設けられる。電源ボタン20aは、システムLSI64に接続される。この電源ボタン20aがオンされると、システムLSI64には、ゲーム装置12の各コンポーネントに図示しないACアダプタを経て電源が供給され、通電状態となるモードが設定される。
【0091】
リセットボタン20bもまた、システムLSI64に接続される。リセットボタン20bが押されると、システムLSI64は、ゲーム装置12の起動プログラムを再起動する。イジェクトボタン20cは、ディスクドライブ54に接続される。イジェクトボタン20cが押されると、ディスクドライブ54から光ディスク66が排出される。
【0092】
図10には、第1コントローラ34と第2コントローラ36とがジャイロセンサユニット100を介して接続されたときのコントローラ14全体の電気的構成の一例が示される。
【0093】
第1コントローラ34は、その内部に通信部92を備え、通信部92には、操作部80、撮像情報演算部81、加速度センサ84およびコネクタ42が接続される。操作部80は、上述の操作ボタンないし操作スイッチ80a‐80iを示す。操作部80が操作されると、その操作を示すデータが通信部92に出力される。撮像情報演算部81からは、マーカ22aおよび22bの被写界内における位置座標を示すデータが通信部92に出力される。加速度センサ84が検出した加速度を示すデータもまた、通信部92へ出力される。加速度センサ84は、たとえば最大200フレーム/秒程度のサンプリング周期を有する。
【0094】
コネクタ42には、ジャイロセンサユニットのコネクタ106が接続される。ジャイロセンサユニット100は、その内部にマイコン102およびジャイロセンサ104を含む。ジャイロセンサ104は、上述のジャイロセンサ104aおよび104bを示しており、たとえば加速度センサ84と同様のサンプリング周期を有する。マイコン102は、ジャイロセンサ104が検出した角速度を示すデータをコネクタ106およびコネクタ42を介して通信部92に出力する。
【0095】
ジャイロセンサユニット100のコネクタ108には、第2コントローラ36から延びるケーブル38のコネクタ40が接続される。コネクタ40には、第2コントローラ36の操作部88および加速度センサ90が接続される。操作部88は、上述のスティック88aおよび操作ボタン88b、88cを示す。操作部88が操作されると、その操作を示すデータがケーブル38、コネクタ40およびコネクタ42を介してジャイロセンサユニット100のマイコン102に与えられる。マイコン102は、このデータをコネクタ106、コネクタ42を介して通信部92に出力する。また、加速度センサ90も、加速度センサ84と同様のサンプリング周期を有しており、これにより検出された加速度を示すデータもまた、マイコン102によって通信部92に出力される。
【0096】
なお、上述した通信部92への各出力は、たとえば1/200秒周期で実行される。したがって、任意の1/200秒間に、操作部80からの操作データと、撮像情報演算部81のからの位置座標データと、加速度センサ84からの加速度データと、ジャイロセンサ104からの角速度データと、操作部88からの操作データと、加速度センサ90からの加速度データとが、1回ずつ通信部92に出力される。
【0097】
通信部92は、マイクロコンピュータ(マイコン)94、メモリ96、無線モジュール76およびアンテナ98を含む。マイコン94は、処理の際にメモリ96を記憶領域(作業領域やバッファ領域)として用いながら、無線モジュール76を制御して、上記のように出力されたデータ(操作データ,位置座標データ,加速度データおよび角速度データ)をコントローラデータに含めてゲーム装置12に送信したり、ゲーム装置12からのデータを受信したりする。
【0098】
無線モジュール76は、Bluetooth(ブルートゥース)(登録商標)のような近距離無線通信技術を用いて、所定周波数の搬送波をコントローラデータで変調し、その微弱電波信号をアンテナ98から放射する。つまり、コントローラデータは、無線モジュール76で微弱電波信号に変調されて第1コントローラ34から送信される。微弱電波信号はゲーム装置12側のBluetooth通信ユニット74で受信される。受信された微弱電波信号について復調や復号を行うことによって、ゲーム装置12はコントローラデータを取得することができる。ゲーム装置12のCPU44は、コントローラ14から取得したコントローラデータに基づいてゲーム処理を行う。なお、第1コントローラ34とゲーム装置12との無線通信は、無線LANなど他の規格に従って実行されてもよい。
【0099】
このゲームシステム10では、ボタン操作だけでなく、コントローラ14自体を動かすことによっても、ゲームなどのアプリケーションに対する入力を行うことができる。ゲームをプレイする際には、たとえば図11に示すように、プレイヤは、その右手で第1コントローラ34(具体的にはハウジング78の把持部78a:図2)を持ち、その左手で第2コントローラ36を持つ。上述のように、第1コントローラ34には3軸方向の加速度を検出する加速度センサ84が内蔵され、第2コントローラ36にも同様の加速度センサ90が内蔵されている。第1コントローラ34および第2コントローラ36がそれぞれプレイヤによって動かされると、加速度センサ84および加速度センサ90によって、それぞれのコントローラ自身の動きを示す3軸方向の加速度値が検出される。第1コントローラ34にジャイロセンサユニット100が装着されている場合には、第1コントローラ34自身の動きを示す3軸周りの角速度値がさらに検出される。
【0100】
これらの検出値は、先述したコントローラデータの態様でゲーム装置12に送信される。ゲーム装置12(図9)では、コントローラ14からのコントローラデータは、入出力プロセッサ64aによってアンテナ52aおよび無線コントローラモジュール52を介して受信され、受信されたコントローラデータは、内部メインメモリ64eまたは外部メインメモリ46のバッファ領域に書き込まれる。CPU44は、内部メインメモリ64eまたは外部メインメモリ46のバッファ領域に格納されたコントローラデータを読み出し、このコントローラデータから検出値つまりコントローラ14によって検出された加速度および/または角速度の値を復元する。
【0101】
CPU44はまた、このような復元処理と並行して、復元された加速度からコントローラ14の速度を計算する処理を実行してもよい。さらに並行して、計算された速度からコントローラ14の移動距離ないし位置を求めることもできる。一方、復元された角速度からは、コントローラ14の回転角が求まる。なお、加速度を積算して速度を求めたり、角速度を積算して回転角を求めたりする際の初期値(積分定数)は、たとえば、撮像情報演算部81のからの位置座標データに基づいて計算できる。位置座標データはまた、積算によって蓄積されていく誤差の修正にも用いることができる。
【0102】
ゲーム処理は、こうして求められた加速度、速度、移動距離、角速度および回転角などの変数に基づいて実行される。したがって、上記の処理は全てを行わなくともよく、ゲーム処理に必要な変数を適宜算出すればよい。なお、角速度や回転角も、原理的には加速度から計算し得るが、そのためには、ゲームプログラムに複雑なルーチンが必要で、CPU44にも重い処理負荷がかかる。ジャイロセンサユニット100を利用することで、プログラム開発が容易になり、CPU44の処理負荷も軽減される。
【0103】
ところで、ゲームには、第1コントローラ34しか利用しない1コントローラ用ゲームと、第1コントローラ34および第2コントローラ36を利用する2コントローラ用ゲームとがあり、そして各ゲームは、ジャイロ対応およびジャイロ非対応のいずれかに分類される。メインコントローラである第1コントローラ34は、どのゲームをプレイする場合にも必要である。また、拡張コントローラである第2コントローラ36は、2コントローラ用ゲームをプレイするときジャイロセンサユニット100を介して、または直に第1コントローラ34に接続され、1コントローラゲームをプレイするときには通常取り外される。
【0104】
一方、拡張センサないし拡張コントローラであるジャイロセンサユニット100は、ジャイロ非対応ゲームをプレイする場合には不要であるが、わざわざ取り外さなくてもよい。このため、ジャイロセンサユニット100は通常、第1コントローラ34に装着したままにされ、第1コントローラ34と一体で取り扱われる。第2コントローラ36は、コネクタ40の接続先がコネクタ42からコネクタ108に変わる点を除けば、ジャイロセンサユニット100が介在しない場合と同様に着脱される。
【0105】
なお、詳しい説明は省略するが、第1コントローラ34に装着されたジャイロセンサユニット100のマイコン102は、ジャイロセンサユニット100自身に第2コントローラ36が接続されているか否か、さらにはゲームがジャイロ対応か非対応かなどに応じて、“ジャイロ”,“ジャイロ&第2コントローラ”などを含む複数の制御モードの間でモード切り替えを行う。
【0106】
以上のように構成されたゲームシステム10では、第1コントローラ34をジョイスティックのように操作することで、たとえばフライトシミュレータ,シューティングゲーム,ロボット操作系のゲーム,格闘ゲームといった、姿勢や動作の細やかな制御が必要なゲームをプレイすることができる。この場合、図12に示すように、第1コントローラ34のハウジング78の下端部78L(光入射口78bとは反対側の端部)に弾性部材200が装着される。弾性部材200は、たとえばゴム,ウレタンといった弾性素材でできており、略球体の形状を有する。
【0107】
図13に示すように、弾性部材200の表面Sf(略球面Sf0)には、ハウジング78の下端部78Lが過不足なく収まるような四角柱形状(一般には下端部78Lと略同一形状)の凹部202が形成される。凹部202の縦横サイズは、ハウジング78への/からの着脱が容易で、かつプレイ中に離脱しないように、ハウジング78の下端部78Lの縦横サイズと同一または僅かに小さいサイズに形成される。凹部202の深さは、ハウジング78の最も下に位置するYボタン80cが露見するように、下端からYボタン80cまでの高さよりも若干浅くなっている。
【0108】
プレイヤは、弾性部材200が装着された第1コントローラ34(以下では単に“第1コントローラ34”と呼ぶ)を図14に示すように把持して、弾性部材200の表面Sfの一部を机面Tbと接触させ、この接点ないし接触面を支点Fとして第1コントローラ34を傾ける操作(ジョイスティック的操作)を行いつつ、各種ボタン80a−80hの操作を行う。応じて、第1コントローラ34から前述のようなコントローラデータが送信され、ゲーム装置12はこのコントローラデータを受信してゲーム処理を実行する。
【0109】
プレイヤはまた、第1コントローラ34を図15に示す要領で机面Tbに押し付ける操作(これを“プッシュ操作”と呼ぶ)を行うこともできる。これをジョイスティック的操作と組み合わせれば、たとえば、シューティングゲームにおいて、ジョイスティック的操作で標的に照準を合わせた後、プッシュ操作で弾丸を発射する、といった多彩な操作が可能となる。
【0110】
なお、図14,図15の例では、第1コントローラ34の下端側を把持しているが、図16に示す要領で上端側(弾性部材200が装着された側とは反対側)を把持し、弾性部材200で机面Tbを叩く操作(これを“ビート操作”と呼ぶ)を行ってもよい。
【0111】
この場合、ゲームシステム10では、図17のフローに従う処理が実行される。なお、処理自体は、第1コントローラ34に弾性部材200が装着されていてもいなくても特に変化はない。図17(A)が第1コントローラ34側(マイコン94)のフローを示し、図17(B)がゲーム装置12側(CPU44)のフローを示す。
【0112】
図17(A)を参照して、マイコン94は、最初のステップS1で、操作部80からの操作データと、撮像情報演算部81のからの位置座標データと、加速度センサ84からの加速度データとを取得する。なお、第1コントローラ34(のハウジング78)にジャイロセンサユニット100が接続(結合)されている場合には、ジャイロセンサ104からの角速度データがさらに取得され、第2コントローラ36が接続されている場合には、操作部88からの操作データと、加速度センサ90からの加速度データとがさらに取得される。次のステップS3では、こうして取得された各種のデータをコントローラデータに含めて無線モジュール98で送信する。その後、ステップS1に戻って上記と同様の処理を繰り返す。
【0113】
図17(B)を参照して、CPU44は、最初、ステップS11で、第1コントローラ34からのコンローラデータを無線コントローラモジュール52で受信する。次に、ステップS13aで、受信されたコントローラデータに含まれる加速度データおよび/または角速度データに基づいて、第1コントローラ34の姿勢を計算し、ステップS13bでは、受信されたコントローラデータに含まれる加速度データに基づいて、第1コントローラ34の振動を検出する。なお、姿勢は、加速度データだけでも計算可能であるが、角速度データも利用した方が、高い精度で計算を行える。振動は、たとえば、加速度データから3軸の加速度各々について微分値を求め、それを閾値処理することで検出できる。
【0114】
そして、ステップS15で、計算された姿勢および/または検出された振動に基づいて、さらには受信されたコントローラデータに含まれる操作データおよび/または位置座標データに基づいて、ゲーム処理を実行する。その後、ステップS11に戻って上記と同様の処理を繰り返す。
【0115】
以上から明らかなように、この実施例では、第1コントローラ34のハウジング78の下端部78Lに弾性部材200を装着して、弾性部材200の表面Sf(略球面Sf0:完全な球面でもよい)の一部を机面Tbと接触させ、この接点(接触面)を支点Fとして第1コントローラ34を傾けるので、傾け方の個人差が解消され、姿勢の計算精度や振動の検出精度が高まる。したがって、第1コントローラ34をジョイスティック的に操作して、姿勢や動作を細やかに制御することが可能になる。
【0116】
なお、この実施例では、弾性部材200の表面Sfの曲率R(半径の逆数)は一定(略一定)であるが、これを変化させてもよい。場所によって曲率Rが異なる表面Sfの例(断面図)を図18に示す。
【0117】
図18(A)の表面Sfは、その下端Lを含む底面領域Sf1と、これ以外の側面領域Sf2とで構成され、側面領域Sf2の曲率R2の方が底面領域Sf1の曲率R1よりも小さく(カーブが緩やかに)なっている。特に、側面領域Sf2の曲率R2は、図18(B)に示すように0(つまり側面領域Sf2が平面)であってもよく、これによって、プレイヤは、倒す限界の角度を感知できる。場合によっては、曲率R2は負の値つまり側面領域Sf2が反り返っている状態(凹面)であってもよい。
【0118】
一方、底面領域Sf1は曲面であるが、滑らかな曲面でなくてもよく、たとえば図18(C)のように、複数の平面Sf10,Sf11,Sf12,…で形成された近似的な曲面でもよい。この場合、プレイヤは、第1コントローラ34を通じて平面と平面との境界(エッジ)が触覚的に知覚されるので、独特の操作感が得られるし、傾き具合が直感的にわかる。
【0119】
なお、図18の例では、曲率Rは2段階に変化しているが、3以上の段階に変化してもよく、連続的に変化してもよい。
【0120】
こうして、弾性部材200の表面Sfの曲率Rを段階的または連続的に変化させることで、第1コントローラ34を倒す角度によって異なる操作感が得られる。
【0121】
あるいは、図18の例とは逆に、底面領域Sf1の曲率R1を側面領域Sf2の曲率R2よりも小さくしてもよい。これによって、第1コントローラ34がニュートラルポジション(典型的には直立姿勢)を取りやすくなる。ニュートラルポジションを取りやすくする観点からは、底面領域Sf1を平面(R1=0)としてもよい。また、第1コントローラ34をより直立しやすくする(傾斜した状態からでも自力で直立可能にさせる)ために、底面領域Sf1の近傍(特に下端Lの直上またはその周囲)に錘Wを配置してもよい。図19には、このような表面Sfが例示されている。
【0122】
図19の表面Sfでは、錘Wは、底面領域Sf1の下端Lを取り囲むように配置されており、これによって、弾性部材200の重心Gは、下端Lの直上かつ近傍に位置する結果となる。したがって、弾性部材200の重さが第1コントローラ34本体に対して十分であれば、第1コントローラ34は、いわゆる“起き上がりこぼし”の要領で自立する。
【0123】
より具体的には、弾性部材200を含む第1コントローラ34全体の重心Gtが、底面領域Sf1の曲率中心Oよりも下(曲率中心Oと底面領域Sf1との間)に位置すれば、第1コントローラ34は自立可能である。すなわち、第1コントローラ34は、傾斜すると、その傾斜に応じた復元力(重力によるフィードバック)が働き、自発的にニュートラルポジションに戻ろうとする。第1コントローラ34を把持するプレイヤの手には、僅かではあるが、このようなフィードバックが知覚される。
【0124】
なお、重心Gtを曲率中心Oと底面領域Sf1との間に位置させるには、上記のような、弾性部材200を重くする、特に曲面の近傍を重くすることで、重心Gtを底面領域Sf1に近づける方法のほかに、底面領域Sf1の曲率R1を小さくすることで、曲率中心Oを底面領域Sf1から遠ざける方法もある。
【0125】
なお、図19の第1コントローラ34は、ニュートラルポジションで直立するが、錘Wを偏在させることによって、ニュートラルポジションで適宜傾斜するようにしてもよい。
【0126】
また、図13の例や図18の例でも、より重い錘Wを底面領域Sf1の近傍に配置することで、第1コントローラ34を自立させることは可能である。自立には至らなくても、第1コントローラ34全体の重心位置が下がる結果、ジョイスティック的操作の操作性を向上させることはできる。
【0127】
また、図19の表面Sfでは、第1コントローラ34の傾斜を制限するべく、第1コントローラ34を略水平まで傾けた(90度傾斜させた)ときの支点Fに対応する位置に、突起Pが設けられている。このような突起Pは、なくてもよいし、2箇所以上に設けてもよい。たとえば、底面領域Sf1と側面領域Sf2との境界(変曲点C)に小突起を設ければ、プレイヤにニュートラルポジションを明確に感知させることができる。図18(A)〜図18(C)の各表面Sfにも、同様の突起を設けてよい。
【0128】
より複雑な形状の弾性部材200の一例を図20に示す。この弾性部材200は、図20(A)に示すように円盤状の台座Bsと四角柱状のホルダHdとで構成される。ホルダHdは、台座Bsの上面USfに所定角度(たとえば15度)傾斜して設けられ、このホルダHdにハウジング78の下端部78Lが図20(B)に示すように収納される。したがって、第1コントローラ34は、図20(C)に示すようにニュートラルポジションで傾斜する。この傾斜によって、操作時に持ちやすくなると共に、重心位置が下がって操作性が向上する。また、ホルダHdの前面には、当該前面の1/3程度の幅を有するスリットStが形成されており、このスリットStからXボタン80bおよびYボタン80cが露見する。
【0129】
一方、台座Bsは中空構造を有しており、その内部、つまり台座Bsの底面LSfの直上に、重心位置をさらに下げるための錘(図示せず)が配置される。この錘の重さは、弾性部材200を含む第1コントローラ34全体の重心Gtの位置が所望の位置、たとえばXボタン80bの位置と一致するような値に決められる。なお、このとき弾性部材200の重心(図示せず)は、たとえば上面USfおよび下面LSfの真ん中にある。
【0130】
そして、台座部Hsの底面LSfは、略球面に沿う形状(略一定の曲率)を有し、その曲率中心Oは、たとえばメニュースイッチ80fと略同じ位置にある。したがって、第1コントローラ34全体の重心Gtは、底面LSfの曲率中心Oよりも低い(曲率中心Oと底面LSfとの間に位置する)ので、第1コントローラ34は自立可能となり、ジョイスティック的操作の操作性が向上する。
【0131】
なお、台座Bs自体が十分な重さを有していれば、錘は設けなくてもよい。ただし、錘を用いれば、重心位置を適宜変更することができて便利である。
【0132】
また、底面LSfは、略球面に沿う形状とは限らず、図18(A)〜図18(C)および図19に示した各表面Sfと同様の形状でもよい。
【0133】
また、弾性部材200は、第1コントローラ34にジャイロセンサユニット100が接続(結合)された状態でも利用可能である。具体的には、図21に示すように、ジャイロセンサユニット100の下端部100L(第1コントローラ34に接続されている側とは反対側の端部)に、弾性部材200を装着すればよい。なお、ジャイロセンサユニット100の形状やサイズによって、あるいは弾性部材200の材質によっては、共用が困難な場合もあるので、ジャイロ専用の弾性部材を準備してもよい。ジャイロセンサユニット100と弾性部材200とを一体化してもよい。
【0134】
また、弾性部材200は、図22に示すように、第1コントローラ34にジャケット300が装着された状態でも利用可能である。共用が困難な場合には、ジャケット専用の弾性部材を準備してもよい。弾性部材200をジャケット300と一体に形成してもよい。
【0135】
なお、弾性部材200が装着された第1コントローラ34の操作方法は、前述のようなジョイスティック的操作,プッシュ操作およびビート操作に限らない。たとえば、弾性部材200の表面Sfの一部を垂直な壁面等に接触させ、この接点ないし接触面を支点として第1コントローラ34を回動させることで、あたかもボートでオールを漕いでいるような操作が行える。また、弾性部材200を机の上側ではなく下側の面と接触させた状態で、第1コントローラ34を傾斜ないし回動させる操作を行ってもよい。
【0136】
また、弾性部材200は、図23に示すように、アタッチメント400を介して第2コントローラ36に装着することも可能である。したがって、2つの弾性部材200とアタッチメント400を準備すれば、第1コントローラ34および第2コントローラ36で同時にジョイスティック的な操作が行える。ただし、この場合、第1コントローラ34用の弾性部材200では、凹部202(図13参照)の底にさらにコネクタ40を収納するためのさらなる凹部(図示せず)が設けられ、また、コネクタ40に繋がるケーブル38を外に引き出すために、たとえば凹部202等の側面に沿って溝(図示せず)が形成される。ケーブル38を外に引き出すための溝は、第2コントローラ36用の弾性部材200にも形成される。
【0137】
以上では、一例として、ゲームシステム10を用いて説明したが、この発明は、操作装置自体の動きに基づいて、ゲームその他のアプリケーションを含む情報処理を実行する、情報処理システムに適用できる。
【符号の説明】
【0138】
10 …ゲームシステム
12 …ゲーム装置
14 …コントローラ
34 …第1コントローラ
36 …第2コントローラ
44 …CPU
52 …無線コントローラモジュール
84,90 …加速度センサ
92 …通信部
94,102 …マイコン
100 …ジャイロセンサユニット
104 …ジャイロセンサ
200 …弾性部材
【技術分野】
【0001】
この発明は、操作装置および操作システムに関し、特にたとえば、加速度センサおよび/またはジャイロセンサを含む操作装置、およびそのような操作装置を含む情報処理システムに関する。
【背景技術】
【0002】
この種の装置ないしシステムの一例として、加速度センサを含む「Wiiリモコン」(Wii:登録商標)が非特許文献1に開示されている。「Wiiリモコン」には、ジャイロセンサを含む「Wiiモーションプラス」を接続することもできる。ユーザが「Wiiリモコン」を振ったり傾けたりすると、「Wiiリモコン」から加速度データおよび/または角速度データを含む操作データが送信される。Wii本体では、「Wiiリモコン」から受信した操作データに基づくゲーム処理が実行される。加速度データおよび/または角速度データは、たとえばオブジェクトの姿勢や動作の制御などに利用される。
【0003】
また、この種の装置やシステムの具体的な構成および動作は、たとえば特許文献1および2に開示されている。
【非特許文献1】任天堂株式会社、“Wii|コントローラ”、[online]、[平成22年3月30日検索]、インターネット<URL:http://www.nintendo.co.jp/wii/controllers/index.html>
【特許文献1】特開2007−83024号公報
【特許文献2】特開2007−54114号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
ところで、たとえばフライトシミュレータやシューティングゲームのように、姿勢や動作の細やかな制御が必要なゲームでは、操作装置としてジョイスティックが用いられることが多い。「Wiiリモコン」をジョイスティックに見立てて操作することで、この種のゲームを行うことも可能であるが、「Wiiリモコン」を傾ける際に支点が定まらないため、個人差が出やすく、細やかな制御は容易でない。そこで、「Wiiリモコン」の一方端を机面等に接触させ、この接触点を支点に「Wiiリモコン」を傾斜させる操作を行う方法が考えられる。
【0005】
しかし、「Wiiリモコン」は、ハウジングが硬くて平らであるため、接触させて傾ける操作には適さない。
【0006】
それゆえに、この発明の主たる目的は、新規な、操作装置および情報処理システムを提供することである。
【0007】
この発明の他の目的は、接触させて傾ける操作に適した、操作装置および情報処理システムを提供することである。
【課題を解決するための手段】
【0008】
この発明は、上記の課題を解決するために、以下の構成を採用した。
【0009】
第1の発明は、操作装置であって、細長い形状のハウジング、ハウジングに収納または結合される加速度センサおよび/またはジャイロセンサ、加速度センサおよび/またはジャイロセンサによる加速度データおよび/または角速度データを少なくとも含む操作データを送信する操作データ送信部、およびハウジングの一方端または当該一方端の近傍に設けられる弾性部材を備え、弾性部材は球面または略球面を有する。
【0010】
第1の発明では、操作装置は細長い形状のハウジングを有し、このハウジングに加速度センサおよび/またはジャイロセンサが収納または結合される。加速度センサおよび/またはジャイロセンサによる加速度データおよび/または角速度データは、操作データ送信部によって操作データに含めて送信される。そして、ハウジングの一方端または当該一方端の近傍に、球面または略球面を有する弾性部材が設けられる。
【0011】
ここで、加速度センサおよび/またはジャイロセンサは、典型的にはハウジングに内蔵されるが、外付けでもよい。たとえば、ジャイロセンサを含む外付けユニットがハウジングの後端に取り付けられている場合には、弾性部材は、外付けユニットのさらに後端に装着される。また、ハウジングがジャケットで包まれている場合には、弾性部材は、ジャケットを介してハウジングの後端に装着される。弾性部材は、外付けユニットやジャケットと一体化されていてもよい。
【0012】
また、略球面は、全体として球面であればよく、一部に平面や凸凹を含んでいてもよい。
【0013】
第1の発明によれば、弾性部材付きのハウジングを把持して、弾性部材の球面または略球面を机面等と接触させ、その接点ないし接触面を支点としてハウジングを傾けることで、操作装置をジョイスティックのように操作することができる。また、弾性部材付きのハウジングを把持して、弾性部材の球面または略球面を机面等と接触させた状態で机面等に押し付ける操作(プッシュ操作)も行えるし、弾性部材の球面または略球面で机面等を叩く操作(ビート操作)も行える。
【0014】
第2の発明は、操作装置であって、細長い形状のハウジング、ハウジングに収納または結合される加速度センサおよび/またはジャイロセンサ、加速度センサおよび/またはジャイロセンサによる加速度データおよび/または角速度データを少なくとも含む操作データを送信する操作データ送信部、およびハウジングの一方端または当該一方端の近傍に設けられる弾性部材を備え、弾性部材は、ハウジングに取り付けられる側とは反対側に曲面を有し、ハウジングに取り付けられることで、自身を含む操作装置全体の重心を曲面の曲率中心と曲面との間に位置させる。
【0015】
第2の発明では、操作装置は細長い形状のハウジングを有し、このハウジングに加速度センサおよび/またはジャイロセンサが収納または結合される。加速度センサおよび/またはジャイロセンサによる加速度データおよび/または角速度データは、操作データ送信部によって操作データに含めて送信される。そして、ハウジングの一方端または当該一方端の近傍に弾性部材が設けられる。この弾性部材は、ハウジングに取り付けられる側とは反対側に曲面を有し、自身を含む操作装置全体の重心を曲面の曲率中心と曲面との間に位置させる。
【0016】
ここで曲面は、曲率が一定のもの(球面)でも、曲率が段階的または連続的に変化するものでもよい。曲面はまた、全体として曲面であればよく、平面や凹凸を含んでいてもよいし、複数の平面で構成された近似的な曲面であっても構わない。
【0017】
重心を曲面の曲率中心と曲面との間に位置させるには、弾性部材を重くする、特に曲面の近傍を重くすることで、重心を曲面に近づける方法、および/または、曲面の曲率を小さくすることで、曲率中心を曲面から遠ざける方法がある。前者の方法では、曲面の近傍に錘を配置するようにすれば、錘の重さによって重心位置を調整できるので、好ましい。
【0018】
第2の発明によれば、弾性部材付きのハウジングを把持して、弾性部材の曲面を机面等と接触させ、その接点ないし接触面を支点としてハウジングを傾けることで、操作装置をジョイスティックのように操作することができる。また、弾性部材付きのハウジングを把持して、弾性部材の曲面を机面等と接触させた状態で机面等に押し付けるプッシュ操作も行える。さらには、弾性部材の重心が曲面の近傍に位置するので、ハウジングには傾斜に応じた復元力が作用し、その結果、操作装置は自立が可能になるし、ユーザは、傾斜に応じた操作感が得られる。
【0019】
なお、上記第1の発明でも、球面または略球面の下端(ハウジングとは反対側の端部)近傍に錘を配置して重心を下げることで、操作装置は自立が可能になるし、ユーザは傾斜に応じた操作感が得られる。
【0020】
第3の発明は、第1または第2の発明に従属する操作装置であって、弾性部材はハウジングの一方端に着脱可能に取り付けられる。
【0021】
第3の発明によれば、弾性部材を必要に応じて着脱できるので、利便性が向上する。
【0022】
第4の発明は、第1または第2の発明に従属する操作装置であって、ハウジングの、弾性部材とは反対側の端部に設けられるカメラ、およびカメラが撮像した画像内における対象の位置情報を算出する位置情報算出部をさらに備え、操作データには位置情報算出部によって算出された位置情報がさらに含まれる。
【0023】
第4の発明によれば、加速度データおよび/または角速度データに加えて位置情報も操作データに含めて送信するので、操作装置の動きおよび位置(向き)を通して多彩な操作が可能となる。
【0024】
第5の発明は、第4の発明に従属する操作装置であって、ハウジングの上面のカメラ寄りに設けられる第1ボタンをさらに備え、操作データには第1ボタンの操作情報がさらに含まれる。
【0025】
第6の発明は、第5の発明に従属する操作装置であって、ハウジングの下面の第1ボタンと略対向する位置に設けられる第2ボタンをさらに備え、操作データには第2ボタンの操作情報がさらに含まれる。
【0026】
第5,第6の発明によれば、加速度データおよび/または角速度データに加えて位置情報およびボタン操作情報も操作データに含めて送信するので、操作装置の動きおよび位置(向き)ならびにボタンを通して多彩な操作が可能となる。
【0027】
第7の発明は、第1ないし第6のいずれかに記載の操作装置と情報処理装置とを含む情報処理システムであって、情報処理装置は、操作装置からの操作データを受信する受信部、受信部によって受信された操作データに含まれる加速度データおよび/または角速度データに基づいて、操作装置の姿勢を算出する姿勢算出部、および姿勢算出部によって算出された姿勢に応じた所定の情報処理を行う情報処理部を備える。
【0028】
第7の発明によれば、操作装置をジョイスティックのように傾けることで(ジョイスティック的操作)、情報処理装置に所定の情報処理、特にたとえば、フライトシミュレータやシューティングゲームのような、姿勢や動作の細やかな制御が必要な情報処理を行わせることができる。
【0029】
第8の発明は、第1ないし第6のいずれかに記載の操作装置と情報処理装置を含む情報処理システムであって、情報処理装置は、操作装置からの操作データを受信する受信部、受信部によって受信された操作データに含まれる加速度データおよび/または角速度データに基づいて、操作装置の振動を検出する振動検出部、および振動検出部によって検出された振動に応じた所定の情報処理を行う情報処理部を備える。
【0030】
第8の発明によれば、操作装置を机面等に押し付けたり(プッシュ操作)、操作装置で机面等を叩いたりして(ビート操作)、操作装置を振動させることで、情報処理装置に所定の情報処理を行わせることができる。たとえば、シューティングゲームにおいて、プッシュ操作をトリガに弾丸を発射することができる。
【0031】
第9の発明は、第8の発明に従属する情報処理システムであって、情報処理装置は、受信部によって受信された操作データに含まれる加速度データおよび/または角速度データに基づいて、操作装置の姿勢を算出する姿勢算出部をさらに備え、情報処理部は、振動検出部によって検出された振動および姿勢算出部によって算出された姿勢に応じた所定の情報処理を行う。
【0032】
第9の発明によれば、ジョイスティック的操作とプッシュ操作やビート操作とを組み合わせることで、多様な情報処理を行わせることが可能になる。たとえば、シューティングゲームにおいて、ジョイスティック的操作で照準を標的に合わせ、プッシュ操作で弾丸を発射する、といった処理が行える。
【0033】
第10の発明は、細長い形状のハウジングと、ハウジングに収納または結合される加速度センサおよび/またはジャイロセンサと、加速度センサおよび/またはジャイロセンサによる加速度データおよび/または角速度データを少なくとも含む操作データを送信する操作データ送信部とを備える、操作装置の一方端または当該一方端の近傍に設けられる弾性部材であって、球面または略球面を有し、球面または略球面上にハウジングの一方端と略同一形状の凹部が形成されている。
【0034】
第10の発明でも、第1の発明と同様に、操作装置をジョイスティックのように操作することができる。また、プッシュ操作も、ビート操作も行える。
【0035】
第11の発明は、細長い形状のハウジングと、ハウジングに収納または結合される加速度センサおよび/またはジャイロセンサと、加速度センサおよび/またはジャイロセンサによる加速度データおよび/または角速度データを少なくとも含む操作データを送信する操作データ送信部とを備える、操作装置の一方端または当該一方端の近傍に設けられる弾性部材であって、ハウジングが取り付けられる側とは反対側に曲面を有し、ハウジングに取り付けられることで、自身を含む操作装置全体の重心を曲面の曲率中心と曲面との間に位置させる。
【0036】
第11の発明でも、第2の発明と同様に、操作装置をジョイスティックのように操作することができる。また、プッシュ操作も行える。さらには、操作装置は自立が可能になるし、ユーザは、傾斜に応じた操作感が得られる。
【発明の効果】
【0037】
この発明によれば、接触させて傾ける操作に適した、操作装置および情報処理システムならびに弾性部材が実現される。さらには、押したり叩いたりする操作にも適した、操作装置および情報処理システムならびに弾性部材が実現される。
【0038】
この発明の上述の目的,その他の目的,特徴および利点は、図面を参照して行う以下の実施例の詳細な説明から一層明らかとなろう。
【図面の簡単な説明】
【0039】
【図1】この発明の一実施例の構成を示すブロック図である。
【図2】図1実施例に適用される第1コントローラの外観を示す図解図であり、図2(A)は第1コントローラを上面後方から見た斜視図であり、図2(B)は第1コントローラを下面前方から見た斜視図である。
【図3】図1実施例に適用される第2コントローラの本体の外観を示す図解図であり、図3(A)は第2コントローラ本体を上面後方から見た斜視図であり、図3(B)は第1コントローラ本体を下面前方から見た斜視図である。
【図4】第2コントローラのコネクタの外観を示す図解図である。
【図5】第1コントローラに第2コントローラのコネクタを接続した状態で、第1コントローラに装着されたストラップのひもをコネクタのフックに掛け止めた様子を示す図解図である。
【図6】図1実施例に適用されるジャイロセンサユニットの外観を示す図解図であり、図6(A)はジャイロセンサユニットを上面前方から見た斜視図であり、図6(B)はジャイロセンサユニットを下面後方から見た斜視図である。
【図7】第1コントローラにジャイロセンサユニットを接続した状態を示す図解図である。
【図8】第1コントローラにジャイロセンサユニット介して第2コントローラを接続した状態を示す図解図である。
【図9】図1実施例の電気的な構成を示すブロック図である。
【図10】図1実施例に適用されるコントローラ全体の電気的な構成を示すブロック図である。
【図11】プレイヤがコントローラを操作する様子を示す図解図である。
【図12】弾性部材が装着された第1コントローラを示す図解図である。
【図13】弾性部材の構造を示す図解図である。
【図14】弾性部材を装着した第1コントローラの操作例を示す図解図である。
【図15】弾性部材を装着した第1コントローラの他の操作例を示す図解図である。
【図16】弾性部材を装着した第1コントローラのその他の操作例を示す図解図である。
【図17】図1実施例で実行される処理を示すフロー図であり、図17(A)は第1コントローラのマイコン動作の一部を示し、図17(B)はゲーム装置のCPU動作の一部を示す。
【図18】弾性部材の表面の構成例を示す図解図であり、図18(A)は曲率が異なる2つの曲面で構成された表面(底面の曲率が大きい場合)を示し、図18(B)は平面および曲面で構成された表面を示し、そして図18(C)は図18(B)の表面において曲面が3つの平面で構成された近似的な曲面である場合を示す。
【図19】弾性部材の表面の他の構成例を示す図解図であり、曲率が異なる2つの曲面で構成された表面(底面の曲率が小さい場合)を示す。
【図20】図20は他の弾性部材に関する図解図であり、図20(A)はこの弾性部材の構造を示す斜視図であり、図20(B)はこの弾性部材が装着された第1コントローラを示す上面図であり、図20(C)はこの弾性部材が装着された第1コントローラを示す側面図である。
【図21】弾性部材が装着されたジャイロ付きの第1コントローラを示す図解図である。
【図22】弾性部材が装着されたジャケット付きの第1コントローラを示す図解図である。
【図23】プレイヤが弾性部材を装着したコントローラを操作する様子を示す図解図である。
【発明を実施するための形態】
【0040】
図1を参照して、この発明の一実施例であるゲームシステム10は、ゲーム装置12およびコントローラ14を含む。ゲーム装置12は据置型ゲーム装置である。コントローラ14は、ユーザないしプレイヤの入力装置ないし操作装置である。ゲーム装置12とコントローラ14とは無線によって接続される。
【0041】
ゲーム装置12は、略直方体のハウジング16を含み、ハウジング16の前面にはディスクスロット18およびメモリカードスロットカバー20が設けられる。ディスクスロット18から、ゲームプログラムおよびデータを記憶した情報記憶媒体の一例である光ディスク66(図10)が挿入されて、ハウジング16内のディスクドライブ54(図10)に装着される。メモリカードスロットカバー20の内側には外部メモリカード用コネクタ62(図10)が設けられており、外部メモリカード(図示せず)が挿入される。外部メモリカードは、光ディスク66(図10)から読み出したゲームプログラム等をローディングして一時的に記憶したり、このゲームシステム10を利用してプレイされたゲームのゲームデータ(結果データまたは途中データ)を保存(セーブ)しておいたりするために利用される。また、上記ゲームデータの保存は、外部メモリカードに代えて、たとえばフラッシュメモリ等の内部メモリに対して行うようにしてもよい。
【0042】
ゲーム装置12のハウジング16の後面には、AVケーブルコネクタ(図示せず)が設けられ、当該コネクタを用いて、ゲーム装置12はAVケーブル28を介してモニタ(ディスプレイ)30に接続される。このモニタ30は典型的にはカラーテレビジョン受像機であり、AVケーブル28は、ゲーム装置12からの映像信号をカラーテレビのビデオ入力端子に入力し、音声信号を音声入力端子に入力する。したがって、カラーテレビ(モニタ)30の画面上にたとえば3Dビデオゲームのゲーム画像が表示され、内蔵されるスピーカ32からゲーム音楽や効果音などのステレオゲーム音声が出力される。
【0043】
また、モニタ30の周辺(この実施例では、モニタ30の上側)には、2つの赤外LED(マーカ)22aおよび22bを備えるマーカ部22が設けられる。マーカ22aおよび22bは、それぞれモニタ30の前方に向けて赤外光を出力する。
【0044】
なお、ゲーム装置12の電源は、一般的なACアダプタ(図示せず)によって与えられる。ACアダプタは家庭用の標準的な壁ソケットに接続され、家庭用電源を、ゲーム装置12を駆動するのに適した低いDC電圧信号に変換する。他の実施例では、電源としてバッテリが用いられてもよい。マーカ部22は、図示しない電源線を通してゲーム装置12に接続されており、ゲーム装置12から電源の供給を受ける。
【0045】
コントローラ14は、詳細は後述されるが、それぞれが片手で把持可能な第1コントローラ34および第2コントローラ36と、第1コントローラ34に装着されるジャイロセンサユニット100とを含む。第1コントローラ34の後端面にはコネクタ42(図2(A)、図11)が設けられ、第2コントローラ36の後端から延びるケーブル38の先端にはコネクタ40(図4(A)、図11)が設けられ、そしてジャイロセンサユニット100の先端面および後端面にはコネクタ106および108(図6(A)、図6(B)、図7および図11)がそれぞれ設けられる。ジャイロセンサユニット100の先端面側のコネクタ106は第1コントローラ34のコネクタ42と接続可能であり、第2コントローラ36のコネクタ40は第1コントローラ34のコネクタ42またはジャイロセンサユニット100の後端面側のコネクタ108と接続可能である。
【0046】
コネクタ106をコネクタ42に接続することで、ジャイロセンサユニット100は、第1コントローラ34と物理的および電気的に結合される。こうして第1コントローラ34に装着(一体化)されたジャイロセンサユニット100からは、第1コントローラ34の角速度を示す角速度データが出力される。
【0047】
こうして第1コントローラ34にジャイロセンサユニット100が装着された場合、第2コントローラ36のコネクタ40は、ジャイロセンサユニット100の後端面側のコネクタ108に接続される。すなわち、コネクタ42は、コネクタ106とコネクタ40の両者を選択的に接続可能な構造であって、コネクタ40は、コネクタ42とコネクタ108の両者に選択的に接続可能な構造である。したがって、ジャイロセンサユニット100に設けられるコネクタ106とコネクタ108とは、同一のハウジングに設けられるため実際は接続できないが、コネクタの形状としては互いに接続可能な形状をしていることになる。第2コントローラ36の入力データは、ケーブル38およびジャイロセンサユニット100を介して第1コントローラ34に与えられる。第1コントローラ34は、第1コントローラ34自身の入力データと、ジャイロセンサユニット100からの角速度データと、第2コントローラ36の入力データとを含むコントローラデータをゲーム装置12に送信する。
【0048】
なお、コネクタ40をコネクタ42に接続した場合には、第2コントローラ36の操作データないし入力データはケーブル38を介して第1コントローラ34に与えられ、第1コントローラ34は、第1コントローラ34自身の入力データと第2コントローラ36の入力データとを含むコントローラデータをゲーム装置12に送信する。
【0049】
このとき、第1コントローラ34の入力データと、第2コントローラ36の入力データを送信するシステムにおいて、一度に送信するデータ量を追加することができないように設計されている場合もあるが、ジャイロユニット100を追加した場合に、ジャイロユニット100からの角速度データと、第2コントローラ36からの入力データとを交互に第1コントローラ36へ出力することによって、両者のデータを送信することができる。このデータ制御はジャイロユニット100で行うことができるので、第1コントローラ34や第2コントローラ36には何ら設計の変更をする必要がない。
【0050】
このように、ジャイロセンサユニット100は、既存の第1コントローラ34および第2コントローラ36をそのまま利用しながら、第1コントローラ34にジャイロ機能を付加するための拡張ユニットである。
【0051】
このゲームシステム10において、ゲーム(または他のアプリケーション)をプレイするために、ユーザはまずゲーム装置12の電源をオンし、次いで、ユーザはビデオゲーム(もしくは実行したいと思う他のアプリケーション)を記憶している適宜の光ディスク66を選択し、その光ディスク66をゲーム装置12のディスクスロット18からディスクドライブ54にローディングする。これに応じて、ゲーム装置12がその光ディスク66に記憶されているソフトウェアに基づいてビデオゲームもしくは他のアプリケーションを実行し始めるようにする。ユーザはゲーム装置12に入力を与えるためにコントローラ14を操作する。
【0052】
図2には第1コントローラ34の外観の一例が示される。図2(A)は、第1コントローラ34を上面後方から見た斜視図であり、図2(B)は、第1コントローラ34を下面前方から見た斜視図である。
【0053】
第1コントローラ34は、たとえばプラスチック成型によって形成されたハウジング78を有している。ハウジング78は、その前後方向(Z軸方向)を長手方向とした略直方体形状を有しており、全体として大人や子供の片手で把持可能な大きさである。一例として、ハウジング78は人間の掌とほぼ同じ長さまたは幅を持つ大きさをしている。プレイヤは、第1コントローラ34を用いて、それに設けられたボタンを押下することと、第1コントローラ34自体の位置や向きを変えることとによって、ゲーム操作を行うことができる。
【0054】
ハウジング78には、複数の操作ボタンが設けられる。すなわち、ハウジング78の上面には、十字キー80a、Xボタン80b、Yボタン80c、Aボタン80d、セレクトスイッチ80e、メニュースイッチ80f、およびスタートスイッチ80gが設けられる。一方、ハウジング78の下面には凹部が形成されており、当該凹部の後方側傾斜面にはBボタン80hが設けられる。これら各ボタン(スイッチ)80a−80hには、ゲーム装置12が実行するゲームプログラムに応じてそれぞれ適宜な機能が割り当てられる。また、ハウジング78の上面には、遠隔からゲーム装置12本体の電源をオン/オフするための電源スイッチ80iが設けられる。第1コントローラ34に設けられる各ボタン(スイッチ)は、包括的に参照符号80を用いて示されることもある。
【0055】
ハウジング78内には、図2に示すX、YおよびZの3軸方向(すなわち左右方向、上下方向および前後方向)の加速度を検出する加速度センサ84(図11)が設けられる。なお、加速度センサ84としては、ハウジング78の形状または第1コントローラ34の持たせ方の限定等に応じて、上下方向、左右方向および前後方向のうちいずれか2方向の加速度を検出する2軸加速度センサが用いられてもよい。場合によっては1軸加速度センサが用いられてもよい。
【0056】
ハウジング78の前面には光入射口78bが形成され、ハウジング78内には撮像情報演算部81がさらに設けられる。撮像情報演算部81は、赤外線を撮像するカメラ81aと撮像対象の画像内での座標を算出する演算部81bとによって構成され、上述のマーカ22aおよび22bを含む被写界を赤外線で捉えて、マーカ22aおよび22bの被写界内における位置座標を算出する。
【0057】
また、ハウジング78の後面には、上述のコネクタ42が設けられている。コネクタ42は、第1コントローラ34に他の機器を接続するために利用される。この実施例では、コネクタ42には第2コントローラ36のコネクタ40またはジャイロセンサユニット100のコネクタ106が接続される。
【0058】
ハウジング78の後面にはまた、コネクタ42を左右(X軸方向)に挟んで対向する位置に、一対の孔82aおよび82bが形成されている。この一対の孔82aおよび82bは、ジャイロセンサユニット100をハウジング78の後面に固定するためのフック112Faおよび112Fb(図6(A))が挿入される。ハウジング78の後面にはさらに、ストラップ24(図4(B))を装着するための孔82cも形成されている。
【0059】
図3には第2コントローラ36の本体の外観の一例が示される。図3(A)は、第2コントローラ36を上面後方から見た斜視図であり、図3(B)は、第2コントローラ36を下面前方から見た斜視図である。なお、図3では、第2コントローラ36のケーブル38は省略されている。
【0060】
第2コントローラ36は、たとえばプラスチック成型によって形成されたハウジング86を有している。ハウジング86は、平面視では、前後方向(Z軸方向)に略細長い楕円形状を有し、後端側の左右方向(X軸方向)の幅が先端側のそれよりも狭くされている。また、ハウジング86は、側面視では、全体として湾曲した形状を有しており、先端側の水平部分から後端側に向かって下がるように湾曲している。ハウジング86は、第1コントローラ34と同様に、全体として大人や子供の片手で把持可能な大きさであるが、長手方向(Z軸方向)の長さは、第1コントローラ34のハウジング78よりもやや短くされている。この第2コントローラ36でも、プレイヤは、ボタンやスティックを操作することと、コントローラ自体の位置や向きを変えることとによって、ゲーム操作を行うことができる。
【0061】
ハウジング86の上面の先端側には、アナログジョイスティック88aが設けられる。ハウジング86の先端には、後方にやや傾斜する先端面が設けられており、この先端面には、上下方向(図3に示すY軸方向)に並べて、Cボタン88bおよびZボタン88cが設けられる。アナログジョイスティック88aおよび各ボタン88b,88cには、ゲーム装置12が実行するゲームプログラムに応じてそれぞれ適宜な機能が割り当てられる。
第2コントローラ36に設けられるアナログジョイスティック88aおよび各ボタン88b,88cは、包括的に参照符号88を用いて示されることもある。
【0062】
また、第2コントローラ36のハウジング86内には加速度センサ90(図11)が設けられている。この加速度センサ90としては、第1コントローラ34の加速度センサ84と同様の加速度センサが適用される。具体的には、この実施例では3軸加速度センサが適用され、第2コントローラ36の上下方向(Y軸方向)、左右方向(X軸方向)および前後方向(Z軸方向)の3軸方向のそれぞれで加速度を検知する。したがって、第1コントローラ34の場合と同様に、検出された加速度に適宜な演算処理を施すことによって、第2コントローラ36の傾きや回転、重力方向に対する加速度センサ90の姿勢などを算出することができる。また、振り等によって第1コントローラ34に加えられた動きについても同様に算出することができる。
【0063】
図4には第2コントローラ36のコネクタ40の外観の一例が示される。図4は、コネクタ40を下面前方から見た斜視図である。なお、ここでもケーブル38は省略されている。コネクタ40は、たとえばプラスチック成型によって形成されたハウジング142を有する。ハウジング142の下面にはフック144が設けられている。このフック144は、本来的には、図5に示すように、コネクタ40を第1コントローラ34(のコネクタ42)と直に接続した場合に、第1コントローラ34に装着されたストラップ24のひもを掛け止めるためのものである。ストラップ24のひもをフック144に掛け止めることによって、第1コントローラ34と第2コントローラ36が強く引っ張られた場合等においても、コネクタが外れて飛ぶようなことを防止することができる。
【0064】
図6にはジャイロセンサユニット100の外観の一例が示される。図6(A)は、ジャイロセンサユニット100を上面前方から見た斜視図であり、図6(B)は、ジャイロセンサユニット100を下面後方から見た斜視図である。
【0065】
ジャイロセンサユニット100は、たとえばプラスチック成型によって形成されたハウジング110を有している。ハウジング110は、略直方体形状を有しており、その長さは第1コントローラ34のハウジング78の長さのおよそ1/5、その幅および厚みはハウジング78の幅および厚みとほぼ同じである。プレイヤは、第1コントローラ34にジャイロセンサユニット100を装着した状態でも、第1コントローラ34自体の位置や向きを変えることによって、ゲーム操作を行うことができる。
【0066】
ハウジング110の前面および後面には上述のコネクタ106および108が、ハウジング110の両側面には一対のリリースボタン112aおよび112bが、そしてハウジング110の下面にはロックスイッチ114が、それぞれ設けられている。ハウジング110の前面下端から下面先端にかけては、第1コントローラ34にジャイロセンサユニット100を装着した状態でストラップ24用の孔82cが露見するように(図8)、略球面状の凹部110aが設けられている。
【0067】
ハウジング110の前面にはまた、コネクタ106を挟んで横方向(X軸方向)に対向する位置に、一対のリリースボタン112aおよび112bとそれぞれ連繋する一対のフック112Faおよび112Fbが設けられている。ジャイロセンサユニット100を第1コントローラ34に装着するべく、コネクタ106をコネクタ42に接続すると、一対のフック112Faおよび112Fbはハウジング78後面の一対の孔82aおよび82b(図2(A))に挿入され、フック112Faおよび112Fbの爪がハウジング78の内壁に引っ掛かる。これによって、ジャイロセンサユニット100は、第1コントローラ34の後面に固定される。
【0068】
こうして第1コントローラ34に装着されたジャイロセンサユニット100が図8に示される。この状態で一対のリリースボタン112aおよび112bを押せば、爪の引っ掛かりは解け、ジャイロセンサユニット100を第1コントローラ34から取り外せるようになる。
【0069】
ロックスイッチ114は、このようなリリースボタン112aおよび112bにロックをかけるためのスライドスイッチである。リリースボタン112aおよび112bは、ロックスイッチ114が第1位置(たとえば後ろ寄り)にあるとき押下不能(ロック状態)であり、ロックスイッチ114が第2位置(たとえば前寄り)にあるとき押下可能(解除状態)である。ハウジング110内には、ロックバネ118aおよび118b(図7)が設けられ、リリースボタン112aおよび112bを押下すると反発するように構成され、押下されていないときは爪が引っ掛かった状態を維持するように構成されている。このため、ジャイロセンサユニット100を取り外すには、ユーザは、ロックスイッチ114を第1位置から第2位置にスライドさせたうえで、リリースボタン112aおよび112bを押す必要がある。
【0070】
このように、ジャイロセンサユニット100は、第1コントローラ34の後面に装着されるため、ゲーム操作中にジャイロセンサユニット100に加わる遠心力は専ら、ジャイロセンサユニット100を第1コントローラ34に押し付けるように作用する。また、ジャイロセンサユニット100をフック112Faおよび112Fbで第1コントローラ34の後面に固定する一方、フック112Faおよび112Fbを開放するためリリースボタン112aおよび112bにはロックスイッチ114を設けたため、ゲーム操作中であってもジャイロセンサユニット100と第1コントローラ34とがしっかり固定された状態にすることができる。
【0071】
ハウジング110の後面にはまた、コネクタ108に装着されるコネクタカバー116を収納可能な凹部110bが、このコネクタ108の周囲に形成される。コネクタカバー116は、その主面の一方端部に、前後(Z軸方向)に長細い薄手の(すなわち曲折容易な)突起116aを有する。この突起116aの先端部分がハウジング110と係合されており、コネクタカバー116は、コネクタ108から取り外された状態でもハウジング110に係留される。
【0072】
コネクタカバー116はまた、その主面の他方端部に、左右(X軸方向)に長細い厚手の(すなわち曲折困難な)突起116bを有する。突起116bの厚み(Z軸方向の高さ)は、第2コントローラ36のコネクタ40に設けられたフック144(図4)の厚み(Y軸方向の高さ)とほぼ同じである。第1コントローラ34にジャイロセンサユニット100を介して第2コントローラ36が接続された場合、コネクタカバー116は、図9に示すように、その主面が水平となって、突起116bがフック144の側面と係合される。コネクタ108から取り外されたコネクタカバー116をこうしてコネクタ40と一体化することで、操作性や見た目が改善されるだけでなく、コネクタ40がジャイロセンサユニット100にしっかりと固定される。
【0073】
図示は省略するが、ジャイロセンサユニット100は、ジャイロセンサを含み、ジャイロセンサは、1軸のジャイロセンサおよび2軸のジャイロセンサの2チップで構成される。前者はヨー角に関する角速度(Y軸周りの角速度)を検出するためのものであり、後者はロール角およびピッチ角に関する2つの角速度(Z軸周りの角速度およびX軸周りの角速度)を検出するためのものである。なお、ジャイロセンサは、2チップ構成とは限らず、3個の1軸ジャイロセンサ(3チップ)で構成してもよく、1個の3軸ジャイロセンサ(1チップ)で構成してもよい。いずれの場合も、上述の3つの角速度を適正に検出できるように、各チップの位置や向きが決定される。さらにまた、場合によっては、ジャイロセンサ104は、1個の2軸ジャイロセンサで構成しても、2個または1個の1軸ジャイロセンサで構成してもよい。また、図2に示した第1コントローラ34、図3および図4に示した第2コントローラ36、および図6に示したジャイロセンサユニット100の形状や、ボタン(スイッチまたはスティック等)の形状、数および設置位置等は単なる一例に過ぎず、他の形状、数および設置位置等に適宜変更され得る。
【0074】
なお、センサは、好ましい実施例ではジャイロセンサ(角速度センサ)であるが、たとえば加速度センサ、速度センサ、変位センサ、回転角センサ、傾斜センサなど他のモーションセンサでもよく、複数のモーションセンサの組み合わせでもよい。
【0075】
また、コントローラ14の電源は、第1コントローラ34内に取替可能に収容されるバッテリ(図示せず)によって与えられる。第2コントローラ36には、コネクタ40およびケーブル38を介してこの電源が供給される。第1コントローラ34にジャイロセンサユニット100が接続されている場合、ジャイロセンサユニット100にはコネクタ42および106を介してこの電源が供給される。さらにジャイロセンサユニット100に第2コントローラ36が接続されていれば、第1コントローラ34からジャイロセンサユニット100に供給された電源の一部は、コネクタ108、コネクタ40およびケーブル38を介して第2コントローラ36にも与えられる。
【0076】
図10にはゲームシステム10の電気的な構成が示される。図示は省略するが、ハウジング16内の各コンポーネントは、プリント基板に実装される。図10に示すように、ゲーム装置12には、CPU44が設けられ、ゲームプロセッサとして機能する。また、CPU44には、システムLSI64が接続される。このシステムLSI64には、外部メインメモリ46、ROM/RTC48、ディスクドライブ54およびAV IC56が接続される。
【0077】
外部メインメモリ46は、ゲームプログラム等のプログラムを記憶したり、各種データを記憶したりして、CPU44のワーク領域やバッファ領域として用いられる。ROM/RTC48は、いわゆるブートROMであり、ゲーム装置12の起動用のプログラムが組み込まれるとともに、時間をカウントする時計回路が設けられる。ディスクドライブ54は、光ディスク66からプログラムやテクスチャデータ等を読み出し、CPU44の制御の下で、後述する内部メインメモリ64eまたは外部メインメモリ46に書き込む。
【0078】
システムLSI64には、入出力プロセッサ64a、GPU(Graphics Processor Unit)64b,DSP(Digital Signal Processor)64c,VRAM64dおよび内部メインメモリ42eが設けられ、図示は省略するが、これらは内部バスによって互いに接続される。
【0079】
入出力プロセッサ(I/Oプロセッサ)42aは、データの送受信を実行したり、データのダウンロードを実行したりする。
【0080】
GPU64は、描画手段の一部を形成し、CPU44からのグラフィクスコマンド(作画命令)を受け、そのコマンドに従ってゲーム画像データを生成する。ただし、CPU40は、グラフィクスコマンドに加えて、ゲーム画像データの生成に必要な画像生成プログラムをGPU64に与える。
【0081】
図示は省略するが、上述したように、GPU64にはVRAM64dが接続される。GPU64が作画命令を実行するにあたって必要なデータ(画像データ:ポリゴンデータやテクスチャデータなどのデータ)は、GPU64がVRAM64dにアクセスして取得する。ただし、CPU44は、描画に必要な画像データを、GPU64を介してVRAM64dに書き込む。GPU64は、VRAM64dにアクセスして描画のためのゲーム画像データを作成する。
【0082】
なお、この実施例では、GPU64がゲーム画像データを生成する場合について説明するが、ゲームアプリケーション以外の任意のアプリケーションを実行する場合には、GPU64は当該任意のアプリケーションについての画像データを生成する。
【0083】
また、DSP64cは、オーディオプロセッサとして機能し、内部メインメモリ64eや外部メインメモリ46に記憶されるサウンドデータや音波形(音色)データを用いて、スピーカ32から出力する音、音声或いは音楽に対応するオーディオデータを生成する。
【0084】
上述のように生成されたゲーム画像データおよびオーディオデータは、AV IC56によって読み出され、AVコネクタ58を介してモニタ30およびスピーカ32に出力される。したがって、ゲーム画面がモニタ30に表示され、ゲームに必要な音(音楽)がスピーカ32から出力される。
【0085】
また、入出力プロセッサ64aには、フラッシュメモリ43、無線通信モジュール50および無線コントローラモジュール52が接続されるとともに、拡張コネクタ60およびメモリカード用コネクタ62が接続される。また、無線通信モジュール50にはアンテナ50aが接続され、無線コントローラモジュール52にはアンテナ52aが接続される。
【0086】
入出力プロセッサ64aは、無線通信モジュール50を介して、ネットワーク(図示せず)に接続される他のゲーム装置や各種サーバと通信することができる。ただし、ネットワークを介さずに、直接的に他のゲーム装置と通信することもできる。入出力プロセッサ64aは、定期的にフラッシュメモリ43にアクセスし、ネットワークへ送信する必要があるデータ(「送信データ」とする)の有無を検出し、当該送信データが有る場合には、無線通信モジュール50およびアンテナ50aを介してネットワークに送信する。また、入出力プロセッサ64aは、他のゲーム装置から送信されるデータ(「受信データ」とする)を、ネットワーク、アンテナ50aおよび無線通信モジュール50を介して受信し、当該受信データをフラッシュメモリ43に記憶する。ただし、受信データが一定の条件を満たさない場合には、当該受信データはそのまま破棄される。さらに、入出力プロセッサ64aは、ダウンロードサーバ(図示せず)からダウンロードしたデータ(ダウンロードデータとする)をネットワーク、アンテナ50aおよび無線通信モジュール50を介して受信し、そのダウンロードデータをフラッシュメモリ43に記憶することもできる。
【0087】
また、入出力プロセッサ64aは、コントローラ14から送信される入力データをアンテナ52aおよび無線コントローラモジュール52を介して受信し、内部メインメモリ64eまたは外部メインメモリ46のバッファ領域に記憶(一時記憶)する。入力データは、CPU44の処理(たとえば、ゲーム処理)によって利用された後、バッファ領域から消去される。
【0088】
なお、この実施例では、上述したように、無線コントローラモジュール52は、Bluetooth規格に従ってコントローラ14との間で通信を行う。このため、コントローラ14からデータを取得するだけでなく、ゲーム装置12からコントローラ14に所定の命令を送信し、コントローラ14の動作をゲーム装置12から制御することもできる。
【0089】
さらに、入出力プロセッサ64aには、拡張コネクタ60およびメモリカード用コネクタ62が接続される。拡張コネクタ60は、USBやSCSIのようなインタフェースのためのコネクタであり、外部記憶媒体のようなメディアを接続したり、コントローラ14とは異なる他のコントローラのような周辺機器を接続したりすることができる。また、拡張コネクタ60に有線LANアダプタを接続し、無線通信モジュール50に代えて当該有線LANを利用することもできる。メモリカード用コネクタ62には、メモリカード38のような外部記憶媒体を接続することができる。したがって、たとえば、入出力プロセッサ64aは、拡張コネクタ60やメモリカード用コネクタ62を介して、外部記憶媒体にアクセスし、データを保存したり、データを読み出したりすることができる。
【0090】
詳細な説明は省略するが、図1にも示したように、ゲーム装置12(ハウジング16)には、電源ボタン20a,リセットボタン20bおよびイジェクトボタン20cが設けられる。電源ボタン20aは、システムLSI64に接続される。この電源ボタン20aがオンされると、システムLSI64には、ゲーム装置12の各コンポーネントに図示しないACアダプタを経て電源が供給され、通電状態となるモードが設定される。
【0091】
リセットボタン20bもまた、システムLSI64に接続される。リセットボタン20bが押されると、システムLSI64は、ゲーム装置12の起動プログラムを再起動する。イジェクトボタン20cは、ディスクドライブ54に接続される。イジェクトボタン20cが押されると、ディスクドライブ54から光ディスク66が排出される。
【0092】
図10には、第1コントローラ34と第2コントローラ36とがジャイロセンサユニット100を介して接続されたときのコントローラ14全体の電気的構成の一例が示される。
【0093】
第1コントローラ34は、その内部に通信部92を備え、通信部92には、操作部80、撮像情報演算部81、加速度センサ84およびコネクタ42が接続される。操作部80は、上述の操作ボタンないし操作スイッチ80a‐80iを示す。操作部80が操作されると、その操作を示すデータが通信部92に出力される。撮像情報演算部81からは、マーカ22aおよび22bの被写界内における位置座標を示すデータが通信部92に出力される。加速度センサ84が検出した加速度を示すデータもまた、通信部92へ出力される。加速度センサ84は、たとえば最大200フレーム/秒程度のサンプリング周期を有する。
【0094】
コネクタ42には、ジャイロセンサユニットのコネクタ106が接続される。ジャイロセンサユニット100は、その内部にマイコン102およびジャイロセンサ104を含む。ジャイロセンサ104は、上述のジャイロセンサ104aおよび104bを示しており、たとえば加速度センサ84と同様のサンプリング周期を有する。マイコン102は、ジャイロセンサ104が検出した角速度を示すデータをコネクタ106およびコネクタ42を介して通信部92に出力する。
【0095】
ジャイロセンサユニット100のコネクタ108には、第2コントローラ36から延びるケーブル38のコネクタ40が接続される。コネクタ40には、第2コントローラ36の操作部88および加速度センサ90が接続される。操作部88は、上述のスティック88aおよび操作ボタン88b、88cを示す。操作部88が操作されると、その操作を示すデータがケーブル38、コネクタ40およびコネクタ42を介してジャイロセンサユニット100のマイコン102に与えられる。マイコン102は、このデータをコネクタ106、コネクタ42を介して通信部92に出力する。また、加速度センサ90も、加速度センサ84と同様のサンプリング周期を有しており、これにより検出された加速度を示すデータもまた、マイコン102によって通信部92に出力される。
【0096】
なお、上述した通信部92への各出力は、たとえば1/200秒周期で実行される。したがって、任意の1/200秒間に、操作部80からの操作データと、撮像情報演算部81のからの位置座標データと、加速度センサ84からの加速度データと、ジャイロセンサ104からの角速度データと、操作部88からの操作データと、加速度センサ90からの加速度データとが、1回ずつ通信部92に出力される。
【0097】
通信部92は、マイクロコンピュータ(マイコン)94、メモリ96、無線モジュール76およびアンテナ98を含む。マイコン94は、処理の際にメモリ96を記憶領域(作業領域やバッファ領域)として用いながら、無線モジュール76を制御して、上記のように出力されたデータ(操作データ,位置座標データ,加速度データおよび角速度データ)をコントローラデータに含めてゲーム装置12に送信したり、ゲーム装置12からのデータを受信したりする。
【0098】
無線モジュール76は、Bluetooth(ブルートゥース)(登録商標)のような近距離無線通信技術を用いて、所定周波数の搬送波をコントローラデータで変調し、その微弱電波信号をアンテナ98から放射する。つまり、コントローラデータは、無線モジュール76で微弱電波信号に変調されて第1コントローラ34から送信される。微弱電波信号はゲーム装置12側のBluetooth通信ユニット74で受信される。受信された微弱電波信号について復調や復号を行うことによって、ゲーム装置12はコントローラデータを取得することができる。ゲーム装置12のCPU44は、コントローラ14から取得したコントローラデータに基づいてゲーム処理を行う。なお、第1コントローラ34とゲーム装置12との無線通信は、無線LANなど他の規格に従って実行されてもよい。
【0099】
このゲームシステム10では、ボタン操作だけでなく、コントローラ14自体を動かすことによっても、ゲームなどのアプリケーションに対する入力を行うことができる。ゲームをプレイする際には、たとえば図11に示すように、プレイヤは、その右手で第1コントローラ34(具体的にはハウジング78の把持部78a:図2)を持ち、その左手で第2コントローラ36を持つ。上述のように、第1コントローラ34には3軸方向の加速度を検出する加速度センサ84が内蔵され、第2コントローラ36にも同様の加速度センサ90が内蔵されている。第1コントローラ34および第2コントローラ36がそれぞれプレイヤによって動かされると、加速度センサ84および加速度センサ90によって、それぞれのコントローラ自身の動きを示す3軸方向の加速度値が検出される。第1コントローラ34にジャイロセンサユニット100が装着されている場合には、第1コントローラ34自身の動きを示す3軸周りの角速度値がさらに検出される。
【0100】
これらの検出値は、先述したコントローラデータの態様でゲーム装置12に送信される。ゲーム装置12(図9)では、コントローラ14からのコントローラデータは、入出力プロセッサ64aによってアンテナ52aおよび無線コントローラモジュール52を介して受信され、受信されたコントローラデータは、内部メインメモリ64eまたは外部メインメモリ46のバッファ領域に書き込まれる。CPU44は、内部メインメモリ64eまたは外部メインメモリ46のバッファ領域に格納されたコントローラデータを読み出し、このコントローラデータから検出値つまりコントローラ14によって検出された加速度および/または角速度の値を復元する。
【0101】
CPU44はまた、このような復元処理と並行して、復元された加速度からコントローラ14の速度を計算する処理を実行してもよい。さらに並行して、計算された速度からコントローラ14の移動距離ないし位置を求めることもできる。一方、復元された角速度からは、コントローラ14の回転角が求まる。なお、加速度を積算して速度を求めたり、角速度を積算して回転角を求めたりする際の初期値(積分定数)は、たとえば、撮像情報演算部81のからの位置座標データに基づいて計算できる。位置座標データはまた、積算によって蓄積されていく誤差の修正にも用いることができる。
【0102】
ゲーム処理は、こうして求められた加速度、速度、移動距離、角速度および回転角などの変数に基づいて実行される。したがって、上記の処理は全てを行わなくともよく、ゲーム処理に必要な変数を適宜算出すればよい。なお、角速度や回転角も、原理的には加速度から計算し得るが、そのためには、ゲームプログラムに複雑なルーチンが必要で、CPU44にも重い処理負荷がかかる。ジャイロセンサユニット100を利用することで、プログラム開発が容易になり、CPU44の処理負荷も軽減される。
【0103】
ところで、ゲームには、第1コントローラ34しか利用しない1コントローラ用ゲームと、第1コントローラ34および第2コントローラ36を利用する2コントローラ用ゲームとがあり、そして各ゲームは、ジャイロ対応およびジャイロ非対応のいずれかに分類される。メインコントローラである第1コントローラ34は、どのゲームをプレイする場合にも必要である。また、拡張コントローラである第2コントローラ36は、2コントローラ用ゲームをプレイするときジャイロセンサユニット100を介して、または直に第1コントローラ34に接続され、1コントローラゲームをプレイするときには通常取り外される。
【0104】
一方、拡張センサないし拡張コントローラであるジャイロセンサユニット100は、ジャイロ非対応ゲームをプレイする場合には不要であるが、わざわざ取り外さなくてもよい。このため、ジャイロセンサユニット100は通常、第1コントローラ34に装着したままにされ、第1コントローラ34と一体で取り扱われる。第2コントローラ36は、コネクタ40の接続先がコネクタ42からコネクタ108に変わる点を除けば、ジャイロセンサユニット100が介在しない場合と同様に着脱される。
【0105】
なお、詳しい説明は省略するが、第1コントローラ34に装着されたジャイロセンサユニット100のマイコン102は、ジャイロセンサユニット100自身に第2コントローラ36が接続されているか否か、さらにはゲームがジャイロ対応か非対応かなどに応じて、“ジャイロ”,“ジャイロ&第2コントローラ”などを含む複数の制御モードの間でモード切り替えを行う。
【0106】
以上のように構成されたゲームシステム10では、第1コントローラ34をジョイスティックのように操作することで、たとえばフライトシミュレータ,シューティングゲーム,ロボット操作系のゲーム,格闘ゲームといった、姿勢や動作の細やかな制御が必要なゲームをプレイすることができる。この場合、図12に示すように、第1コントローラ34のハウジング78の下端部78L(光入射口78bとは反対側の端部)に弾性部材200が装着される。弾性部材200は、たとえばゴム,ウレタンといった弾性素材でできており、略球体の形状を有する。
【0107】
図13に示すように、弾性部材200の表面Sf(略球面Sf0)には、ハウジング78の下端部78Lが過不足なく収まるような四角柱形状(一般には下端部78Lと略同一形状)の凹部202が形成される。凹部202の縦横サイズは、ハウジング78への/からの着脱が容易で、かつプレイ中に離脱しないように、ハウジング78の下端部78Lの縦横サイズと同一または僅かに小さいサイズに形成される。凹部202の深さは、ハウジング78の最も下に位置するYボタン80cが露見するように、下端からYボタン80cまでの高さよりも若干浅くなっている。
【0108】
プレイヤは、弾性部材200が装着された第1コントローラ34(以下では単に“第1コントローラ34”と呼ぶ)を図14に示すように把持して、弾性部材200の表面Sfの一部を机面Tbと接触させ、この接点ないし接触面を支点Fとして第1コントローラ34を傾ける操作(ジョイスティック的操作)を行いつつ、各種ボタン80a−80hの操作を行う。応じて、第1コントローラ34から前述のようなコントローラデータが送信され、ゲーム装置12はこのコントローラデータを受信してゲーム処理を実行する。
【0109】
プレイヤはまた、第1コントローラ34を図15に示す要領で机面Tbに押し付ける操作(これを“プッシュ操作”と呼ぶ)を行うこともできる。これをジョイスティック的操作と組み合わせれば、たとえば、シューティングゲームにおいて、ジョイスティック的操作で標的に照準を合わせた後、プッシュ操作で弾丸を発射する、といった多彩な操作が可能となる。
【0110】
なお、図14,図15の例では、第1コントローラ34の下端側を把持しているが、図16に示す要領で上端側(弾性部材200が装着された側とは反対側)を把持し、弾性部材200で机面Tbを叩く操作(これを“ビート操作”と呼ぶ)を行ってもよい。
【0111】
この場合、ゲームシステム10では、図17のフローに従う処理が実行される。なお、処理自体は、第1コントローラ34に弾性部材200が装着されていてもいなくても特に変化はない。図17(A)が第1コントローラ34側(マイコン94)のフローを示し、図17(B)がゲーム装置12側(CPU44)のフローを示す。
【0112】
図17(A)を参照して、マイコン94は、最初のステップS1で、操作部80からの操作データと、撮像情報演算部81のからの位置座標データと、加速度センサ84からの加速度データとを取得する。なお、第1コントローラ34(のハウジング78)にジャイロセンサユニット100が接続(結合)されている場合には、ジャイロセンサ104からの角速度データがさらに取得され、第2コントローラ36が接続されている場合には、操作部88からの操作データと、加速度センサ90からの加速度データとがさらに取得される。次のステップS3では、こうして取得された各種のデータをコントローラデータに含めて無線モジュール98で送信する。その後、ステップS1に戻って上記と同様の処理を繰り返す。
【0113】
図17(B)を参照して、CPU44は、最初、ステップS11で、第1コントローラ34からのコンローラデータを無線コントローラモジュール52で受信する。次に、ステップS13aで、受信されたコントローラデータに含まれる加速度データおよび/または角速度データに基づいて、第1コントローラ34の姿勢を計算し、ステップS13bでは、受信されたコントローラデータに含まれる加速度データに基づいて、第1コントローラ34の振動を検出する。なお、姿勢は、加速度データだけでも計算可能であるが、角速度データも利用した方が、高い精度で計算を行える。振動は、たとえば、加速度データから3軸の加速度各々について微分値を求め、それを閾値処理することで検出できる。
【0114】
そして、ステップS15で、計算された姿勢および/または検出された振動に基づいて、さらには受信されたコントローラデータに含まれる操作データおよび/または位置座標データに基づいて、ゲーム処理を実行する。その後、ステップS11に戻って上記と同様の処理を繰り返す。
【0115】
以上から明らかなように、この実施例では、第1コントローラ34のハウジング78の下端部78Lに弾性部材200を装着して、弾性部材200の表面Sf(略球面Sf0:完全な球面でもよい)の一部を机面Tbと接触させ、この接点(接触面)を支点Fとして第1コントローラ34を傾けるので、傾け方の個人差が解消され、姿勢の計算精度や振動の検出精度が高まる。したがって、第1コントローラ34をジョイスティック的に操作して、姿勢や動作を細やかに制御することが可能になる。
【0116】
なお、この実施例では、弾性部材200の表面Sfの曲率R(半径の逆数)は一定(略一定)であるが、これを変化させてもよい。場所によって曲率Rが異なる表面Sfの例(断面図)を図18に示す。
【0117】
図18(A)の表面Sfは、その下端Lを含む底面領域Sf1と、これ以外の側面領域Sf2とで構成され、側面領域Sf2の曲率R2の方が底面領域Sf1の曲率R1よりも小さく(カーブが緩やかに)なっている。特に、側面領域Sf2の曲率R2は、図18(B)に示すように0(つまり側面領域Sf2が平面)であってもよく、これによって、プレイヤは、倒す限界の角度を感知できる。場合によっては、曲率R2は負の値つまり側面領域Sf2が反り返っている状態(凹面)であってもよい。
【0118】
一方、底面領域Sf1は曲面であるが、滑らかな曲面でなくてもよく、たとえば図18(C)のように、複数の平面Sf10,Sf11,Sf12,…で形成された近似的な曲面でもよい。この場合、プレイヤは、第1コントローラ34を通じて平面と平面との境界(エッジ)が触覚的に知覚されるので、独特の操作感が得られるし、傾き具合が直感的にわかる。
【0119】
なお、図18の例では、曲率Rは2段階に変化しているが、3以上の段階に変化してもよく、連続的に変化してもよい。
【0120】
こうして、弾性部材200の表面Sfの曲率Rを段階的または連続的に変化させることで、第1コントローラ34を倒す角度によって異なる操作感が得られる。
【0121】
あるいは、図18の例とは逆に、底面領域Sf1の曲率R1を側面領域Sf2の曲率R2よりも小さくしてもよい。これによって、第1コントローラ34がニュートラルポジション(典型的には直立姿勢)を取りやすくなる。ニュートラルポジションを取りやすくする観点からは、底面領域Sf1を平面(R1=0)としてもよい。また、第1コントローラ34をより直立しやすくする(傾斜した状態からでも自力で直立可能にさせる)ために、底面領域Sf1の近傍(特に下端Lの直上またはその周囲)に錘Wを配置してもよい。図19には、このような表面Sfが例示されている。
【0122】
図19の表面Sfでは、錘Wは、底面領域Sf1の下端Lを取り囲むように配置されており、これによって、弾性部材200の重心Gは、下端Lの直上かつ近傍に位置する結果となる。したがって、弾性部材200の重さが第1コントローラ34本体に対して十分であれば、第1コントローラ34は、いわゆる“起き上がりこぼし”の要領で自立する。
【0123】
より具体的には、弾性部材200を含む第1コントローラ34全体の重心Gtが、底面領域Sf1の曲率中心Oよりも下(曲率中心Oと底面領域Sf1との間)に位置すれば、第1コントローラ34は自立可能である。すなわち、第1コントローラ34は、傾斜すると、その傾斜に応じた復元力(重力によるフィードバック)が働き、自発的にニュートラルポジションに戻ろうとする。第1コントローラ34を把持するプレイヤの手には、僅かではあるが、このようなフィードバックが知覚される。
【0124】
なお、重心Gtを曲率中心Oと底面領域Sf1との間に位置させるには、上記のような、弾性部材200を重くする、特に曲面の近傍を重くすることで、重心Gtを底面領域Sf1に近づける方法のほかに、底面領域Sf1の曲率R1を小さくすることで、曲率中心Oを底面領域Sf1から遠ざける方法もある。
【0125】
なお、図19の第1コントローラ34は、ニュートラルポジションで直立するが、錘Wを偏在させることによって、ニュートラルポジションで適宜傾斜するようにしてもよい。
【0126】
また、図13の例や図18の例でも、より重い錘Wを底面領域Sf1の近傍に配置することで、第1コントローラ34を自立させることは可能である。自立には至らなくても、第1コントローラ34全体の重心位置が下がる結果、ジョイスティック的操作の操作性を向上させることはできる。
【0127】
また、図19の表面Sfでは、第1コントローラ34の傾斜を制限するべく、第1コントローラ34を略水平まで傾けた(90度傾斜させた)ときの支点Fに対応する位置に、突起Pが設けられている。このような突起Pは、なくてもよいし、2箇所以上に設けてもよい。たとえば、底面領域Sf1と側面領域Sf2との境界(変曲点C)に小突起を設ければ、プレイヤにニュートラルポジションを明確に感知させることができる。図18(A)〜図18(C)の各表面Sfにも、同様の突起を設けてよい。
【0128】
より複雑な形状の弾性部材200の一例を図20に示す。この弾性部材200は、図20(A)に示すように円盤状の台座Bsと四角柱状のホルダHdとで構成される。ホルダHdは、台座Bsの上面USfに所定角度(たとえば15度)傾斜して設けられ、このホルダHdにハウジング78の下端部78Lが図20(B)に示すように収納される。したがって、第1コントローラ34は、図20(C)に示すようにニュートラルポジションで傾斜する。この傾斜によって、操作時に持ちやすくなると共に、重心位置が下がって操作性が向上する。また、ホルダHdの前面には、当該前面の1/3程度の幅を有するスリットStが形成されており、このスリットStからXボタン80bおよびYボタン80cが露見する。
【0129】
一方、台座Bsは中空構造を有しており、その内部、つまり台座Bsの底面LSfの直上に、重心位置をさらに下げるための錘(図示せず)が配置される。この錘の重さは、弾性部材200を含む第1コントローラ34全体の重心Gtの位置が所望の位置、たとえばXボタン80bの位置と一致するような値に決められる。なお、このとき弾性部材200の重心(図示せず)は、たとえば上面USfおよび下面LSfの真ん中にある。
【0130】
そして、台座部Hsの底面LSfは、略球面に沿う形状(略一定の曲率)を有し、その曲率中心Oは、たとえばメニュースイッチ80fと略同じ位置にある。したがって、第1コントローラ34全体の重心Gtは、底面LSfの曲率中心Oよりも低い(曲率中心Oと底面LSfとの間に位置する)ので、第1コントローラ34は自立可能となり、ジョイスティック的操作の操作性が向上する。
【0131】
なお、台座Bs自体が十分な重さを有していれば、錘は設けなくてもよい。ただし、錘を用いれば、重心位置を適宜変更することができて便利である。
【0132】
また、底面LSfは、略球面に沿う形状とは限らず、図18(A)〜図18(C)および図19に示した各表面Sfと同様の形状でもよい。
【0133】
また、弾性部材200は、第1コントローラ34にジャイロセンサユニット100が接続(結合)された状態でも利用可能である。具体的には、図21に示すように、ジャイロセンサユニット100の下端部100L(第1コントローラ34に接続されている側とは反対側の端部)に、弾性部材200を装着すればよい。なお、ジャイロセンサユニット100の形状やサイズによって、あるいは弾性部材200の材質によっては、共用が困難な場合もあるので、ジャイロ専用の弾性部材を準備してもよい。ジャイロセンサユニット100と弾性部材200とを一体化してもよい。
【0134】
また、弾性部材200は、図22に示すように、第1コントローラ34にジャケット300が装着された状態でも利用可能である。共用が困難な場合には、ジャケット専用の弾性部材を準備してもよい。弾性部材200をジャケット300と一体に形成してもよい。
【0135】
なお、弾性部材200が装着された第1コントローラ34の操作方法は、前述のようなジョイスティック的操作,プッシュ操作およびビート操作に限らない。たとえば、弾性部材200の表面Sfの一部を垂直な壁面等に接触させ、この接点ないし接触面を支点として第1コントローラ34を回動させることで、あたかもボートでオールを漕いでいるような操作が行える。また、弾性部材200を机の上側ではなく下側の面と接触させた状態で、第1コントローラ34を傾斜ないし回動させる操作を行ってもよい。
【0136】
また、弾性部材200は、図23に示すように、アタッチメント400を介して第2コントローラ36に装着することも可能である。したがって、2つの弾性部材200とアタッチメント400を準備すれば、第1コントローラ34および第2コントローラ36で同時にジョイスティック的な操作が行える。ただし、この場合、第1コントローラ34用の弾性部材200では、凹部202(図13参照)の底にさらにコネクタ40を収納するためのさらなる凹部(図示せず)が設けられ、また、コネクタ40に繋がるケーブル38を外に引き出すために、たとえば凹部202等の側面に沿って溝(図示せず)が形成される。ケーブル38を外に引き出すための溝は、第2コントローラ36用の弾性部材200にも形成される。
【0137】
以上では、一例として、ゲームシステム10を用いて説明したが、この発明は、操作装置自体の動きに基づいて、ゲームその他のアプリケーションを含む情報処理を実行する、情報処理システムに適用できる。
【符号の説明】
【0138】
10 …ゲームシステム
12 …ゲーム装置
14 …コントローラ
34 …第1コントローラ
36 …第2コントローラ
44 …CPU
52 …無線コントローラモジュール
84,90 …加速度センサ
92 …通信部
94,102 …マイコン
100 …ジャイロセンサユニット
104 …ジャイロセンサ
200 …弾性部材
【特許請求の範囲】
【請求項1】
細長い形状のハウジング、
前記ハウジングに収納または結合される加速度センサおよび/またはジャイロセンサ、
前記加速度センサおよび/またはジャイロセンサによる加速度データおよび/または角速度データを少なくとも含む操作データを送信する操作データ送信部、および
前記ハウジングの一方端または当該一方端の近傍に設けられる弾性部材を備え、
前記弾性部材は球面または略球面を有する、操作装置。
【請求項2】
細長い形状のハウジング、
前記ハウジングに収納または結合される加速度センサおよび/またはジャイロセンサ、
前記加速度センサおよび/またはジャイロセンサによる加速度データおよび/または角速度データを少なくとも含む操作データを送信する操作データ送信部、および
前記ハウジングの一方端または当該一方端の近傍に設けられる弾性部材を備え、
前記弾性部材は、
前記ハウジングに取り付けられる側とは反対側に曲面を有し、
前記ハウジングに取り付けられることで、自身を含む操作装置全体の重心を前記曲面の曲率中心と前記曲面との間に位置させる、操作装置。
【請求項3】
前記弾性部材は前記ハウジングの一方端に着脱可能に取り付けられる、請求項1または2記載の操作装置。
【請求項4】
前記ハウジングの、前記弾性部材とは反対側の端部に設けられるカメラ、および
前記カメラが撮像した画像内における対象の位置情報を算出する位置情報算出部をさらに備え、
前記操作データには前記位置情報算出部によって算出された位置情報がさらに含まれる、請求項1または2記載の操作装置。
【請求項5】
前記ハウジングの上面の前記カメラ寄りに設けられる第1ボタンをさらに備え、
前記操作データには前記第1ボタンの操作情報がさらに含まれる、請求項4記載の操作装置。
【請求項6】
前記ハウジングの下面の前記第1ボタンと略対向する位置に設けられる第2ボタンをさらに備え、
前記操作データには前記第2ボタンの操作情報がさらに含まれる、請求項5記載の操作装置。
【請求項7】
請求項1ないし6のいずれかに記載の操作装置と情報処理装置とを含む情報処理システムであって、
前記情報処理装置は、
前記操作装置からの操作データを受信する受信部、
前記受信部によって受信された操作データに含まれる加速度データおよび/または角速度データに基づいて、前記操作装置の姿勢を算出する姿勢算出部、および
前記姿勢算出部によって算出された姿勢に応じた所定の情報処理を行う情報処理部を備える、情報処理システム。
【請求項8】
請求項1ないし6のいずれかに記載の操作装置と情報処理装置とを含む情報処理システムであって、
前記情報処理装置は、
前記操作装置からの操作データを受信する受信部、
前記受信部によって受信された操作データに含まれる加速度データおよび/または角速度データに基づいて、前記操作装置の振動を検出する振動検出部、および
前記振動検出部によって検出された振動に応じた所定の情報処理を行う情報処理部を備える、情報処理システム。
【請求項9】
前記情報処理装置は、前記受信部によって受信された操作データに含まれる加速度データおよび/または角速度データに基づいて、前記操作装置の姿勢を算出する姿勢算出部をさらに備え、
前記情報処理部は、前記振動検出部によって検出された振動および前記姿勢算出部によって算出された姿勢に応じた所定の情報処理を行う、請求項8記載の情報処理システム。
【請求項10】
細長い形状のハウジングと、前記ハウジングに収納または結合される加速度センサおよび/またはジャイロセンサと、前記加速度センサおよび/またはジャイロセンサによる加速度データおよび/または角速度データを少なくとも含む操作データを送信する操作データ送信部とを備える、操作装置の一方端または当該一方端の近傍に設けられる弾性部材であって、
球面または略球面を有し、
前記球面または略球面上に前記ハウジングの一方端と略同一形状の凹部が形成された、弾性部材。
【請求項11】
細長い形状のハウジングと、前記ハウジングに収納または結合される加速度センサおよび/またはジャイロセンサと、前記加速度センサおよび/またはジャイロセンサによる加速度データおよび/または角速度データを少なくとも含む操作データを送信する操作データ送信部とを備える、操作装置の一方端または当該一方端の近傍に設けられる弾性部材であって、
前記ハウジングが取り付けられる側とは反対側に曲面を有し、
前記ハウジングに取り付けられることで、自身を含む操作装置全体の重心を前記曲面の曲率中心と前記曲面との間に位置させる、弾性部材。
【請求項1】
細長い形状のハウジング、
前記ハウジングに収納または結合される加速度センサおよび/またはジャイロセンサ、
前記加速度センサおよび/またはジャイロセンサによる加速度データおよび/または角速度データを少なくとも含む操作データを送信する操作データ送信部、および
前記ハウジングの一方端または当該一方端の近傍に設けられる弾性部材を備え、
前記弾性部材は球面または略球面を有する、操作装置。
【請求項2】
細長い形状のハウジング、
前記ハウジングに収納または結合される加速度センサおよび/またはジャイロセンサ、
前記加速度センサおよび/またはジャイロセンサによる加速度データおよび/または角速度データを少なくとも含む操作データを送信する操作データ送信部、および
前記ハウジングの一方端または当該一方端の近傍に設けられる弾性部材を備え、
前記弾性部材は、
前記ハウジングに取り付けられる側とは反対側に曲面を有し、
前記ハウジングに取り付けられることで、自身を含む操作装置全体の重心を前記曲面の曲率中心と前記曲面との間に位置させる、操作装置。
【請求項3】
前記弾性部材は前記ハウジングの一方端に着脱可能に取り付けられる、請求項1または2記載の操作装置。
【請求項4】
前記ハウジングの、前記弾性部材とは反対側の端部に設けられるカメラ、および
前記カメラが撮像した画像内における対象の位置情報を算出する位置情報算出部をさらに備え、
前記操作データには前記位置情報算出部によって算出された位置情報がさらに含まれる、請求項1または2記載の操作装置。
【請求項5】
前記ハウジングの上面の前記カメラ寄りに設けられる第1ボタンをさらに備え、
前記操作データには前記第1ボタンの操作情報がさらに含まれる、請求項4記載の操作装置。
【請求項6】
前記ハウジングの下面の前記第1ボタンと略対向する位置に設けられる第2ボタンをさらに備え、
前記操作データには前記第2ボタンの操作情報がさらに含まれる、請求項5記載の操作装置。
【請求項7】
請求項1ないし6のいずれかに記載の操作装置と情報処理装置とを含む情報処理システムであって、
前記情報処理装置は、
前記操作装置からの操作データを受信する受信部、
前記受信部によって受信された操作データに含まれる加速度データおよび/または角速度データに基づいて、前記操作装置の姿勢を算出する姿勢算出部、および
前記姿勢算出部によって算出された姿勢に応じた所定の情報処理を行う情報処理部を備える、情報処理システム。
【請求項8】
請求項1ないし6のいずれかに記載の操作装置と情報処理装置とを含む情報処理システムであって、
前記情報処理装置は、
前記操作装置からの操作データを受信する受信部、
前記受信部によって受信された操作データに含まれる加速度データおよび/または角速度データに基づいて、前記操作装置の振動を検出する振動検出部、および
前記振動検出部によって検出された振動に応じた所定の情報処理を行う情報処理部を備える、情報処理システム。
【請求項9】
前記情報処理装置は、前記受信部によって受信された操作データに含まれる加速度データおよび/または角速度データに基づいて、前記操作装置の姿勢を算出する姿勢算出部をさらに備え、
前記情報処理部は、前記振動検出部によって検出された振動および前記姿勢算出部によって算出された姿勢に応じた所定の情報処理を行う、請求項8記載の情報処理システム。
【請求項10】
細長い形状のハウジングと、前記ハウジングに収納または結合される加速度センサおよび/またはジャイロセンサと、前記加速度センサおよび/またはジャイロセンサによる加速度データおよび/または角速度データを少なくとも含む操作データを送信する操作データ送信部とを備える、操作装置の一方端または当該一方端の近傍に設けられる弾性部材であって、
球面または略球面を有し、
前記球面または略球面上に前記ハウジングの一方端と略同一形状の凹部が形成された、弾性部材。
【請求項11】
細長い形状のハウジングと、前記ハウジングに収納または結合される加速度センサおよび/またはジャイロセンサと、前記加速度センサおよび/またはジャイロセンサによる加速度データおよび/または角速度データを少なくとも含む操作データを送信する操作データ送信部とを備える、操作装置の一方端または当該一方端の近傍に設けられる弾性部材であって、
前記ハウジングが取り付けられる側とは反対側に曲面を有し、
前記ハウジングに取り付けられることで、自身を含む操作装置全体の重心を前記曲面の曲率中心と前記曲面との間に位置させる、弾性部材。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図23】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図23】
【公開番号】特開2011−227804(P2011−227804A)
【公開日】平成23年11月10日(2011.11.10)
【国際特許分類】
【出願番号】特願2010−98574(P2010−98574)
【出願日】平成22年4月22日(2010.4.22)
【出願人】(000233778)任天堂株式会社 (1,115)
【Fターム(参考)】
【公開日】平成23年11月10日(2011.11.10)
【国際特許分類】
【出願日】平成22年4月22日(2010.4.22)
【出願人】(000233778)任天堂株式会社 (1,115)
【Fターム(参考)】
[ Back to top ]