(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2021-12-08
(45)【発行日】2022-01-12
(54)【発明の名称】情報処理装置及びコントローラ装置の制御方法
(51)【国際特許分類】
G06F 3/0487 20130101AFI20220104BHJP
G06F 3/04842 20220101ALI20220104BHJP
G06F 3/01 20060101ALI20220104BHJP
A63F 13/24 20140101ALI20220104BHJP
A63F 13/42 20140101ALI20220104BHJP
A63F 13/54 20140101ALI20220104BHJP
A63F 13/55 20140101ALI20220104BHJP
A63F 13/577 20140101ALI20220104BHJP
【FI】
G06F3/0487
G06F3/0484 120
G06F3/01 510
G06F3/01 560
A63F13/24
A63F13/42
A63F13/54
A63F13/55
A63F13/577
(21)【出願番号】P 2020530131
(86)(22)【出願日】2019-07-02
(86)【国際出願番号】 JP2019026348
(87)【国際公開番号】W WO2020013039
(87)【国際公開日】2020-01-16
【審査請求日】2020-09-04
(31)【優先権主張番号】P 2018132655
(32)【優先日】2018-07-12
(33)【優先権主張国・地域又は機関】JP
【前置審査】
(73)【特許権者】
【識別番号】310021766
【氏名又は名称】株式会社ソニー・インタラクティブエンタテインメント
(74)【代理人】
【識別番号】100122275
【氏名又は名称】竹居 信利
(72)【発明者】
【氏名】ドゥセ ニコラ
(72)【発明者】
【氏名】内田 英行
(72)【発明者】
【氏名】斎藤 修幸
(72)【発明者】
【氏名】伊藤 朋仁
(72)【発明者】
【氏名】ベイリー エリック
(72)【発明者】
【氏名】山田 真之
【審査官】岩橋 龍太郎
(56)【参考文献】
【文献】国際公開第2016/186041(WO,A1)
【文献】特開2010-142561(JP,A)
【文献】特開2009-061161(JP,A)
【文献】特開2011-083461(JP,A)
【文献】国際公開第2017/061178(WO,A1)
【文献】特開2008-276615(JP,A)
【文献】特開2018-036942(JP,A)
【文献】特開2018-014109(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 3/01-3/0489
A63F 13/00-13/98
(57)【特許請求の範囲】
【請求項1】
ユーザが指で押し込むことにより、第1の位置から第2の位置までの間で移動する押し込みボタンを備えたコントローラ装置に接続される情報処理装置であって、
前記押し込みボタンの押し込み量を取得する取得手段と、
前記押し込み量が、前記第1の位置と第2の位置とを含まない、前記第1の位置と第2の位置との間に設定された2つのしきい値により設定される範囲に属するか否かを判断する判断手段と、
前記判断の結果に基づいて、所定の処理を実行する処理実行手段と、
を含
み、
前記所定の処理として、前記押し込み量が、前記2つのしきい値により設定される範囲に属するときには、ゲームキャラクタが対象物を把持しているとし、前記押し込み量が、前記2つのしきい値により設定される範囲に属しないときには、ゲームキャラクタが対象物を把持できていないとした処理を実行する情報処理装置。
【請求項2】
請求項
1に記載の情報処理装置であって、
前記コントローラ装置は、傾斜センサを備え、
前記情報処理装置は、
ユーザに提示する画像情報を生成する生成手段をさらに備え、
前記取得手段は、前記傾斜センサにより検出されたコントローラ装置の傾斜の情報を取得し、
前記処理実行手段は、前記取得手段が取得した傾斜の情報に基づいて前記画像情報中に示されるオブジェクトの傾斜角を設定する処理であって、所定の方法で定められた前記オブジェクトに関する属性情報に応じて、前記取得した傾斜の情報に対する前記オブジェクトの傾斜角の情報を制御する情報処理装置。
【請求項3】
請求項
2に記載の情報処理装置であって、
前記オブジェクトは、ゲーム空間中で仮想の対象物を切断する刃であり、前記傾斜角の情報に基づいて、仮想の対象物の切るべき位置に刃が当接しているか否かを判断し、当接していると判断したときに、前記押し込みボタンの押し込み量に基づいて、前記仮想の対象物の切断量を決定する情報処理装置。
【請求項4】
ユーザが指で押し込むことにより、第1の位置から第2の位置までの間で移動する押し込みボタンを備えたコントローラ装置に接続される情報処理装置であって、
前記押し込みボタンの押し込み量を取得する取得手段と、
前記第1の位置と第2の位置とを含まない、前記第1の位置と第2の位置との間に設定された2つのしきい値L1,L2(ただしL1<L2)に対して、前記押し込み量Pが、L1<P<L2となっているか否かを判断する判断手段と、
前記判断の結果に基づいて、所定の処理を実行する処理実行手段と、
を含み、
前記コントローラ装置は、傾斜センサを備え、
前記情報処理装置は、
ユーザに提示する画像情報を生成する生成手段をさらに備え、
前記取得手段は、前記傾斜センサにより検出されたコントローラ装置の傾斜の情報を取得し、
前記処理実行手段は、前記取得手段が取得した傾斜の情報に基づいて前記画像情報中に示されるオブジェクトの傾斜角を設定する処理であって、所定の方法で定められた前記オブジェクトに関する属性情報に応じて、前記取得した傾斜の情報に対する前記オブジェクトの傾斜角の情報を制御し、
前記オブジェクトは、ゲーム空間中で仮想の対象物を切断する刃であり、前記傾斜角の情報に基づいて、仮想の対象物の切るべき位置に刃が当接しているか否かを判断し、当接していると判断したときに、前記押し込みボタンの押し込み量に基づいて、前記仮想の対象物の切断量を決定する情報処理装置。
【請求項5】
請求項4に記載の情報処理装置であって、
前記コントローラ装置は、触覚提示デバイスを備え、
前記押し込みボタンの押し込み量Pが、前記しきい値L1またはL2を超えるときに、前記触覚提示デバイスを振動させる情報処理装置。
【請求項6】
請求項4または5に記載の情報処理装置であって、
前記コントローラ装置は、触覚提示デバイスを備え、
少なくとも前記押し込みボタンの押し込み量Pが、所定の正の値ΔLを用いて定められるL1+ΔL(ただしL1+ΔL<L2)を下回るときに、前記触覚提示デバイスを振動させるよう指示する情報処理装置。
【請求項7】
請求項3から6のいずれか一項に記載の情報処理装置であって、
前記仮想の対象物の切るべき位置に刃が当接していると判断したときに、前記押し込みボタンの押し込み量が、予め定めた基準押し込み量を超えていないときには、前記仮想の対象物の切断量を「0」と決定する情報処理装置。
【請求項8】
請求項3から7のいずれか一項に記載の情報処理装置であって、
前記決定した切断量に基づいて、前記ゲーム空間中での刃の位置を更新して表示する情報処理装置。
【請求項9】
請求項2から8のいずれか一項に記載の情報処理装置であって、
音声情報をユーザに提示する音声出力手段をさらに備え、
前記処理実行手段は、前記所定の方法で定められた前記オブジェクトに関する属性情報に応じて、前記取得した傾斜の情報に対する音声情報を制御する情報処理装置。
【請求項10】
ユーザが指で押し込むことにより、第1の位置から第2の位置までの間で移動する押し込みボタンを備えたコントローラ装置に接続される情報処理装置に、
前記情報処理装置の取得手段が、前記押し込みボタンの押し込み量を取得する工程と、
判断手段が、前記押し込み量が、前記第1の位置と第2の位置とを含まない、前記第1の位置と第2の位置との間に設定された2つのしきい値L1,L2(ただしL1<L2)に対して、前記押し込み量Pが、L1<P<L2となっているか否かを判断する工程と、
処理実行手段が、前記判断の結果に基づいて、所定の処理を実行する工程と、を実行させ、
前記所定の処理として、前記押し込み量が、前記2つのしきい値により設定される範囲に属するときには、ゲームキャラクタが対象物を把持しているとし、前記押し込み量が、前記2つのしきい値により設定される範囲に属しないときには、ゲームキャラクタが対象物を把持できていないとした処理を実行させる
コントローラ装置の制御方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置及びプログラムに関する。
【背景技術】
【0002】
近年、家庭用ゲーム機等の情報処理装置に接続されて用いられるコントローラ装置(ジョイスティック等を備え、ユーザの指示操作を受けて、当該指示操作の内容を情報処理装置に伝達する装置)は、高機能化しており、スイッチの押し込み量や傾倒操作量等のアナログ値の情報を比較的高精度に取得し、情報処理装置に提供できるようになっている。
【発明の概要】
【発明が解決しようとする課題】
【0003】
このような背景の下、こうした高機能なコントローラ装置から受け入れた情報を用いた種々の処理により、コントローラ装置を用いた体験(エクスペリエンス)の品質を向上させることが要望されている。
【課題を解決するための手段】
【0004】
上記従来例の問題点を解決する本発明の一態様は、ユーザが指で押し込むことにより、第1の位置から第2の位置までの間で移動する押し込みボタンを備えたコントローラ装置に接続される情報処理装置であって、前記押し込みボタンの押し込み量を取得する取得手段と、前記押し込み量が、前記第1の位置と第2の位置とを含まない、前記第1の位置と第2の位置との間に設定された2つのしきい値により設定される範囲に属するか否かを判断する判断手段と、前記判断の結果に基づいて、所定の処理を実行する処理実行手段と、を含むこととしたものである。
【発明の効果】
【0005】
これにより、コントローラ装置を用いた体験の品質を向上できる。
【図面の簡単な説明】
【0006】
【
図1】本発明の実施の形態に係る情報処理装置の構成例を表すブロック図である。
【
図2】本発明の実施の形態に係る情報処理装置に接続されるコントローラの概要を表す概略平面図である。
【
図3】本発明の実施の形態に係る情報処理装置に接続されるコントローラの例を表す構成ブロック図である。
【
図4】本発明の実施の形態に係る情報処理装置が行う制御の例を表す説明図である。
【発明を実施するための形態】
【0007】
本発明の実施の形態について図面を参照しながら説明する。本発明の実施の形態に係る情報処理装置1は、
図1に例示するように、制御部11と、記憶部12と、インタフェース部13と、表示制御部14と、音声制御部15と、通信部16とを含んで構成されている。またこの情報処理装置1は、コントローラ装置2との間で、有線または無線にて通信可能に接続されている。さらに情報処理装置1には、ディスプレイ等の表示装置3が接続される。またこの表示装置3は音声を出力するスピーカーを備えてもよい。
【0008】
本実施の形態の情報処理装置1に接続されるコントローラ装置2は、
図2に例示するように、ユーザが両手で把持可能なものであり、把持部21L,21Rと、本体部22とを含む。ここで把持部21L,21R(以下、両者をまとめて指す場合は、把持部21と記す)は、筐体の左右にそれぞれ設けられ、ユーザが通常の状態でコントローラ装置2を操作するときには、左手と右手のそれぞれで把持される。また、ユーザが把持部21をそれぞれの手で把持した状態で、ユーザの左右の手の親指がそれぞれ到達する本体部22上の位置には、傾倒操作可能なジョイスティック23L,23R、並びに複数のボタン24が配されている。
【0009】
また、本体部22の奥側の側面にはユーザが把持部21をそれぞれの手で把持した状態で、ユーザの左右の手の人差し指または中指が到達する位置に、揺動スイッチ25L,25Rが配されている。なお、以下の説明で、把持部21L,21R、ジョイスティック23L,23R、揺動スイッチ25L,25Rのそれぞれについて左右の構成を区別する必要がない場合は、例えば揺動スイッチ25のようにL,Rの文字を省いて表記する
【0010】
ここで、これらのジョイスティックやボタン、スイッチの構成及び配置は一例であり、このコントローラ装置2には、さらに他のスイッチやボタン等が配されていてもよい。また本実施の形態の以下の説明において、コントローラ装置2自身や、そのボタン等の各部の大きさやその比、配置等は一例であり、本実施の形態の例は、図示等した大きさや比率、配置に限られるものではない。
【0011】
さらにこのコントローラ装置2の内部には、
図3に例示するように、制御部31と、マイク32と、スピーカー33と、触覚提示デバイス34と、スイッチ制御部35と、通信部36と、センサ部37とが含まれている。
【0012】
ここでまず、コントローラ装置2の各部の構成について説明する。本実施の形態において揺動スイッチ25は、コントローラ装置2の筐体に対して、軸を介し、この軸周りに所定の角度範囲内で回動可能に固定される。
【0013】
以下の説明では、この角度範囲は、揺動スイッチ25の外側面が、筐体外側に最も突き出た位置である第一の位置と、筐体内方に向かって押し込まれた位置である第二の位置との間で揺動する範囲であるとする。
【0014】
さらに本実施の形態の揺動スイッチ25は、例えば力覚を提示可能なデバイスであってもよい。具体的にこの揺動スイッチ25の軸には、センサ部37に含まれるセンサの一つとしてロータリーエンコーダが設けられる。このロータリーエンコーダは、揺動スイッチ25の揺動位置(押し込み位置)の情報を検出して制御部31に出力する。また、この揺動スイッチ25の軸には、ブレーキ装置が配されており、制御部31から入力される指示に従って、揺動スイッチ25の回転を制動する。本実施の形態では、この制動の強さも制御部31から入力される指示に従って制御可能となっているものとする。このようなデバイスとしては、力覚を提示可能な揺動スイッチとして広く知られた構成のものを採用できるので、ここでの詳しい説明を省略する。また、本実施の形態のここでの例は、一例であり、揺動スイッチ25の力覚提示の方式も、揺動スイッチ25を内側から押し出す方向に移動制御するアクチュエータ等を用いるものであってもよい。
【0015】
また本実施の形態の以下の例では、揺動スイッチ25は、第一の位置に向かって弾性体等で付勢されているものとする。つまりこの揺動スイッチ25はユーザが操作していない状態では、第一の位置に移動した状態にある。
【0016】
コントローラ装置2の制御部31は、マイクロコンピュータ等のプログラム制御デバイスであり、制御部31内に備えるメモリに格納したプログラムに従って動作する。本実施の形態の制御部31は、マイク32から入力される音声信号を処理し、また情報処理装置1等から受信した指示に従ってスピーカー33を鳴動する。
【0017】
またこの制御部31は、触覚提示デバイス34を情報処理装置1等から受信した指示に従って制御し、ユーザに触覚を提示する。制御部31は、スイッチ制御部35を制御して、揺動スイッチ25の押し込みに対する反力を提示する。さらに、この制御部31はジョイスティック23やボタン24、揺動スイッチ25に対するユーザの操作の内容(例えば揺動スイッチ25の押し込み量等)を表す情報を、それぞれのボタンやセンサ部37等から取得し、通信部36を介して情報処理装置1に当該取得した情報を送出する。この制御部31の動作については後に詳しく述べる。
【0018】
マイク32は、コントローラ装置2の周囲の音声に対応する音声信号を生成して制御部31に出力する。スピーカー33は、制御部31から入力される音声波形に従って、当該音声波形を鳴動する。
【0019】
触覚提示デバイス34は、例えばボイスコイルモータ(VCM)やバイブレータ等であり、制御部31から入力される指示に従い、指示された波形の振動を生じさせ、コントローラ装置2を把持するユーザに振動等の触覚を提示する。本実施の形態の触覚提示デバイス34は、把持部21L,21Rにそれぞれ一つずつ配され、個別に制御することとしてもよい(
図2に触覚提示デバイス34L,34Rとして示す)。このようにすると、左右の手のそれぞれに互いに異なる触覚を提示できる。
【0020】
スイッチ制御部35は、揺動スイッチ25の力覚提示デバイスを制御し、ユーザの押し込み操作に対して反力(押し込みに反する力)を提示させる。
【0021】
通信部36は、USB(Universal Serial Bus)やネットワークインタフェース、ブルートゥース(登録商標)インタフェース等であり、有線または無線にて情報処理装置1との間で通信を行い、情報処理装置1が送信する指示等を受信して制御部31に出力する。またこの通信部36は制御部31から入力される指示に従って、指示された情報を情報処理装置1に送出する。
【0022】
センサ部37は、少なくとも一つのセンサを含む。ここでセンサは、例えば上述のように、揺動スイッチ25の回転軸に取り付けられたロータリーエンコーダを含んでもよい。またこのセンサ部37は、コントローラ装置2そのものの傾きを検出する傾斜センサを備えてもよい。この傾斜センサは、例えばコントローラ装置2の左右方向(X軸方向とする)、手前から奥側への方向(Y軸方向とする)、及びこれらのX軸,Y軸で張られる面に直交する方向(鉛直方向。Z軸方向とする)とのそれぞれのX,Y,Z軸周りの回転角を検出して出力するものとする。
【0023】
情報処理装置1の制御部11は、CPU等のプログラム制御デバイスであり、記憶部12に格納されたプログラムに従って動作する。本実施の形態では、このプログラムは、コンピュータ可読、かつ非一時的な記録媒体に格納されて提供され、この記憶部12に格納されたものであってもよい。本実施の形態の制御部11の処理例については後に説明する。
【0024】
記憶部12は、ディスクデバイスやメモリデバイス等であり、制御部11によって実行されるプログラムを保持する。またこの記憶部12は制御部11のワークメモリとしても動作する。
【0025】
インタフェース部13は、USBインタフェース等であり、USB等によって接続されたデバイス(コントローラ装置2等)との間で通信を行い、制御部11から入力された指示やデータを送出する。またこのインタフェース部13は、通信の相手方から受信した情報を制御部11に出力する。
【0026】
表示制御部14は、制御部11から入力される指示に従って、画像を描画し、当該描画した画像を表示装置3に出力して表示させる。音声制御部15は、制御部11から入力される指示に従って音声波形を生成して、表示装置3等、スピーカーを備えるデバイスに出力して、音声を鳴動させる。
【0027】
通信部16は、ネットワークインタフェースや、ブルートゥース(登録商標)インタフェース等であり、無線にて接続されたデバイス(コントローラ装置2等)や、外部のサーバ等との間で通信を行い、制御部11から入力された指示やデータを送出する。またこの通信部16は、通信の相手方から受信した情報を制御部11に出力する。
【0028】
次に、制御部11の動作例について説明する。本実施の形態の制御部11は、例えばゲームのアプリケーションプログラム等を実行して、例えば次のように動作する。
【0029】
[揺動スイッチの押し込み量]
本実施の形態の一例に係る制御部11は、アプリケーションプログラムの処理として、ユーザに対し、コントローラ装置2の揺動スイッチ25L,25Rの少なくとも一方について、その第一の位置(コントローラ装置2の筐体外方に最も突出した位置)と第二の位置(最後まで押し込んだ位置)とを含まない、これら第一の位置と第二の位置との間に設定された2つのしきい値により設定される範囲(以下、適正範囲と呼ぶ)に維持することを要求する。
【0030】
このようなアプリケーションの例として、ゲームキャラクタが、垂直な面を、手がかりとなる凸部に手をかけつつよじ登るゲームアプリケーションが考えられる。このゲームアプリケーションでは、例えば凸部の把握力を揺動スイッチ25により設定し、左右の手の移動(一方の手で凸部を把握したまま、他方の手を次の凸部へ伸ばす動作)を、ジョイスティック23の傾倒操作で行う。このとき、凸部の把握力が小さい場合(押し込み量がしきい値L1未満である場合)にはゲームキャラクタは凸部の把握力が小さいため落下してしまい、一方、凸部によっては把握力が大きすぎる(押し込み量がしきい値L2以上である)と凸部自体が破損して、やはり落下してしまうこととする。
【0031】
ここで押し込み量のしきい値L1、L2はL1<L2であり、また第一の位置の押し込み量P0(「0」とする)に対しP1<L1であるとする。さらに第二の位置の押し込み量Pmaxに対してL2<Pmaxであるとする。
【0032】
なおL2は凸部ごとに異ならせて設定することとしてもよい。また凸部によってはL2の設定がなくても(最大の把握力で把握しても破損しないこととしても)よい。この例では、L2-L1が小さいほど操作の難易度は高くなる。
【0033】
また本実施の形態のこの例では、触力覚を提示することで操作性を高めることとしてもよい。例えば、揺動スイッチ25Lの押し込み量がしきい値L1またはL2を超えるときに、制御部11は、コントローラ装置2に対して左手側の把持部21Lに内蔵した触覚提示デバイス34を振動させる指示を出力してもよい。同様に、揺動スイッチ25Rの押し込み量がしきい値L1またはL2を超えるときに、制御部11は、コントローラ装置2に対して右手側の把持部21Rに内蔵した触覚提示デバイス34を振動させる指示を出力してもよい。これにより、ユーザに対してそれぞれの手が適性範囲で把持していることがわかるようにしておく。
【0034】
また、この振動とは別に、押し込み量が正の値ΔLを用いて、例えば揺動スイッチ25Lの押し込み量がL1+ΔL(L1+ΔL<L2とする)を下回るときには、制御部11は、コントローラ装置2に対して左手側の把持部21Lに内蔵した触覚提示デバイス34を細かく振動させるよう指示を出力してもよい(右手側も同様としてもよい)。この例によると、ユーザは押し込み量が適正範囲の下限に近いことを知ることができる。
【0035】
さらに、本実施の形態では、揺動スイッチ25に対する力覚の提示により、難易度を調整することも可能である。
【0036】
例えば制御部11は、押し込み量に対する力覚(揺動スイッチ25の押し込み量の変化に対する反力(押し込み量の変化に抗する力)の設定において、しきい値L1,L2において周囲よりも比較的大きい反力を提示するよう設定してもよい(
図4)。
【0037】
このようにすると、ユーザが揺動スイッチ25を初期の位置から押し込み初めてしきい値L1に達するとき、反力を感じ、しきい値L1を超えると反力がなくなったことを感じることとなる。これによりしきい値L1を超えたことが理解しやすくなる。また、このまま押し込み量を増大させていくと、ユーザは、しきい値L2に達するときにまた反力を感じることとなり、しきい値L2を超えるような操作を抑制できる。この際、しきい値L2を超える場合の警告を大きくするのであれば、
図4に例示したように、しきい値L2近傍で提示する反力の大きさを、しきい値L1近傍において提示する反力の大きさより大きめに設定してもよい。
【0038】
さらに揺動スイッチ25が、その回転軸にブレーキを有する場合など、しきい値L1より大きい押し込み量から、押し込み量を低下させていく(揺動スイッチ25の押し込み力を下げていく)ときにも、押し込み量が低下することを抑制するように反力を提示できる構成である場合には、制御部11が、上述のように反力の設定をしておくことで、押し込み量がしきい値L1に近くなると、反力が提示され、力の低減に抗することが可能となる。
【0039】
また揺動スイッチ25が、しきい値L1より大きい押し込み量から、押し込み量を低下させていく(揺動スイッチ25の押し込み力を下げていく)ときに押し込み量が低下することを抑制するように反力を提示できない(押し込み量を低下させる方向にのみ反力を提示可能な)構成である場合は、制御部11は、押し込み量の時間変化を調べておき、揺動スイッチ25が、しきい値L1より大きい押し込み量からしきい値L1に達したときには、反力の設定に関わらず、反力を提示しないよう制御してもよい。
【0040】
このように、本実施の形態のこの例では、揺動スイッチ25の押し込み量の変動に要する力(揺動スイッチ25の重さ)を動的に変化させることで、操作の難易度を調整することとしてもよい。
【0041】
[揺動スイッチの押し込み力]
また別の例では、本実施の形態の制御部11は、アプリケーションプログラムの処理として、ユーザに対し、コントローラ装置2自体を傾けさせ、その傾きを傾斜センサの出力によって取得し、当該取得した傾きの大きさに応じて、ゲーム空間に配した電動のこぎりの傾きを変更して、その画像を描画してユーザに表示する処理を行ってもよい。
【0042】
このとき、制御部11は揺動スイッチ25の押し込み量に応じて、電動のこぎりの刃の回転量を設定してもよい。制御部11は、これらの操作に応じて、ゲーム空間に配した仮想の木材や石材等、種々の対象物を切る動作をシミュレートする。
【0043】
すなわち制御部11は、切るべき対象物の種類に応じて、電動のこぎりの刃の回転量R(揺動スイッチ25の押し込み量)の大きさに対する揺動スイッチ25の押し込みへの反力の提示態様を変更する。また制御部11は、コントローラ装置2の傾きの情報を、傾きセンサの出力から取得する。そして制御部11は、この取得した情報を用いて、電動のこぎりの刃が仮想の対象物の切るべき位置に当接しているかを判断する。本実施の形態では、ゲームの難易度を適宜調整するため、制御部11は、取得した傾きの情報のうち、例えばコントローラ装置2のX軸周りの角度θのみ参照し、この角度θと仮想の対象物の位置(途中まで切れているときには切れていない位置)とを比較して、電動のこぎりの刃が仮想の対象物の切るべき位置に当接しているかを判断する。
【0044】
この処理を行う制御部11は、例えば次のように動作する。当初、制御部11は、切るべき仮想的な対象物の位置をコントローラ装置2の傾き(X軸周りの角度)に対応する初期位置φ=φ0に設定する。また制御部11は、仮想的な対象物の切断が完了する位置を、コントローラ装置2の傾き(X軸周りの角度)に対応する位置φEと設定する。
【0045】
また制御部11は、コントローラ装置2の触覚提示デバイス34の振動波形の情報として、電動のこぎりが空転しているときの波形情報として予め定められた波形情報を、コントローラ装置2に出力する。コントローラ装置2がこの波形情報により触覚提示デバイス34を制御すると、ユーザは電動のこぎりが動作しているが、対象物に当接していない状況であることをその振動で知る。
【0046】
さらに制御部11は、電動のこぎりが空転しているときの音声の波形情報として予め定められた波形情報を、表示装置3に出力して鳴動させる。
【0047】
制御部11は、コントローラ装置2の傾きの情報(傾斜センサの出力)を、コントローラ装置2から受信し、当該傾きの情報のうち、コントローラ装置2のX軸周りの角度θを取得する。
【0048】
制御部11はθ≧φとなったか(対象物の切断位置に当接したか)否かを判断し、対象物の切断位置に当接していないと判断すると、当該取得した角度θに対応して、表示する画像中の電動のこぎりの画像の傾きを変更し、コントローラ装置2の傾きの情報を取得する処理に戻って処理を続ける。
【0049】
一方、ここで、対象物の切断位置に当接した(θ≧φとなった)と判断すると、制御部11は、次の処理を行う。すなわち制御部11は、切断される量Δφを、例えば、次のように求める。
Δφ=P[α・(R-R0)・(φ-θ)]
ここでP[X]は、X>0のときにX、X≦0のときに0となる関数であるとする。また、Rは、揺動スイッチ25の押し込み量であり、R0は、切断する対象物ごとに制御部11が設定する基準押し込み量、αは切断する対象物ごとに制御部11が設定する正の比例パラメータである。これにより、ユーザが基準押し込み量を超えた押し込み量で揺動スイッチ25を押し込んだ状態でコントローラ装置2を傾けなければ仮想の対象物は切断されないこととなる。
【0050】
制御部11は、Δφが0であるか否か(切れていないか否か)を判断し、Δφが0であるときには、表示する画像中の電動のこぎりの画像の傾きを現在表示している傾きに維持しつつ、コントローラ装置2の触覚提示デバイス34の触覚提示動作を停止するようコントローラ装置2に指示し、さらに電動のこぎりの回転に応じた音声の出力を停止する。
【0051】
これによりユーザは、
・コントローラ装置2を傾けているはずであるのに、画面上の操作対象物である電動のこぎりの傾きが変化しない、
・触覚提示が停止した
・音声が停止した
ことから、電動のこぎりが対象物に係って回転を停止した状態となったことを知る。
【0052】
制御部11は、さらにコントローラ装置2の傾きの情報を取得する処理に戻って処理を続ける。
【0053】
また制御部11は、Δφが0であるか否かを判断したときに、Δφ>0であった場合は、表示する画像中の電動のこぎりの画像の傾きをβ・θに傾ける。ここでβは0<β<1なる正の実数であり、仮想の対象物の種類ごとに制御部11が予め設定する。このβは、仮想の対象物に係る属性情報の一つである。
【0054】
制御部11は、また、現在の切断位置を表す値φを用いて、新たな切断位置をφ+Δφに更新する(φ←φ+Δφとする)。制御部11は、ここで更新した切断位置φがφ>φEとなったか否かを判断し、φ>φEとなったと判断すると、切断が終了したこととして、その旨を通知する画像を表示して処理を終了する。このとき制御部11は、コントローラ装置2の触覚提示デバイス34の振動波形の情報として、電動のこぎりが空転しているときの波形情報として予め定められた波形情報を、コントローラ装置2に出力してもよい。また制御部11は、電動のこぎりが空転しているときの音声の波形情報として予め定められた波形情報を、表示装置3に出力して鳴動させてもよい。
【0055】
また、更新後の切断位置φがφ>φEでなければ、制御部11は、コントローラ装置2の触覚提示デバイス34の振動波形の情報として、電動のこぎりが切断しているときの波形情報として予め定められた波形情報を、コントローラ装置2に出力する。そしてコントローラ装置2にこの波形情報により触覚提示デバイス34を制御させる。この波形情報もまた、仮想の対象物の種類ごとに予め定められてもよい。
【0056】
制御部11はまた、切断中の音声の波形情報として予め定められた波形情報を、表示装置3に出力して鳴動させる。この音声の波形情報も、仮想の対象物の種類ごとに予め定められてもよい。
【0057】
さらにこのとき、制御部11は、ユーザが押し下げている揺動スイッチ25に、当該揺動スイッチ25の押し込み量に対応する反力を提示させてもよい。制御部11は、ユーザの操作により仮想的な電動のこぎりが対象物の切断位置に当接している(θ≧φ、かつφ≦φEである)間、押し込み量Rと、切断される仮想の対象物ごとに予め定めたパラメータγとを用いて反力の大きさを、γ・Rなど予め定めた方法で定め、揺動スイッチ25の押し込みに対する反力を提示させる。
【0058】
制御部11は、そしてコントローラ装置2の傾きの情報を取得する処理に戻って処理を続ける。
【0059】
この制御部11の動作により、ユーザは切断が行われている間、揺動スイッチ25の押し込みに対する反力を感知するとともに、振動及び音声により切断が行われていることを知る。例えば揺動スイッチ25の力覚提示の方式として、揺動スイッチ25を内側から押し出す方向に移動制御するアクチュエータ等を用いる場合、揺動スイッチ25の押し込み量Rが一定であっても、コントローラ装置2の傾きの情報(傾斜センサの出力)θが、θ≧φ、かつφ≦φEである範囲となったときに、所定の反力を提示させる(例えば押し込み位置Rよりも押し込み量の少ない位置R′に移動する方向にアクチュエータを制御させてユーザに押し込みに対する反力を提示させる)。
【0060】
このように、揺動スイッチ25の押し込み量を一定にしたままでも、他の操作(コントローラ装置2を傾ける、ジョイスティック23やボタン24を操作する、等の操作)を行う等により(あるいは特段の操作がなくても)、ゲームの状態が変化したときに、揺動スイッチ25がユーザに提示する反力(押し込みにくさ、あるいは押し込む方向とは反対方向に移動させる力)を変化させることで、ユーザがゲームの状態を把握できるようになる。
【0061】
また、例えば木材の場合よりも石材の場合に、βの値が小さいものとしておくと、コントローラ装置2の傾斜の変化に対する、画像中の電動のこぎりの角度の変化が小さくなるので、より切断しにくい対象物を切っているという感覚がユーザに対して与えられる。
【0062】
同様に、切断しにくい対象物ほど、αを小さくし、γを大きくする。これにより同じ回転量(揺動スイッチ25の押し込み量)のときの、単位時間あたりの切断量が小さくでき、より切断しにくいという感覚をユーザに対して与えられる。またγを大きくしたことで、反力が大きくなり、切断しにくい対象物を切断しているという感覚がユーザに対して与えられる。
【0063】
このように本実施の形態のこの例では、揺動スイッチ25の重さ(反力)、提示される触覚、音声、さらには操作の大きさに対応した画像の変化量を、ゲーム空間に登場している対象物に応じて変更することで、当該対象物の質感(硬さ等)や、重量感、あるいは、攻撃力や防御力等の属性を総合的に、ユーザに対して提示する。
【0064】
さらに制御部11は、コントローラ装置2から取得した、コントローラ装置2の傾きの情報に応じて、コントローラ装置2に対して出力する、触覚提示デバイス34を制御するための波形情報や、音声として出力する波形情報を異ならせてもよい。
【0065】
一例として、コントローラ装置2のX軸周りの傾きが水平から大きくなる(垂直に近い角度になる)に従って、触覚提示デバイス34を制御する波形情報と、音声の波形情報とのそれぞれの波形情報の周波数が高くなるように制御してもよい。
【0066】
このようにすると、バイクのスロットルを回転させたときに、エンジンの回転量が大きくなったかのような感覚をユーザに対して与えられる。
【符号の説明】
【0067】
1 情報処理装置、2 コントローラ装置、3 表示装置、11 制御部、12 記憶部、13 インタフェース部、14 表示制御部、15 音声制御部、16 通信部、21 把持部、22 本体部、23 ジョイスティック、24 ボタン、25 揺動スイッチ、31 制御部、32 マイク、33 スピーカー、34 触覚提示デバイス、35 スイッチ制御部、36 通信部、37 センサ部。