説明

ユーザインタフェース装置および操作感度調整方法

【課題】ユーザの意思を正しく伝達しやすいボディインタフェースを提供する。
【解決手段】ユーザインタフェース処理装置100のコントローラインタフェース処理部130は、ゲームコントローラ200が内蔵するセンサからゲームコントローラ200のロール回転角とピッチ回転角の大きさをそれぞれロール回転値、ピッチ回転値として取得する。操作量決定部120は、ロール回転値に対するロール操作量の反応感度が異なる複数種類の感度特性パターンの中から、ピッチ回転値応じて感度特性パターンを選択し、選択された感度特性パターンを参照して、ロール回転値に対応する操作量を決定する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ユーザインタフェース技術に関し、特に、ユーザの操作感を調整する技術に関する。
【背景技術】
【0002】
据え置き型のゲーム機器はいうに及ばず、携帯型のゲーム機器でコンピュータゲームを楽しむスタイルも定着した感がある。ユーザは、通常、複数の入力ボタンを駆使してコンピュータゲームを操作する(以下、このようなボタン入力によるユーザインタフェースのことを「ボタンインタフェース」とよぶことにする)。しかし、近年ではコンピュータゲームの高度化にともなってボタンインタフェースが複雑化しつつあり、ゲームの操作が難しくなってきている。また、多くのボタンを設置するためのスペースを小さなゲームコントローラ上に確保するという問題もある。
【0003】
このようなボタンインタフェースの問題点を解決するために、ゲームコントローラや携帯型ゲーム機器本体の動きを入力とするユーザインタフェースが注目されている(以下、「ボディインタフェース」とよぶ)。たとえば、ゲームコントローラ内に内蔵される加速度センサにより、ゲームコントローラの動きを検出する。ゲームコントローラ自体の動きの大きさがゲームキャラクタの動きに反映される。ボディインタフェースは、直感的でわかりやすいというメリットがある。
【特許文献1】特開平11−099284号公報
【発明の開示】
【発明が解決しようとする課題】
【0004】
しかし、ボディインタフェースも万能ではない。ユーザの意思とゲームコントローラの動きが一致するとは限らないからである。たとえば、右利きのユーザは、ゲームコントローラを右に傾けがちとなるかもしれない。ゲームコントローラを安定的に動かすことができるユーザもいれば、苦手なユーザもいるかもしれない。本発明者は、ユーザの動きを忠実にゲームに伝えるボディインタフェースが、必ずしもユーザの意思を正しくゲームに伝えるとは限らないという課題を発見した。
【0005】
本発明は、本発明者のこのような課題認識に基づいてなされたものであり、その主たる目的は、ユーザの意思を好適に伝達可能なボディインタフェースを実現することである。
【課題を解決するための手段】
【0006】
本発明のある態様は、物体の動きの大きさと方向をそれぞれ検出可能なセンサを内蔵し、デバイス本体を把持するユーザの手の動きを操作量として伝達するための入力デバイスを介して、入力デバイスの第1方向への動きを操作量に変換するユーザインタフェース装置である。
この装置は、第1方向への動きの大きさに対する操作量の反応感度が異なる複数種類の感度特性パターンの中から、第2方向への動きの大きさに応じた感度特性パターンを選択し、選択された感度特性パターンを参照して第1方向への動きの大きさに応じた操作量を決定する。
【0007】
このような処理方法によれば、第2方向への動きの大きさに応じて第1方向への動きの大きさを操作量に変換するための変換規則を切り換えることができる。そのため、ユーザの操作内容にあわせて操作感度を調整できる。ここでいう感度特性パターンは、第1方向への動きの大きさと操作量があらかじめ対応づけられたデータテーブルであってもよいし、第1方向への動きの大きさを操作量に変換するための公式や規則、すなわち、アルゴリズムであってもよい。
【0008】
なお、本発明を方法、システム、プログラム、記録媒体により表現したものもまた、本発明の態様として有効である。
【発明の効果】
【0009】
本発明よれば、ユーザの意思を正しく伝達しやすいボディインタフェースを提供できる。
【発明を実施するための最良の形態】
【0010】
図1は、本実施例におけるコンピュータゲームの実行環境を示す模式図である。
ゲーム装置202は、据え置き型のゲーム機器である。DVD−ROM(Digital Versatile Disk-ROM)やCD−ROMなどの記録媒体からコンピュータゲームのプログラムを読み出して実行する。モニタ204は一般的なテレビモニタでありゲーム装置202と接続される。ゲーム装置202からの画像信号を受信して、ゲーム画像を表示する。ゲームコントローラ200は、ユーザがコンピュータゲームを操作するための入力デバイスであり、ゲーム装置202に接続される。以下、レーシングゲームを題材として説明する。ユーザは、ゲームコントローラ200を介して自車であるユーザオブジェクト206を操作する。
【0011】
ゲームコントローラ200は一般的な入力ボタンを備える。また、ゲームコントローラ200自体の動きを検出するための加速度センサを内蔵している。ユーザがゲームコントローラ200を前後左右に傾けると、その加速度が操作信号としてゲーム装置202に伝送される。このように、ゲームコントローラ200はボタンインタフェース機能とボディインタフェース機能を両方備えるが、以下においてはボタンインタフェース機能を中心として説明する。
【0012】
図2は、ゲームコントローラ200を中心とした座標系を示す模式図である。
ゲームコントローラ200を中心として、x軸、y軸、z軸からなる直交座標系が仮想的に設定されている。この直交座標系は、ゲームコントローラ200の動きに応じて向きが変化するローカルな座標系である。以下、各軸について述べる。
[x軸:ピッチ]
ゲームコントローラ200を把持するユーザからみて、左から右の方向にx軸が設定される。x軸と中心として前方または後方に対する回転角のことを「ピッチ(Pitch)角」とよぶ。
[y軸:ロール]
ゲームコントローラ200を把持するユーザからみて、手前から前方に抜けるようにy軸が設定される。y軸と中心として右方向または左方向に対する回転角のことを「ロール(Roll)角」とよぶ。
[z軸:ヨー]
ゲームコントローラ200を把持するユーザからみて、下方から上方に抜けるようにz軸が設定される。z軸と中心として右方向または左方向に対する回転角のことを「ヨー(Yaw)角」とよぶ。
【0013】
ゲームコントローラ200は、3軸方向の加速度を検出するための加速度センサとz軸を中心とした回転、すなわちヨー回転の角速度を検出するためのジャイロセンサを内蔵している。加速度センサは、錘と、錘を支える梁、梁上に形成したピエゾ抵抗素子を含む。ゲームコントローラ200の動きは錘に伝達される。錘の動きによって梁が歪み、その歪みがピエゾ抵抗素子の抵抗値に変化として検出される。このような既知のピエゾ抵抗方式によりx軸、y軸、z軸のそれぞれの方向についての加速度が検出される。ジャイロセンサは、物体の回転運動を圧電振動子の電圧変化として取り出す。このように、加速度センサやジャイロセンサは既知のセンシング技術を応用した一般的なセンサである。以下、x軸方向の加速度のことを「x加速度」とよぶ。y軸、z軸についても同様であり、それぞれ「y加速度」、「z加速度」とよぶ。
【0014】
ゲームコントローラ200の内蔵センサが検出したx加速度は、0〜255の範囲のデジタル値(以下、「x加速値」とよぶ)に変換され、操作信号として伝送される。x軸の正方向のx加速値は「127〜255」、x軸の負方向のx加速値は「0〜127」となる。y加速度、z加速度もそれぞれ同様であり、y加速値、z加速値として伝送される。また、ジャイロセンサが検出した角速度も、0〜255の範囲のデジタル値(以下、「角速度値」とよぶ)に変換され、操作信号として伝送される。このように、ゲームコントローラ200のボディインタフェースに関わる情報として、x加速値、y加速値、z加速値および角速度値の4種類のデジタル値が操作信号として伝送される。
【0015】
図3は、加速度と回転角の関係を示す模式図である。
同図に示すように、ゲームコントローラ200が基本姿勢にあるときには、x加速度は0、y加速度も0、z加速度は−1Gである(Gは重力加速度を示す)。ゲームコントローラ200がロール回転すると、x加速度とz加速度が大きくなるが、y加速度は変化しない。ゲームコントローラ200のロール回転が90度を超え、裏返し方向に回転すると、x加速度は減少に転じるが、z加速度はいっそう大きくなる。
【0016】
同様の理由からピッチ角やヨー角が変化してもx方向にかかる重力は変化しない。しかし、ロール角が変化するとx軸と地面が平行でなくなるのでx加速値が大きくなる。y加速値はロール角やヨー角によって変化しないが、ピッチ回転によって変化する。z加速値はヨー回転によって変化しないが、ロール角やピッチ角によって変化する。実際には、x〜z加速値からヨー角を特定するのが難しいため、ヨー角はジャイロセンサの角速度値に基づいて特定される。
【0017】
本実施例に示すレーシングゲームの場合、ロール回転によりx加速値を変化させ、ユーザオブジェクト206を左右に移動させる。ロール角がハンドルの回転角を模している。また、ピッチ角によりユーザオブジェクト206の移動速度を調整できる。ピッチ角はアクセルやブレーキの踏み込み量を模している。ゲームコントローラ200が前方に傾けられy加速度が大きくなると、アクセルが踏み込まれた状態となり、ユーザオブジェクト206は加速する。反対に、後方に傾けられy加速度が小さくなると、いいかえればy軸と逆方向に大きくなると、ブレーキが踏み込まれた状態となり、ユーザオブジェクト206は減速する。十字ボタンなどのボタンインタフェースやいわゆるアナログスティックは、ユーザの指の動きをユーザオブジェクト206に伝えるタイプの入力インタフェースである。これに対し、本実施例に示すボディインタフェースによれば、ユーザは手首や体全体を使ってユーザオブジェクト206を操作できる。より直感的でゲーム環境に没入しやすいユーザインタフェースとなっている。
【0018】
以下においては、x加速値とy加速値を中心として説明し、z加速値や角速度値による制御については特に言及しない。しかし、x加速値やy加速値を対象として説明する以下の制御方法とz加速値や角速度値に対する制御方法の原理は基本的に同じである。x加速値やy加速値に加えてz加速値や角速度値を使うタイプのゲームとしてはシューティングゲームやフライトシミュレーションゲームなどが考えられる。シューティングゲームであればx加速値とy加速値によりオブジェクトを前後左右に移動させ、z加速値や角速度値によって砲門の向きを変えるというユーザインタフェースが考えられる。また、フライトシミュレーションゲームであれば、角速度値の変化に基づきオブジェクトの位置を変えずに旋回させるというユーザインタフェースが考えられる。
【0019】
ゲームコントローラ200にて検出されたx加速値とy加速値はゲーム装置202に対して操作信号として定期的に伝送される。これらの加速値は、ゲーム装置202内にある後述のユーザインタフェース処理装置100によって操作量に変換される。以下、x加速値を変換した操作量のことを「x操作量」とよぶ。y加速値、z加速値、角速度値は、それぞれ「y操作量」、「z操作量」、「角速度操作量」に変換される。操作量は、ゲーム環境内において、操作対象となるユーザオブジェクト206に作用する力の大きさを示すパラメータである。本実施例における操作量は、いずれも「0〜255」の範囲内の数値となる。
【0020】
たとえば、ゲームコントローラ200が右方向にロール回転し、x加速値「+190」が検出されたとする。ユーザインタフェース処理装置100は、仮に、このx加速値「+190」を所定の変換規則によりx操作量「+110」に変換したとする。このとき、ゲームソフトウェアはx操作量「+110」に応じて、ユーザオブジェクト206の進行方向を決定する。このようにして、ゲームコントローラ200本体の動きがユーザオブジェクト206に伝えられる。加速値から操作量を特定するための変換規則は、図7以降に関連して詳述する「感度特性パターン」として定義される。上述の例の場合、感度特性パターンにおいて、x加速値「+190」がx操作量「+110」と対応づけられていたことになる。詳しくは後述する。
【0021】
図4は、ユーザインタフェース処理装置100の機能ブロック図である。
ここに示す各ブロックは、ハードウェア的には、コンピュータのCPUをはじめとする素子や機械装置で実現でき、ソフトウェア的にはコンピュータプログラム等によって実現されるが、ここでは、それらの連携によって実現される機能ブロックを描いている。したがって、これらの機能ブロックはハードウェア、ソフトウェアの組み合わせによっていろいろなかたちで実現できることは、当業者には理解されるところである。
ここでは、主として各ブロックの発揮すべき機能について、その具体的な作用については、図5以降に関連して説明する。
【0022】
ユーザインタフェース処理装置100は、ゲームコントローラ200から各種加速値と角速度値を取得し、加速値と角速度値からそれぞれに対応する操作量を特定し、ゲームコントローラ200の制御部に対して操作量を送信するソフトウェアモジュールとして実現されてもよい。ユーザインタフェース処理装置100は、たとえば、DLL(Dynamic Link Library)のようなライブラリ形式で提供されてもよい。ユーザインタフェース処理装置100は、DVDにゲームソフトウェアの一部として格納されてもよいし、ゲーム装置202のミドルウェアとして提供されてもよい。あるいは、ゲームコントローラ200に搭載され、加速値や角速度値を操作量に変換して、操作量をゲームコントローラ200に伝送する装置であってもよい。
【0023】
本実施例のユーザインタフェース処理装置100は、ゲーム装置202のミドルウェアとして提供されるソフトウェアモジュールである。ユーザインタフェース処理装置100は、ゲームコントローラ200からゲーム装置202に送信される各種操作信号のうち、x加速値、y加速値、z加速値の各加速値と角速度値を取得する。そして、これらの加速値と角速度値を操作量に変換してゲームソフトウェアの処理用のパラメータとして提供する。
【0024】
ユーザインタフェース処理装置100は、コンテンツインタフェース処理部110、操作量決定部120、コントローラインタフェース処理部130、パターン記憶部140および操作履歴記憶部150を含む。
コンテンツインタフェース処理部110は、ゲーム装置202で実行されるゲームソフトウェアとのインタフェースを担当する。コントローラインタフェース処理部130は、ゲームコントローラ200とのインタフェースを担当する。操作量決定部120は、検出された加速値や角速度値から操作量を特定する。また、操作量決定部120は、コンテンツインタフェース処理部110、コントローラインタフェース処理部130、パターン記憶部140、および操作履歴記憶部150の間のインタフェースの役割も果たす。
パターン記憶部140は、あらかじめ用意された複数種類の感度特性パターンを格納する。操作履歴記憶部150は、ユーザの操作履歴を示す操作履歴データを保持する。
【0025】
コントローラインタフェース処理部130は、x入力部132、y入力部136、z入力部134およびジャイロ入力部138を含む。x入力部132はゲームコントローラ200から送信された操作信号からx加速値を取得する。y入力部136はy加速値を取得し、z入力部134はz加速値を取得し、ジャイロ入力部138はジャイロセンサの検出した角速度値を取得する。x入力部132、z入力部134、y入力部136、ジャイロ入力部138はそれぞれ所定の時間間隔、たとえば、0.01秒ごとに各加速値と角速度値を定期的に取得し、操作履歴記憶部150の操作履歴データに記録する。操作履歴データにおいては、過去所定時間、たとえば、過去3分間における加速値と角速度値が記録される。以下、このような期間のことを「履歴期間」とよぶ。すなわち、3分間÷0.01秒=18000より、最新の18000個の加速値や角速度値が記録される。操作履歴データとして、x加速値、y加速値、z加速値と角速度値の計4種類の検出値について、別々に変化の履歴が記録されることになる。
【0026】
操作量決定部120は、パターン選択部122、入力変換部124、調整部126および回転値変換部128を含む。パターン選択部122は、パターン記憶部140から感度特性パターンを選択する。感度特性パターンも、加速値と角速度値に対応して計4種類選択される。もちろん、ある加速値について選択される感度特性パターンと別の加速値について選択される感度特性パターンは同一であってもよい。入力変換部124は、選択された感度特性パターンを参照して、操作量を特定する。すなわち、x加速値をx操作量に、y加速値をy操作量に、z加速値をz操作量にそれぞれ変換する。また、角速度値を所定の操作量に変換する。調整部126は、特定された操作量を調整する。操作量の調整については図11等に関連して詳述する。回転値変換部128は、各加速値と角速度値から、ヨー角、ピッチ角、ロール角を特定する。たとえば、図3を参照すると、x加速度が0.5G、z加速度が−0.5Gのときには、ロール角を30度として特定される。
【0027】
コンテンツインタフェース処理部110は、操作量伝送部112とコンテンツ情報取得部114を含む。操作量伝送部112は、操作量決定部120により特定された各操作量をゲームソフトウェアに伝達する。コンテンツ情報取得部114は、ゲームソフトウェアに関する各種情報(以下、「コンテンツ情報」とよぶ)を取得する。コンテンツ情報は、主として2種類に大別される。
【0028】
1つ目は、実行対象となるゲームソフトウェアの種類である。たとえば、アクションゲームやシューティングゲームの場合、ユーザの動きに対するユーザオブジェクト206の追従性を高めるために操作感度を高く設定する方が好ましい。一方、シミュレーションゲームやアドベンチャーゲームの場合には、操作感度の高さよりも操作の確実性が重要である。後にも詳述するが、パターン選択部122はコンピュータゲームの種類に応じて感度特性パターンを選択する。
2つ目は、実行中のコンピュータゲームから発生する情報であり、いわゆるゲームイベントなどが該当する。たとえば、ユーザオブジェクト206がヘアピンカーブにさしかかったときや移動速度が所定速度を超えたときに、ゲームソフトウェアはさまざまなゲームイベントを発生させる。ユーザオブジェクト206の移動速度が小さいときには操作感度を高め、移動速度が大きいときには操作感度を下げることによりユーザオブジェクト206の安定走行を支援してもよい。コンテンツ情報取得部114はゲームイベントを取得し、パターン選択部122はゲームイベントに応じて感度特性パターンを選択する。
【0029】
図5は、ユーザごとの加速値検出範囲の違いを説明するための模式図である。
図5(a)は、あるユーザAの操作履歴データをグラフ化した図である。横軸は時間を示し、縦軸はx加速値を示す。図5(a)から図11(b)までは、主としてx加速値について説明するが、基本的な原理はy加速値やz加速値、角速度値についても同じである。x入力部132は定期的にx加速値を取得し、操作履歴データに記録する。図5(a)によると、ユーザAはゲームコントローラ200を左右に大きく動かしていることがわかる。以下、操作履歴データにおけるx加速値の範囲のことを「x加速値検出範囲」とよぶことにする。図5(a)の場合、ユーザAのx加速値検出範囲は、ほぼ「0〜255」である。
【0030】
図5(b)は、別のユーザBの操作履歴データをグラフ化した図である。図5(a)によると、ユーザBはユーザAに比べてゲームコントローラ200を左右に小さく動かしている。すなわち、ユーザBのx加速値検出範囲はユーザAのx加速値検出範囲よりも狭い。図5(a)と図5(b)が同じコンピュータゲームについて取得された操作履歴データであるとすると、ユーザAとユーザBはそもそもの操作のやり方が大きく異なっているといえる。したがって、ユーザBにとっては、x加速値の小さな変化でも機敏にx操作量が変化するような操作特性が好ましい。一方、大きくx加速値を変化させるユーザAにとっては、小さなx加速値の変化によってx操作量が大きく反応するような操作特性はそぐわない。
【0031】
図6も、ユーザごとの加速値検出変化率の違いを説明するための模式図である。
図6(a)は、あるユーザCの操作履歴データをグラフ化した図である。図6(a)によると、ユーザAはゲームコントローラ200を左右に小刻みに動かしていることがわかる。以下、操作履歴データにおけるx加速値の変化率のことを「x加速値検出変化率」とよぶことにする。たとえば、履歴期間の所定時点における0.1秒あたりのx加速値の変化量をx加速値検出変化率として定義してもよい。図6(b)は、別のユーザDの操作履歴データを示すグラフである。図6(b)によると、ユーザDはゲームコントローラ200をゆったりと動かしていることがわかる。すなわち、ユーザDのx加速値検出変化率はユーザCのそれよりも小さい。
【0032】
図7は、感度特性パターンの第1例を示す図である。
図7(a)から図11(b)に示す各グラフは、x加速値とx操作量の対応関係を定めるさまざまな感度特性パターンを示す。図7(a)の感度特性パターンの場合、x加速値とx操作量は正比例の関係にある。x加速値の最大値「255」がx操作量の最大値「255」に対応し、同様に、x加速値の最小値「0」がx操作量の最小値「0」に対応している。
図7(b)に示す感度特性パターンでも、x加速値とx操作量は正比例の関係にある。ただし、x加速値が「191(=255−64)」以上となると、x操作量は最大の「255」となる。また、x加速値が「63(=127−64)」以下となると、x操作量は最小の「0」となる。以下、図7(a)から図10(b)までに示すような単調増加関数タイプの感度特性パターンにおいては、最小x操作量から最大x操作量までに達するときのx加速値の範囲のことを「x加速値実質範囲」とよぶことにする。図7(a)の感度特性パターンの場合、x加速値実質範囲は「0〜255」である。図7(b)の感度特性パターンの場合、x加速値実質範囲は「63〜191」である。図7(b)の方が、図7(a)よりもx加速値実質範囲が狭くなっている。また、感度特性パターンの傾きの大きさとして
x加速値実質変化率=(最大x操作量−最小x操作量)/x加速値実質範囲
を定義する。
【0033】
これら2種類の感度特性パターンを比べてみると、図7(a)の感度特性パターンよりも図7(b)の感度特性パターンの方がx加速値実質変化率が大きい。すなわち、操作感度が高い。
【0034】
x加速値検出範囲が大きいユーザAには図7(a)のような感度特性パターンの方を適用してもよい。図7(a)の感度特性パターンの場合、x加速値実質範囲の広さとユーザAのx加速値検出範囲の広さがマッチするため、より快適な操作性を提供できる。
【0035】
ユーザBにとっては図7(b)の感度特性パターンの方を適用してもよい。図7(b)の感度特性パターンの場合、x加速値実質範囲の狭さとユーザBのx加速値検出範囲の狭さがマッチするため、より快適な操作性を提供できる。
【0036】
あるいは、別の観点から、ユーザAに対して、図7(b)の感度特性パターンを適用してもよい。
ユーザAの様にゲームコントローラ200を大きく動かすユーザに対して、図7(b)のようにx加速値実質範囲の狭い感度特性パターンを適用すると、ユーザAがゲームコントローラ200の動きを小さくするように導くことができる。図7(b)の感度特性パターンによれば大きくx加速値を変化させなくてもx操作量を変化させることができるので、ユーザAはx加速値検出範囲を狭めるように操作方法を変更することになるからである。
また、ユーザBの様にゲームコントローラ200を小さく動かすユーザに対して、図7(a)の感度特性パターンを適用してもよい。ユーザBは、x加速値を小さく変化させており、x操作量を細かく制御しようとしていると考えられる。したがって、図7(a)の様にx加速値に対してx操作量が緩やかに変化する感度特性パターンを適用することによりユーザBの意思を操作内容に反映させやすくなる。
【0037】
パターン選択部122は、操作履歴データにおけるx加速値が所定の閾値を超えるときには図7(a)の感度特性パターンを選択し、そうでないときには図7(b)の感度特性パターンを選択する。あるいは、x加速値検出範囲が所定の閾値を超えるか否かを選択条件としてもよい。履歴期間において、x加速値が所定の閾値を超えた回数に応じて、いずれかの感度特性パターンを選択してもよい。このように、パターン選択部122は操作履歴データにおけるx加速値検出範囲の広狭に応じて、感度特性パターンを選択する。
【0038】
ユーザCのようにx加速値検出変化率が大きいユーザCには、図7(b)の感度特性パターンの方が図7(a)の感度特性パターンよりも好ましい。小刻みにx加速値を変化させ、機敏な操作を求めるユーザCにとって、図7(a)のようなx加速値実質変化率が低い感度特性パターンよりも、図7(b)のような操作感度が高い感度特性パターンの方がユーザCにより適合した操作性を提供できる。
【0039】
x加速値をゆっくり変化させるユーザDにとっては図7(a)の感度特性パターンの方が好ましい。ユーザDは、慎重にゲームコントローラ200を操作する傾向にあるため、x加速値実質変化率が大きすぎると使いにくさを感じてしまう。したがって、図7(a)の感度特性パターンの場合、x加速値実質変化率の小ささとユーザBのx加速値検出変化率の小ささがマッチするため、より快適な操作性を提供できる。
【0040】
パターン選択部122は、操作履歴データにおけるx加速値検出変化率が所定の閾値を超えるときには図7(b)の感度特性パターンを選択し、そうでないときには図7(a)の感度特性パターンを選択する。あるいは、履歴期間において、x加速値検出変化率が所定の閾値を超えた回数に応じて、いずれかの感度特性パターンを選択してもよい。このように、パターン選択部122は操作履歴データにおけるx加速値検出変化率の大小に応じて、感度特性パターンを選択する。
【0041】
パターン選択部122は、刻々と更新される操作履歴データを参照しながら、感度特性パターンを動的に切り換える。入力変換部124は、感度特性パターンを参照して、検出されたx加速値に対応するx操作量を特定する。
【0042】
なお、図7(a)と図7(b)のいずれも、x加速値の中央値である「127」に対して点対称のグラフとなっているが、これは感度特性パターンにとって必須の条件ではない。たとえば、右向きのx加速値(127〜255)が大きく、左向きのx加速値(0〜127)が小さくなりがちな操作履歴データを想定する。実際、ユーザの利き腕によっては、右向きのx加速値における操作履歴と左向きのx加速値における操作履歴は別々に扱った方が好適な場合もある。この場合、パターン選択部122は、x加速値が「127〜255」のときには図7(a)の感度特性パターンを選択し、x加速値「0〜127」のときには図7(b)の感度特性パターンを選択してもよい。このような選択方法によれば、利き腕などユーザの身体的な癖まで考慮して好適な感度特性パターンを選択できる。同様の理由からx加速値「127」とx操作量「127」は必ずしも対応づけられる必要はない。ゲームコントローラ200を右に動かしがちのユーザであれば、x加速値が「127」以上の所定値にあるときにx操作量が中央値「127」となるように対応づけた方が、操作性が向上する。
【0043】
図5(a)から図6(b)において、x加速度検出範囲の中央値は、いずれもほぼ「127」となっている。しかし、x加速度検出範囲の中央値が「127」以上、あるいは、「127」以下となる場合もある。調整部126は、実際に検出されたx加速値の中央値とx操作量の中央値が対応するように感度特性パターンを調整してもよい。
たとえば、調整部126は履歴期間におけるx加速値の平均値をx加速度実質検出範囲の中央値として算出する。仮に、x加速値の平均値が「150」であったとする。そして、このx加速値の平均値「150」とx操作量の中央値「127」が一致するように、感度特性パターンを平行移動させる。このような調整によれば、x加速度の検出範囲に応じてx操作量とx加速値の対応関係を好適に追従させることができる。
【0044】
調整部126は、選択された感度特性パターンを更に調整してもよい。たとえば、履歴期間において、x加速値が「63〜191」の範囲を逸脱した回数が10回以上となるときには、パターン選択部122は図7(b)の感度特性パターンを選択し、「31〜223」の範囲を逸脱した回数も10回以上となるときには、調整部126は図7(b)のx加速値実質範囲を「63〜191」から「31〜223」に広げてもよい。また、これにあわせてx加速値実質変化率も調整されることになる。すなわち、x加速値が「0〜31」のときにはx操作量は「0」、x加速値が「223〜255」のときにはx操作量は「255」となる。そして、x加速値が「31〜223」のときには、x加速値に正比例してx操作量は0から255に変化する。
【0045】
感度特性パターンが選択変更されたとき、x加速値に対するx操作量の対応関係は瞬間的に切り換えられなくてもよい。図7(a)の感度特性パターンに代えて図7(b)の感度特性パターンを選択するとする。このとき、調整部126は、図7(a)のx加速値実質範囲を徐々に狭めながら、図7(a)の感度特性パターンから図7(b)の感度特性パターンに変化させてもよい。感度特性パターンを緩やかに変化させることにより、ユーザが操作感の変化に対応しやすくなる。図8(a)以降についても同様である。
調整部126は、アプリケーションソフトウェアからの指示に応じて感度特性パターンの切り換え速度を変化させてもよい。たとえば、複雑な操作や敏捷な操作をユーザに要求する場面では、調整部126は比較的ゆっくりと感度特性パターンを切り換える。これにより、ユーザは徐々に操作感の変化になじむことができる。一方、メニュー選択画面などのいわば静的な場面では、調整部126は比較的すばやく感度特性パターンを切り換えてもよい。
感度特性パターンが加速値と操作量の対応関係をあらかじめ定めるデータテーブルではなく、加速値から操作量を特定するための計算式である場合も同様である。たとえば、x操作量=a×x加速値+bという関係が成立しているときに、係数aや係数bの大きさを徐々に変化させることにより、ある感度特性パターンから別の感度特性パターンへと変化させてもよい。
【0046】
パターン選択部122は実行対象となるゲームソフトウェアの種類に応じて感度特性パターンを選択することもできる。たとえば、実行対象となるコンピュータゲームが高い操作感度を必要とするアクションゲームの場合、パターン選択部122は図7(b)の感度特性パターンを選択する。また、実行対象となるコンピュータゲームが操作感度よりも操作の安定性が重要なシミュレーションゲームの場合、パターン選択部122は図7(a)の感度特性パターンを選択する。実行対象となるコンピュータゲームがゲーム装置202のメモリにロードされるときに、コンテンツ情報取得部114は、ゲームソフトウェアからゲームの種類を示す情報を受信し、パターン選択部122が対応する感度特性パターンを選択する。ゲームソフトウェアがどのような感度特性パターンを選ぶべきかを明示的にコンテンツ情報取得部114に通知してもよい。
【0047】
パターン選択部122は、ゲームイベントに応じて感度特性パターンを選択してもよい。たとえば、レーシングゲームの場合、ユーザがユーザオブジェクト206のタイヤやサスペンションが交換されたとき、パターン選択部122は感度特性パターンを変更してもよい。このような選択方法によれば、ユーザオブジェクト206について選択されるスペックに応じて、操作感を変更することができる。また、ユーザオブジェクト206の移動速度が大きいときには図7(a)のように操作感度を下げ、移動速度が小さいときには図7(b)のように操作感度を上げれば、ユーザはユーザオブジェクト206を操作しやすくなる。移動速度が大きいときはユーザオブジェクト206の直進性が重視される状況にあると考えられるため、このような選択方法によればよりユーザの意思に合致した操作性を提供できる。
【0048】
図8は、感度特性パターンの第2例を示す図である。
図8(a)の感度特性パターンの場合、x加速値が「95〜159」のときx操作量は変化しない。このようなx加速値の範囲のことを「遊び範囲」とよぶ。遊び範囲を設けることにより、x操作量を中央値「127」に設定しやすくなる。図8(b)の感度特性パターンの遊び範囲は「111〜143」となっており、図8(a)の感度特性パターンの遊び範囲よりも狭くなっている。
【0049】
x加速値検出範囲が広いユーザAには、図8(b)よりも図8(a)のような感度特性パターンの方が好ましい。大きな操作を好むユーザAにとって、図8(b)のような遊び範囲が狭い感度特性パターンでは、x操作量を中立的な「127」に戻すのが難しく感じられる。一方、図8(a)の感度特性パターンの場合、遊び範囲の広さとユーザAのx加速値検出範囲の広さがマッチするため、より快適な操作性を実現できる。
【0050】
ユーザBにとっては図8(b)の感度特性パターンの方が好ましい。ユーザBのx加速値検出範囲は狭いので、図8(a)のような遊び範囲が広い感度特性パターンの場合、ユーザBは反応性の悪さを感じてしまう。一方、図8(b)の感度特性パターンの場合、遊び範囲の狭さとユーザBのx加速値検出範囲の狭さがマッチするため、より快適な操作性を提供できる。図7に関連して説明したのと同様、パターン選択部122は操作履歴データにおけるx加速値検出範囲の広狭に応じて、感度特性パターンを選択する。
【0051】
ユーザCのようにx加速値検出変化率が大きいユーザCには、図8(a)の感度特性パターンの方が図8(b)の感度特性パターンよりも好ましい。小刻みにx加速値を変化させるユーザCにとって、図8(b)のような遊び範囲が狭い感度特性パターンよりも、図8(b)のような遊び範囲が広い感度特性パターンの方が操作を安定させやすく、ユーザCにより適合した操作性を提供できる。
【0052】
x加速値をゆっくり変化させるユーザDにとっては図8(b)の感度特性パターンの方が好ましい。ユーザDは、慎重にゲームコントローラ200を操作する傾向にあるため、x操作量を細かく制御することができる。そのため、遊び範囲が広いとかえって使いにくさを感じてしまう。図8(b)の感度特性パターンの場合、遊び範囲の狭さとユーザBのx加速値検出変化率の小ささがマッチするため、より快適な操作性を提供できる。図7に関連して説明したのと同様、パターン選択部122は操作履歴データにおけるx加速値検出変化率の大小に応じて、感度特性パターンを選択してもよい。
【0053】
調整部126は、選択された感度特性パターンを更に調整してもよい。たとえば、履歴期間において、x加速値が「63〜191」の範囲を逸脱した回数が10回以上となるときには、パターン選択部122は図8(a)の感度特性パターンを選択し、「31〜223」の範囲を逸脱した回数も10回以上となるときには、調整部126は図8(b)の遊び範囲を「111〜143」から「63〜191」に更に広げてもよい。
【0054】
パターン選択部122は実行対象となるゲームソフトウェアの種類に応じて感度特性パターンを選択することもできる。たとえば、実行対象となるコンピュータゲームがアクションゲームの場合、パターン選択部122は図8(a)のような遊び範囲が大きくて操作が安定しやすい感度特性パターンを選択する。あるいは、操作感度を優先して、図8(b)のような感度特性パターンを選択するとしてもよい。
【0055】
また、図7に関連して説明したようにパターン選択部122は、ゲームイベントに応じて感度特性パターンを選択してもよい。たとえば、ユーザオブジェクト206の移動速度が大きいときに遊び範囲を広げてやれば、直進安定性を増すことができる。また、図8(a)や図8(b)においては、同じx加速値であっても、x加速値が増加する方向と減少する方向で対応するx操作量を異ならせてもよい。すなわち、ちょうどヒステリシス曲線のように対応関係を設定することにより、操作の安定性をいっそう向上させてもよい。
【0056】
図8(a)と図8(b)のいずれも、x加速値「127」となる中央値に対して点対称のグラフとなっているが、感度特性パターンにとって必須の条件でないことは図7(a)や図7(b)と同様である。遊び範囲は必ずしもx加速値「127」を中心とする必要はない。たとえば、右方向へのx加速値が大きく、左方向へのx加速値が小さくなりがちな操作履歴データを想定する。この場合、遊び範囲をたとえば、「107〜171」のように右寄りにシフトした方が、操作性が向上する。調整部126は、x加速値検出範囲の広狭やx加速値検出変化率の大小により、遊び範囲の大きさや位置を決定し、動的に感度特性パターンの対応関係を調整してもよい。
【0057】
また、図7(a)、図7(b)、図8(a)、図8(b)のうちいずれか1つの感度特性パターンを選択するのではなく、いずれか2つ以上の感度特性パターンを選択して組み合わせてもよい。たとえば、パターン選択部122は、図7(b)の感度特性パターンと図8(a)の感度特性パターンを選択し、調整部126はこれら2つの感度特性パターンを重畳し、x操作量の範囲を「0〜255」に正規化してもよい。このような処理方法によれば、複数の感度特性パターンの特徴を反映した新たな感度特性パターンを生成することができる。
【0058】
図9は、感度特性パターンの第3例を示す図である。
図9(a)や図9(b)に示す感度特性パターンは、図8(a)や図8(b)と異なり遊び範囲においてx操作量がわずかに変化している。遊び範囲とは、図8(a)や図8(b)のようにx加速値の変化に対してx操作量が全く変化しない範囲に限らず、図9(a)や図9(b)のようにx操作量の変化が鈍化する範囲であってもよい。
【0059】
図10は、感度特性パターンの第4例を示す図である。
図7(a)等に関連して説明したように、x加速値とx操作量は比例関係にあってもよいが、x操作量の変化率は滑らかに変化してもよい。図10(a)においてはx加速値「127」付近におけるx操作量の増加率は小さいが、図10(b)においては逆に大きくなっている。大きくx加速値を変化させるユーザAには、x操作量が緩やかに変化する図10(a)の感度特性パターン、小さくx加速値を変化させるユーザBにはx操作量が機敏に変化する図10(b)の感度特性パターンが好ましい。
【0060】
x加速値を小刻みに変化させるユーザCの場合、x操作量が緩やかに変化する図10(a)の感度特性パターンの方が好ましい。また、ゆっくりと安定的にx加速値を変化させるユーザDの場合、x操作量が機敏に変化する図10(b)の感度特性パターンの方が好ましい。くり返すまでもなく、パターン選択部122は、実行対象となるコンピュータゲームの種類やゲームイベントに応じて、図10(a)または図10(b)のいずれかの感度特性パターンを選択してもよい。
【0061】
図11は、感度特性パターンの第5例を示す図である。
図11(a)や図11(b)の感度特性パターンにおいては、x操作量とx加速値は1対1にて対応するとは限らない。図11(a)のグラフにおいては、x加速値とx操作量の対応関係が波打つような形状なっている。たとえば、小舟の上のユーザオブジェクト206を操作するようなゲーム性の場合に図11(a)の感度特性パターンを適用してもよい。所望のx操作量を出力するためのx加速値の設定が難しいため、ゲームコントローラ200を左右に動かしながらユーザオブジェクト206のバランスをとるような操作感を実現できる。したがって、足場の悪さをユーザにより実感させることができる。
【0062】
図11(b)においては、実線で示す感度特性パターンと点線で示す感度特性パターンが定期的に入れ替わる様子を示している。時間経過にともなって複数の感度特性パターンを動的に切り換えることによって、ユーザを翻弄するような操作感をいっそうリアルに表現できる。パターン選択部122が複数種類の感度特性パターンを適宜選択することによりこのような操作感を実現するとしてもよい。あるいは、調整部126が感度特性パターンにおける対応関係を動的に調整することによりこのような操作感を実現してもよい。たとえば、調整部126は、選択された感度特性パターンにおけるx操作量を+110%から90%の範囲で定期的に増減することにより、動的に変化する操作感を実現することができる。
【0063】
なお、以上においては、x加速値とx操作量の関係を示したが、y加速値とy操作量、z加速値とz操作量の関係についてもそれぞれ感度特性パターンの選択により決定される。これら3種類の感度特性パターンは共通であってもよいし、別々に選択されてもよい。人間の手首の構造上、ピッチ角に比べてロール角の方が大きく変化させやすい。そのため、y加速値については操作感度を高く、x加速値については操作感度を低くすることにより、いっそう快適な操作感を実現できる。
【0064】
図12は、y加速値に応じてx加速値とx操作量の関係が変化する様子を示すグラフである。
図12は、さまざまなy加速値について、x加速値とx操作量の対応関係を示している。たとえば、y加速値=255の場合、x加速値=255のときx操作量=255、x加速値=0でx操作量=0となる。すなわち、x加速値実質範囲は「0〜255」となっている。一方、y加速値=127の場合、x加速値=191でx操作量=255、x加速値=63でx操作量=0となる。すなわち、x加速値実質範囲は「63〜191」である。このように、パターン選択部122は、y加速値に応じて、x加速値実質範囲が異なる感度特性パターンを選択してもよい。
【0065】
y加速値やx加速値が共に127付近にあるとき、すなわち、ゲームコントローラ200が基本姿勢にあるときには、ユーザはゲームコントローラ200を傾けやすい。しかし、ゲームコントローラ200を前方に大きく傾けた状態で、更にロール回転させるのは比較的不自然な態勢となる。そこで、y加速値が大きいときや小さいときには、x加速値実質範囲を広げることにより、ロール回転方向の操作の安定させやすくなる。
【0066】
特に、レーシングゲームの場合、y加速値が大きく、ユーザオブジェクト206の移動速度が大きくなっているときには、x加速値実質範囲を広げることで、ユーザオブジェクト206の直進安定性を操作性の面で支援している。
もちろん、これとは逆に、x加速値が「255」のときには「127」のときよりもx加速値実質範囲を広くするとしてもよい。このような処理方法によれば、不自然な態勢にあるときの操作感度を基本姿勢にあるときの操作感度よりも高めることができる。どのようなy加速値においてどのようなx加速値実質範囲を選択するかは、実行対象となるコンピュータゲームの種類や実行状況に応じて決定すればよい。
【0067】
3次元空間において操作対象物を移動させるアプリケーション、たとえば、飛行機や潜水艦などのように3次元航行が可能な物体を操作する場合において、ユーザがゲームコントローラ200を前方に大きく傾けているとする。このとき、ユーザの「操作対象物を直進させたいという意思」が「ゲームコントローラ200の前方への大きな傾き」として現れているといえる。このときのユーザにとって、操作対象物の前方への動きに比べれば左右への動きは重要ではない、あるいは、好ましくないとすら考えられる。したがって、ゲームコントローラ200のピッチ角が大きいほど、ロール角に対する操作感度を下げることにより、ユーザの意思を反映した操作性を実現できる。このような処理方法によれば、第1の操作量から推測されるユーザの意思を考慮して、第2の操作量に対する操作感度を調整するという操作性を実現できる。
【0068】
以上、本実施例に示したユーザインタフェース処理装置100によれば、ボディインタフェースにおける操作性を向上させることができる。
本実施例において主たる説明の対象としたx加速値の場合、x加速値に対するx操作量の感度特性を変化させる要因としては以下のものが挙げられる。括弧内は、本明細書における関連図である。
1.x加速値検出範囲(図5(a)、図5(b))
2.x加速値検出変化率(図6(a)、図6(b))
3.実行対象となるコンピュータゲームの種類
4.コンピュータゲームのゲームイベント
5.ユーザオブジェクト206の移動速度
6.時間経過(図11(a)、図11(b))
7.x加速値以外の加速値(図12)
x加速値に対するx操作量の感度特性を変化内容としては以下のものが挙げられる。
1.x加速値実質範囲(図7(a)、図7(b))
2.x加速値実質変化率(図7(a)、図7(b)、図10(a)、図10(b))
3.遊び範囲(図8(a)、図8(b)、図9(a)、図9(b))
【0069】
なお、本実施例においては、加速値から操作量を特定する処理について説明したが、本発明の適用はこれに限られるものではない。たとえば、ジャイロセンサから検出されるヨー角から操作量を特定してもよい。また、x加速値、y加速値、z加速値から、図3に関連して説明した原理にて、ロール角やピッチ角を検出することも可能である。回転値変換部128は、x加速値、y加速値、z加速値、角速度値から、ヨー角、ピッチ角、ロール角をそれぞれ「0〜255」の範囲のデジタル値に変換する。感度特性パターンは、これらの回転角と操作量との対応関係を定義するパターンであってもよい。この場合、入力変換部124は、算出された回転角と感度特性パターンを参照して、操作量を特定する。このように、ゲームコントローラ200のセンサによって検出された加速値ではなく、加速値から特定された回転角に基づいて、操作量を特定してもよい。図12の場合であれば、ピッチ回転角の大きさに応じて、ロール回転角と操作量の関係を調整してもよい。
【0070】
ジョイスティックなどのユーザインタフェースにおいて、スティックの可動範囲は物理的な制約を受ける。これに対し、ゲームコントローラ200の動きそのものを入力とするボディインタフェースの場合、実質的に物理的な制約がない。そのため、ユーザは、ゲームコントローラ200を過度に大きく動かす可能性もある。感度特性パターンの切り換えにより、ユーザに操作のためにゲームコントローラ200を動かす範囲を暗黙的に認識させることにより、ユーザの操作を好適に導くことができる。
【0071】
このようなさまざまな要素によって操作感度を調整することにより、ユーザやコンテンツの種類、実行状況にあった操作性を提供できる。また、ゲームコントローラ200に内蔵される各センサの検出精度が経年変化しても、自動的に補正することができるという副次的な効果もある。本実施例においては、ゲーム装置202に接続されるゲームコントローラ200を対象として説明したが、携帯型のゲーム機器であれば本体そのものの傾きを検出対象としてもよい。また、本実施例においては、加速値や角速度値、ひいては、ゲームコントローラ200の回転角の大きさを検出対象としたが、ボディインタフェースにおける入力は加速値や傾きに限る必要はない。たとえば、磁気センサにより空間内における位置を検出し、これを入力として操作量を決定する場合においても、本実施例に示した操作感度制御方法を応用可能である。
【0072】
本実施例においては、所定形状となるような感度特性パターンを中心として説明したが、変形例としてベジェ曲線やNURBS曲線のような自由曲線となる感度特性パターンにより操作感度を調整してもよい。また、自由曲線を決定する変数、たとえば、ベジェ曲線における制御点を変化させることによりその操作感度を変化させてもよい。
なお、本実施例においては、図5(a)に示す入力パターンに対しては、図7(a)に示す感度特性パターンが適合するとして説明したが、どのような入力変数に対してどのような感度特性パターンを割り当てるかは、設計方針に応じて任意に設定すればよいことはいうまでもない。
【0073】
以上、本発明を実施例をもとに説明した。この実施例はあくまで例示であり、それらの各構成要素や各処理プロセスの組み合わせにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。
【0074】
請求項に記載の入力部の機能は、本実施例においてはx入力部132により実現されている。請求項に記載の検出値は、本実施例においては回転値として表現されている。
これら請求項に記載の各構成要件が果たすべき機能は、本実施例において示された各機能ブロックの単体もしくはそれらの連係によって実現されることも当業者には理解されるところである。
【図面の簡単な説明】
【0075】
【図1】本実施例におけるコンピュータゲームの実行環境を示す模式図である。
【図2】ゲームコントローラを中心とした座標系を示す模式図である。
【図3】加速度と回転角の関係を示す模式図である。
【図4】ユーザインタフェース処理装置の機能ブロック図である。
【図5】図5(a)は、ユーザごとのx加速値検出範囲の違いを説明するための模式図の第1例である。図5(a)は、ユーザごとのx加速値検出範囲の違いを説明するための模式図の第2例である。
【図6】図6(a)は、ユーザごとのx加速値検出変化率の違いを説明するための模式図の第1例である。図6(a)は、ユーザごとのx加速値検出変化率の違いを説明するための模式図の第2例である。
【図7】図7(a)は、感度特性パターンの第1例を示す図である。図7(b)も、感度特性パターンの第1例を示す図である。
【図8】図8(a)は、感度特性パターンの第2例を示す図である。図8(b)も、感度特性パターンの第2例を示す図である。
【図9】図9(a)は、感度特性パターンの第3例を示す図である。図9(b)も、感度特性パターンの第3例を示す図である。
【図10】図10(a)は、感度特性パターンの第4例を示す図である。図10(b)も、感度特性パターンの第4例を示す図である。
【図11】図11(a)は、感度特性パターンの第5例を示す図である。図11(b)も、感度特性パターンの第5例を示す図である。
【図12】ピッチ回転値に応じてロール回転値とロール操作量の関係が変化する様子を示すグラフ図である。
【符号の説明】
【0076】
100 ユーザインタフェース処理装置、 110 コンテンツインタフェース処理部、 112 操作量伝送部、 114 コンテンツ情報取得部、 120 操作量決定部、 122 パターン選択部、 124 入力変換部、 126 調整部、 130 コントローラインタフェース処理部、 132 x入力部、 134 z入力部、 136 y入力部、 140 パターン記憶部、 150 操作履歴記憶部、 200 ゲームコントローラ、 202 ゲーム装置、 204 モニタ、 206 ユーザオブジェクト。

【特許請求の範囲】
【請求項1】
物体の動きの大きさと方向をそれぞれ検出可能なセンサを内蔵し、デバイス本体を把持するユーザの手の動きを操作量として伝達するための入力デバイスから、前記センサの第1方向への動きの大きさを示す第1検出値と前記第1方向とは異なる第2方向への動きの大きさを示す第2検出値をそれぞれ取得する入力部と、
第1検出値に対する操作量の反応感度が異なる複数種類の感度特性パターンを記憶するパターン記憶部と、
前記取得された第2検出値に応じて感度特性パターンを選択し、前記選択された感度特性パターンを参照して、前記取得された第1検出値に対応する操作量を決定する操作量決定部と、
を備えることを特徴とするユーザインタフェース装置。
【請求項2】
前記操作量決定部は、第1検出値の変化に対して操作量が変化する割合が異なる複数種類の感度特性パターンからいずれかの感度特性パターンを選択することを特徴とする請求項1に記載のユーザインタフェース装置。
【請求項3】
前記操作量決定部は、第1検出値が変化しても操作量が変化しない検出の遊び範囲が異なる複数種類の感度特性パターンからいずれかの感度特性パターンを選択することを特徴とする請求項1または2に記載のユーザインタフェース装置。
【請求項4】
前記入力デバイスが内蔵する前記センサは、前記入力デバイスの第1の所定軸を中心とした回転角の大きさと、前記入力デバイスの第2の所定軸を中心とした回転角の大きさをそれぞれ検出可能なセンサであり、
前記入力部は、前記入力デバイスの前記第1の所定軸を中心とした回転角の大きさを第1検出値、前記第2の所定軸を中心とした回転角の大きさを第2検出値として取得することを特徴とする請求項1に記載のユーザインタフェース装置。
【請求項5】
前記入力部は、前記入力デバイスを把持するユーザからみて前記入力デバイスが前方または後方に傾けられたときの回転角の大きさを第2検出値として取得することを特徴とする請求項4に記載のユーザインタフェース装置。
【請求項6】
前記操作量決定部は、前記入力デバイスが基本姿勢にあるときの第2検出値を含む所定範囲から前記取得された第2検出値が外れたときには、前記所定範囲内にあるときよりも第1検出値に対する操作量の反応感度が低い感度特性パターンを選択することを特徴とする請求項4または5に記載のユーザインタフェース装置。
【請求項7】
ユーザが把持する入力デバイスの動きを操作量として伝達するための方法であって、
前記入力デバイスの動きの大きさを所定の2方向についてそれぞれ検出するステップと、
前記2方向のうちの一方向への動きの大きさに応じて、他方向への動きの大きさに対する前記入力デバイスの操作感度を決定するステップと、
前記決定された操作感度に応じて前記他方向への動きに対する操作量を決定するステップと、
を備えることを特徴とする操作感度調整方法。
【請求項8】
物体の動きの大きさと方向をそれぞれ検出可能なセンサを内蔵し、デバイス本体を把持するユーザの手の動きを操作量として伝達するための入力デバイスから、前記センサの第1方向への動きの大きさを示す第1検出値と前記第1方向とは異なる第2方向への動きの大きさを示す第2検出値を取得する機能と、
第1検出値に対する操作量の反応感度が異なる複数種類の感度特性パターンを記憶する機能と、
前記取得された第2検出値に応じて、いずれかの感度特性パターンを選択し、前記選択された感度特性パターンを参照して、前記取得された第1検出値に対応する操作量を決定する機能と、
をコンピュータに発揮させることを特徴とするユーザインタフェース処理プログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate


【公開番号】特開2008−11980(P2008−11980A)
【公開日】平成20年1月24日(2008.1.24)
【国際特許分類】
【出願番号】特願2006−184506(P2006−184506)
【出願日】平成18年7月4日(2006.7.4)
【出願人】(395015319)株式会社ソニー・コンピュータエンタテインメント (871)
【Fターム(参考)】