(58)【調査した分野】(Int.Cl.,DB名)
前記ゲームコントローラを正面から見た場合に、前記第1方向は、前記ゲームコントローラにおける実質的な左右方向である、請求項1から3の何れかに記載のゲームコントローラ。
前記ゲームコントローラを正面から見た場合に、前記第2方向は、前記ゲームコントローラにおける実質的な前後方向である、請求項1から4の何れかに記載のゲームコントローラ。
前記ホルダは、前記振動子の少なくとも一部を覆う形状であって、少なくとも前記振動子の前記第1面に対応する面が開口している、請求項10に記載のゲームコントローラ。
前記ゲームコントローラを正面から見た場合に、前記第1方向は、前記ゲームコントローラにおける実質的な左右方向であり、前記第2方向は、前記ゲームコントローラにおける実質的な前後方向である、請求項1から15の何れかに記載のゲームコントローラ。
【発明を実施するための形態】
【0051】
以下、図面を参照して、一実施形態に係るゲームコントローラ1について説明する。
図1は、本実施形態のゲームコントローラ1を含むゲームシステムの一例を示す図である。
【0052】
図1に示されるように、ゲームシステムは、ゲームコントローラ1とゲーム装置100と表示装置200とを含む。ゲーム装置100は、図示しないCPUとRAMと記憶装置(不揮発性メモリ、光ディスク、磁気ディスク等)とを備える。ゲーム装置100のCPUは、所定のゲームプログラムに基づくゲーム処理を実行可能であり、当該ゲーム処理の結果を表示装置200に出力する。表示装置200としては、例えば、液晶表示装置や有機EL表示装置が用いられてもよい。なお、ゲーム装置100は据置型のゲーム装置であってもよいし、表示装置200と一体となった携帯型のゲーム装置であってもよい。また、ゲーム装置100は、ゲーム専用の装置に限らず、パーソナルコンピュータやスマートフォン等のゲームプログラム以外の任意のプログラムを実行可能な情報処理装置であってもよい。
【0053】
ゲーム装置100とゲームコントローラ1とは有線又は無線により接続され、ゲームコントローラ1に対して行われた操作に応じた操作データがゲーム装置100に出力される。例えば、ゲームコントローラ1とゲーム装置100とは、Bluetooth(登録商標)により接続されてもよい。
【0054】
以下、ゲームコントローラ1の詳細について説明する。
図2は、ゲームコントローラ1の外観図である。
図2の(a)は、ゲームコントローラ1の正面図である。
図2の(b)は、ゲームコントローラ1の左側面図である。
図2の(c)は、ゲームコントローラ1の右側面図である。
図2の(d)は、ゲームコントローラ1の上面図である。
図2の(e)は、ゲームコントローラ1の下面図である。
図2の(f)は、ゲームコントローラ1の背面図である。
図2におけるxyz座標系は、ゲームコントローラ1を基準とした座標系であり、ゲームコントローラ1の前面に垂直な方向(例えばAボタン2aの押下方向)をz軸方向、ゲームコントローラ1の左右方向(例えばAボタン2aとYボタン2yとを結ぶ方向)をx軸方向、ゲームコントローラ1の上下方向(例えばBボタン2bとXボタン2xとを結ぶ方向)をy軸方向として定める。
【0055】
図2の(a)に示されるように、ゲームコントローラ1の前面の右側領域には、Aボタン2aと、Bボタン2bと、Xボタン2xと、Yボタン2yとが配置される。また、ゲームコントローラ1の前面の中央領域における右側には、プラスボタン3bおよびホームボタン3dが配置される。また、Yボタン2yおよびホームボタン3dの下側には、右アナログスティック4bが配置される。
【0056】
また、ゲームコントローラ1の前面の中央領域における左側には、マイナスボタン3aと、キャプチャボタン3cとが配置される。また、ゲームコントローラ1の前面の左側領域には、左アナログスティック4aが配置される。また、マイナスボタン3aおよびキャプチャボタン3cの下側には、十字キー5が配置される。
【0057】
Aボタン2a、Bボタン2b、Xボタン2x、および、Yボタン2yは、
図2の(a)の奥方向(z軸正方向)に押下可能なボタンであり、ゲーム操作に用いられるボタンである。また、マイナスボタン3a、プラスボタン3b、キャプチャボタン3c、およびホームボタン3dは、z軸正方向に押下可能なボタンである。ホームボタン3dは、例えば、ゲーム操作とは異なる操作に用いられ、ホームボタン3dが押下されると、ゲーム装置100のメニュー画面や設定画面が表示されてもよい。例えば、ユーザは、ゲーム装置100がゲームプログラムを実行中に任意のタイミングでホームボタン3dを押下可能であり、ゲームプログラムの実行中にホームボタン3dが押下された場合、実行中のゲームプログラムは中断されて、所定のメニュー画面が表示される。また、ホームボタン3dの押下によってゲーム装置100の電源のON/OFFやゲーム装置100のスリープのON/OFFが制御されてもよい。キャプチャボタン3cは、例えば、表示装置200に表示されている画像をキャプチャするために用いられるボタンである。キャプチャボタン3cおよびホームボタン3dは、通常のゲーム操作には用いられないボタンであるため、ゲーム中にはゲーム操作のための他のボタン(Aボタン2a、Bボタン2b、Xボタン2x、Yボタン2y、Lボタン6a、Rボタン6b、ZLボタン7a、ZRボタン7b等)よりも使用頻度が低いボタンである。なお、ホームボタン3dの構造の詳細については後述する。
【0058】
また、左アナログスティック4aおよび右アナログスティック4bは、方向を指示するデバイスであり、ユーザの指で操作されるスティック部が任意の方向(上下左右および斜め方向の任意の角度)に傾倒することが可能に構成されている。なお、左アナログスティック4aおよび右アナログスティック4bは、z軸正方向に押下可能であってもよい。十字キー5は、上下左右の方向を指示するデバイスである。
【0059】
なお、左アナログスティック4a、十字キー5、右アナログスティック4b、Aボタン2a、Bボタン2b、Xボタン2x、Yボタン2yの位置は
図2に示されるものに限られない。例えば、左アナログスティック4aが
図2に示す十字キー5の位置に設けられ、十字キー5が
図2に示す左アナログスティック4aの位置に設けられてもよい。また、右アナログスティック4bが、
図2に示すA,B,X,Yボタンの位置に設けられ、A,B,X,Yボタンが、
図2に示す右アナログスティック4bの位置に設けられてもよい。
【0060】
また、十字キー5は一体化したキートップではなく、それぞれ独立した4つもボタンとして構成されてもよい。すなわち、十字キー5の上方向に対応するボタンと、右方向に対応するボタンと、下方向に対応するボタンと、左方向に対応するボタンとがそれぞれ独立したボタンとして設けられてもよい。
【0061】
左アナログスティック4aおよび右アナログスティック4bのキートップは、その形状、大きさ、素材が同じであるが、左アナログスティック4aと右アナログスティック4bとで、傾ける際の重さ(同じ角度だけ傾ける際に必要な力の大きさ)が異なる。具体的には、左アナログスティック4aおよび右アナログスティッ4bの内部には弾性部材(バネ)が設けられ、キートップを傾けた際にこの弾性部材の復元力により、キートップが元に戻るように構成されている。このアナログスティックの内部に設けられた弾性部材の特性(バネ定数)を異ならせることにより、左アナログスティック4aと右アナログスティック4bとで重さを異ならせている。
【0062】
具体的には、左アナログスティック4aの方が、右アナログスティック4bよりも軽い。ゲーム装置100によって実行されるゲームプログラムにもよるが、例えば、左アナログスティック4aは、ゲームキャラクタの移動操作に用いられる。一方、右アナログスティック4bは、仮想カメラの移動やユーザが狙いを定めるための照準の移動に用いられる。アナログスティックを用いてオブジェクトを移動させる場合、アナログスティックが軽すぎると少しの力でアナログスティックが大きく傾いてしまい、ユーザが意図したようにオブジェクトを移動させることができない。このため、右アナログスティック4bを左アナログスティック4aよりも重くすることで、例えば、右アナログスティック4bを用いて仮想カメラを移動させる場合、仮想カメラをより細かく移動させることができ、操作性を向上させることができる。
【0063】
なお、左アナログスティック4aおよび右アナログスティック4bは、同じ重さでもよいし、左アナログスティック4aよりも右アナログスティック4bの方を軽くしてもよい。また、左アナログスティック4aおよび右アナログスティック4bは、異なる形状、大きさ、素材であってもよい。
【0064】
なお、左アナログスティック4aおよび右アナログスティック4bの重さ以外に、これらの操作感を異ならせるために次のように構成されてもよい。例えば、左アナログスティック4aおよび右アナログスティック4bのキートップの傾動範囲(可動範囲)を異ならせてもよい。また、左アナログスティック4aおよび右アナログスティック4bの感度(分解能)を異ならせてもよい。例えば、右アナログスティック4bの傾動範囲を左アナログスティック4aよりも大きくすることで、上記仮想カメラや照準を移動させる際により精密な操作を行うことができる。また、右アナログスティック4bの感度を左アナログスティック4aよりも低くすることで、精密な操作が可能になり、意図しない入力を防止することができる。上記とは逆に左アナログスティック4aの傾動範囲を右アナログスティック4bよりも大きくしてもよいし、左アナログスティック4aの感度を右アナログスティック4bよりも低くしてもよい。また、左アナログスティック4aと右アナログスティック4bとで、「重さ」、「傾動範囲」、「感度」の3つのうちの何れか1つを異ならせてもよいし、2つ以上を異ならせてもよい。
【0065】
図3は、左アナログスティック4aおよび右アナログスティック4bの天面部分の一例を示す図である。
図3は、アナログスティック4a又は4bの天面部分(ユーザに触れられる部分)を横から見た図である。
図3に示されるように、左アナログスティック4aおよび右アナログスティック4bの天面は、中央に凹状部を有する。凹状部はアナログスティックを上から見た場合に円状となっている。凹状部は上方にやや膨らんだ形状となっており、凹状部の最も高い部分の高さは、凹状部の外周の最も高い部分の高さと略同じである。また、左アナログスティック4aおよび右アナログスティック4bの天面部分の側面には、天面を周回するリブ(凹凸)が同心円状に複数形成されている。これにより、ユーザの指がアナログスティックの天面部分の側面に引っかかり易い。すなわち、アナログスティックを任意の方向に傾ける際にユーザの指が滑りにくくなり、操作性が向上する。また、アナログスティックの天面中央部分にはリブを設けないことにより、ユーザの指がアナログスティックを操作する際の触り心地が向上する。
【0066】
また、
図2の(e)に示されるように、ゲームコントローラ1の下面には、4つのLED9が設けられる。複数のゲームコントローラ1がゲーム装置100に接続された場合、LED9は、各ゲームコントローラ1をユーザが識別可能に発光する。例えば、4つのゲームコントローラ1がゲーム装置100に接続された場合、第1のゲームコントローラ1では4つのLED9のうちの左から1番目のみが発光し、第2のゲームコントローラ1では4つのLED9のうちの左から2番目のみが発光し、第3のゲームコントローラ1では4つのLED9のうちの左から3番目のみが発光し、第4のゲームコントローラ1では4つのLED9のうちの左から4番目のみが発光する。なお、4つのLED9が発光する数によって複数のゲームコントローラのそれぞれを区別してもよい。
【0067】
図2に示されるように、ゲームコントローラ1の中央よりも左右側には、下方(y軸負方向)に突出したグリップ部8aおよび8bがそれぞれ設けられる。グリップ部8aは、ユーザの左手で把持され、グリップ部8bは、ユーザの右手で把持される。
図2の(b)および(c)に示されるように、グリップ部8aおよび8bは、ゲームコントローラ1の背面方向(z軸正方向)に湾曲するように形成される。
【0068】
また、
図2の(d)に示されるように、ゲームコントローラ1の上面には、Lボタン6aと、ZLボタン7aと、Rボタン6aと、ZRボタン7aとが設けられる。具体的には、Lボタン6aは、ゲームコントローラ1の上面における左端部に設けられる。ZLボタン7aは、Lボタン6aのゲームコントローラ1における背面側(z軸正方向側)に設けられる。また、Rボタン6bは、ゲームコントローラ1の上面における右端部に設けられる。ZRボタン7bは、Rボタン6bのゲームコントローラ1における背面側(z軸正方向側)に設けられる。
【0069】
Lボタン6a、Rボタン6b、ZLボタン7a、およびZRボタン7bは、ゲーム操作に用いられるボタンである。ZLボタン7aおよびZRボタン7bはトリガーボタンであってもよい。
【0070】
また、本実施形態の各ボタン(A,B,X,Y,L,R,ZL,ZRボタン)は、ボタンが押されたか否かの信号(ON/OFFの信号)を出力可能なボタンであるが、他の実施形態では、ZLボタン7aおよびZRボタン7bは、ボタンの押下量に応じたアナログ値を出力可能なボタンであってもよい。例えば、ユーザがZLボタン7a又はZRボタン7bを第1の位置まで押し下げた場合、第1の位置に応じたアナログ値が出力され、ユーザが第1の位置よりも下方の第2の位置までボタンを押し下げた場合は、第2の位置に応じたアナログ値が出力されてもよい。
【0071】
図4は、ユーザが両手でゲームコントローラ1を把持する様子を示す図である。
図4に示されるように、ユーザが左手でグリップ部8aを把持し、右手でグリップ部8bを把持した場合、左手の親指で左アナログスティック4aおよび十字キー5を操作可能である。また、ユーザは、左手の親指でマイナスボタン3aおよびキャプチャボタン3cを操作可能である。また、ユーザは、左手の人差し指(又は中指)でLボタン6aおよびZLボタン7aを操作可能である。また、ユーザは、右手の親指で、Aボタン2a、Bボタン2b、Xボタン2x、Yボタン2y、右アナログスティック4b、プラスボタン3b、およびホームボタン3dを操作可能である。また、ユーザは右手の人差し指(又は中指)でRボタン6bおよびZRボタン7bを操作可能である。なお、
図4ではゲームコントローラ1の典型的な持ち方を示しており、ユーザによっては異なる持ち方で持たれてもよい。
【0072】
[L/Rボタン、ZL/ZRボタンの詳細]
次に、ゲームコントローラ1の上面に設けられたLボタン6a、ZLボタン7a、Rボタン6b、および、ZRボタン7bの詳細について説明する。
【0073】
図5は、ゲームコントローラ1の分解斜視図である。
図5に示されるように、ゲームコントローラ1のハウジング10は、ゲームコントローラ1における前面側の第1ハウジング10aと、ゲームコントローラ1における背面側の第2ハウジング10bとが接続されることにより形成される。ハウジング10の内部には、ボタンフレーム30が収納される。また、ハウジング10の内部には、第1基板20、および第2基板40が収納される。
【0074】
図6は、ボタンフレーム30の外観図である。
図6の(a)は、ボタンフレーム30の正面図(ボタンフレーム30をゲームコントローラ1の正面から見た図)である。
図6の(b)は、ボタンフレーム30の左側面図である。
図6の(c)は、ボタンフレーム30の右側面図である。
図6の(d)は、ボタンフレーム30の上面図である。
図6の(e)は、ボタンフレーム30の下面図である。なお、
図6におけるx軸、y軸、z軸は、
図2におけるx軸、y軸、z軸とそれぞれ対応する。
【0075】
図7は、ZRボタン7bのキートップの外観図である。
図7の(a)は、ZRボタン7bのキートップの正面図(ZRボタン7bのキートップをゲームコントローラ1の正面から見た図)である。
図7の(b)は、ZRボタン7bのキートップの右側面図である。
図7の(c)は、ZRボタン7bのキートップの上面図である。
図7の(d)は、ZRボタン7bのキートップの背面図である。
図7の(e)は、ZRボタン7bのキートップの下面図である。
図7の(f)は、ZRボタン7bのキートップの斜視図である。なお、
図7におけるx軸、y軸、z軸は、
図2におけるx軸、y軸、z軸とそれぞれ対応する。
【0076】
なお、ZLボタン7aとZRボタン7bとは左右対称であり、ZLボタン7aとZRボタン7bとは同じ形状である。また、Lボタン6aとRボタン6bとは左右対称であり、Lボタン6aとRボタン6bとは同じ形状である。以下では、ZLボタン7aとZRボタン7bのうち何れか一方のみを説明するが、他方のボタンも同様である。また、Lボタン6aとRボタン6bのうち何れか一方のみを説明するが、他方のボタンも同様である。また、以下では、Lボタン6aおよびRボタン6bを総称してL/Rボタン6と表記することがあり、ZLボタン7aおよびZRボタン7bを総称してZL/ZRボタン7と表記することがある。
【0077】
図6に示されるように、Lボタン6a、Rボタン6b、ZLボタン7a、ZRボタン7bは、ハウジング10の内部に収納されるフレーム部33と一体として構成される。また、後述するように、各ボタンのボタン検出部も一体として構成される。ボタンフレーム30がハウジング10に収納された場合に、Lボタン6a、Rボタン6b、ZLボタン7a、ZRボタン7bがハウジング10の上面から露出される。
【0078】
(L/Rボタンの説明)
図6の(d)に示されるように、Rボタン6bは、横長の形状(x軸方向に長い形状)である。すなわち、Rボタン6bは、ゲームコントローラ1における背面方向の長さよりもゲームコントローラ1における側面方向の長さの方が長くなるように形成される。また、Rボタン6bは、ゲームコントローラ1の中央から側面方向(x軸正方向)にいくにしたがって幅が狭くなっている。
【0079】
また、
図6の(a)に示されるように、Rボタン6bは、全体的にゲームコントローラ1の左右方向における中央から側面方向にいくにしたがって下方に傾斜している。
【0080】
具体的には、
図6の(a)に示されるように、Rボタン6bの、ゲームコントローラ1の左右方向における中央側(x軸負方向側)の端部には、下方に傾斜する傾斜部61bが設けられる。
図8Aは、Rボタン6bを正面から見たときの部分拡大図である。
図8Bは、Rボタン6bを上面から見たときの部分拡大図である。
図8Cは、Rボタン6bを右側面から見たときの部分拡大図である。
【0081】
より具体的には、
図8Aおよび
図8Bに示されるように、Rボタン6bのゲームコントローラ1における中央側端部の傾斜部61は、2段階で傾斜しており、Rボタン6bのゲームコントローラ1における中央側の端部に近い部分の傾斜角がより大きくなっている。すなわち、Rボタン6bの傾斜部61bは、側面側の部分と中央側の部分とを有し、水平方向(xyz座標系におけるx軸方向)を基準として、側面側の部分の傾斜角よりも中央側の部分の傾斜角が大きくなっている。
【0082】
また、
図6の(a)に示されるように、Rボタン6bの、ゲームコントローラ1の左右方向における側面側(x軸正方向側)の端部には、下方に傾斜する傾斜部62bが設けられる。
【0083】
具体的には、
図8Aおよび
図8Bに示されるように、Rボタン6bのゲームコントローラ1における側面側の端部は、2段階で傾斜しており、Rボタン6bのゲームコントローラ1における側面側の端部に近い部分の傾斜角がより大きくなっている。すなわち、Rボタン6bの傾斜部62bは、側面側の部分と中央側の部分とを有し、水平方向(xyz座標系におけるx軸方向)を基準として、中央側の部分の傾斜角よりも側面側の部分の傾斜角が大きくなっている。
【0084】
また、
図6の(c)に示されるように、Rボタン6bの、ゲームコントローラ1における前面側(z軸負方向側)の端部には、下方に傾斜する傾斜部63bが設けられる。
【0085】
具体的には、
図8Cに示されるように、Rボタン6bのゲームコントローラ1における前面側端部の傾斜部63bは、2段階で傾斜しており、Rボタン6bのゲームコントローラ1における前面側の端部に近い部分の傾斜角がより大きくなっている。すなわち、Rボタン6bの傾斜部63bは、前面側の部分と背面側の部分とを有し、水平方向(xyz座標系におけるz軸方向)を基準として、背面側の部分の傾斜角よりも前面側の部分の傾斜角が大きくなっている。
【0086】
このように、Rボタン6bのゲームコントローラ1における中央側に傾斜部61bが設けられることにより、指が長い人でもRボタン6bを操作しやすい。すなわち、ユーザの指が長い場合、Rボタン6bを操作する際に、指先がRボタン6bのゲームコントローラ1における中央側の端部までくるが、当該中央側の端部に傾斜部61bを設けることで、傾斜部61bが指にフィットし、ユーザはRボタン6bを操作しやすい。
【0087】
また、Rボタン6bのゲームコントローラ1における側面側の端部に傾斜部62bが設けられることにより、指が長い人にとっても短い人にとってもRボタン6bを操作しやすい。すなわち、指が短いユーザにとっては、指先をRボタン6bのゲームコントローラ1における側面側の端部にかけることでRボタン6bを操作することができる。一方、指が長いユーザにとっては、Rボタン6bを操作する際に、人差し指の先端がRボタン6bの中央側の端部に当り、指の根元あるいは第2関節付近にRボタン6bの側面側の端部が当たる。この側面側の端部に傾斜部62bが設けられることにより、人差し指の先端でRボタン6bの中央側の端部を押下する際に、指の根元あるいは第2関節付近にかかる力(反作用による力)を小さくすることができ、ユーザがRボタン6bを押下しやすくすることができる。
【0088】
また、Rボタン6bのゲームコントローラ1における前面側の端部に傾斜部63bが設けられることにより、ユーザは、Rボタン6bを操作し易くなる。例えば、
図4のように両手でグリップ部8を把持せずに、ゲームコントローラ1の前面に手を被せるようにしてゲームコントローラ1を把持するユーザもいる。Rボタン6bに傾斜部63bが設けられることにより、このようなユーザにとっても、Rボタン6b及びZRボタン7bを操作しやすい。具体的には、このようなユーザは、ハウジング10の側面側から指(人差し指及び/又は中指)でL/Rボタン6及びZL/ZRボタン7にアクセスせず、ハウジング10の前面側から指でL/Rボタン6及びZL/ZRボタン7にアクセスする。ここで、L/Rボタン6の前面側の端部に傾斜部63(a,b)が設けられていない場合、L/Rボタン6の前面側の角に指が当たってしまい、ユーザはL/Rボタン6を操作しにくくなる。また、このようなユーザが背面側のZL/ZRボタン7を操作する際には、L/Rボタン6の前面側の角に指が当たり、誤ってL/Rボタン6を押下してしまうことがある。本実施形態では、L/Rボタン6の前面側に傾斜部63が設けられるため、ユーザがゲームコントローラ1の前面に手を被せるようにしてゲームコントローラ1を把持する場合であっても、L/Rボタン6およびZL/ZRボタン7を操作し易く、ZL/ZRボタン7を操作する際に誤ってL/Rボタン6を押下してしまうことを防止することができる。
【0089】
また、
図6の(a)に示されるように、Lボタン6aおよびRボタン6bは、ボタンフレーム30の中央側に配置された軸32aおよび軸32bを支点として回動可能に構成されている。軸32aおよび軸32bは、z軸方向(ゲームコントローラ1における背面方向)に延びるように配置されている。Lボタン6aは、軸32aからゲームコントローラ1における側面方向(x軸負方向)に延在し、Rボタン6bは、軸32bからゲームコントローラ1における側面方向(x軸正方向)に延在している。Lボタン6aおよびRボタン6bは、それぞれ軸32aおよび軸32bを支点として回動することによってゲームコントローラ1における下方(y軸負方向)に押されるように構成されている。
【0090】
このように、Lボタン6aおよびRボタン6bは、ゲームコントローラ1における中央側に配置された軸32aおよび軸32bを支点として回動し、全体的に側面方向に向かって傾斜するとともに上記傾斜部61(a,b)および62(a,b)を有するため、ユーザにとって操作しやすい。例えば、指の長いユーザの場合、人差し指の先端が中央側の傾斜部61bにかかり、Rボタン6bの右下がりの曲線に沿って人差し指の先端から根元にかけて指がRボタン6bに接触する。この場合、ユーザは、人差し指全体でRボタン6bを押下しやすく、特に、傾斜部61b(
図8A参照)を傾斜面に垂直な方向に押下すると、その力によってRボタン6bが軸32bを支点として回動する。このため、指の長いユーザにとってもRボタン6bを操作しやすい。また、例えば指の短いユーザの場合、人差し指の先端が側面側の傾斜部62bにかかる。この場合、ユーザは、人差し指の先端でRボタン6bを押下しやすく、特に、傾斜部62b(
図8A参照)を傾斜面に垂直な方向に押下すると、その力によってRボタン6bが軸32bを支点として回動する。このため、指の短いユーザにとってもRボタン6bを操作しやすい。
【0091】
(ZR/ZLボタンの説明)
次に、ZR/ZLボタンについて説明する。
図6に示されるように、ZLボタン7aは、Lボタン6aのゲームコントローラ1における背面側に配置される。また、ZRボタン7bは、Rボタン6bのゲームコントローラ1における背面側に配置される。ZLボタン7aおよびZRボタン7bは、横長の形状(x軸方向に長い形状)である。すなわち、ZLボタン7aおよびZRボタン7bは、ゲームコントローラ1における背面方向の長さよりもゲームコントローラ1における側面方向の長さの方が長くなるように形成される。
【0092】
図6に示されるように、ZRボタン7bは、ゲームコントローラ1における背面方向(z軸正方向)およびゲームコントローラ1における側面方向(x軸正方向:右方向)に突出した突出部71bを有する。ZLボタン7aも同様に、ゲームコントローラ1における背面方向(z軸正方向)およびゲームコントローラ1における側面方向(x軸負方向:左方向)に突出した突出部71aを有する。
【0093】
具体的には、
図7の(b)に示されるように、ZRボタン7bは、突出部71bを含む上側部分72bと、当該上側部分72bより下方の下側部分73bとから構成される。ZRボタン7bの上側部分72bは、ユーザがボタンを押下する際に直接触れられる部分である。ZRボタン7bがボタンフレーム30と一体化されてボタンフレーム30がハウジング10内に収納された場合、ZRボタン7bの上側部分72bが外側に露出される一方、ZRボタン7bの下側部分73bは、ハウジング10によってほぼ隠れる(
図2参照)。
図7の(e)に示されるように、突出部71bは、下側部分73bの上端の外縁よりもz軸正方向(ゲームコントローラ1における背面方向)およびx軸正方向(ゲームコントローラ1における側面方向)に突出している。
【0094】
より具体的には、突出部71bは、ゲームコントローラ1における背面側から側面側にわたって連続的に延在している。突出部71bのゲームコントローラ1における背面側から側面側にわたる部分(
図7の(e)に示すz軸及びx軸の間の斜め方向の部分)は、円弧形状(R形状)となっている。また、
図7の(e)に示されるように、z軸正方向の突出長さL1よりも、z軸正方向およびx軸正方向の突出長さL2の方が長い。すなわち、突出部71bは、z軸に沿った方向の長さL1よりも、z軸とx軸の間の斜め方向の長さL2の方が長くなるように構成されている。また、突出部71bは、側面に近いほどその突出度合いが小さくなる。具体的には、
図7の(e)の長さL3は、長さL2よりも短い。ZRボタン7bの側面端部では、突出部71bは、下側部分73bよりもx軸正方向(右方向)に僅かに突出している。
【0095】
このように、ZLボタン7aおよびZRボタン7bは、背面方向および側面方向の両方に突出した突出部71(aおよびb)を有する。これにより、ZLボタン7aおよびZRボタン7bのキートップ上面の面積を大きくすることができ、ユーザがZLボタン7aおよびZRボタン7bを操作し易くなる。仮にZLボタン7aおよびZRボタン7bの全体(上側部分72bおよび下側部分73bを含むボタン全体)を大きくすると、ZLボタン7aおよびZRボタン7bのキートップ上面の面積も大きくすることはできるが、ボタン全体が大きくなるため、ハウジング10も大きくなってしまう。しかしながら、本実施形態のようにZLボタン7aおよびZRボタン7bに上記突出部71を設けることで、ボタン全体を大きくすることなくボタンのキートップ上面の面積を大きくすることができる。これにより、ハウジング全体を大きくしなくてもZLボタン7aおよびZRボタン7bのキートップを大きくして、ユーザがZLボタン7aおよびZRボタン7bを操作し易くすることができる。
【0096】
本実施形態では、ZLボタン7aおよびZRボタン7bが背面方向のみならず側面方向にも突出しているため、指が短いユーザであっても操作しやすい。すなわち、ZL/ZRボタン7が背面方向のみならず側面方向にも突出しているため、ユーザは、例えばZL/ZRボタン7の側面方向に突出した部分に指をかけてボタンを操作することができる。例えば、ZRボタン7bは、側面方向(右方向)に突出しているため、ユーザは、ゲームコントローラ1における右側面から右手の指でZRボタン7bにアクセスし、ZRボタン7bの側面方向に突出した部分に指をかけて、ZRボタン7bを押下することができる。ZRボタン7bには右側面方向に突出した突出部71bが設けられるため、指の短いユーザであっても、ZRボタン7bの右側面に指がかかりやすく、ZRボタン7bを容易に操作することができる。また、ユーザは、例えばZL/ZRボタン7における側面方向と背面方向の間のR形状部分に指をかけてボタンを操作することができる。これにより、ユーザは、ZL/ZRボタン7の中央側の部分(例えば背面方向のみに突出した部分)まで指を伸ばさなくてもZL/ZRボタン7を操作することができる。
【0097】
また、ZL/ZRボタン7の突出部71は、背面側から側面側にわたって連続的に延在しており、ZL/ZRボタン7の背面側から側面側にわたる部分は、R形状となっている。このため、ZL/ZRボタン7が背面方向にのみ突出した部分と、側面方向にのみ突出した部分とを有する場合よりも、見た目上の違和感がなく、操作性も向上する。ZL/ZRボタン7の突出部71が、背面方向にのみ突出した部分と、側面方向にのみ突出した部分とに分かれており、背面側から側面側にわたる部分が背面方向及び側面方向に突出していない場合は、ボタンが不連続な形状となり、不自然である。また、そのような形状のボタンでは、ユーザは背面方向にのみ突出した部分又は側面方向にのみ突出した部分に指をかけてボタンを操作することになり、その間(背面方向と側面方向との間)に指が入った場合には、ボタンを操作することができない。これに対して、ZL/ZRボタン7の突出部71は背面側から側面側にわたって連続的に形成され、背面側から側面側にわたる部分がR形状となっているため、自然な形状となる。また、本実施形態のゲームコントローラ1は、全体的に曲線を帯びた形状であり、ZL/ZRボタン7の突出部71のR形状部分はゲームコントローラ1の全体的な形状と整合しているため、見た目上の違和感がない。また、ZL/ZRボタン7の突出部71は背面側から側面側にわたって連続的に形成されているため、ユーザはこの連続的に形成された部分の任意の位置でボタンを押下することができ、ZL/ZRボタン7を操作し易い。
【0098】
また、
図7に示されるように、ZRボタン7bの突出部71bの上面は、ZRボタン7bにおける突出部71b以外の部分の上面と一体的な面を形成している。すなわち、ZRボタン7bの上面は、突出部71b以外の部分(背面方向および側面方向に突出していない部分)から突出部71bにかけて連続した面を形成し、ZRボタン7bの上面において突出部71bと突出部71b以外の部分との境界に段差はない。このため、ユーザがZRボタン7bを操作する際に違和感がない。
【0099】
また、
図7の(b)に示されるように突出部71bの背面方向の端部は、ゲームコントローラ1の側面側から見た場合、丸みを帯びたR形状となっている。すなわち、突出部71bの上面から背面方向の面にわたる部分はR形状となっている。ZRボタン7bは、図に示されるように背面方向に向かって上方に湾曲しているものの、背面方向の端部においては尖っておらずR形状を有しているため、ユーザがZRボタン7bの背面方向の端部を指で押下しても、不快感は無い。
【0100】
また、
図7の(d)に示されるように、ZRボタン7bの、ゲームコントローラ1の左右方向における中央側(x軸負方向側)の端部には、下方に傾斜する傾斜部74bが設けられる。具体的には、ZRボタン7bのゲームコントローラ1における中央側端部の傾斜部74bは、2段階で傾斜しており、ZRボタン7bのゲームコントローラ1における中央側の端部に近い部分の傾斜角が僅かに大きくなっている。すなわち、ZRボタン7bの傾斜部74bは、側面側の部分と中央側の部分とを有し、水平方向(xyz座標系におけるx軸方向)を基準として、側面側の部分の傾斜角よりも中央側の部分の傾斜角が大きくなっている。
【0101】
また、
図7の(d)に示されるように、ZRボタン7bの、ゲームコントローラ1の左右方向における側面側(x軸正方向側)の端部には、下方に傾斜する傾斜部75bが設けられる。具体的には、ZRボタン7bのゲームコントローラ1における側面側端部の傾斜部75bは、2段階で傾斜しており、ZRボタン7bのゲームコントローラ1における側面側の端部に近い部分の傾斜角が僅かに大きくなっている。すなわち、ZRボタン7bの傾斜部75bは、側面側の部分と中央側の部分とを有し、水平方向(xyz座標系におけるx軸方向)を基準として、中央側の部分の傾斜角よりも側面側の部分の傾斜角が大きくなっている。
【0102】
このように、ZRボタン7bのゲームコントローラ1における中央側の端部が傾斜していることにより、指が長い人でもZRボタン7bを操作しやすい。すなわち、ユーザの指が長い場合、ZRボタン7bを操作する際に、指先がZRボタン7bのゲームコントローラ1における中央側の端部までくるが、当該中央側の端部に傾斜部74bを設けることで、傾斜部74bが指にフィットし、ユーザはZRボタン7bを操作しやすい(
図4参照)。
【0103】
また、ZRボタン7bのゲームコントローラ1における側面側の端部が傾斜していることにより、指が長い人にとっても短い人にとってもZRボタン7bを操作しやすい。すなわち、指が短いユーザにとっては、指先をZRボタン7bのゲームコントローラ1における側面側の端部にかけることでZRボタン7bを操作することができる。一方、指が長いユーザにとっては、ZRボタン7bを操作する際に、人差し指の根元あるいは第2関節付近にZRボタン7bの側面側の端部が当たり、指先がZRボタン7bの中央側の端部に当たる。この側面側の端部に傾斜部75dが設けられることにより、人差し指の先端でZRボタン7bの中央側の端部を押下する際に、指の根元あるいは第2関節付近にかかる力(反作用による力)を小さくすることができ、ZRボタン7bを押下しやすくすることができる。
【0104】
また、
図2の(c)に示されるように、ZRボタン7bのゲームコントローラ1における背面側の先端(z軸正方向の端部)は、ハウジング10の背面中央部の外縁(背面と平行な面)よりも、ゲームコントローラ1における前面側に位置している。具体的には、
図2の(d)に示されるように、ZRボタン7bの背面側の先端は、そのZRボタン7bの位置におけるハウジング10の背面の外縁よりも僅かに背面側に出ているものの、ハウジング10の背面中央部の外縁よりは前面側に位置している。このため、ゲームコントローラ1を平面上に置いた場合、ハウジング10の背面中央部でゲームコントローラ1を支えることになる。
【0105】
図9は、ゲームコントローラ1を平面上に置いたときに平面と平行な方向からゲームコントローラ1を見たときの図である。
図9に示されるように、ゲームコントローラ1を平面上に置いた場合、グリップ部8a、グリップ部8b、および、ハウジング10の背面中央部が平面と接触し、これら3点にゲームコントローラ1の荷重がかかる。なお、ゲームコントローラ1を平面上に置いた場合に、ZLボタン7aおよびZRボタン7bのうちの少なくとも一方が平面に接触することもあるが、荷重は主にハウジング10の背面中央部、グリップ部8aおよびグリップ部8bにかかり、ゲームコントローラ1を平面上に置いても、ZLボタン7aおよびZRボタン7bは押下されない。また、平面上に置かれたゲームコントローラ1を誤って踏んでしまった場合等、ゲームコントローラに大きな負荷がかかった場合でも、ハウジング10の背面中央部、グリップ部8aおよびグリップ部8bに大きな負荷がかかり、ZL/ZRボタン7には大きな負荷はかからない。したがって、ハウジング10と比較して構造的に強度の弱いZL/ZRボタン7に大きな負荷がかかってボタンが破損してしまうことを防止することができる。
【0106】
また、
図7の(b)に示されるように、ZRボタン7bはゲームコントローラ1における背面側にいくにしたがって上方に反っている。具体的には、
図6の(c)および
図7の(b)に示されるように、ZRボタン7bは、ゲームコントローラ1における前面側の端部からその中央部分にかけて下方に下がるような曲線を描き、背面側の端部付近では上方に上がるような曲線を描く。ZRボタン7bは、前面側の端部から背面側の端部付近にかけて反り具合が徐々に大きくなり、背面側の端部では下方に傾斜している(傾斜部75dが背面側まで回りこんでいる)。より具体的には、
図7の(b)に示されるように、ZRボタン7bの上面のゲームコントローラ1における背面側の曲率r1は、ゲームコントローラ1における前面側の曲率r2よりも大きい。すなわち、ZRボタン7bの上面における前面側の端部(A点)と、ZRボタン7bの中央部(
図7の(b)のA点とC点との中間のB点)と、ZRボタン7bの背面側の下方に傾斜する端部の手前側の部分(C点)とではそれぞれ曲率が異なり、A点、B点、C点にいくにしたがって曲率が徐々に大きくなっていく。さらに、A点からB点への曲率の変化よりも、B点からC点への曲率の変化の方が大きい。
【0107】
このように、本実施形態のゲームコントローラ1では、ZRボタン7bが背面方向にいくにしたがって上方に反っており、ZRボタン7bの反り具合が徐々に大きくなっており、背面側の端部では下方に傾斜しているため、ユーザがZRボタン7bを操作しやすい。例えば、ZRボタン7bの反り具合が急に変化している場合、指の長いユーザにとっては邪魔になりボタンを操作し難くなる。例えば、ZRボタン7bを操作しないときには人差し指をZRボタン7bの上に置かずにゲームコントローラ1の背面に置く場合、ユーザはZRボタン7bを操作する際に指を背面からZRボタン7b上に移動させる必要があるが、ZRボタン7bの反り具合が急に変化している場合は、指がその反った部分の頂上の部分に当ってしまう。しかしながら、本実施形態のゲームコントローラ1では、ZRボタン7bの反り具合が徐々に大きくなっているため、ユーザの指が反った部分の頂上の部分に当たりにくく、ZRボタン7bを操作しやすい。また、ZRボタン7bのゲームコントローラ1における背面側の端部は下方に傾斜しているため、反った部分にユーザの指が当たりにくい。
【0108】
具体的には、ZRボタン7bにはその背面側に傾斜部71bが設けられており、第2ハウジング10bの上端部が背面方向に突出していないため、ユーザがハウジング10の背面側に指を置いている場合に、ZRボタン7b及びRボタン6bにアクセスし易い。
図2、
図7に示されるように、ZRボタン7bの背面側の先端は、そのZRボタン7bの位置における第2ハウジング10bの外縁よりも僅かに背面側に突出しているものの傾斜部71bが設けられ、また、第2ハウジング10bの上端部は背面方向には突出していない。このため、ユーザが、指をハウジング10の背面側からZRボタン7bやRボタン6bの位置に移動させる際にZRボタン7bの背面側の先端およびハウジング10の背面側の上端部に指が当りにくく、指を背面側からZRボタン7bやRボタン6bの位置にスムーズに移動させることができる。
【0109】
また、
図7の(b)および(c)に示されるように、ZRボタン7bの下側部分73bは軸受け部76bを有し、ゲームコントローラ1における左右方向(x軸方向)に延びる軸によって回動可能に支持されている。軸受け部76bは、ゲームコントローラ1における前面方向(z軸負方向)側に設けられる。ZRボタン7bは、軸の回りに回動することによってゲームコントローラ1における下方(y軸負方向)に押されるように構成されている。
【0110】
図10は、ZRボタン7bのボタンフレーム30への固定構造の一例を示す図である。
図10は、ZRボタン7bを上面から見た図である。
図10に示されるように、ZRボタン7bは、軸35によって回動可能に支持されている。ボタンフレーム30の右側の端部には、軸35を受ける軸受け部34が設けられている。軸35は、ゲームコントローラ1における中央側から側面方向に向かって挿入され、側面側からは挿入されない。軸35がゲームコントローラ1における中央側からのみ挿入されるように構成されているため、ZRボタン7bをゲームコントローラ1における側面端部の近傍まで延ばすことができる。また、軸受け部34は、その入り口が軸35の直径よりも僅かに大きく、奥に行くにしたがって狭くなっており、例えば軸受け部34の内側の奥方向には緩衝材36が塗布されている。これにより、軸35を挿入したときに、軸35をボタンフレーム30にしっかりと固定することができる。なお、緩衝材36の位置は図で例示したものに限らず、ZRボタン7bがボタンフレーム30の一部と接触する任意の位置に緩衝材が設けられてもよい。
【0111】
(L/RボタンとZL/ZRとの関係)
次に、L/RボタンとZL/ZRボタンとの関係について説明する。
図6の(d)に示されるように、Lボタン6aの左右方向(x方向)の長さは、ZLボタン7aの左右方向の長さよりも長い。また、ZLボタン7aの縦方向(z方向:ゲームコントローラ1における前面方向)の長さは、Lボタン6aの縦方向の長さよりも長い。すなわち、ZLボタン7aは、Lボタン6aよりもゲームコントローラ1における背面方向に長く形成されている。
【0112】
また、L/Rボタン6は、ゲームコントローラ1における側面方向にいくにしたがって下方に傾斜している。このため、ユーザは、背面側に位置するZL/ZRボタン7を操作しやすく、ZL/ZRボタン7を押下する際に誤ってL/Rボタン6を押下してしまうことを防止することができる。すなわち、
図4に示されるように、ユーザが人差し指で背面側のZL/ZRボタン7を押下する場合、例えば人差し指の第1間接から第2間接にかかる部分がL/Rボタン6に触れることがある。このとき、L/Rボタン6がゲームコントローラ1の中央から側面方向にいくにしたがって下方に傾斜していなければ、指がL/Rボタン6に接触し易い。しかしながら、L/Rボタン6は下方に傾斜しているため、指がL/Rボタン6の側面側の端部に当たりにくく、ZL/ZRボタン7を押下する際に、誤ってL/Rボタン6を押下してしまうことを防止することができる。
【0113】
さらにL/Rボタン6の側面側の端部には、2段階で傾斜した傾斜部62(aおよびb)が設けられる。このため、ユーザがZL/ZRボタン7を操作するときにL/Rボタン6の側面側の端部に指が当たりにくく、ユーザが誤ってL/Rボタン6を押下してしまうことを防止することができる。例えば、指の長いユーザは、ZL/ZRボタン7の中央側の端部に指を置いてZL/ZRボタン7を操作する。このとき、指の根元部分がL/Rボタン6の側面側の端部に当たる場合がある。本実施形態では、L/Rボタン6の側面側の端部が下方に傾斜しているため、指の根元部分がL/Rボタン6の側面側の端部に当りにくく、ZL/ZRボタン7を操作する際に、誤ってL/Rボタン6を押下してしまうことを防止することができる。
【0114】
また、L/Rボタン6は、その幅(z方向の幅)がゲームコントローラ1における側面にいくにしたがって狭くなる。このため、ユーザがZL/ZRボタン7を押下する際に、誤ってL/Rボタン6を押下してしまうことを防止することができる。例えば、L/Rボタン6の幅が側面端部において広い場合、ユーザが、L/Rボタン6の位置からZL/ZRボタン7の位置に指を動かしてZL/ZRボタン7を操作するときに、指がL/Rボタン6の側面端部に触れてしまい、誤ってL/Rボタン6を押下してしまうことがある。しかしながら、L/Rボタン6の幅が側面にいくにしたがって狭くなるため、ユーザが誤ってL/Rボタン6を押下してしまうことを防止することができる。
【0115】
また、L/Rボタン6は、前面側の端部に傾斜部63(aおよびb)を有する。これにより、ユーザが指をハウジング10の前面側に置いている場合にL/Rボタン6へのアクセスが容易になるとともに、ZL/ZRボタン7へのアクセスも容易になる。すなわち、L/Rボタン6の前面側の端部が傾斜しているため、ユーザがハウジング10の前面側から指をZL/ZRボタン7に移動させる際に、指がL/Rボタン6に触れることを防止することができる。また、上述のように、L/Rボタン6の前面側の端部が傾斜しているため、ゲームコントローラ1のグリップ部8を把持せずにゲームコントローラ1の前面を手で被せるようにして把持するユーザにとっても、ZL/ZRボタン7を操作し易く、ZL/ZRボタン7を操作する際に誤ってL/Rボタン6を押下してしまうことを防止することができる。
【0116】
また、
図6の(d)に示されるように、ZRボタン7bは、Rボタン6bよりもゲームコントローラ1における側面側に位置している。具体的には、ZRボタン7bの左端(ゲームコントローラ1の左右方向における中央側の端部)は、Rボタン6bの左端(ゲームコントローラ1の左右方向における中央側の端部)よりもゲームコントローラ1における側面側(x軸正方向側)に位置している。一方、ZRボタン7bの右端(ゲームコントローラ1の左右方向における側面側の端部)は、Rボタン6bの右端(ゲームコントローラ1の左右方向における側面側の端部)と略一致している。このため、各ボタンの中心位置としては、ZRボタン7bの方が、Rボタン6bよりも、ゲームコントローラ1における側面側に位置している。ZRボタン7bおよびRボタン6bの下方に設けられたボタン検出部についても同様の位置関係となる。
【0117】
図11は、Rボタン6bおよびZRボタン7bのキートップを外したときのボタンフレーム30の上面図である。
【0118】
図11に示されるように、Rボタン6bのキートップの下方には、Rボタン6bに対する操作を検出するためのRボタン検出部69bが配置されている。同様に、Lボタン6aのキートップの下方には、Lボタン6aに対する操作を検出するためのLボタン検出部69aが配置されている。また、ZRボタン7bのキートップの下方には、ZRボタン7bに対する操作を検出するためのZRボタン検出部79bが配置されている。同様に、ZLボタン7aのキートップの下方には、ZLボタン7aに対する操作を検出するためのZLボタン検出部79aが配置されている。
【0119】
具体的には、Rボタン検出部69bは、Rボタン6bのキートップの左右方向(x軸方向)および前後方向(z軸方向)の略中央に配置される。また、ZRボタン検出部79bは、ZRボタン7bのキートップの前後方向(z軸方向)の略中央に配置され、ZRボタン7bのキートップの左右方向の中央よりも僅かにゲームコントローラ1における中央側に配置される。
【0120】
Rボタン検出部69bとZRボタン検出部79bとを比較すると、ZRボタン検出部79bは、Rボタン検出部69bよりもゲームコントローラ1における側面側に位置している。同様に、Lボタン検出部69aとZLボタン検出部79aとを比較すると、ZLボタン検出部79aは、Lボタン検出部69aよりもゲームコントローラ1における側面側に位置している。すなわち、ZLボタン検出部79aおよびZRボタン検出部79bは、ゲームコントローラ1における外側に位置し、Lボタン検出部69aおよびRボタン検出部69bはゲームコントローラ1における内側に位置している。
【0121】
このように背面側のZLボタン7aおよびZRボタン7b(ZLボタン検出部79aおよびZRボタン検出部79b)がより外側に位置するのは、ユーザが例えば人差し指でZRボタン7bおよびRボタン6aを操作するときの指の軌道に合わせるためである。
【0122】
図12は、ユーザがZRボタン7bおよびRボタン6bを操作する場合の人差し指の動きを示す図である。
図12に示されるように、人差し指がRボタン6bの位置からZRボタン7bの位置に移動する場合、ユーザの指は、指の付け根を中心として円弧を描くように動く。例えば、ユーザが右手でグリップ部8bを把持した場合、人差し指の付け根は、典型的にはゲームコントローラ1の右側面におけるRボタン6bの延長上に位置する(
図4参照)。ユーザが人差し指をRボタン6b上に置いているときに、ZRボタン7bを操作する場合、人差し指の付け根をほぼ固定したまま指を背面方向に移動させる。したがって、ユーザの人差し指は付け根を中心として円弧を描くように動き、指をゲームコントローラ1における背面方向に移動させるほど、指の先端はゲームコントローラ1における側面方向に移動する。このため、指がRボタン6aの位置にあるときよりも、ZRボタン7bの位置に移動した後の方が、人差し指の先端は、ゲームコントローラ1の側面方向(外側)に位置する。
【0123】
このようなユーザの指の動きを考慮して、本実施形態のゲームコントローラ1では、ZRボタン7bをRボタン6bよりも外側に配置している。同様に、ZRボタン検出部79bもRボタン検出部69bよりも外側に配置している。このようなボタンの配置によって、ユーザがZRボタン7bおよびRボタン6aを操作し易くすることができる。また、各ボタンの検出部の配置も同様にすることにより、ユーザが各ボタンを押下するときに指の略直下に各ボタンの検出部を配置することができ、ユーザの操作を確実に検出することができる。
【0124】
図6に戻り、Rボタン6bとZRボタン7bとの間には、これらのボタンを隔てる隔壁31b(所定面)が設けられる。隔壁31bは、ボタンフレーム30の一部である。ここで、隔壁31bの高さと、Rボタン6bおよびZRボタン7bの高さについて説明する。なお、ここで言うRボタン6b、ZRボタン7b、隔壁31bの「高さ」とは、ゲームコントローラ1を基準としたz軸(ゲームコントローラ1の前面に設けられたAボタン2a等の押下方向と平行な軸)及びx軸(ゲームコントローラ1を正面から見たときの左右方向と平行な軸)に平行な面からの距離を示す。すなわち、Rボタン6b、ZRボタン7b、隔壁31bの「高さ」とは、z軸およびx軸を基準とした高さであり、y軸方向の距離を示す。
【0125】
図13は、
図6の(c)の部分拡大図である。
図13に示されるように、隔壁31bは、その高さがRボタン6bよりも低い。Rボタン6bが押されているときでも、隔壁31bの高さはRボタン6bの高さよりも低い。すなわち、Rボタン6bを押下していないときでも押下しているときでも、Rボタン6bの上面における任意の点からz軸方向に直線を延ばした場合、当該直線は、隔壁31bに当たらない。また、ZRボタン7bを押下していない場合、隔壁31bのゲームコントローラ1における背面側の端部311bの高さは、ZRボタン7bのゲームコントローラ1における前面側の端部77bの高さよりも僅かに低い。すなわち、ZRボタン7bを押下していない場合において、ZRボタン7bの端部77bからz軸負方向に直線を延ばした場合、当該直線は、隔壁31bの背面側の端部311bに当たらない。ZRボタン7bが押されているときでも、隔壁31bにおける背面側の端部311の高さは、ZRボタン7bのゲームコントローラ1における前面側の端部77bよりも僅かに低いか略同じ高さになる。すなわち、ZRボタン7bを押下している場合において、ZRボタン7bの端部77bからz軸負方向に直線を延ばした場合、当該直線は、隔壁31bの背面側の端部311bに当たらないか、隔壁31bの端部311bを通過する。
【0126】
Rボタン6bとZRボタン7bとの間に隔壁31bが設けられることにより、ユーザは、隔壁31bを、Rボタン6b又はZRボタン7bを操作しないときの指の置き場とすることができ、Rボタン6b又はZRボタン7bを誤って操作しないようにすることができる。また、ZRボタン7bを押下しないときでも押下したときでも、ZRボタン7bのゲームコントローラ1における前面側の端部77bの高さが、隔壁31bの背面側の端部311bの高さよりも高い(又は実質的に同じ)ため、ZRボタン7bと隔壁31bとの間に指が挟まり難くすることができる。ZRボタン7bは、
図13における隔壁31b側に位置する軸35(
図10参照)を支点として回動するため、ZRボタン7bを押下すると、ZRボタン7bと隔壁31bとの間に隙間が生じる。しかしながら、ZRボタン7bを押下したときでも、ZRボタン7bと隔壁31bとの境界部分において隔壁31bの方がZRボタン7bよりも低い(又は実質的に同じ)場合は、ZRボタン7bと隔壁31bとの間の隙間に指が入り難く、指が挟まり難い。
【0127】
また、前面側のRボタン6bと背面側のZRボタン7bの高さを比較すると、Rボタン6bのゲームコントローラ1における背面側の端部68bの方が、ZRボタン7bのゲームコントローラ1における前面側の端部77bよりも高い。具体的には、
図13に示されるように、Rボタン6bは、ゲームコントローラ1における前面側端部67bから背面側端部68bにかけて全体的にその高さがZRボタン7bよりも高い。すなわち、Rボタン6bの上面における任意の点からz軸方向に直線を延ばした場合、当該直線は、ZRボタン7bには当たらない。このため、ユーザは指でRボタン6bおよびZRボタン7bを触るだけでRボタン6bかZRボタン7bかを認識することができる。
【0128】
なお、Rボタン6bは、側面にいくにしたがって下方に傾斜しているため、側面側の端部(
図13の紙面の手前方向の端部)においては、その高さがZRボタン7bと略同じである。すなわち、
図2の(f)に示されるように、ゲームコントローラ1を背面側から見た場合に、L/Rボタン6およびZL/ZRボタン7の側面側の端部の高さは略同じである。このため、ユーザが指をゲームコントローラ1の前後方向に移動させる場合に、L/Rボタン6およびZL/ZRボタン7の側面側の端部に指が当たり難く、L/Rボタン6を押下する際に誤ってZL/ZRボタン7を押下したり、逆に、ZL/ZRボタン7を押下する際に誤ってL/Rボタン6を押下したりすることを防止することができる。
【0129】
以上のように、本実施形態では、L/Rボタン6のゲームコントローラ1における背面側にZL/ZRボタン7が設けられる。ZL/ZRボタン7は背面方向および側面方向に突出した突出部71を有することにより、ユーザは、背面側に位置するZL/ZRボタン7を操作しやすい。また、L/Rボタン6およびZL/ZRボタン7が上述した特徴(左右方向(x軸方向)の端部における傾斜部、前後方向(z軸方向)の端部における傾斜部、左右方向の位置、y軸方向の高さ等)を有するため、ユーザは、L/Rボタン6およびZL/ZRボタン7を間違え難く、これらを操作しやすい。
【0130】
また、本実施形態では、L/Rボタン6、ZL/ZRボタン7、これらボタンを支える軸、および、これらボタンの押下を検出する検出部がボタンフレーム30として一体として形成される。このため、各ボタンをハウジング10に固定する場合よりも、各ボタンの製造上の誤差を小さくすることができ、各ボタンを操作する際のがたつきを防止することができる。
【0131】
[グリップ部の説明]
次に、ゲームコントローラ1のグリップ部8について説明する。
図14は、ゲームコントローラ1のグリップ部8を外したときの外観図である。
図14の(a)は、ゲームコントローラ1のグリップ部8を外したときの正面図である。
図14の(b)は、ゲームコントローラ1のグリップ部8を外したときの左側面図である。
図14の(c)は、ゲームコントローラ1のグリップ部8を外したときの背面図である。
図15は、ゲームコントローラ1の右側のグリップ部8bを外す途中の様子を示す図である。なお、
図14におけるx、y、z軸は、
図2におけるx、y、z軸にそれぞれ対応する。
【0132】
図14および
図15に示されるように、ゲームコントローラ1のグリップ部8aおよび8bは、それぞれハウジング10(本体ハウジング)から分離可能に構成されている。上述のように、ハウジング10は、ゲームコントローラ1の前面側の第1ハウジング10aと、背面側の第2ハウジング10bとが接続されることにより形成される(
図5)。
【0133】
図14に示されるように、第1ハウジング10aと第2ハウジング10bとが接続されることにより形成されたハウジング10は、ゲーム操作のための各種操作ボタンやアナログスティック等が設けられたコントローラ本体部と、第1把持部(第1突出部)18aと、第2把持部(第2突出部)18bとを有する。第1把持部18aは、コントローラ本体部の中央よりも左側から下方(y軸負方向)に突出しており、
図14の(b)に示されるように、背面方向(z軸正方向)に湾曲している。第2把持部18bは、コントローラ本体部の中央よりも右側から下方(y軸負方向)に突出しており、背面方向(z軸正方向)に湾曲している。なお、第1把持部(第1突出部)18aは、グリップ部8aが接続されたときにユーザの左手で(グリップ部8aを介して)把持される部分である。ここでは、第1把持部(第1突出部)18aはユーザによって直接把持される部分ではないものの、間接的に把持される部分であるため、「第1把持部」と表記することにする。第2把持部(第2突出部)18bも同様とする。
【0134】
第1把持部18aの前面側には、ガイド181aが設けられる。ガイド181aは、細長い凹状の溝であり、グリップ部8aを第1把持部18aに嵌め込む過程でグリップ部8aを所定位置に誘導するために用いられる。ガイド181aは、第1把持部18aの先端部(
図14の下方)から根元(上方)まで延びており、先端側の方が根元側よりも幅が広く形成されている。
【0135】
また、
図14の(c)に示されるように、第1把持部18aの背面側には、ガイド182aが設けられる。ガイド182aは、細長い凹状の溝であり、グリップ部8aを第1把持部18aに嵌め込む過程でグリップ部8aを所定位置に誘導するために用いられる。ガイド182aは、第1把持部18aの先端部(下方)から根元(上方)まで延びており、先端側の方が根元側よりも幅が広く形成されている。
【0136】
また、
図14の(b)に示されるように、第1把持部18aの先端には、ネジを挿入するためのネジ穴183aが設けられている。第1把持部18aにグリップ部8aを嵌め込んでネジ止めすることにより、第1把持部18aにグリップ部8aが固定される。なお、必ずしも第1把持部18aの先端にネジ穴が設けられなくてもよく、先端を含む先端部(先端とその付近を含む)にネジ穴が設けられてもよい。
【0137】
第2把持部18bも同様である。すなわち、第2把持部18bの前面側および背面側にも、ガイド181bおよび182bが設けられる。また、第2把持部18bの先端部には、ネジを挿入するためのネジ穴183bが設けられる。
【0138】
次に、グリップ部8について詳細に説明する。
図16は、ハウジング10の第1把持部18aに嵌め込まれるグリップ部8aの外観図である。
図16の(a)はグリップ部8aの正面図であり、
図2の(a)と同じ方向からグリップ部8aを見た図である。また、
図16の(b)はグリップ部8aの左側面図であり、
図16の(c)はグリップ部8aの右側面図であり、
図16の(d)はグリップ部8aの上面図であり、
図16の(e)はグリップ部8aの下面図であり、
図16の(f)はグリップ部8aの背面図である。
図17Aは、
図16のA−A線断面図である。
図17Bは、
図16のB−B線断面図である。
【0139】
なお、
図16、
図17Aおよび
図17Bでは、後述する振動モータ50を固定するための構造が省略されている。振動モータ50を固定するための構造については後に詳述する。
【0140】
また、左側のグリップ部8aと右側のグリップ部8bとは左右対称である。以下では、左側のグリップ部8aのみについて説明するが、右側のグリップ部8bについても同様である。また、以下では、グリップ部8aおよび8bを総称して「グリップ部8」と表記することがあり、第1把持部18aおよび第2把持部18bを総称して「把持部18」と表記することがある。
【0141】
図16に示されるように、グリップ部8aは、中空の部材であって、所定方向(下方)に突出した形状であり、当該所定方向に垂直な面で切った場合にその断面の外周が略楕円状となる形状である。具体的には、断面の外周の形状は、楕円を崩したような形状であり、鈍端と尖端とを有する略卵型の形状である(
図17B)。なお、断面の形状は略楕円に限らず、角が丸い多角形(例えば三角形、四角形、五角形等)等、任意の形状であってもよい。
【0142】
グリップ部8aの上端は開口しており、下端は(ネジ穴を除いて)閉じている。また、グリップ部8aは、左側面が右側面よりも上下方向に長く形成されており、グリップ部8aの左側面の方が右側面よりも面積が広い。ユーザがグリップ部8aを左手で握った場合、掌の中央部分がグリップ部8aの左側面側に当たり、親指の付け根部分がグリップ部8aの前面側に当たり、中指、薬指、小指がグリップ部8aの背面側から右側面側を回りこむように当たる。すなわち、面積の広いグリップ部8aの左側面がユーザの掌の中央部分に当たり、面積の狭いグリップ部8aの右側面が中指、薬指、小指等に当たる。
【0143】
グリップ部8aは、ハウジング10のように2つのハウジング部材(10aおよび10b)がネジ等で接続されるものではなく、一体として成形される。グリップ部8aの表面は、ハウジング10のように2つの部材を接続したときの境界部分のような段差はなく、滑らかである。なお、グリップ部8aの成形方法によっては複数の部材間の境界を外見上認識できる場合もあるが、複数の分離された部材を組み立ててネジ止め等によって接続したときに部材間の境界部分にできるような段差はなく、表面はほぼ滑らかである。
【0144】
図16、
図17Aおよび
図17Bに示されるように、グリップ部8aの内側には、ゲームコントローラ1における前面側にガイド81aと、背面側にガイド82aとが設けられる。ガイド81aとガイド82aとは対向する位置に設けられる。すなわち、ガイド81aとガイド82aとは、グリップ部8aを略2等分する直線上に設けられる。
【0145】
ガイド81aおよびガイド82aは、細長い凸状の部分である。具体的には、ガイド82aは、グリップ部8aの開口部(根元)からグリップ部8aの下端(先端部)まで延びるように形成されている。また、ガイド81aは、グリップ部8aの開口部(根元)からグリップ部8aの下端(先端部)の手前まで延びるように形成されている。ガイド81aおよびガイド82aは、開口部(根元)ではその幅が狭く、先端に行くほどその幅が広くなっている。
【0146】
グリップ部8aの凸状のガイド81aと第1把持部18aの凹状のガイド181aとを合わせるとともに、グリップ部8aの凸状のガイド82aと第1把持部18aの凹状のガイド182aとを合わせて、グリップ部8aを(
図15のように上方に)スライドさせることにより、グリップ部8aをハウジング10の第1把持部18aに嵌め込むことができる。
【0147】
上述のように、グリップ部8aのガイド81aおよび82aの幅が先端にいくほど広く形成され、第1把持部18aのガイド181aおよび182aの幅が先端にいくほど広く形成される。このため、グリップ部8aを第1把持部18aに嵌め込む際に、最初は第1把持部18aのガイド181aおよび182aにおける幅の広い部分(凹状の溝)にグリップ部8aのガイド81aおよび82aにおける幅の狭い部分(凸状)を合わせることになり、グリップ部8aを第1把持部18aに嵌め込みやすい。また、ガイド81aおよび82aは、グリップ部8aの先端付近まで延びているため、グリップ部8aを抜き差ししやすい。
【0148】
また、グリップ部8aの先端には、ネジ穴83aが設けられる。このネジ穴83aに上記ネジ183aが挿入されてネジ止めされることで、第1把持部18aとグリップ部8aとが接続される。グリップ部8aの先端においてグリップ部8aが第1把持部18aにネジ止めされるため、ネジ穴はゲーム操作中にユーザによって触れられ難い。すなわち、ユーザが
図4のようにグリップ部8を握った場合、グリップ部8の先端部には手が触れ難く、グリップ部8を握ったときの違和感を無くすことができる。
【0149】
図15から明らかなように、グリップ部8は、ハウジング10の把持部18の外周を全て覆う。グリップ部8は、把持部18を長手方向に垂直な面で切った場合に、把持部18の断面の外周の全てを覆う。すなわち、第1ハウジング10aと第2ハウジング10bとの境界部分を含む把持部18の全体がグリップ部8によって覆われる。このため、ユーザがグリップ部8を握った場合、違和感を生じさせないようにすることができる。すなわち、第1ハウジング10aと第2ハウジング10bとを接続することでハウジング10が形成された場合、2つの部材間の境界部分に段差が生じ、ユーザが把持部18を握ったときに違和感を感じることがあり、ゲーム操作の妨げになることがある。本実施形態では、第1ハウジング10aと第2ハウジング10bとの境界部分をグリップ部8で覆うことにより、ユーザがゲームコントローラ1を把持したときに手になじみ易く、把持部を握ったときの感触をより良くすることができる。
【0150】
また、ハウジング10とグリップ部8aとを接続した場合、その境界部分(
図15参照)は滑らかに繋がっている。具体的には、ハウジング10とグリップ部8aとの境界部分におけるグリップ部8a側の表面の高さは、当該境界部分におけるハウジング10のコントローラ本体部側の表面と実質的に同じ高さである。すなわち、グリップ部とコントローラ本体部との境界部分には段差が無い。コントローラ本体部とグリップ部8との境界部分の表面の高さが同じであるため、ユーザがゲームコントローラ1を把持したときの感触を良くすることができる。
【0151】
なお、上述したグリップ部8および把持部18の構成は単なる一例であり、以下のような構成であってもよい。
【0152】
例えば、上記ではグリップ部8側に凸状のガイド81および82を設け、把持部18側に凹状のガイド181および182を設けたが、グリップ部8側に凹状のガイドを設け、把持部18側に凸状のガイドを設けてもよい。また、上記ガイド81a、82a、181aおよび182aは必ずしも設けられなくてもよい。
【0153】
また、上記ではグリップ部8とハウジング10とを接続するためにネジを用いたが、グリップ部8をハウジング10に固定するための固定構造としてはこれに限らない。例えば、グリップ部8およびハウジング10の何れか一方に係止部(フック)を備え、他方に被係止部を備え、係止部と被係止部とが合わさることによりグリップ部8がハウジング10に固定されてもよい。例えば、ネジによってグリップ部8を把持部18に固定せずに、グリップ部8を把持部18に嵌め込む際のガイドの先端に係止部(フック)を設け、当該ガイドによってグリップ部8を誘導するとともに、グリップ部8を奥まで嵌め込んだ場合に係止部(フック)が把持部18の被係止部に引っかかるようにしてもよい。また、例えば、グリップ部8の内側又は把持部18の外側にゴム部材(その他のクッション性の緩衝材、弾性部材等でもよい)を設け、グリップ部8を把持部18に圧入することで、グリップ部8を把持部18に固定してもよい。また、例えば、グリップ部8および把持部18にネジ溝を設け、グリップ部8を把持部18にねじ込むことによりグリップ部8を把持部18に固定してもよい。
【0154】
また、グリップ部8の色および素材は、ハウジング10と同じであってもよいし異なっていてもよい。例えば、グリップ部8とハウジング10とは、同じ素材であって同じ色であってもよいし、同じ素材で異なる色であってもよいし、素材を異ならせて色を同じにしてもよい。例えば、グリップ部8をハウジング10よりも柔らかい素材としてもよいし、硬い素材としてもよい。
【0155】
また、上記ではグリップ部8は、把持部18の全体を覆うものとしたが、把持部18の一部がグリップ部8によって覆われなくてもよい。例えば、グリップ部8は、把持部18における第1ハウジング10aと第2ハウジング10bとの境界部分の少なくとも一部を覆うものであってもよい。また、グリップ部8は、把持部18の全周を覆うものではなく、第1ハウジング10aと第2ハウジング10bとの境界部分を覆い、把持部18の外周の少なくとも一部を覆うものでもよい。
【0156】
また、上記ではゲームコントローラ1のハウジング10(本体ハウジング)に左右のグリップ部8を嵌め込むものとしたが、例えば、ゲーム処理を行う処理装置(CPU等)と表示装置とが一体となった携帯型のゲーム装置の把持部に上述のようなグリップ部が接続されてもよい。携帯型のゲーム装置は、第1ハウジングと第2ハウジングとが接続されることにより把持部を有する本体ハウジングが形成され、当該把持部を覆うグリップ部を備えてもよい。グリップ部は把持部における第1ハウジングと第2ハウジングとの境界部分を少なくとも覆うように構成される。
【0157】
また、両手持ちのゲームコントローラ1に限らず、片手持ちのコントローラにも上述したグリップ部が用いられてもよい。例えば、片手持ちのコントローラは、第1ハウジングと第2ハウジングとが接続されることにより把持部を有する本体ハウジングが形成され、当該把持部を覆うグリップ部を備えてもよい。グリップ部は、片手持ちのコントローラの把持部における第1ハウジングと第2ハウジングとの境界部分を少なくとも覆うように構成される。
【0158】
[NFCと内部基板の説明]
次に、ゲームコントローラ1内部の基板について説明する。
図5に示されるように、ハウジング10の内部には第1基板20と、第2基板40とが収納される。第1基板20は、ゲームコントローラ1における前面側に位置し、第2基板40は、ゲームコントローラ1における背面側に位置する。すなわち、ゲームコントローラ1は、第1基板20と第2基板40とを有する2層構造となっている。
【0159】
具体的には、ゲームコントローラ1を正面(前面)から見た場合に、ハウジング10の内部に配置される第1基板20と第2基板40とは重なる。すなわち、第1基板20および第2基板40をゲームコントローラ1の前面と平行な面に投影(平行投影)した場合、投影後の第1基板20は、投影後の第2基板40の少なくとも一部と重なる。以下、第1基板20および第2基板40について説明する。
【0160】
図18Aは、第1基板20の正面図である。
図18Bは、第1基板20の背面図である。
【0161】
図18Aに示されるように、第1基板20の前面の右側領域には、Aボタン2aに対応するスイッチ(接点)22aと、Bボタン2bに対応するスイッチ22bと、Xボタン2xに対応するスイッチ22xと、Yボタン2yに対応するスイッチ22yとが配置される。第1基板20がハウジング10内に収納された場合、Aボタン2a、Bボタン2b、Xボタン2x、Yボタン2yの直下に、スイッチ22a、スイッチ22b、スイッチ22x、スイッチ22yがそれぞれ位置する。例えば、第1基板20がハウジング10内に収納された状態でAボタン2aが押下されるとスイッチ22aも押下され、Aボタン2aに対する押下が検出される。Bボタン2b、Xボタン2x、Yボタン2yも同様である。
【0162】
また、第1基板20の前面の中央領域には、マイナスボタン3aに対応するスイッチ23aと、プラスボタン3bに対応するスイッチ23bと、キャプチャボタン3cに対応するスイッチ23cと、ホームボタン3dに対応するスイッチ23dとが設けられる。また、ホームボタン3dに対応するスイッチ23dの上下にはLED95が配置されている。ホームボタン3dの詳細な構造については後述する。
【0163】
第1基板20がハウジング10内に収納された場合、マイナスボタン3a、プラスボタン3b、キャプチャボタン3c、ホームボタン3dの直下に、スイッチ23a、スイッチ23b、スイッチ23c、スイッチ23dがそれぞれ位置する。例えば、第1基板20がハウジング10内に収納された状態でマイナスボタン3aが押下されるとスイッチ23aも押下され、マイナスボタン3aに対する押下が検出される。プラスボタン3b、キャプチャボタン3c、ホームボタン3dも同様である。
【0164】
また、第1基板20の前面の左下領域には、十字キー5に対応するスイッチ25(25a〜25d)が配置される。具体的には、十字キー5の上方向がスイッチ25aに対応し、十字キー5の右方向がスイッチ25bに対応し、十字キー5の下方向がスイッチ25cに対応し、十字キー5の左方向がスイッチ25dに対応する。例えば、十字キー5の上方向が押下されると、スイッチ25aも押下され、十字キー5の上方向に対する押下が検出される。十字キー5の他の方向についても同様である。
【0165】
一方、
図18Bに示されるように、第1基板20の背面(ゲームコントローラ1における背面側の面)の中央領域には、NFCアンテナ26が配置される。NFCアンテナ26は、非接触通信に用いられるアンテナである。NFCアンテナ26としては、スパイラルアンテナやループアンテナが用いられる。
【0166】
ここで、本明細書における「非接触通信」は、極近距離(例えば数cm〜数十cm。典型的には10cm以下)で通信を行う通信技術を意味する。すなわち、本明細書における「非接触通信」は、例えば、Bluetooth(登録商標)や無線LANのような数m〜数十m離れていても通信が可能な通信技術を意味せず、外部記憶装置(ICタグ)をかざすことによって通信が行われる通信技術を意味する。例えば、非接触通信は、NFC(Near Field Communication)や上記極近距離でのRFIDであってもよい。本実施形態では、非接触通信は、NFCであるものとする。なお、NFC規格に限らず、上記極近距離で非接触通信を行う他の通信規格であってもよい。
【0167】
所定の通信可能範囲に外部記憶装置が存在すると、ゲームコントローラ1は、当該外部記憶装置からデータを読み取ったり、外部記憶装置にデータを書き込んだりすることができる。所定の通信可能範囲は、典型的にはNFCアンテナ26によって囲まれる領域内であって、
図18Bに示されるz軸方向(正負両方の方向)におけるNFCアンテナ26からの距離が上記極近距離内である。外部記憶装置は電池を有さないものであっても通信可能である。上記所定の通信可能範囲に外部記憶装置が置かれると、NFCアンテナ26から送出される電磁波によって外部記憶装置に起電力が発生し、ゲームコントローラ1は、外部記憶装置と通信することができる。なお、外部記憶装置は電源を有し、ゲームコントローラ1からの起電力がなくても動作可能であってもよい。なお、外部記憶装置としては、カード、所定のキャラクタの形状をしたフィギュア、携帯電話やスマートフォン等の電子機器等、任意の形態であってもよい。
【0168】
図19は、第1基板20の正面図であって、第1基板20の背面に配置されたNFCアンテナ26を前面に投影したときの図である。
図19では、背面に配置されたNFCアンテナ26が破線で示されている。
【0169】
図19に示されるように、NFCアンテナ26によって囲まれる領域内に、キャプチャボタン3cに対応するスイッチ23c、およびホームボタン3dに対応するスイッチ23dが配置される。すなわち、NFCアンテナ26によって囲まれる背面側の領域に対応する前面側の領域内に、キャプチャボタン3cに対応するスイッチ23c、およびホームボタン3dに対応するスイッチ23dが配置される。言い換えると、ゲームコントローラ1を正面から見た場合に、NFCアンテナ26(NFCアンテナ26が占める領域)と、キャプチャボタン3cおよびホームボタン3dとが重なる。具体的には、NFCアンテナ26によって囲まれる領域の中心近傍の第1領域の周囲の第2領域に、キャプチャボタン3cに対応するスイッチ23cおよびホームボタン3dに対応するスイッチ23dが設けられる。
【0170】
また、NFCアンテナ26上には、プラスボタン3bに対応するスイッチ23bが配置される。その他のスイッチは、NFCアンテナ26によって囲まれる領域の外側に配置される。
【0171】
ゲームコントローラ1は、NFCアンテナ26によって囲まれる領域内に外部記憶装置(ICタグ)が置かれると当該外部記憶装置と通信することができ、NFCアンテナ26によって囲まれる領域外に外部記憶装置が置かれても当該外部記憶装置と通信することができない。なお、「アンテナによって囲まれる領域」は、アンテナの線上とアンテナの内側とを含む領域である。したがって、ゲームコントローラ1の中央部に配置されたキャプチャボタン3cおよびホームボタン3dの近傍に外部記憶装置を置く(かざす)と、ゲームコントローラ1は当該外部記憶装置に記憶されたデータを読み取ったり、外部記憶装置にデータを書き込んだりすることができる。一方、例えば、Aボタン2aやBボタン2b、十字キー5上に外部記憶装置を置いてもゲームコントローラ1は当該外部記憶装置と通信することはできない。
【0172】
図20は、ゲームコントローラ1におけるNFCアンテナ26の位置を示す図である。
図20に示される中心は、
図19に示されるNFCアンテナ26によって囲まれる領域の中心を示す。
図20に示されるように、NFCアンテナ26は、ゲームコントローラ1における左右方向の中央に配置される。
【0173】
図20に示されるように、ゲームコントローラ1の前面の中央領域にキャプチャボタン3cおよびホームボタン3dが配置され、これらボタン3c、3dの位置を含む所定の領域が、NFCアンテナ26によって囲まれる領域となる。したがって、図の破線によって示される領域に外部記憶装置が置かれる。この領域は略平面になっており、外部記憶装置を置き易い形状となっている。なお、
図20の破線の領域外でもゲームコントローラ1は外部記憶装置と通信可能な場合がある。例えば、
図19に示されるように、プラスボタン3b(スイッチ23b)の近傍はNFCアンテナ26によって囲まれた領域に含まれるため、プラスボタン3bの近傍に外部記憶装置が置かれても、ゲームコントローラ1は外部記憶装置と通信可能な場合がある。しかしながら、
図20の中心を含む破線の領域が外部記憶装置と最も通信し易い領域である。
【0175】
図21に示されるように、ゲームコントローラ1における前面側に第1基板20が配置される。すなわち、第1基板20は、ハウジング10内のゲームコントローラ1の前後方向における中央よりも前面側に設けられる。したがって、NFCアンテナ26は、ゲームコントローラ1における前面とより近い位置に配置される。このため、ゲームコントローラ1は、前面側に外部記憶装置が置かれた場合に、外部記憶装置を通信しやすい。
【0176】
また、ゲームコントローラ1における背面側には第2基板40が配置される。第2基板40の背面側には、バッテリー11が配置される。また、ハウジング10の下側には第2基板40のLEDからの光を導くための導光材12が設けられる。当該導光材によってLEDの光が外部に導かれ、LED9が発光する。
【0177】
また、
図22に示されるように、キャプチャボタン3cおよびホームボタン3dのキートップ上面は、第1ハウジング10aの表面と実質的に同じ高さである。キャプチャボタン3cおよびホームボタン3dのキートップ上面が、第1ハウジング10aの表面と実質的に同じ高さであるため、キャプチャボタン3cおよびホームボタン3d上に外部記憶装置を置いてもキャプチャボタン3cおよびホームボタン3dは押下されない。
【0178】
ここで、「キートップ上面がハウジングの表面と実質的に同じ高さ」とは、キートップ上に外部記憶装置が置かれた場合でも、ボタンが押下されない程度の高さ(押下が検出されない程度の高さ)を意味する。すなわち、キャプチャボタン3cおよびホームボタン3d上に外部記憶装置を置いた場合に、キャプチャボタン3cおよびホームボタン3dが押下されない程度(押下を検出しない程度)に、キャプチャボタン3cおよびホームボタン3dのキートップ上面が、第1ハウジング10aの表面よりも僅かに高くてもよい。
【0179】
なお、キャプチャボタン3cおよびホームボタン3dのキートップ上面は、第1ハウジング10aの表面よりも低くてもよい。
【0180】
一方、Yボタン2yおよびAボタン2a(Bボタン2bおよびXボタン2xも同様)のキートップは、第1ハウジング10aの表面よりも上方に突出している。仮にYボタン2yの上に外部記憶装置が置かれた場合、当該外部記憶装置によってYボタン2yは押下される。
【0181】
また、
図22および
図2等から明らかなように、キャプチャボタン3cおよびホームボタン3dは、Yボタン2yやAボタン2a等よりも小さい。
【0182】
図23は、第2基板40の正面図である。
図23に示されるように、第2基板40の前面(ゲームコントローラ1における前面側の面)には、左側に左アナログスティック4a、右側に右アナログスティック4bが配置されている。また、第2基板40の左右方向における中央の下端近傍には4つのLEDが配置されている。また、左アナログスティック4aの下方には接続部41が配置されている。第1基板20と第2基板40とは、接続部41を介して接続される。
【0183】
図24は、第1基板20および第2基板40の機能構成の一例を示すブロック図である。
図24に示されるように、第2基板40には、アナログスティック4a、4bの他、ゲームコントローラ1を制御するための各種制御回路が設けられる。例えば、第2基板40には、制御回路として、各ボタン(2a、2b、2x、2b、3a〜d、5、6a、6b、7a、7b)が押下されたか否かを示す操作データを生成してパケット化するための操作制御回路42、ゲーム装置100に当該操作データを送信するための通信モジュール(通信回路およびアンテナ)43、NFC通信を制御するためのNFC回路44、電源を制御するための電源制御回路45等が配置される。
【0184】
第1基板20に配置された各スイッチは、操作制御回路42と接続されている。第1基板20に配置された各スイッチが押下されると、当該押下に応じた信号が第2基板40に流れる。すると、第2基板40に配置された操作制御回路42によって操作データの生成およびパケット化が行われ、当該操作データが通信モジュールを介してゲーム装置100に出力される。また、NFC回路44は、NFCアンテナ26を用いた電波の発信、外部記憶装置からのデータの読み取り、外部記憶装置へのデータの書き込み等を制御する。
【0185】
このように、ゲームコントローラ1は、第1基板20と第2基板40とを備えることにより、コントローラ自体を大きくしなくても、より多くの機能をコントローラに持たせることができる。すなわち、第1基板20および第2基板40は、ゲームコントローラ1の前面(又は背面)から見た場合に重なる。このように基板が2層構造となっているため、基板の面積を大きくしなくてもよく、ゲームコントローラ1を小さくすることができる。また、第1基板20および第2基板40のうち、前面側の第1基板20にNFCアンテナ26を配置することにより、ハウジング10の前面側の表面と、NFCアンテナ26との距離を短くすることができる。これにより、外部記憶装置との距離を近づけることができ、外部記憶装置との通信を行い易くすることができる。
【0186】
また、第1基板20の前面にスイッチが配置され、当該スイッチが配置された位置の第1基板20における背面側にNFCアンテナ26が配置されることにより、外部記憶装置を置く(かざす)ための領域にボタンを配置することができる。これにより、ゲームコントローラ1にNFC通信機能を持たせるとともに、様々なボタンを配置することができる。通常、外部記憶装置を読み取る際の誤操作を防止するためにボタンがない位置に外部記憶装置を読み取るための読み取り領域(アンテナ)を配置するが、この場合はゲームコントローラが大きくなってしまう。本実施形態では、ボタンの上面を低くすることによりボタンの誤操作を防止しつつ、ボタンの位置に読み取り領域(アンテナ)を配置することができ、省スペース化を実現することができる。すなわち、ボタンの上面を低くすることにより、ボタンと外部記憶装置の読み取り領域とを重ねて配置した場合のボタンの誤操作の問題を解消することができ、ゲームコントローラを小さくすることができる。また、NFCアンテナは面積が小さいほど通信可能な範囲が狭くなるため、ある程度の面積が必要となる。仮に1つの基板上にNFCアンテナ26を配置すると、NFCアンテナ26によって囲まれた領域には他の回路を配置することが困難になる。このため、NFCアンテナ26を1つの基板上に配置しつつ様々なボタンを配置する場合は基板が大きくなってしまう。逆に、基板を大きくせずに様々なボタンを配置すると、NFCアンテナ26のための領域が狭くなってしまう。本実施形態では、基板を2層構造とし、第1基板20にNFCアンテナ26を配置する一方で、制御回路については第2基板40に配置するため、NFCアンテナ26と他の回路とを分離することができ、設計上の自由度が増す。また、第1基板20の前面に操作ボタンのスイッチを設け、背面にNFCアンテナ26を設けることにより、操作ボタンの位置に関係なくNFCアンテナ26を配置することができる。
【0187】
また、本実施形態では、背面側の第2基板40にアナログスティック4aおよび4bが配置される。アナログスティックは、その操作部を傾倒させることで方向を入力するものであるため、ある程度の高さが必要となる。このため、アナログスティックを有する第2基板40をゲームコントローラ1の前面側に配置すると、ゲームコントローラ1の厚みが増してしまう。本実施形態では、第2基板40をゲームコントローラ1の背面側に配置することで、ゲームコントローラ1を薄く構成することができる。また、アナログスティック4aおよび4bを基板(第2基板40)上に実装して基板と一体化することにより、アナログスティック4aおよび4bを別の部品とする場合よりも、部品点数を削減することができる。
【0188】
また、基板を2層構造とし、ハウジング10の前面に近い位置の第1基板10にNFCアンテナ26を配置することにより、第2基板40の配置の自由度が向上する。例えば、アナログスティックの高さに合わせて第2基板40を配置することができる。なお、アナログスティックは第2基板40とは異なるさらに別の基板上に実装されてもよい。
【0189】
なお、両手持ちのゲームコントローラ1に限らず、片手持ちのコントローラにも上述したゲームコントローラ1の構成が適用されてもよい。例えば、片手持ちのコントローラは、前面側の第1基板と背面側の第2基板とを有し、第1基板の表面(コントローラの前面側の面)にボタンのスイッチが設けられ、第1基板の裏面にNFCアンテナが設けられてもよい。第1基板の表面のスイッチは、その裏面に設けられたNFCアンテナによって囲まれる領域に対応する領域に設けられる。また、片手持ちのコントローラはアナログスティックを有し、第2基板にアナログスティックが設けられてもよい。
【0190】
[振動モータの説明]
次に、ゲームコントローラ1に設けられる振動モータについて説明する。
図25は、ゲームコントローラ1のグリップ部8に設けられた振動モータを模式的に示す図である。なお、以下では、振動モータ50aおよび50bを総称して振動モータ50と表記する。
【0191】
図25に示されるように、ゲームコントローラ1のグリップ部8aおよび8bの内部には、振動モータ50aおよび50bがそれぞれ配置される。振動モータ50aは、グリップ部8aの内部のうち、ゲームコントローラ1の左右方向における左側に配置される。また、振動モータ50bは、グリップ部8bの内部のうち、ゲームコントローラ1の左右方向における右側に配置される。すなわち、振動モータ50は、グリップ部8におけるユーザの手が当たる側に設けられる。
【0192】
図26は、振動モータ50の振動方向を説明するための図である。
図26に示されるように、振動モータ50は、互いに直交する第1面と第2面とを有する略直方体形状をしている。振動モータ50は、第1面に垂直な第1方向(左右方向)に振動可能であるとともに、第1方向と垂直な第2方向(上下方向)にも振動可能である。すなわち、振動モータ50は、いわゆる「リニア振動アクチュエータ」(あるいは「リニア振動モータ」とも言う)と呼ばれる振動モータである。具体的には、振動モータ50は、第1方向には第1共振周波数で直線的に振動し、第2方向には第1共振周波数とは異なる第2共振周波数で直線的に振動するように構成されている。例えば、第1共振周波数としては320Hzであり、第2共振周波数としては160Hzであってもよい。
【0193】
ここで、振動モータ50の動作原理について簡単に説明する。
図27は、振動モータ50の動作原理を模式的に示す図である。
図27に示されるように、振動モータ50は、コイルと、磁石と、バネとを有し、コイルに電流を流すことによって上方向に磁力が発生してコイルが上方向に移動し、バネの反力によってコイルが下方向に移動する。この動作が繰り返されることで、振動モータ50は
図27の上下方向に所定の共振周波数で振動する。振動モータ50は、バネが2つの共振周波数を持ち、
図27の上下方向および
図27の紙面に垂直な方向に異なる共振周波数で振動するように構成されている。なお、振動モータ50は、第1方向への振動と第2方向への振動を合成した合成波により、斜め方向にも振動することができる。
【0194】
図28は、振動モータ50bが内蔵されたグリップ部8bの断面図であり、グリップ部8bの内部構造の一例を示す図である。
図29は、ゲームコントローラ1における背面側の第2ハウジング10bの一例を示す図であり、第2ハウジング10bにおける右側の第2把持部18bの部分を拡大した図である。
図29では、第2ハウジング10bの第2把持部18bを右側面方向から見た図が示されている。
図30は、振動モータ50bをハウジング10内に固定するためのホルダ51bの一例を示す図である。
【0195】
図28に示されるように、グリップ部8bの内側には、振動モータ50bが設けられる。具体的には、振動モータ50bは、ホルダ51bに収容される。ホルダ51bは、振動モータ50bをハウジング10内に固定するためのものであり、振動モータ50bの振動を吸収しやすい弾性素材で形成されている。例えば、ホルダ51bは、シリコンゴムや合成ゴム等の比較的柔らかい素材(ハウジング10よりも柔らかい素材)によって構成される。例えば、ホルダ51bの素材は、ABS樹脂であってもよい。これに対して、ハウジング10(第1ハウジング10aおよび第2ハウジング10b)は、比較的硬い素材で構成されている。ホルダ51bは、第2ハウジング10bの一部である振動モータ固定部15b(
図29参照)に嵌め込まれて(圧入されて)固定される。
【0196】
図28および
図29に示されるように、振動モータ固定部15bは、略直方体の形状であり、ゲームコントローラ1における右側の開口部151b、ゲームコントローラ1における背面側の開口部152b、および、ゲームコントローラ1における中央側の開口部153bを有する。振動モータ固定部15bは、ホルダ51bと略同じ大きさか、ホルダ51bよりも僅かに小さく構成される。ホルダ51bが振動モータ固定部15bに圧入されることで、ホルダ51bが第2ハウジング10bに固定される。
【0197】
図30に示されるように、ホルダ51bは、略直方体の形状であり、面521b(図の奥側の面)、面522b(図の上側の面)、面523b(図の左側の面)、面524b(図の右側の面)、および面525b(図の下側の面)を有する。また、ホルダ51bの奥側の面521bに対向する手前側の面は、開口している(
図30の開口部511b)。また、ホルダ51bの上側の面522bに対向する下側の面は、その一部が開口している(
図30の開口部512b)。ホルダ51bの開口部511bは、振動モータ50bの第1面に対応する部分であり、ホルダ51bの開口部512bは、振動モータ50bの第2面に対応する部分である。すなわち、振動モータ50bがホルダ51bに嵌め込まれた場合に、振動モータ50bの第1面が開口部511bから露出し、振動モータ50bの第2面が開口部512bから露出する。また、ホルダ51bは、面521bの一部が開口している(開口部513b)。ホルダ51bが第2ハウジング10bの振動モータ固定部15bに嵌め込まれた場合に、ホルダ51bの開口部513bと振動モータ固定部15bの開口部153bとが一致するように構成される。ホルダ51bの開口部513bおよび振動モータ固定部15bの開口部153bは、振動モータ50bの配線を通すための開口部である。
【0198】
図31は、グリップ部8bの内部の構成の一例を示す図である。
図31に示されるように、グリップ部8bの内部の右側には、面81bが設けられる。また、グリップ部8bの内部の下側には、2つの突起したリブ82bが設けられる。面81bは、略平面であり、グリップ部8bを図の方向から見た場合に所定の角度だけ傾いている。これは、グリップ部8bの製造工程でグリップ部8bを金型から抜く際に抜きやすいようにするためであり、例えば、抜き方向に対して数度の勾配を有する。面81bは、振動モータ50bの第1面と接触する。また、リブ82bは、振動モータ50bの第2面と接触する。なお、グリップ部8bの、振動モータ50bの第2面と接触する部分はリブではなく、面81bのように略平面であってもよい。
【0199】
このような構成によって
図28に示されるように、振動モータ50bがハウジング10内に固定された場合に、振動モータ50bの第1面が、グリップ部8bの右側の面81bに直接接触する。また、振動モータ50bの第2面が、グリップ部8bの下側のリブ82bに直接接触する。すなわち、振動モータ50bは、その第1面(第1共振周波数で振動する第1方向に対応する面)および第2面(第2共振周波数で振動する第2方向に対応する面)において、グリップ部8bと直接接触する。一方、振動モータ50bは、ハウジング10(10b)と対向する面がホルダ51bによって囲まれているため、ハウジング10とは直接接触せずにホルダ51bを介して接触する。
【0200】
ここで、振動モータ50bの第1面および第2面とグリップ部8bとの間に、薄いシート(例えば、0.1mm程度の厚さのシート)が挟まれてもよい。すなわち、「振動モータ50bの第1面および第2面がグリップ部8bと直接接触する」とは、振動モータ50bの第1面および第2面とグリップ部8bとの間に、薄いシート(例えば、0.1mm〜1mm程度の厚さのシート)が存在する場合も含む。このようなシートは、がたつきを防止するために振動モータをハウジング10にしっかりと接触させるためのものであり、振動モータ50bの振動がグリップ部8bに伝わり難くするためのものではない。一方、ホルダ51bは、上記シートに比べて厚く、柔らかい素材でできており、振動モータ50bの振動がグリップ部8bに伝わり難い。
【0201】
なお、左側のグリップ部8aも右側のグリップ部8bと左右対称であり、右側のグリップ部8bと同じである。すなわち、左側のグリップ部8aも、右側と同様に、振動モータ50aと、ホルダ51aとが設けられる。振動モータ50aは第1方向および第2方向に振動し、第1方向に対応する第1面および第2方向に対応する第2面において、グリップ部8aと直接接触し、ハウジング10に対してはホルダ51aを介して接触する。
【0202】
このように、振動モータ50を、第1方向に対応する第1面および第2方向に対応する第2面においてグリップ部8と直接接触させることにより、振動モータ50の振動をグリップ部8に伝え易くすることができ、グリップ部8に接触するユーザの手に振動を伝え易くすることができる。すなわち、ユーザに振動をより感じさせることができる。一方、振動モータ50は、ハウジング10とはホルダ51を介して接触する。ホルダ51は比較的柔らかい素材であるため、振動モータ50の振動を吸収しやすく、ハウジング10には振動モータ50の振動が伝わり難い。このため、例えば右側の振動モータ50bの振動を、左側のグリップ部8aに伝わり難くすることができ、ユーザの右手のみに振動を与えたり、左右の手で異なる振動パターンによる振動を与えたりすることができる。また、左右の振動モータの振動が互いに混ざらないようにすることができ、左の振動と右の振動を切り離すことができる。
【0203】
また、本実施形態では、振動モータ50は異なる2つの共振周波数を有する。このため、感じ方の異なる2つの振動をユーザに与えることができ、様々な振動パターンによる演出を行うことができる。
【0204】
また、
図28に示されるように、グリップ部8bの右側面の内側に振動モータ50の第1面が接触する。また、グリップ部8bの背面(
図28の下側の面)の内側に振動モータ50の第2面が接触する。
【0205】
振動モータ50の振動方向である第1方向は、ゲームコントローラ1における実質的な左右方向(x軸方向)である。
図4に示されるように、ユーザがゲームコントローラ1を両手で把持した場合、例えばグリップ部8bの右側面がユーザの右手の掌の略中央部分に当たる。したがって、振動モータ50bの振動方向である第1方向はユーザの掌と略垂直になる。このため、第1方向の振動がユーザの掌に伝わり易くなる。
【0206】
また、振動モータ50の振動方向である第2方向は、ゲームコントローラ1における実質的な前後方向(z軸方向:
図28では上下方向)である。
図4に示されるように、ユーザがゲームコントローラ1を両手で把持した場合、グリップ部8の背面がユーザの中指、薬指、小指に当たる。したがって、振動モータ50の振動方向である第2方向はユーザの中指、薬指、小指と略垂直になり、第2方向の振動がユーザの指に伝わり易くなる。
【0207】
本実施形態では、第2方向の共振周波数を第1方向の共振周波数よりも低くしている。これにより、異なる種類の振動をユーザに感じさせることができる。本実施形態では、グリップ部8bの内部の右側面に振動モータ50bの第1面が接触し、グリップ部8bの内部の下側面に振動モータ50bの第2面が接触するため、グリップ部8bの右側面には共振周波数の高い振動が伝わり易く、グリップ部8bの下側面には共振周波数の低い振動が伝わり易い。グリップ部8bの右側面はユーザの掌の中央部分に当たり、グリップ部8bの下側面はユーザの指に当たるため、共振周波数の高い振動をユーザの掌の中央部分に与え、共振周波数の低い振動をユーザの指に与えることができる。このように、共振周波数を第1方向と第2方向とで異ならせることにより、ユーザの手の各部に異なる周波数の振動を与えることができる。なお、第2方向の共振周波数を第1方向の共振周波数よりも高くしてもよい。
【0208】
また、本実施形態では、
図28に示されるように、グリップ部8bの右側面の厚さは、下面よりも薄く構成されている。すなわち、グリップ部8は、第1部分(右側面部分)と当該第1部分よりも肉厚な第2部分(下面部分)とを有し、振動モータ50の第1面は、グリップ部8の第1部分と接触する。振動モータ50はグリップ部8のより肉薄な第1部分に接触するため、第1方向の振動がユーザの手により伝わり易い。
【0209】
なお、上述した構成は単なる一例であり、他の構成であってもよい。例えば、振動モータ50(ホルダ51)は、背面側の第2ハウジング10bに固定されたが、第1ハウジング10aに固定されてもよい。また、振動モータ50は、第1ハウジング10aおよび第2ハウジング10bによって挟まれることで固定されてもよい。また、振動モータ50は第2ハウジング10bではなく、グリップ部8に固定されてもよい。振動モータ50がグリップ部8に固定される場合は、振動モータ50をハウジング10に直接的にも間接的にも接触させないようにすることができる。
【0210】
また、振動モータ50の振動をハウジング10に伝え難くするための構成として、ホルダ51の内側(振動モータ50が接触する面)に、リブ(突起部)を設けて、振動モータ50の振動が減衰しやすくなるようにしてもよい。
【0211】
また、ホルダ51を第2ハウジング10bに固定する際に、ホルダ51の4面(開口部を除く4面)の全面に接触するのではなく、部分的にホルダ51が第2ハウジング10bと接触するフローティング構造としてもよい。例えば、第2ハウジング10bに複数のリブ(突起部)を設け、ホルダ51を浮かせるようにして第2ハウジング10bに固定してもよい。
【0212】
また、上記実施形態では、グリップ部8bの内面の右側に面81bを配置し、下側にリブ82bを配置したが、右側にリブ82bを配置し、下側に面81bを配置してもよい。また、右側および下側の両方とも面としてもよい。すなわち、グリップ部8の、振動モータ50と接触する2面は、両方とも平面であってもよいし、両方ともリブであってもよいし、一方がリブで他方が平面であってもよい。
【0213】
また、上記実施形態では、振動モータ50bがグリップ部8bの右側(ゲームコントローラ1における側面側)および下側に直接接触する構造としたが、グリップ部8bの左側(ゲームコントローラ1における中央側)に振動モータ50bが直接接触する構造としてもよい。
【0214】
また、ゲームコントローラ1は、左右のグリップ部8に振動モータ50を設けるとともに、ハウジング10の本体内部(基板等が配置されたハウジング10の内部)にも別の振動モータが設けられてもよい。このハウジング10の本体内部に設けられる振動モータは、グリップ部8に設けられる振動モータ50と同様に第1方向および第2方向に振動する振動モータであってもよいし、1方向にのみ振動する振動モータであってもよいし、偏心振動モータであってもよい。
【0215】
また、上記実施形態では、振動モータ50が第1方向および第2方向に振動可能な1つの振動モータ50が用いられた。他の実施形態では、第1方向にのみ振動する振動モータと、第2方向にのみ振動する振動モータとが組み合わされることにより、第1方向および第2方向に振動可能であってもよい。
【0216】
また、上記実施形態では、左右方向(x軸方向)および前後方向(z軸方向)、すなわちユーザの手が接触するゲームコントローラ1における面に略垂直な方向に振動モータを振動させた方が、上下方向(y軸方向)に振動させた場合よりもユーザが手で振動を感じ易いため、振動モータを実質的に左右方向および前後方向に振動させた(
図28参照)。他の実施形態では、振動モータをゲームコントローラ1における実質的な上下方向(y軸方向:グリップ部8の長手方向)に振動させてもよい。
【0217】
また、両手持ちのゲームコントローラ1に限らず、片手持ちのコントローラにも上述した振動モータが設けられてもよい。例えば、片手持ちのコントローラは、ユーザによって把持される部分を有し、当該把持される部分には振動モータが配置される。振動モータは、第1方向および第2方向にそれぞれ異なる共振周波数で振動可能であり、第1方向に対応する第1面および第2方向に対応する第2面において、ハウジングと直接接触するように構成される。
【0218】
[ホームボタンの構造の詳細]
次に、ホームボタン3dの詳細な構造について説明する。なお、本実施形態のゲームコントローラ1のハウジング10は、例えば、透明又は白色である。ホームボタン3dは、ボタンの回りが発光するように構成されている。以下、ホームボタン3dの回りを発光させるための構造について説明する。
【0219】
図32は、ホームボタン3dの構造の一例を示す図である。
図32の(a)は、ホームボタン3dを部分的に拡大した図である。
図32の(b)は、
図32の(a)におけるH−H線断面図であり、
図32の(c)は、
図32の(a)におけるV−V線断面図である。
【0220】
図32に示されるように、ホームボタン3dは、ユーザに押下されるキートップ90と、キートップ90の周囲を囲む導光部91とを含む。キートップ90は、円柱形状であり、光を透過しない部材である。導光部91は、キートップ90の外周を囲む筒状の部材である。なお、ここで言う「筒状の部材」とは、リング状の部材も含む。導光部91は、光を透過する素材によって形成され、入射した光を拡散させながらハウジング10の表面に導く。
【0221】
図32の(b)および(c)に示されるように、導光部91は、その外周が筒状の遮光部92によって囲まれる。遮光部92は、光を透過しない部材である。
【0222】
ホームボタン3dのキートップ90の直下には、スイッチ23dが配置される。キートップ90とスイッチ23dとの間には、弾性部材94が設けられる。弾性部材94は、光を透過するゴム状の素材で形成される。
【0223】
また、弾性部材94の下方には、スイッチ23dが設けられた第1基板20上に、2つのLED95が設けられる。2つのLED95は、弾性部材94の下方であって、弾性部材94と重なる位置(弾性部材94によって覆われる位置)に配置される。具体的には、2つのLED95は、遮光部92により囲まれる領域の内側に配置され、導光部91の直下に配置される。2つのLED95は、キートップ90を中心として、上下(y軸方向)に対称に配置される(
図32の(c)又は
図18A)。
【0224】
弾性部材94は、キートップ90を上方向(ゲームコントローラ1における前面方向:z軸負方向)に押し上げる。キートップ90が下方に押下されると、キートップ90が弾性部材94を下方に押し下げ、当該押し下げ力によって弾性部材94が変形し、弾性部材94を介してスイッチ23dが押下される。キートップ90が押下されても、キートップ90の周囲の導光部91および遮光部92は、押し下げられない。
【0225】
図32の(b)および(c)に示されるように、キートップ90の上面および導光部91の上面は、ハウジング10の表面から露出する。キートップ90の上面および導光部91の上面は、ハウジング10の表面と実質的に同じ高さである。具体的には、ユーザに押下されるキートップ90の上面の方が、ハウジング10の表面よりも僅かに高く、導光部91の上面よりも僅かに高い。
【0226】
一方、遮光部92の上面は、キートップ90の上面および導光部91の上面よりも低く、ハウジング10の表面から露出されない。なお、遮光部92の上面は、ハウジング10の表面から露出してもよい。
【0227】
2つのLED95から射出された光は、弾性部材94を透過してLED95の直上にある導光部91に入射し、当該導光部91の内部を通って第1ハウジング10aの表面に導かれる。導光部91は、光を透過しない遮光部92によって囲まれている。また、キートップ90も光を透過しない。このため、2つのLED95が発光すると、第1ハウジング10aの表面においては、キートップ90の周囲の導光部91が発光し、導光部91の周囲には光が漏れない。したがって、ハウジング10が透明または光を透過しやすい白色等の部材で構成されていても、キートップ90の周囲のみをリング状に発光させることができる。
【0228】
図32の(c)に示されるように、導光部91における2つのLED95の直上(z軸負方向)の部分には、凹部が形成される。この凹部は、LED95を囲むようにして形成され、LED95からの光が入射する入射面積をより大きくするためのものである。
【0229】
図33は、2つのLED95の直上に設けられた導光部91の凹部の一例を模式的に示した図である。
図33は、
図32の(c)におけるLED95と導光部91の凹部とを含む部分を、
図32の(c)におけるx−z平面で切ったものをy軸正方向から見たときの図であり、
図33の下方向が
図32のz軸正方向となる。
図33に示されるように、導光部91は、LED95を囲むようにして形成される。このように、LED95を囲むように導光部91に凹部が形成されることにより、LED95からの光をより広い表面積で受けることができ、導光部91に光を取り込み易くすることができる。なお、この2つのLED95の直上の凹部の形状は単なる一例であり、例えば円弧形状に形成されてもよい。
【0230】
ここで、導光部91と遮光部92とは一体として形成される。
図34は、導光部91と遮光部92とが一体として形成された一体成形部材93の斜視図である。
図34の(a)は、一体成形部材93の外観斜視図であり、
図34の(b)は、一体成形部材93をy軸に平行な面で切ったときの断面を示す図である。
図34に示されるように、一体成形部材93は、導光部91の外周を囲むようにして遮光部92が形成される。一体成形部材93は、2色成形によって導光部91と遮光部92とが一体として形成される。なお、導光部91と遮光部92とが別々に成形されて、2つの部材が組み立てられてもよい。
【0231】
このように、本実施形態のゲームコントローラ1におけるホームボタン3dは、キートップ90の外周を囲む筒状の導光部91と、当該導光部91の周囲を囲む筒状の遮光部92を有する。これにより、ホームボタン3d(ユーザによって押下されるキートップ90)の周囲のみをリング状に発光させつつ、他の部分が光らないように構成することができる。
【0232】
本実施形態では、上述のようなシンプルな構造によってキートップ90の周囲を発光させることができる。
【0233】
なお、本実施形態では、キートップ90は光を透過しない部材であるとしたが、キートップ90は光を透過する部材によって構成されてもよい。このようなキートップが用いられた場合、ホームボタン3dのキートップおよびキートップの周囲を発光させることができる。
【0234】
また、キートップ90を押下方向と反対方向に押し上げる構造があれば上記弾性部材94は設けられなくてもよい。また、
図32の(c)では、弾性部材94はLED95と重なる位置(LED95を上から覆う位置)に配置されたが、弾性部材94をより小さくしてLED95と重ならないように(LED95を覆わないように)してもよい。
【0235】
また、上記実施形態では導光部91を遮光部92で囲むものとしたが、導光部91の外周に遮光剤を塗布することにより、導光部91から光が漏れないようにしてもよい。このような塗布された遮光剤は、遮光部92の代替として使用することができる。
【0236】
以上のように、本実施形態のゲームコントローラ1は上述した各構成を有する。上述した各構成は、両手持ちのゲームコントローラに限らず、他のコントローラに用いられてもよい。
【0237】
例えば、両手持ちのゲームコントローラ1に限らず、片手持ちのコントローラにも上述した各構成が適用されてもよい。例えば、片手持ちのコントローラに、上記Rボタン、ZRボタンが設けられてもよい。また、片手持ちのコントローラに、上記グリップ部、上記NFC機能、振動モータ、ホームボタンの構成が適用されてもよい。
【0238】
また、上述したゲームコントローラ1に設けられた各構成が、表示装置とゲーム処理を実行可能な処理装置とを有する携帯型のゲーム装置に設けられてもよい。例えば、携帯型のゲーム装置が、ゲームコントローラ1のL/Rボタン、ZL/ZRボタンを備えてもよい。また、携帯型のゲーム装置に上記グリップ部、NFC機能、振動モータ、ホームボタンの構成が適用されてもよい。
【0239】
また、PCやスマートフォン等の任意の情報処理装置の周辺機器にも上記ゲームコントローラ1の各構成が適用されてもよい。例えば、スマートフォンの周辺機器に上記Rボタン、ZRボタンの構成が適用されてもよい。また、周辺機器に上記グリップ部、NFC機能、振動モータ、ホームボタンの構成が適用されてもよい。
【0240】
ここまでゲームコントローラ1について説明したが、上記実施形態のゲームコントローラ1が備える振動モータ50は、以下に示す振動データに基づいて振動してもよい。
【0241】
(振動データおよび振動信号生成装置の説明)
以下、振動データおよび振動データに基づいて振動制御信号を生成する振動信号生成装置について説明する。
【0242】
図面を参照して、一実施形態に係る振動信号生成プログラムを実行する振動信号生成装置について説明する。振動信号生成プログラムは、任意のコンピュータシステムで実行されることによって適用することができるが、振動信号生成装置の一例として携帯型の情報処理装置A3(タブレット端末)を用い、情報処理装置A3で実行される振動信号生成プログラムを用いて説明する。例えば、情報処理装置A3は、交換可能な光ディスクやメモリーカード等の記憶媒体内に記憶された、または、他の装置から受信したプログラムや予めインストールされたプログラム(例えば、ゲームプログラム)を実行可能であり、一例として、仮想空間に設定された仮想カメラから見た仮想空間画像等のコンピュータグラフィックス処理により生成された画像を画面に表示することができる。情報処理装置A3は、一般的なパーソナルコンピュータ、据置型ゲーム機、携帯電話機、携帯ゲーム機、PDA(Personal Digital Assistant)等のデバイスであってもかまわない。なお、
図35は、情報処理装置A3の外観の一例を示す平面図である。
【0243】
図35において、情報処理装置A3は、表示部A35、音声出力部A36、およびアクチュエータA373を備えている。一例として、表示部A35は、情報処理装置A3本体前面に設けられている。例えば、表示部A35は、LCD(Liquid Crystal Display:液晶表示装置)によって構成されるが、例えばELを利用した表示装置などが利用されてもよい。また、表示部A35は、立体視可能な画像を表示することが可能な表示装置であってもよい。
【0244】
表示部A35の表示画面を覆うように、入力部A34の一例であるタッチパネルA341が設けられている。タッチパネルA341は、所定の入力面(例えば、表示部A35の表示画面)に対して入力された位置を検出する。なお、入力部A34は、情報処理装置A3のユーザが操作入力可能な入力装置であり、どのような入力装置であってもよい。例えば、入力部A34として、スライドパッド、アナログスティック、十字キー、および操作ボタン等の操作部が、情報処理装置A3本体の側面や背面等に備えられてもよい。また、入力部A34は、情報処理装置A3本体の姿勢や動きを検出するためのセンサであってもよい。例えば、入力部A34は、情報処理装置A3本体に生じる加速度を検出する加速度センサや情報処理装置A3本体の回転量を検出する角速度センサ(ジャイロセンサ)等であってもよい。
【0245】
音声出力部A36は、音声を出力するスピーカを含み、
図35に示した一例では、情報処理装置A3の上側面や背面に設けられたスピーカ(音声出力部A36)を含んでいる。音声出力部A36は、後述する制御部A31から出力される音声信号(音声制御信号)をD/A変換してアナログ音声信号を生成し、当該アナログ音声信号をスピーカへ出力して音声を出力させる。
【0246】
アクチュエータA373は、情報処理装置A3の本体に所定の振動を与える振動アクチュエータ(振動子)であり、後述する振動発生部A37に含まれる。
図35に示した一例では、アクチュエータA373は、情報処理装置A3本体内部の中央付近に設けられたアクチュエータA373を有する。具体的には、
図35の破線領域で示すように、ユーザが情報処理装置A3の左端部を左手で把持し右端部を右手で把持した場合に、当該左手と右手との間の位置となる表示部A35の中央部にアクチュエータA373が設けられる。また、振動発生部A37は、後述する制御部A31から出力される振動制御信号をD/A変換してアナログ振動信号を生成し、当該アナログ振動信号を増幅した駆動信号をアクチュエータA373へ出力してアクチュエータA373を駆動させる。
【0247】
なお、
図35から明らかなように、情報処理装置A3に設けられる表示部A35の表示画面と音声出力部A36とがそれぞれ近接する位置に配置されており、表示部A35の表示画面とアクチュエータA373とがそれぞれ近接する位置に配置されている。また、音声出力部A36およびアクチュエータA373は、それぞれ互いに近接する位置に配置されているが、別の位置に配設される別のユニットである。これによって、振動出力専用のユニットと音声出力専用のユニットとを備えることができるため、汎用のユニットを共用する場合と比較すると精度の高い振動および音声をそれぞれ出力することができる。なお、振動出力するためのユニットと音声出力するためのユニットとを組み合わせて一体化したモジュールを、情報処理装置A3に設けてもよい。
【0248】
次に、
図36を参照して、情報処理装置A3の内部構成について説明する。なお、
図36は、情報処理装置A3の構成の一例を示すブロック図である。
【0249】
図36において、上述した入力部A34、表示部A35、音声出力部A36、および振動発生部A37の他に、制御部A31、記憶部A32、プログラム格納部A33、および通信部A38を備える。なお、情報処理装置A3は、制御部A31を少なくとも含む情報処理装置と他の装置とを含む1以上の装置によって構成されてもよい。
【0250】
制御部A31は、各種の情報処理を実行するための情報処理手段(コンピュータ)であり、例えばCPUである。制御部A31は、各種の情報処理として、入力部A34に対するユーザの操作に応じた処理等を実行する機能を有する。例えば、CPUが所定のプログラムを実行することによって、制御部A31における各機能が実現される。
【0251】
制御部A31は、各種の情報処理として、表示部A35に表示する画像の表示制御を行う。また、制御部A31は、各種の情報処理として、スピーカから出力する音声を制御するための音声制御信号(例えば、デジタル音声信号)を、音声出力部A36へ出力する。また、制御部A31は、各種の情報処理の一例として、通信部A38を介して他の装置から転送された振動データを受信し、当該振動データに基づいてアクチュエータA373が生成する振動を制御するための振動制御信号(例えば、デジタル振動信号)を生成して、当該振動制御信号を振動発生部A37へ出力する。
【0252】
記憶部A32は、制御部A31が上記情報処理を実行する際に用いる各種のデータを記憶する。記憶部A32は、例えばCPU(制御部A31)がアクセス可能なメモリである。
【0253】
プログラム格納部A33は、プログラムを記憶(格納)する。プログラム格納部A33は、制御部A31がアクセス可能な記憶装置(記憶媒体)であればどのようなものであってもよい。例えば、プログラム格納部A33は、制御部A31を含む情報処理装置A3内に設けられる記憶装置であってもよいし、制御部A31を含む情報処理装置A3に着脱自在に装着される記憶媒体であってもよい。また、プログラム格納部A33は、制御部A31とネットワークを介して接続される記憶装置(サーバ等)であってもよい。制御部A31(CPU)は、ゲームプログラムや振動信号生成プログラムの一部または全部を適宜のタイミングで記憶部A32に読み出し、読み出されたプログラムを実行するようにしてもよい。
【0254】
通信部A38は、所定の通信モジュールによって構成され、ネットワークを介して他の機器との間でデータを送受信したり、他の情報処理装置A3との間でデータを直接送受信したりする。なお、通信部A38は、他の機器との間で無線通信によってデータを送受信してもよいし、他の機器との間で有線通信によってデータを送受信してもよい。
【0255】
次に、
図37を参照して、振動発生部A37の構成について説明する。なお、
図37は、振動発生部A37の構成の一例を示すブロック図である。
【0256】
図37において、振動発生部A37は、コーデック部A371、増幅部A372、およびアクチュエータ(振動子)A373を備えている。
【0257】
コーデック部A371は、制御部A31から出力された振動制御信号を取得して所定の復号処理を行ってアナログ振動信号を生成し、増幅部A372へ出力する。例えば、アクチュエータA373に振動を発生させる場合、当該振動を制御するための振動制御信号(例えば、振動制御信号CS)が制御部A31から出力される。この場合、コーデック部A371は、制御部A31から出力された振動制御信号を復号して、アクチュエータA373に振動を発生させるためのアナログ振動信号(例えば、アナログ振動信号AS)を生成して、増幅部A372へ出力する。
【0258】
増幅部A372は、コーデック部A371から出力されたアナログ振動信号を増幅してアクチュエータA373を駆動するための駆動信号を生成し、アクチュエータA373へ出力する。例えば、増幅部A372は、コーデック部A371から出力されたアナログ振動信号(例えば、アナログ振動信号AS)の電流/電圧の振幅変化をそれぞれ増大させて駆動信号(例えば、駆動信号DS)を生成して、アクチュエータA373へ出力する。
【0259】
アクチュエータA373は、増幅部A372から出力された駆動信号に応じて駆動することによって、情報処理装置A3の本体に当該駆動信号に応じた振動を与える。例えば、アクチュエータA373は、
図35に示すように、表示部A35の表示画面の中心に設けられている。ここで、アクチュエータA373が情報処理装置A3本体に振動を与える方式は、どのようなものでもかまわない。例えば、アクチュエータA373は、偏心モーター(ERM:Eccentric Rotating Mass)によって振動を生じさせる方式や、リニア・バイブレータ(LRA:Linear Resonant Actuator)によって振動を生じさせる方式や、ピエゾ(圧電)素子によって振動を生じさせる方式等を用いた構成であってもよい。アクチュエータA373が振動を生じさせる方式に応じて、増幅部A372から出力される駆動信号が生成されれば、どのような方式のアクチュエータであっても様々な振動を情報処理装置A3のユーザに与えることができる。
【0260】
なお、上述した説明では、コーデック部A371で生成されたアナログ振動信号が増幅されてアクチュエータA373を駆動するための駆動信号が生成される例を用いたが、コーデック部A371から増幅部A372へ出力される信号は、デジタル信号であってもよい。例えば、パルス幅変調(PWM:Pulse Width Modulation)制御によってアクチュエータA373を駆動する場合、コーデック部A371がアクチュエータA373をオン/オフするためのパルス信号を生成すればよい。この場合、コーデック部A371から増幅部A372へ出力される信号は、パルス波を用いて駆動が制御されるデジタル振動信号となり、増幅部A372は、当該デジタル振動信号を増幅することになる。
【0261】
次に、情報処理装置A3が行う具体的な処理を説明する前に、
図38〜
図40を用いて情報処理装置A3において行われる処理の概要について説明する。以下の説明では、表示部A35の表示画面内を仮想オブジェクトOBJが移動するゲームを行う際の処理を、情報処理装置A3において行われる情報処理の一例として用いる。なお、
図38は、表示部A35の表示画面に表示されている仮想オブジェクトOBJが移動する際に、情報処理装置A3本体が振動するとともに音声が出力される一例を示す図である。
図39は、取得した振動データに基づいて振動制御信号を生成する処理の一例を説明するための図である。
図40は、周波数帯域毎に取得した振動データに基づいて振動制御信号を生成する処理の一例を説明するための図である。
【0262】
図38に示す例では、仮想空間内を移動する仮想オブジェクトOBJが表示部A35の表示画面に表示される。仮想オブジェクトOBJは、ユーザ操作に応じて、または自動的に仮想空間内を移動して表示部A35の表示画面に表示される。具体的には、仮想オブジェクトOBJは、仮想空間内に設置された板面上を転がって移動する球体である。
【0263】
仮想オブジェクトOBJが仮想空間内の板面上を転がって移動することに応じて、情報処理装置A3から音声が出力されるとともに、情報処理装置A3本体が振動する。例えば、情報処理装置A3本体に設けられたスピーカ(音声出力部A36)は、表示部A35の表示画面に表示されて移動する仮想オブジェクトOBJが音源となった音声を出力する。また、情報処理装置A3本体に設けられたアクチュエータA373は、仮想オブジェクトOBJが転がって移動する際に生じる振動を生じさせる。本実施例では、当該振動を生じさせるための振動制御信号を生成するための振動データを他の装置から取得する。そして、情報処理装置A3は、取得した振動データに基づいて、アクチュエータA373を駆動制御するための振動制御信号を生成する。
【0264】
次に、
図39を参照して、振動制御信号を生成する処理の一例を説明する。上述したように、アクチュエータA373が生成する振動を制御するための振動制御信号は、他の装置から転送された振動データに基づいて生成される。本実施例では、他の装置から転送されたAMFM符号データを振動データとして受信し、当該AMFM符号データに基づいて生成されたAMFM波が振動制御信号として用いられる。ここで、AM符号データは振動の振幅変調(Amplitude Modulation)を表すデータを示し、FM符号データは振動の周波数変調(Frequency Modulation)を表すデータを示し、AMFM符号データは振動の振幅変調および周波数変調の両方を表すデータを示している。また、AMFM波は、AMFM符号データに基づいて振幅変調および周波数変調された振動波形を示している。
【0265】
図39に示すように、AMFM符号データは、振動を変調する一定の更新周期毎に他の装置から転送され、振動の振幅および周波数更新コマンドとして機能する。そして、AMFM符号データは、所定の符号化テーブルを用いてデコードされることによって、AM情報およびFM情報が取り出される。ここで、AM情報は、更新前の振動の振幅を基準として更新後の振動の振幅を示す情報である。このようなAM情報を上記更新周期毎に分析することによって、所定の振幅を基準として振動振幅を時系列的に変調させる
図39に示すような情報を取得することができる。また、FM情報は、更新前の振動の周波数を基準として更新後の振動の振幅を示す情報である。このようなFM情報を上記更新周期毎に分析することによって、所定の周波数を基準として振動周波数を時系列的に変調させる
図39に示すような情報を取得することができる。なお、AMFM符号データのデコード処理やデコードに用いられる符号化テーブルの例については、後述する。
【0266】
次に、FM情報から周波数変調正弦波(FM波)を生成する。ここで、FM波は、上記更新周期毎に取得されるFM情報に応じた周波数で変位する
図39に示すような正弦波である。
【0267】
そして、AM情報をFM波に掛け合わせることによって、AMFM波を生成する。ここで、AMFM波は、上記更新周期毎に取得されるFM情報に応じた周波数、かつ、上記更新周期毎に取得されるAM情報に応じた振幅で変位する
図39に示すような波形を有する。このように生成されたAMFM波に基づいて、振動制御信号を生成することによって、AMFM波で示される周波数および振幅でアクチュエータA373を振動させることができる。
【0268】
このようなAMFM伝送方式で振動データを送信することによって、以下のような効果を期待することができる。第1の効果として、振動データをそのまま送信する方式、振動データのサンプリングレートを落として送信する方式、振動データを所定の方式で圧縮して送信する方式と比較して、振動データを送信する際のデータ通信量を削減することができる。第2の効果として、送信されたAMFM符号データをデコードする処理負荷が相対的に低いため、リアルタイムにデコード処理してアクチュエータA373の振動制御に繋げることができる。第3の効果として、振動を制御するパラメータが周波数および振幅となるため、振動素材を生成する作業が簡素化することができる。第4の効果として、AMFM伝送方式で制御する振動周波数をアクチュエータA373の共振周波数付近に設定することによって、相対的に強い(電力効率の良い)振動をユーザに与えることができる。
【0269】
また、上述したAMFM伝送方式では、周波数帯域毎にAMFM符号データを送信してもよい。以下、
図40を参照して、周波数帯域毎に取得した振動データに基づいて振動制御信号を生成する処理について説明する。
【0270】
図40に示すように、本実施例におけるAMFM符号データは、振動を変調する一定の更新周期で周波数帯域毎に他の装置からそれぞれ転送され、周波数帯域毎の振動の振幅および周波数更新コマンドとして機能する。例えば、
図40に示した例では、低周波数帯域である周波数帯域Aを対象としたAMFM符号データと、高周波数帯域である周波数帯域Bを対象としたAMFM符号データとが、同じまたは異なる更新周期毎に他の装置から送信されている。
【0271】
周波数帯域Aを対象としたAMFM符号データは、上述した処理と同様に、所定の符号化テーブルを用いてデコードされることによって、AM情報およびFM情報が取り出され、FM情報からFM波が生成される。そして、周波数帯域Aを対象としたAM情報をFM波に掛け合わせることによって、周波数帯域Aを対象としたAMFM波が生成される。
【0272】
一方、周波数帯域Bを対象としたAMFM符号データも、上述した処理と同様に、所定の符号化テーブルを用いてデコードされることによって、AM情報およびFM情報が取り出され、FM情報からFM波が生成される。そして、周波数帯域Bを対象としたAM情報をFM波に掛け合わせることによって、周波数帯域Bを対象としたAMFM波が生成される。
【0273】
そして、周波数帯域Aを対象としたAMFM波と周波数帯域Bを対象としたAMFM波とを足し合わせることによって、合成波が生成される。上記合成波は、周波数帯域Aを対象としたAMFM情報および周波数帯域Bを対象としたAMFM情報を併せ持っているため、複数の周波数帯域に対する周波数の情報および振幅の情報に基づいて変位する
図40に示すような波形を有する。このように生成された合成波に基づいて、振動制御信号を生成することによって、合成波で示される周波数および振幅でアクチュエータA373を振動させることができる。
【0274】
このような複数の周波数帯域毎にAMFM伝送方式で振動データを送信することによって、複数の周波数帯域毎の周波数変化および振幅変化を転送することができるため、他の装置から振動をより正確に伝えることができる。したがって、他の伝送方式と比較してもユーザに与える振動感触を劣化させることなく振動データを伝送することが可能となる。
【0275】
次に、複数の周波数帯域毎にAMFM符号データを転送する際の周波数帯域分割例について説明する。一例として、AMFM符号データを転送する複数の周波数帯域は、振動が与えられる人間の触覚の特性に合わせて設定することが考えられる。人間の皮膚感覚を受容する感覚受容器は、メルケル盤、マイスナー小体、パチニ小体、およびルフィニ終末等で構成されており、それぞれ特有の周波数帯域の振動に応答する。また、人間が振動を感じることができるとされる振動は、0−1000Hzの周波数帯域の振動であるとされている。ここで、人間の感覚受容器のうち、単独で振動感覚を生じるのはマイスナー小体およびパチニ小体の2つであり、マイスナー小体が低周波振動(例えば、10−200Hz)に応答し、パチニ小体が高周波振動(例えば、70−1000Hz)に応答する。したがって、マイスナー小体を対象とした低周波数帯域(10−200Hz)とパチニ小体を対象とした高周波数帯域(70−1000Hz)とに対して、それぞれAMFM符号データをそれぞれ転送することが考えられる。
【0276】
そして、周波数帯域毎に基準とする周波数(以下、中心周波数と記載する)は、例えば、中心周波数の比率が1.5以上となるように設定するとともに、振動デバイス(上記実施例では、アクチュエータA373)の周波数特性(例えば、振動デバイスが有する共振周波数付近)に合うように設定する。このように、振動デバイスが振動しやすい周波数帯を主体として利用することによって、振動を生成する際に消費する電力に対してユーザが感じる振動の感覚量が大きくなるため、より効率よく振動をユーザに感じさせることができる。なお、振動デバイスが理想的な周波数特性(フラットな特性)を有している場合には、上述した人間の感覚受容器の特性だけを考慮すればよいため、中心周波数は例えば低周波数帯域では40Hz付近に設定して高周波数帯域では250Hz付近に設定してもよい。
【0277】
なお、上述した説明では、人間の皮膚感覚を受容する感覚受容器の応答周波数帯域に応じて、AMFM符号データを転送する周波数帯域を分割する例を用いたが、他の特性を基準として当該周波数帯域を分割してもかまわない。例えば、振動させるアクチュエータの特性周波数に応じて、AMFM符号データを転送する周波数帯域を分割してもかまわない。一例として、振動させるアクチュエータが複数の共振周波数を有している場合、当該共振周波数の少なくとも1つを含むように複数の周波数帯域を設定し、当該周波数帯域毎にAMFM符号データを転送してもよい。
【0278】
また、3つ以上の周波数帯域毎にAMFM符号データを転送してもよい。一例として、異なる周波数帯域の振動を極めて短い時間間隔で順に発生させる必要がある場合、AMFM符号データを転送する周波数帯域数が少なければ周波数が遷移する速度に更新周期が追いつかないことが考えられる。具体的には、50Hz、150Hz、450Hzの3つの周波数を有する振動を50ms間隔で順に発生させる場合、3つ以上の周波数帯域毎にAMFM符号データを転送することによって正確な振動を生じさせることができる。なお、上述したように、人間の触覚のみによって振動を感じる場合、周波数帯域数が2つでもよいが、触覚に聴覚刺激を加えて振動を感じさせる場合には周波数帯域数を3つ以上として制御することが有効となり得る。また、振動周波数を変化させずに複数の一定周波数の振動を与える場合、それぞれの周波数(中心周波数)の比率は、単純な整数比になっていることが望ましい。このように、生じさせる周波数を整数比にすることによって、2つの周波数の振動を同時に発生させた場合に「うなり」が発生することを防止することができる。ここで、「うなり」は、振動周波数がわずかに異なる2つの振動波が干渉して、振動振幅がゆっくり周期的に変わる合成波を生ずる現象である。
【0279】
また、単一の周波数帯域に対してAMFM符号データを転送してもよい。第1の例として、複数の周波数帯域成分を含む振動を発生させる用途がない場合、単一の周波数帯域に対してのみAMFM符号データを転送することが考えられる。第2の例として、振動させる振動デバイスの周波数特性がある周波数帯域に極端に偏っており、当該周波数帯域に属する唯一の共振周波数以外ではほとんど振動しない振動デバイスを振動させる場合、当該周波数帯域に対してのみAMFM符号データを転送することが考えられる。第3の例として、AMFM符号データを転送する際のデータ圧縮効率を優先する場合、単一の周波数帯域に対してのみAMFM符号データを転送することが考えられる。
【0280】
次に、
図41および
図42を参照して、AMFM符号データのデコード処理の一例について説明する。なお、
図41は、AMFM符号データのデコードに用いられる符号化テーブルの一例を示す図である。
図42は、符号化テーブルで用いられている値kを算出する際に用いられるk算出テーブルの一例を示す図である。
【0281】
図41において、3ビットの符号を用いて振幅更新命令および周波数更新命令を行う3bitAMFM符号化テーブルを示している。AMFM符号データのデコード処理では、このようなAMFM符号化テーブルを用いて更新処理直前において示している振幅値および周波数を基準として次に設定される振幅値および周波数を設定し、所定のサンプリングレート(例えば、8000Hz)で合成波形データを算出する。なお、デコード処理におけるサンプリングレートを上げることによって算出される合成波形の再現精度が上がるがデコード処理負荷が増加することになるため、後述するAMFM符号データの更新頻度と必要な合成波形の再現精度とのバランス等を考慮してサンプリングレートを設定すればよい。以下に説明するAMFM符号データのデコード処理では、振動の振幅の初期値を1/4096、振動の振幅の最小値を1/4096、振動の振幅の最大値を1、振動の振幅が0として判定されるゼロ閾値を1.5/4096とする。また、以下に説明するAMFM符号データのデコード処理では、振動の周波数の初期値を周波数帯域毎に設定されている中心周波数(例えば、振動デバイスの共振周波数である160Hzや320Hz付近)、振動の周波数の最小値を100Hz、振動の周波数の最大値を1000Hzとする。
【0282】
図41に示す振幅更新命令および周波数更新命令は、更新処理直前において示している振幅値および周波数を基準として次に設定される振幅値および周波数をそれぞれ示している。そして、振幅更新命令および周波数更新命令を受信した装置は、次の振幅更新命令および周波数更新命令を受信するまでの期間の振動の振幅値および振動の周波数を、受信した振幅更新命令および周波数更新命令に基づいて更新して設定する。第1の例として、受信した振幅更新命令および周波数更新命令に基づいて設定する振動の振幅値および振動の周波数は、受信直後の値として設定して即時に振動の振幅値および振動の周波数を更新してもよい。第2の例として、受信した振幅更新命令および周波数更新命令に基づいて設定する振動の振幅値および振動の周波数は、次の振幅更新命令および周波数更新命令を受信する直前の値として設定して、上記期間中に当該値に到達するように漸増的および/または漸減的に振動の振幅値および振動の周波数を更新してもよい。第3の例として、受信した振幅更新命令および周波数更新命令に基づいて設定する振動の振幅値および振動の周波数は、次の振幅更新命令および周波数更新命令を受信するまでの期間の途中の値として設定して、当該期間の途中の時点で当該値に到達するように漸増的および/または漸減的に振動の振幅値および振動の周波数を更新してもよい。
【0283】
例えば、AMFM符号データが符号0(000)を示す場合、振動の振幅値が初期値(例えば、1/4096)にリセットされて更新され、振動の周波数が初期値(例えば、160や320)にリセットされて更新される。AMFM符号データが符号1(001)を示す場合、振動の振幅値が2
0.5倍(約1.414倍)されて更新され、振動の周波数が2
0.2倍(約1.149倍)されて更新される。AMFM符号データが符号2(010)を示す場合、振動の振幅値が2
0.5倍(約1.414倍)されて更新され、振動の周波数が2
−0.2倍(約0.871倍)されて更新される。AMFM符号データが符号3(011)を示す場合、振動の振幅値が2
−0.3倍(約0.812倍)されて更新され、振動の周波数が2
0.2倍(約1.149倍)されて更新される。AMFM符号データが符号4(100)を示す場合、振動の振幅値が2
−0.3倍(約0.812倍)されて更新され、振動の周波数が2
−0.2倍(約0.871倍)されて更新される。AMFM符号データが符号5(101)を示す場合、振動の振幅値が2
k−2倍されて更新され、振動の周波数は不変とされる。AMFM符号データが符号6(110)を示す場合、振動の振幅値が2
k倍されて更新され、振動の周波数は不変とされる。AMFM符号データが符号7(111)を示す場合、振動の振幅値が2
k+2倍されて更新され、振動の周波数は不変とされる。
【0284】
ここで、値kは、更新処理直前において示している振幅値に応じて設定される。例えば、
図42に示すように、更新直前に示している振幅値が最小振幅(例えば、1/4096)以上で最小振幅の2
0.5倍未満である場合、k=2に設定される。更新直前に示している振幅値が最小振幅の2
0.5倍以上で最小振幅の2
1.5倍(約2.828倍)未満である場合、k=1に設定される。更新直前に示している振幅値が最小振幅の2
1.5倍以上で最大振幅(例えば、1)の2
−1.5倍(約0.354倍)以下である場合、k=0に設定される。更新直前に示している振幅値が最大振幅の2
−1.5倍より大きく最大振幅の2
−0.5倍(約0.707倍)以下である場合、k=−1に設定される。そして、更新直前に示している振幅値が最大振幅の2
−0.5倍より大きく最大振幅以下である場合、k=−2に設定される。
【0285】
なお、上述したAMFM符号データのデコード処理では、3ビットの符号を用いて振幅更新命令および周波数更新命令を行う3bitAMFM符号化テーブルを用いる例を用いたが、他の方式によってデコード処理を行ってもよい。例えば、4ビットの符号を用いて振幅更新命令および周波数更新命令を行う4bitAMFM符号化テーブルを用いるデコード処理や、2ビットの符号を用いて振幅更新命令を行う2bitAM符号化テーブルを用いるデコード処理や、3ビットの符号を用いて振幅更新命令を行う3bitAM符号化テーブルを用いるデコード処理等が考えられる。上記4bitAMFM符号化テーブルを用いるデコード処理は、15種の振幅更新命令および周波数更新命令を行うことが可能となるため、3bitAMFM符号化テーブルを用いるデコード処理と比較してAM情報およびFM情報をより詳細に制御することが可能となる。また、上記3bitAM符号化テーブルや上記2bitAM符号化テーブルを用いるデコード処理は、振幅更新命令のみ可能とし、一例として振動周波数が所定の周波数(例えば、中心周波数であり、実質的にアクチュエータの共振周波数となる当該共振周波数付近の周波数)で一定の単純な正弦波の振幅を変調させることによって行われる。ここで、ユーザに与える振動の感触では、一般的に振幅の影響が高く、周波数の影響が低い傾向がある。したがって、上記3bitAM符号化テーブルや上記2bitAM符号化テーブルを用いたデコード処理では、振幅に絞った振動制御をすることによって、振幅更新命令に対して詳細な制御をすることが可能となるとともに、データ通信量を削減することが可能となる。
【0286】
なお、上記3bitAM符号化テーブルや上記2bitAM符号化テーブルを用いるデコード処理において用いられる基本波は、周波数一定の単純な正弦波でなくてもよく、矩形波、三角波、のこぎり波等の正負の値を繰り返す形状の波形や振幅一定の他の形状の波形を有する基本波であってもよい。また、特定の周波数帯域成分を有するノイズが上記基本波であってもよい。例えば、特定の周波数帯域成分を通過させるバンドパスフィルタを通したホワイトノイズ等によって上記基本波が形成されてもよい。さらに、上記3bitAM符号化テーブルや上記2bitAM符号化テーブルを用いるデコード処理において転送されるAMFM符号データに、上記基本波の周波数、形状、ノイズ種別等を示す情報を含ませておき、当該情報に基づいた基本波を用いて当該デコード処理を行ってもよい。
【0287】
また、上記基本波は、正負の値を繰り返さない形状の波形でもよい。例えば、基準値より大きい値と小さい値とを繰り返す波形であればよく、正の極大値および0以上の極小値を交互に繰り返す形状の波形や、0以下の極大値および負の極小値を交互に繰り返す形状の波形でもよい。一例として、基本波の波形は、
(1−cos(2πft))/2
で表される、+1の極大値と0の極小値とを交互に繰り返す波形でもよい。ここで、fは周波数であり、tは時間である。このような基本波を用いてFM波を生成した場合、FM情報によって示される周波数で+1の極大値と0の極小値とを交互に繰り返す波形が形成される。そして、当該FM波に基づいてAMFM波を生成した場合、AM情報によって示される0〜+1の間の振幅値を極大値として、上記FM波によって示される周波数で当該極大値と0の極小値とを交互に繰り返す波形が形成される。
【0288】
このような形状の基本波を用いることによって、以下のような効果を期待することができる。例えば、アクチュエータA373がリニア振動モータで構成される場合、当該リニア振動モータにバネが設けられる。そして、上記リニア振動モータに正の電圧を印加するとバネの力とは反対方向に内部の重りの位置が移動し、当該バネの反力によって当該重りが元の位置に戻る方向に作用している状態になる。したがって、上記重りは、負の電圧を印加しなくても印加電圧を0にするだけで元の位置に戻るため、正の電圧を印加するだけで充分な強さの振動を生成することが可能であり、上記リニア振動モータを駆動する際の電力効率の面での効果を得ることができる。
【0289】
また、複数の周波数帯域毎にAMFM符号データを取得してデコード処理する場合、単一の周波数帯域に対してAMFM符号データを取得してデコード処理する態様と比較して、少ない更新頻度でAMFM符号データを取得して振動データを生成してもよい。例えば、単一の周波数帯域に対してAMFM符号データを取得してデコード処理する態様において他の装置から400Hzの周期でAMFM符号データを取得してデコード処理する場合、2つの周波数帯域毎にそれぞれAMFM符号データを取得してデコード処理する態様において他の装置から200Hzの周期でそれぞれAMFM符号データを取得してデコード処理してもよい。また、複数の周波数帯域毎にAMFM符号データを取得してデコード処理する場合、周波数帯域毎に異なる更新頻度でAMFM符号データを取得してデコード処理してもよい。一例として、低周波数帯域に対する更新頻度に対して、高周波数帯域に対する更新頻度を相対的に少なく設定することが考えられる。他の例として、周波数帯域毎に生じている振動振幅の大きさに応じて、周波数帯域毎に異なる更新頻度でAMFM符号データを転送してデコード処理することが考えられる。例えば、第1の周波数帯域において生じている振動振幅の大きさが第2の周波数帯域において生じている振動振幅の大きさより大きい場合、第1の周波数帯域において他の装置から相対的に多い更新頻度(例えば、400Hzの周期)でAMFM符号データを取得してデコード処理し、第2の周波数帯域において他の装置から相対的に少ない更新頻度(例えば、200Hzの周期)でAMFM符号データを取得してデコード処理することが考えられる。また、第1の周波数帯域において生じている振動振幅の大きさが第2の周波数帯域において生じている振動振幅の大きさと同等で、何れも所定の閾値より大きい場合、第1の周波数帯域および第2の周波数帯域において他の装置から相対的に多い更新頻度(例えば、400Hzの周期)でそれぞれAMFM符号データを取得してデコード処理することが考えられる。また、第1の周波数帯域において生じている振動振幅の大きさが第2の周波数帯域において生じている振動振幅の大きさと同等で、何れも所定の閾値より小さい場合、第1の周波数帯域および第2の周波数帯域において他の装置から相対的に少ない更新頻度(例えば、200Hzの周期)でそれぞれAMFM符号データを取得してデコード処理することが考えられる。
【0290】
次に、AM符号データ(すなわち、振幅更新命令のみが行われる符号データ)の転送元となる装置においてAM符号データをエンコードする処理と、当該AM符号データを受信してデコードする処理の一例について説明する。まず、上記転送元装置において、転送したいオリジナルの振動データ(振動波形)が準備される。そして、上記転送元装置が上記振動データを他の装置に送信するために、複数の周波数帯域毎にAM符号データを転送する場合、当該周波数帯域毎のバンドパスフィルタをそれぞれ通して、各周波数帯域成分の振動データをそれぞれ生成する。一例として、160Hzを中心周波数とする第1の周波数帯域に対応するAM符号データと320Hzを中心周波数とする第2の周波数帯域に対応するAM符号データとを転送する場合、オリジナルの振動データを第1の周波数帯域成分を通過させるバンドパスフィルタを用いて処理することによって第1の周波数帯域成分の振動データを生成し、オリジナルの振動データを第2の周波数帯域成分を通過させるバンドパスフィルタを用いて処理することによって第2の周波数帯域成分の振動データを生成する。そして、第1の周波数帯域成分の振動データを示す振動波形のエンベロープ波形を用いて、所定の符号化テーブルを用いて当該エンベロープの概形を符号化することによって第1の周波数帯域成分のAM符号データを生成する。また、第2の周波数帯域成分の振動データを示す振動波形のエンベロープ波形を用いて、上記符号化テーブルを用いて当該エンベロープの概形を符号化することによって第2の周波数帯域成分のAM符号データを生成する。そして、AM符号データの転送元となる装置は、生成された第1の周波数帯域成分のAM符号データおよび第2の周波数帯域成分のAM符号データを、更新周期毎に他の装置へ送信する。なお、上述したAM符号データをエンコードする処理は、上記転送元装置におけるオフライン処理において予め分析して用意されていてもよい。
【0291】
一方、上記周波数帯域毎のAM符号データを受信した装置では、上記符号化テーブルを用いて第1の周波数帯域成分のAM情報を取り出し、当該第1の周波数帯域成分のAM情報と第1の周波数帯域成分の基本波(例えば、160Hzの正弦波)とを掛け合わせることによって、第1の周波数帯域成分に対応するAM波を生成する。また、上記装置では、上記符号化テーブルを用いて第2の周波数帯域成分のAM情報を取り出し、当該第2の周波数帯域成分のAM情報と第2の周波数帯域成分の基本波(例えば、320Hzの正弦波)とを掛け合わせることによって、第2の周波数帯域成分に対応するAM波を生成する。そして、上記装置では、第1の周波数帯域成分に対応するAM波と第2の周波数帯域成分に対応するAM波とを足し合わせることによって合成波を生成し、当該合成波に基づいてアクチュエータを駆動制御するための振動制御信号を生成する。なお、上述したAM符号データをデコードしてアクチュエータを振動制御する処理は、上記転送元装置からAM符号データを取得することに応じてリアルタイムに行われてもよい。
【0292】
次に、AMFM符号データ(すなわち、振幅更新命令および周波数更新命令が行われる符号データ)の転送元となる装置において行われるデータ出力処理の詳細を説明する。なお、後述する説明では、データ出力処理の一例として、符号データ送信処理を用いる。まず、
図43を参照して、上記転送元装置の符号データ送信処理において用いられる主なデータについて説明する。
図43は、符号データ送信処理を行う際に、上記転送元装置の記憶部に記憶される主なデータおよびプログラムの一例を示す図である。
【0293】
図43に示すように、上記転送元装置の記憶部のデータ記憶領域には、オリジナル振動データDa、周波数分析処理データDb、エンベロープ処理データDc、符号化処理データDd、およびAMFM符号データDe等が記憶される。なお、上記転送元装置の記憶部には、
図43に示すデータの他、実行するアプリケーションで用いるデータ等、処理に必要なデータ等が記憶されてもよい。また、上記転送元装置の記憶部のプログラム記憶領域には、符号データ送信プログラムを構成する各種プログラム群Paが記憶される。
【0294】
オリジナル振動データDaは、上記転送元装置において予め準備されているオリジナルの振動データ(振動波形)であり、AMFM符号データを生成する処理の元になる振動データである。
【0295】
周波数分析処理データDbは、オリジナルの振動データ(振動波形)を周波数分析することによって得られる当該振動データに含まれる周波数を示すデータである。
【0296】
エンベロープ処理データDcは、オリジナルの振動データまたは所定の周波数帯域成分の振動データを示す振動波形のエンベロープ波形を示すデータである。
【0297】
符号化処理データDdは、AM情報(エンベロープ概形)および/またはFM情報を用いて符号化する際に用いられるデータであり、例えば、エンコード処理に用いられる符号化テーブルデータ等を含むデータである。
【0298】
AMFM符号データDeは、AM情報(エンベロープ概形)および/またはFM情報を符号化することによって得られるAMFM符号データを示すデータである。
【0299】
次に、
図44を参照して、上記転送元装置において行われるデータ出力処理の一例である符号データ送信処理の詳細を説明する。なお、
図44は、上記転送元装置において実行される符号データ送信処理の一例を示すフローチャートである。ここで、
図44に示すフローチャートにおいては、上記転送元装置における処理のうち、オリジナルの振動データに基づいてAMFM符号データを生成して送信する処理について主に説明し、これらの処理と直接関連しない他の処理については詳細な説明を省略する。また、
図44では、上記転送元装置の制御部が実行する各ステップを「S」と略称する。
【0300】
上記転送元装置の制御部のCPUは、上記転送元装置の記憶部のメモリ等を初期化し、上記転送元装置のプログラム格納部から符号データ送信プログラムをメモリに読み込む。そして、CPUによって当該符号データ送信プログラムの実行が開始される。
図44に示すフローチャートは、以上の処理が完了した後に行われる処理を示すフローチャートである。
【0301】
なお、
図44に示すフローチャートにおける各ステップの処理は、単なる一例に過ぎず、同様の結果が得られるのであれば、各ステップの処理順序を入れ替えてもよいし、各ステップの処理に加えておよび/または代えて別の処理が実行されてもよい。また、本実施例では、上記フローチャートの各ステップの処理を上記転送元装置の制御部(CPU)が実行するものとして説明するが、上記フローチャートにおける一部のステップの処理を上記CPUが実行し、その他のステップの処理を上記CPU以外のプロセッサや専用回路が実行するようにしてもよく、上記フローチャートにおける全部のステップの処理を上記CPU以外のプロセッサや専用回路が実行するようにしてもよい。
【0302】
図44において、上記転送元装置の制御部は、送信設定を行い(ステップ61)、次のステップに処理を進める。例えば、上記転送元装置の制御部は、他の装置(例えば、情報処理装置A3)へAMFM符号データを送信するための初期設定を行う。一例として、上記転送元装置の制御部は、AMFM符号データを送信する周波数帯域の数、各周波数帯域の範囲、AMFM符号データを送信する周期、符号化に用いる符号化テーブル等を符号化処理データDdに設定して、各パラメータを初期設定する。
【0303】
次に、上記転送元装置の制御部は、AMFM符号データを生成する対象とするオリジナルの振動データを上記転送元装置の記憶部から取得して(ステップ62)、次のステップに処理を進める。例えば、上記転送元装置の制御部は、上記転送元装置の記憶部に予め格納されている複数の振動データからAMFM符号データを生成する対象とする振動データを抽出し、当該抽出した振動データをオリジナル振動データDaとして格納する。
【0304】
次に、上記転送元装置の制御部は、当該処理で用いる一時変数Nを1に初期設定し(ステップ63)、次のステップに処理を進める。
【0305】
次に、上記転送元装置の制御部は、第Nの周波数帯域に応じたバンドパスフィルタ処理を行い(ステップ64)、次のステップに処理を進める。例えば、上記転送元装置の制御部は、第Nの周波数帯域成分を通過させるバンドパスフィルタを設定し、当該バンドパスフィルタを用いてオリジナル振動データDaとして格納されている振動データ(振動波形)を処理することによって第Nの周波数帯域成分以外の周波数帯域成分が除去された振動データを生成する。
【0306】
次に、上記転送元装置の制御部は、上記ステップ64で生成した第Nの周波数帯域成分の振動データを周波数分析して(ステップ65)、次のステップに処理を進める。例えば、上記転送元装置の制御部は、第Nの周波数帯域成分の振動データを周波数分析することによって当該振動データに含まれている振動の周波数変化を分析し、当該分析結果を示すデータを周波数分析処理データDbとして格納する。
【0307】
次に、上記転送元装置の制御部は、第Nの周波数帯域成分に対応する周波数分析処理データDbに基づいて、第Nの周波数帯域成分におけるFM情報を生成し(ステップ66)、次のステップに処理を進める。例えば、上記転送元装置の制御部は、上記ステップ65において得られた周波数分析結果に基づいて、第Nの周波数帯域成分の振動データにおける周波数変化を示すFM情報(例えば、
図39や
図40に示すようなFM情報)を生成する。
【0308】
次に、上記転送元装置の制御部は、上記ステップ64で生成した第Nの周波数帯域成分の振動データのエンベロープ波形を生成して(ステップ67)、次のステップに処理を進める。例えば、上記転送元装置の制御部は、上記ステップ64で生成した第Nの周波数帯域成分の振動データ(振動波形)のエンベロープをとった信号を生成して、当該信号を示すデータをエンベロープ処理データDcとして格納する。なお、上記エンベロープ処理では、第Nの周波数帯域成分の振動データ(例えば、横軸が時間、縦軸が振幅で示された波形データ)の移動最大値(移動する一定区間毎の最大値)のエンベロープを算出してもよいし、上記振動データの一定区間毎の区間最大値のエンベロープを算出してもよいし、上記振動データにおける振幅の極大値を通る曲線を算出してもよい。
【0309】
次に、上記転送元装置の制御部は、上記ステップ67で生成したエンベロープ波形の概形およびFM情報を符号化することによって、AMFM符号データを生成して(ステップ68)、次のステップに処理を進める。例えば、上記転送元装置の制御部は、上記ステップ67で生成したエンベロープ波形の概形に基づいて、AMFM符号データを送信する周期毎の第Nの周波数帯域成分における振幅の変化量を算出する。また、上記転送元装置の制御部は、上記ステップ66において生成したFM情報に基づいて、AMFM符号データを送信する周期毎の第Nの周波数帯域成分における周波数の変化量を算出する。そして、上記転送元装置の制御部は、符号化に用いられる符号化テーブルに基づいて、算出された振幅の変化量および周波数の変化量をエンコードすることによって、AMFM符号データを送信する周期毎の第Nの周波数帯域成分に対応するAMFM符号データを生成し、当該AMFM符号データを第Nの周波数帯域成分に対応するAMFM符号データDeとして格納する。
【0310】
次に、上記転送元装置の制御部は、上記ステップ62で取得したオリジナルの振動データに対して、周波数帯域毎の符号化処理が終了したか否かを判定する(ステップ69)。そして、上記転送元装置の制御部は、符号化処理が終了していない周波数帯域が残っている場合、ステップ70に処理を進める。一方、上記転送元装置の制御部は、符号化処理が終了していない周波数帯域が残っていない場合、ステップ71に処理を進める。
【0311】
ステップ70において、上記転送元装置の制御部は、一時変数Nに1を加算し一時変数Nを更新し、上記ステップ64に処理を進める。
【0312】
一方、ステップ71において、上記転送元装置の制御部は、AMFM符号データを送信する周期毎に当該周期に対応するAMFM符号データを転送先装置(例えば、情報処理装置A3)へ送信し、当該フローチャートによる処理を終了する。
【0313】
なお、上述したAMFM符号データをエンコードする処理(すなわち、上記ステップ61〜ステップ69の処理)は、上記転送元装置におけるオフライン処理において予め処理されてAMFM符号データDeとして格納されていてもよいし、転送先の装置からの要請に応じて、リアルタイムに行われてもよい。
【0314】
次に、AMFM符号データの転送先となる情報処理装置A3において行われる振動信号生成の詳細を説明する。なお、後述する説明では、振動信号生成処理の一例として、符号データ受信処理を用いる。まず、
図45を参照して、情報処理装置A3の符号データ受信処理において用いられる主なデータについて説明する。
図45は、符号データ受信処理を行う際に、情報処理装置A3の記憶部A32に記憶される主なデータおよびプログラムの一例を示す図である。
【0315】
図45に示すように、記憶部A32のデータ記憶領域には、受信データDm、AM情報データDn、FM情報データDo、FM波データDp、AMFM波データDq、合成波データDr、および振動制御信号データDs等が記憶される。なお、記憶部A32には、
図45に示すデータの他、実行するアプリケーションで用いるデータ等、処理に必要なデータ等が記憶されてもよい。また、記憶部A32のプログラム記憶領域には、符号データ受信プログラムを構成する各種プログラム群Pbが記憶される。例えば、各種プログラム群Pbは、AMFM符号データを受信するための受信プログラム、AMFM符号データをデコードするためのデコードプログラム、振動制御信号を生成するための振動制御信号生成プログラム等が含まれる。
【0316】
受信データDmは、他の装置(例えば、上述した転送元装置)から受信したデータである。
【0317】
AM情報データDnは、他の装置から転送されたAMFM符号データから取り出されたAM情報を示すデータである。FM情報データDoは、他の装置から転送されたAMFM符号データから取り出されたFM情報を示すデータである。
【0318】
FM波データDpは、FM情報から生成された周波数変調正弦波(FM波)を示すデータである。AMFM波データDqは、AM情報をFM波に掛け合わせて生成されたAMFM波を示すデータである。
【0319】
合成波データDrは、周波数帯域毎に生成されたAMFM波を足し合わせて生成された合成波を示すデータである。振動制御信号データDsは、上記合成波に基づいて生成された、アクチュエータA373の駆動制御を行うためのデータである。例えば、振動制御信号データDsは、制御部A31から振動発生部A37へ出力するための振動制御信号(振動制御信号CS;
図37参照)を示すデータである。
【0320】
次に、
図46を参照して、情報処理装置A3において行われる振動信号生成処理の一例である符号データ受信処理の詳細を説明する。なお、
図46は、情報処理装置A3において実行される符号データ受信処理の一例を示すフローチャートである。ここで、
図46に示すフローチャートにおいては、情報処理装置A3における処理のうち、他の装置からAMFM符号データを受信して振動制御信号を生成する処理について主に説明し、これらの処理と直接関連しない他の処理については詳細な説明を省略する。また、
図46では、情報処理装置A3の制御部A31が実行する各ステップを「S」と略称する。
【0321】
情報処理装置A3の制御部A31のCPUは、記憶部A32のメモリ等を初期化し、情報処理装置A3のプログラム格納部A33から符号データ受信プログラムをメモリに読み込む。そして、CPUによって当該符号データ受信プログラムの実行が開始される。
図46に示すフローチャートは、以上の処理が完了した後に行われる処理を示すフローチャートである。
【0322】
なお、
図46に示すフローチャートにおける各ステップの処理は、単なる一例に過ぎず、同様の結果が得られるのであれば、各ステップの処理順序を入れ替えてもよいし、各ステップの処理に加えておよび/または代えて別の処理が実行されてもよい。また、本実施例では、上記フローチャートの各ステップの処理を情報処理装置A3の制御部A31(CPU)が実行するものとして説明するが、上記フローチャートにおける一部のステップの処理を上記CPUが実行し、その他のステップの処理を上記CPU以外のプロセッサや専用回路が実行するようにしてもよく、上記フローチャートにおける全部のステップの処理を上記CPU以外のプロセッサや専用回路が実行するようにしてもよい。
【0323】
図46において、制御部A31は、受信設定を行い(ステップ81)、次のステップに処理を進める。例えば、制御部A31は、他の装置(例えば、上記転送元装置)からAMFM符号データを受信するための初期設定を行う。一例として、制御部A31は、AMFM符号データを受信する周波数帯域の数、各周波数帯域の範囲、AMFM符号データを受信する周期、デコード処理に用いる符号化テーブル等を設定して、各パラメータを初期設定する。なお、上記受信設定において設定するパラメータについては、他の装置から受信した受信データに記述された情報に基づいて設定してもよい。
【0324】
次に、制御部A31は、他の装置から符号データ(例えば、AMFM符号データ)を受信するのを待つ(ステップ82)。そして、制御部A31は、他の装置から符号データを受信した場合、当該受信したデータを受信データDmとして格納して、ステップ83に処理を進める。
【0325】
ステップ83において、制御部A31は、上記ステップ82で受信したAMFM符号データをデコードしてAM情報を取り出し、次のステップに処理を進める。例えば、制御部A31は、処理対象とする周波数帯域を設定して、上記ステップ82で受信したデータから当該周波数帯域に対応するAMFM符号データを抽出し、設定されている符号化テーブルに基づいて当該周波数帯域成分のAM情報を取り出して、AM情報データDnとして格納する。ここで、AM情報の取り出し方については、
図39〜
図42を用いて説明した態様と同様である。なお、AM情報として算出された振幅値が予め設定されている振動振幅の最小値(例えば、1/4096)より小さい場合は、AM情報を当該最小値に設定する。また、AM情報として算出された振幅値が予め設定されている振動振幅の最大値(例えば、1)より大きい場合は、AM情報を当該最大値に設定する。
【0326】
次に、制御部A31は、上記ステップ82で受信したAMFM符号データをデコードしてFM情報を取り出し(ステップ84)、次のステップに処理を進める。例えば、制御部A31は、処理対象として設定されている周波数帯域に対応するAMFM符号データを上記ステップ82で受信したデータから抽出し、設定されている符号化テーブルに基づいて当該周波数帯域成分のFM情報を取り出して、FM情報データDoとして格納する。なお、FM情報の取り出し方については、
図39〜
図42を用いて説明した態様と同様である。なお、FM情報として算出された周波数が予め設定されている振動周波数の最小値(例えば、100Hz)より小さい場合は、FM情報を当該最小値に設定する。また、FM情報として算出された周波数が予め設定されている振動周波数の最大値(例えば、1000Hz)より大きい場合は、FM情報を当該最大値に設定する。
【0327】
次に、制御部A31は、上記ステップ84において取り出されたFM情報から周波数変調正弦波(FM波)を生成し(ステップ85)、次のステップに処理を進める。例えば、制御部A31は、
図39および
図40を用いて説明したように、FM情報に応じた周波数で変位する正弦波を上記周波数帯域に対応するFM波として生成し、当該FM波を示すデータをFM波データDpとして格納する。
【0328】
次に、制御部A31は、上記ステップ83において取り出されたAM情報を上記ステップ85で生成されたFM波に掛け合わせてAMFM波を生成し(ステップ86)、次のステップに処理を進める。例えば、制御部A31は、上記ステップ85で生成されたFM波に応じた周波数で上記ステップ83において取り出されたAM情報に応じた振幅で変位する振動波形を上記周波数帯域に対応するAMFM波として生成し、当該AMFM波を示すデータをAMFM波データDqとして格納する。なお、振動を生成するアプリケーションで用いる振動振幅の値に、AMFM波の振幅値を換算する場合、上記ステップ86において当該換算に必要な倍率でAMFM波の振幅値を変更してもよい。例えば、上記アプリケーション内部で振動サンプルが符号付き16ビット整数型(−32768〜+32767)で表現される場合、AMFM波の振幅値を32767倍して換算を行うとともに、AMFM波の振幅値がゼロ閾値(例えば、1.5/4096)より小さい場合はアプリケーションで用いる振動振幅の値を0に換算する。
【0329】
次に、制御部A31は、上記ステップ82において、他の周波数帯域の符号データを受信しているか否かを判定する(ステップ87)。そして、制御部A31は、他の周波数帯域の符号データを受信している場合、別の周波数帯域を処理対象に設定して、上記ステップ83に処理を進める。一方、制御部A31は、他の周波数帯域の符号データを受信していない場合(全ての周波数帯域の符号データに対するデコード処理が終了している場合)、別の周波数帯域を処理対象に設定して、ステップ83に処理を進める。
【0330】
ステップ88において、制御部A31は、上記ステップ86において生成された各周波数帯域を対象としたAMFM波を足し合わせることによって合成波を生成し、次のステップに処理を進める。例えば、制御部A31は、周波数帯域を対象としたAMFM波を足し合わせることによって生成された合成波を示すデータ合成波データDrとして格納する。
【0331】
次に、制御部A31は、上記ステップ88において生成された合成波に基づいて振動制御信号を生成し(ステップ89)、次のステップに処理を進める。例えば、制御部A31は、上記ステップ88において生成された合成波をそのまま振動制御信号として生成して、振動制御信号データDsに格納する。
【0332】
次に、制御部A31は、振動制御信号を出力し(ステップ90)、次のステップに処理を進める。例えば、制御部A31は、振動制御信号データDsが示す振動制御信号CSを振動発生部A37へ出力する。これによって、振動発生部A37は、振動制御信号CSに応じた振動をアクチュエータA373から発生させる。
【0333】
次に、制御部A31は、処理を終了するか否かを判断する(ステップ91)。処理を終了する条件としては、例えば、処理を終了させる条件が満たされたことや、ユーザが処理を終了する操作を行ったこと等がある。制御部A31は、処理を終了しない場合に上記ステップ82に戻って処理を繰り返し、処理を終了する場合に当該フローチャートによる処理を終了する。
【0334】
このように、上述した実施例に係る処理では、転送元の装置から転送された符号データを用いて、転送先の装置(例えば、情報処理装置A3)において振動データを生成することができる。ここで、転送先の装置では、所定の周期毎に転送された符号データによって、アクチュエータを振動させている途中で振動パラメータ(例えば、振動周波数、振動振幅)が変化させることも可能であり、振動中に振動パラメータを変化させる場合に符号データを効率的に取り扱うことができる。
【0335】
なお、上述した実施例では、装置間で符号データを転送することによって転送先の装置において当該符号データに基づいた振動信号が生成される例を用いたが、他の態様によって振動信号が生成されてもよい。例えば、振動信号を生成する装置(上述の例では、情報処理装置A3)の中に、所定の周期毎に生成された符号データを予め格納しておき、当該符号データに基づいた振動信号が必要となったときに自機に格納されている符号データを取得してデコードすることによって振動信号を生成してもよい。これによって、振動信号を生成する装置において、振動信号を生成するために記憶しておくデータ量を少なくすることが可能となる。
【0336】
また、上述した実施例では、情報処理装置A3にアクチュエータA373が1つ設けられている例を用いたが、ユーザに振動を与えるアクチュエータが複数設けられてもよい。一例として、情報処理装置A3の左右に一対のアクチュエータを設けてもよい。この場合、制御部A31は、1つの符号データからそれぞれのアクチュエータを駆動するための振動制御信号をそれぞれ生成してもいいし、それぞれ別の符号データ(例えば、一方のアクチュエータ用の符号データと他方のアクチュエータ用の符号データ)からそれぞれのアクチュエータを駆動するための振動制御信号をそれぞれ生成してもよい。
【0337】
例えば、アクチュエータA373が複数設けられており、それぞれのアクチュエータA373から独立した振動を発生させる場合、アクチュエータA373毎に振動を制御するための振動制御信号が制御部A31から出力される。この場合、コーデック部A371は、制御部A31から出力された振動制御信号をそれぞれ復号して、アクチュエータA373毎に振動を発生させるためのアナログ振動信号を生成して、増幅部A372へそれぞれ出力する。そして、増幅部A372は、コーデック部A371から出力されたアナログ振動信号の電流/電圧の振幅変化をそれぞれ増大させて駆動信号を生成して、複数のアクチュエータA373へそれぞれ出力する。複数のアクチュエータが情報処理装置A3に備えられている場合、ユーザの皮膚における異なる2点(一例として、情報処理装置A3本体を把持するユーザの左手と右手)に刺激を与えることによって擬似的な1点の刺激を知覚させるファントムセンセーションを利用して、当該アクチュエータは、表示部A35に表示している所定画像の位置が振動源であるように擬似的に知覚させる振動を情報処理装置A3のユーザに与えることも可能となる。
【0338】
また、上述した実施例では、符号データを転送する転送元の装置から情報処理装置A3へ当該符号データを無線で送信する例を用いたが、当該転送元の装置から情報処理装置A3へ当該符号データを有線で送信してもよい。無線または有線によって通信する転送速度が遅い場合であっても、符号データを送ることによって振動制御の遅延を防止できる。
【0339】
また、符号データの転送先となる装置は、ユーザが把持して操作する操作装置(いわゆる、コントローラ)であってもよい。この場合、操作装置内に振動を生成するアクチュエータが設けられ、符号データの転送元装置(例えば、ゲーム装置本体)から当該操作装置(例えば、コントローラ)へ振動データを生成するための符号データが無線通信で転送される。そして、上記操作装置内で符号データをデコードし、当該デコードされた振動データに基づいて内蔵されているアクチュエータを駆動制御する。このように、ゲーム装置本体と当該本体に無線接続されたコントローラとから構成されるゲームシステムであっても、当該ゲーム装置本体から符号データをコントローラに送信して当該コントローラ内のアクチュエータの駆動制御することによって、上記と同様の効果を得ることができる。なお、上記ゲーム装置本体と無線接続されるコントローラは、複数(例えば、複数のユーザがそれぞれ把持する複数のコントローラや1人のユーザが両手にそれぞれ把持する一対のコントローラ)であってもよく、ゲーム装置本体とアクチュエータをそれぞれ内蔵した複数のコントローラから構成されるゲームシステムでもよい。この場合、ゲーム装置本体から複数のコントローラへ振動データを生成するための符号データが無線通信でそれぞれ転送されることによって、それぞれのコントローラにおいて当該符号データに応じた振動を生成することができる。なお、上記ゲーム装置本体では振動データを符号化する処理は行わず、当該ゲーム装置本体にインストールされるプログラム等に振動データが予め符号化されたデータが含まれていてもよい。この場合、上記ゲーム装置本体は、予め符号化された符号データを必要に応じてコントローラに出力し、当該コントローラにおいて当該符号データをデコードすることになる。なお、ゲーム装置本体と単一または複数のコントローラとの間の通信は、無線であってもよいし、有線であってもよい。
【0340】
また、上述した説明ではデータ出力処理(例えば、符号データ送信処理)を転送元装置で行い、振動信号生成処理(符号データ受信処理)を情報処理装置A3で行う例を用いたが、上記処理における処理ステップの少なくとも一部を他の装置で行ってもかまわない。例えば、上記転送元装置や情報処理装置A3がさらに他の装置(例えば、別のサーバ、他のゲーム装置、他の携帯端末)と通信可能に構成されている場合、上記処理における処理ステップは、さらに当該他の装置が協働することによって実行してもよい。このように、上記処理における処理ステップの少なくとも一部を他の装置で行うことによって、上述した処理と同様の処理が可能となる。また、上述した処理は、少なくとも1つの情報処理装置により構成される情報処理システムに含まれる1つのプロセッサまたは複数のプロセッサ間の協働により実行されることが可能である。なお、少なくとも1つの情報処理装置により構成される情報処理システムは、複数の情報処理装置により構成される情報処理システム(いわゆる、複数の装置の複合体で構成されるシステム)と1つの情報処理装置によって構成される情報処理システム(いわゆる、複数のユニットが構成された単独の装置で構成されるシステム)とが考えられる。また、上記実施例においては、転送元装置や情報処理装置A3の制御部が所定のプログラムを実行することによって、上述したフローチャートによる処理が行われたが、転送元蔵置や情報処理装置A3が備える専用回路によって上記処理の一部または全部が行われてもよい。
【0341】
ここで、上述した変形例によれば、いわゆるクラウドコンピューティングのシステム形態や分散型の広域ネットワークおよびローカルネットワークのシステム形態でも本実施例を実現することが可能となる。例えば、分散型のローカルネットワークのシステム形態では、据置型の情報処理装置(据置型のゲーム装置)と携帯型の情報処理装置(携帯型のゲーム装置)との間で上記処理を協働により実行することも可能となる。なお、これらのシステム形態では、上述した処理の各ステップの処理をどの装置で行うかについては特に限定されず、どのような処理分担をしたとしても本実施例を実現できることは言うまでもない。
【0342】
また、上述した情報処理で用いられる処理順序、設定値、判定に用いられる条件等は、単なる一例に過ぎず他の順序、値、条件であっても、本実施例を実現できることは言うまでもない。また、上述した情報処理装置で用いられる各構成部品の形状、数、配置位置、部品が有する機能等は、単なる一例に過ぎず他の形状、数、配置位置であってもいいし、他の機能を有するものであっても、本実施例を実現できることは言うまでもない。一例として、情報処理装置に振動を与えるアクチュエータや情報処理装置から音声を出力するスピーカは、3つ以上であってもよい。また、情報処理装置は、複数の表示部を有してもよい。また、上述した説明では、携帯型の装置(例えば、タブレット端末)を情報処理装置A3の一例として用いたが、情報処理装置A3は、携帯型の装置より相対的に大きな手持ち型の装置または可搬型の装置でもよい。ここで、手持ち型の装置とは、ユーザが手に持って操作することができる装置であり、上述した携帯型の装置を含む概念である。また、可搬型の装置とは、当該装置を用いる際に当該装置本体を移動させたり、当該装置を用いる際に当該本体の姿勢を変えたり、当該装置本体を持ち運びしたりできる装置であり、上述した手持ち型の装置や携帯型の装置を含む概念である。
【0343】
また、上記振動信号生成プログラムは、外部メモリ等の外部記憶媒体を通じて情報処理装置A3に供給されるだけでなく、有線または無線の通信回線を通じて情報処理装置A3に供給されてもよい。また、上記振動信号生成プログラムは、情報処理装置A3内部の不揮発性記憶装置に予め記録されていてもよい。なお、上記振動信号生成プログラムを記憶する情報記憶媒体としては、不揮発性メモリの他に、CD−ROM、DVD、あるいはそれらに類する光学式ディスク状記憶媒体、フレキシブルディスク、ハードディスク、光磁気ディスク、磁気テープ、などでもよい。また、上記振動信号生成プログラムを記憶する情報記憶媒体としては、上記振動信号生成プログラムを記憶する揮発性メモリでもよい。このような記憶媒体は、コンピュータ等が読み取り可能な記録媒体ということができる。例えば、コンピュータ等に、これらの記録媒体のゲームプログラムを読み込ませて実行させることにより、上述で説明した各種機能を提供させることができる。
【0344】
以上、本発明を詳細に説明してきたが、前述の説明はあらゆる点において本発明の例示に過ぎず、その範囲を限定しようとするものではない。本発明の範囲を逸脱することなく種々の改良や変形を行うことができることは言うまでもない。本発明は、特許請求の範囲によってのみその範囲が解釈されるべきであることが理解される。また、当業者は、本発明の具体的な実施例の記載から、本発明の記載および技術常識に基づいて等価な範囲を実施することができることが理解される。また、本明細書において使用される用語は、特に言及しない限り、当該分野で通常用いられる意味で用いられることが理解されるべきである。したがって、他に定義されない限り、本明細書中で使用される全ての専門用語および技術用語は、本発明の属する分野の当業者によって一般的に理解されるのと同じ意味を有する。矛盾する場合、本明細書(定義を含めて)が優先する。
【0345】
上述したゲームコントローラ1の左右のグリップ部に設けられた振動モータ50は、上記振動データ(上記振動信号生成装置が受信する振動データ(例えば、上記AMFM符号データ))に基づいて動作してもよい。ゲームコントローラ1が上記振動データをゲーム装置100(又は上記情報処理装置A3、あるいは、その他の装置)から受信し、当該振動データに基づいて、左右のグリップ部に設けられた振動モータ50を振動させてもよい。この場合、ゲームコントローラ1は、異なる2つの振動データを受信し、受信した2つの振動データに基づいて、左右のグリップ部に設けられた振動モータ50をそれぞれ異なる振動パターンで振動させてもよい。また、ゲームコントローラ1は、1つの振動データ(あるいは2つの同じ振動データ)を受信し、当該受信した振動データに基づいて、左右のグリップ部に設けられた振動モータ50をそれぞれ同じ振動パターンで振動させてもよい。また、ゲームコントローラ1に設けられた記憶装置(例えばROMや読み書き可能な不揮発性メモリ等)に上記振動データが保存され、当該振動データに基づいて、左右のグリップ部に設けられた振動モータ50が振動してもよい。
【0346】
また、ゲームコントローラ1のハウジング10の本体内部(基板等が配置されたハウジング10の内部)にも別の振動モータ(左右のグリップ部の振動モータ50と同じリニア振動アクチュエータ、又は、左右のグリップ部の振動モータ50と異なる種類の振動モータ)が設けられ、当該ハウジング10の本体に振動モータが、上記振動データに基づいて振動してもよい。この場合、ゲームコントローラ1は、3つの異なる振動データを受信し(又は3つの異なる振動データがゲームコントローラ1の記憶装置に記憶され)、当該3つの振動データに基づいて、左側のグリップ部8aに設けられた振動モータ50a、右側のグリップ部8bに設けられた振動モータ50b、および、ハウジング10の本体に設けられた振動モータをそれぞれ振動させてもよい。また、1つの振動データに基づいて3つの振動モータをそれぞれ振動させてもよい。