JP2019084339A - 情報処理装置および信号変換方法 - Google Patents

情報処理装置および信号変換方法 Download PDF

Info

Publication number
JP2019084339A
JP2019084339A JP2018101622A JP2018101622A JP2019084339A JP 2019084339 A JP2019084339 A JP 2019084339A JP 2018101622 A JP2018101622 A JP 2018101622A JP 2018101622 A JP2018101622 A JP 2018101622A JP 2019084339 A JP2019084339 A JP 2019084339A
Authority
JP
Japan
Prior art keywords
signal
controller
analog stick
motion
game
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2018101622A
Other languages
English (en)
Other versions
JP6682079B2 (ja
Inventor
孝範 南野
Takanori Minamino
孝範 南野
好之 今田
Yoshiyuki Imada
好之 今田
憲三 西川
Kenzo Nishikawa
憲三 西川
ディーン ソファ
Sofer Dean
ディーン ソファ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Interactive Entertainment Inc
Sony Interactive Entertainment LLC
Original Assignee
Sony Interactive Entertainment Inc
Sony Interactive Entertainment LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sony Interactive Entertainment Inc, Sony Interactive Entertainment LLC filed Critical Sony Interactive Entertainment Inc
Publication of JP2019084339A publication Critical patent/JP2019084339A/ja
Application granted granted Critical
Publication of JP6682079B2 publication Critical patent/JP6682079B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/20Input arrangements for video game devices
    • A63F13/24Constructional details thereof, e.g. game controllers with detachable joystick handles
    • A63F13/245Constructional details thereof, e.g. game controllers with detachable joystick handles specially adapted to a particular type of game, e.g. steering wheels
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/20Input arrangements for video game devices
    • A63F13/22Setup operations, e.g. calibration, key configuration or button assignment
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/20Input arrangements for video game devices
    • A63F13/21Input arrangements for video game devices characterised by their sensors, purposes or types
    • A63F13/218Input arrangements for video game devices characterised by their sensors, purposes or types using pressure sensors, e.g. generating a signal proportional to the pressure applied by the player
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/40Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment
    • A63F13/42Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment by mapping the input signals into game commands, e.g. mapping the displacement of a stylus on a touch screen to the steering angle of a virtual vehicle
    • A63F13/428Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment by mapping the input signals into game commands, e.g. mapping the displacement of a stylus on a touch screen to the steering angle of a virtual vehicle involving motion or position input signals, e.g. signals representing the rotation of an input controller or a player's arm motions sensed by accelerometers or gyroscopes
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05GCONTROL DEVICES OR SYSTEMS INSOFAR AS CHARACTERISED BY MECHANICAL FEATURES ONLY
    • G05G9/00Manually-actuated control mechanisms provided with one single controlling member co-operating with two or more controlled members, e.g. selectively, simultaneously
    • G05G9/02Manually-actuated control mechanisms provided with one single controlling member co-operating with two or more controlled members, e.g. selectively, simultaneously the controlling member being movable in different independent ways, movement in each individual way actuating one controlled member only
    • G05G9/04Manually-actuated control mechanisms provided with one single controlling member co-operating with two or more controlled members, e.g. selectively, simultaneously the controlling member being movable in different independent ways, movement in each individual way actuating one controlled member only in which movement in two or more ways can occur simultaneously
    • G05G9/047Manually-actuated control mechanisms provided with one single controlling member co-operating with two or more controlled members, e.g. selectively, simultaneously the controlling member being movable in different independent ways, movement in each individual way actuating one controlled member only in which movement in two or more ways can occur simultaneously the controlling member being movable by hand about orthogonal axes, e.g. joysticks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/033Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
    • G06F3/0338Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor with detection of limited linear or angular displacement of an operating part of the device from a neutral position, e.g. isotonic or isometric joysticks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/033Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
    • G06F3/038Control and interface arrangements therefor, e.g. drivers or device-embedded control circuitry

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Human Computer Interaction (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Position Input By Displaying (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

【課題】汎用のゲームコントローラの入力部の操作信号をゲームに提供する情報処理装置において、ガンコントローラなどの専用コントローラを利用可能とする技術を提供する。【解決手段】第1算出部122は、モーションセンサにおいて検出された角速度から第1信号を算出する。第2算出部124は、コントローラの向く方向と基準方向とのずれ量に応じた第2信号を算出する。加算部126は、第1信号と第2信号を加算したモーション操作信号を生成する。アナログスティック信号生成部132は、モーション操作信号から、アナログスティック信号を生成する。出力処理部160は、変換されたアナログスティック信号をゲームに提供する。【選択図】図6

Description

本発明は、入力装置の操作信号をゲームに提供する技術に関する。
ゲーム専用機は、ゲームコントローラの入力部の操作信号を受け付けて、ゲームに提供する。特許文献1は、ゲームコントローラの機能を備えたキーボードを開示し、このキーボードは、ゲームコントローラの操作ボタンの機能を割り当てられた割当キーと、ポインティングスティックと、修飾キーとを備える。修飾キーが操作された状態でポインティングスティックが操作されると、ゲームコントローラのアナログスティックの操作信号が出力されて、ゲームに提供される。
米国特許出願公開第2012/0289336号明細書
近年、特定種類のゲームに使用される特殊な形状のゲームコントローラが販売されており、ガンシューティングゲームにおけるガンコントローラは、その代表である。ゲームソフトウェアは、汎用のゲームコントローラの操作信号を処理できるように構成されているが、ガンコントローラなどの専用コントローラはあくまでもオプション機器の扱いであるため、専用コントローラの入力信号に対応していないこともある。
現状、ゲームソフトウェアが専用コントローラの入力信号に対応していなければ、ユーザは専用コントローラを、そのゲームに使用できる手段を有しない。通常、専用コントローラは、ユーザの直観的な操作を可能とするため、専用コントローラに非対応なゲームに対しても、ユーザが専用コントローラでゲームプレイできる環境を実現することが好ましい。
そこで本発明は、汎用のゲームコントローラの入力部の操作信号をゲームに提供する情報処理装置において、ガンコントローラなどの専用コントローラを利用可能とする技術を提供することを目的とする。
上記課題を解決するために、本発明のある態様の情報処理装置は、アナログスティックの操作信号をゲームに提供する情報処理装置であって、コントローラの動きを検出した検出値を、アナログスティック信号に変換する変換処理部と、変換されたアナログスティック信号をゲームに提供する出力処理部とを備える。変換処理部は、検出された角速度から第1信号を算出する第1算出部と、コントローラの向く方向と基準方向とのずれ量に応じた第2信号を算出する第2算出部と、第1信号と第2信号を加算したモーション操作信号を生成する加算部と、モーション操作信号から、アナログスティック信号を生成するアナログスティック信号生成部とを有する。
本発明の別の態様は、アナログスティックの操作信号をゲームに提供する情報処理装置において、コントローラの動きを検出した検出値を、アナログスティックの操作信号に変換する方法である。この方法は、コントローラの動きを検出した検出値を取得するステップと、検出された角速度から第1信号を算出するステップと、コントローラの向く方向と基準方向とのずれ量から第2信号を算出するステップと、第1信号と第2信号を加算したモーション操作信号を生成するステップと、モーション操作信号から、アナログスティック信号を生成するステップとを有する。
なお、以上の構成要素の任意の組合せ、本発明の表現を方法、装置、システム、記録媒体、コンピュータプログラムなどの間で変換したものもまた、本発明の態様として有効である。
本発明によると、汎用のゲームコントローラの入力部の操作信号をゲームに提供する情報処理装置において、ガンコントローラなどの専用コントローラを利用可能とする技術を提供する。
実施例にかかる情報処理システムを示す図である。 (a)は第1コントローラの上面図、(b)は第1コントローラの奥側側面図である。 第2コントローラの斜視図である。 第2コントローラの内部構成を示す図である。 情報処理装置の機能ブロックを示す図である。 情報処理装置の構成を示す図である。 右アナログスティックの出力範囲を示す図である。 モーション操作信号を生成する方法を説明するための図である。 変換カーブの一例を示す図である。 モーションセンサ信号の変換処理を説明するための図である。 調整処理を説明するための図である。 丸め処理を説明するための図である。 第2コントローラのモーションと、第1コントローラの入力部との対応関係を示す図である。 モーション検出手法を説明するための図である。 モーション検出手法を説明するための別の図である。 エイムモーション検出手法を説明するための図である。
図1は、実施例にかかる情報処理システム1を示す。情報処理システム1は、情報処理装置10、テレビなどの表示機能を有する出力装置4、入力装置である第1コントローラ6を備える。情報処理装置10はゲームソフトウェアを実行するゲーム装置であって、第1コントローラ6と通信可能に接続する。図示の例では、情報処理装置10と第1コントローラ6とが無線接続しているが、ケーブルにより接続してもよい。撮像装置であるカメラ7は出力装置4の近傍に設けられ、出力装置4前方の空間を撮影する。
第1コントローラ6はユーザにより操作されて、ゲーム操作信号を情報処理装置10に送信する汎用のゲームコントローラであり、各種ボタンやアナログスティックなどの複数の入力部を有して構成される。情報処理装置10は第1コントローラ6からゲーム操作信号を受け付けてゲームに提供し、ゲームはゲーム操作信号をゲーム空間内のゲームキャラクタの動きに反映する。
さらに情報処理システム1は、入力装置である第2コントローラ12を備える。実施例の第2コントローラ12は、ガンシューティングゲームで使用される専用のゲームコントローラ(ガンコントローラ)であり、第1コントローラ6と同じ複数の入力部を備えるとともに、モーションセンサを搭載する。なおユーザが第2コントローラ12の入力部を操作すると、第1コントローラ6と同じゲーム操作信号が情報処理装置10に出力されることとなり、したがって情報処理装置10で実行されるゲームは、第2コントローラ12からのゲーム操作信号を問題なく処理する。
第2コントローラ12に対応したゲームソフトウェアは、第2コントローラ12におけるモーションセンサの検出値を、ゲーム操作信号として受け付ける機能をもつ。これによりユーザは、第2コントローラ12を動かしたり、姿勢を変化させることで、ゲームに対するコマンドを入力できるようになる。このことは第2コントローラ12の特殊な形状と相俟って、ユーザの直観的な操作を実現可能とし、汎用の第1コントローラ6より深いゲーム没入感をユーザに与えられるようになる。なお第2コントローラ12を使用する場合、ユーザは、第2コントローラ12を動かすことでコマンドを入力しつつ、入力部を操作することでもコマンドを入力して、直観的操作によるゲームプレイを行う。
以下、第1コントローラ6に設けられた入力部について説明する。
[上面部の構成]
図2(a)は、第1コントローラ6の上面図である。ユーザは左手で左側把持部78bを把持し、右手で右側把持部78aを把持して、第1コントローラ6を操作する。第1コントローラ6の筐体上面には、方向ボタン71、アナログスティック77a、77bと、操作ボタン76が設けられる。方向ボタン71は、上ボタン71a、左ボタン71b、下ボタン71cおよび右ボタン71dを含む。4種の操作ボタン76には、それぞれを区別するために、異なる色で異なる図形が記されており、○ボタン72には赤色の丸、×ボタン73には青色のバツ、□ボタン74には紫色の四角形、△ボタン75には緑色の三角形が記されている。
右アナログスティック77aおよび左アナログスティック77bは、方向および傾動量を入力するための入力部である。右アナログスティック77aおよび左アナログスティック77bは、ユーザが押すことで下方に沈み込み、またユーザが手を離すと元の位置に復帰する押下式ボタンとしても機能する。右アナログスティック77aを用いた押し込みによるボタン機能をR3ボタンと呼び、左アナログスティック77bを用いた押し込みによるボタン機能をL3ボタンと呼ぶ。筐体上面において、方向ボタン71と操作ボタン76の間の平坦な領域には、タッチパッド79が設けられる。タッチパッド79は、ユーザが押すことで下方に沈み込み、またユーザが手を離すと元の位置に復帰する押下式ボタンとしても機能する。
右アナログスティック77aおよび左アナログスティック77bの間にはホームボタン80が設けられる。ホームボタン80は第1コントローラ6の電源をオンし、同時に情報処理装置10と無線接続する通信機能をアクティブにするために使用される。第1コントローラ6が情報処理装置10と接続した後は、ホームボタン80は、出力装置4にメニュー画面を表示させるためにも使用される。
SHAREボタン81は、タッチパッド79の左側に設けられる。SHAREボタン81は、システムソフトウェアに対するユーザからの指示を入力するために利用される。OPTIONSボタン82は、タッチパッド79の右側に設けられる。OPTIONSボタン82は、ゲームに対するユーザからの指示を入力するために利用される。SHAREボタン81およびOPTIONSボタン82は、いずれもプッシュ式ボタンとして形成されてよい。
[奥側側面部の構成]
図2(b)は、第1コントローラ6の奥側側面図である。第1コントローラ6の筐体奥側側面の上側には、タッチパッド79が筐体上面から折れ曲がって延設されており、筐体奥側側面の下側には、横長の発光部85が設けられる。発光部85は、赤(R)、緑(G)、青(B)のLEDを有し、情報処理装置10から送信される発光色情報にしたがって点灯する。筐体奥側側面において、R1ボタン83a、R2ボタン84aと、L1ボタン83b、L2ボタン84bとが長手方向の左右対称な位置に設けられる。R1ボタン83a、R2ボタン84aは、それぞれユーザ右手の人差し指、中指により操作され、L1ボタン83b、L2ボタン84bは、それぞれユーザ左手の人差し指、中指により操作される。上側のR1ボタン83a、L1ボタン83bはプッシュ式ボタンとして構成され、下側のR2ボタン84a、L2ボタン84bは回動支持されたトリガー式のボタンとして構成されてよい。
図3は、第2コントローラ12の斜視図である。実施例では、第2コントローラ12の3次元座標を、図示のように設定し、X軸をピッチ軸、Y軸をヨー軸、Z軸をロール軸とする。ガンシューティングゲーム用の第2コントローラ12は、汎用の第1コントローラ6に設けられた入力部を、基本的に全て備えて構成される。これによりユーザは、第1コントローラ6で行っていた入力操作を、第2コントローラ12においても行うことができる。
図2(a)−図2(b)を参照して、操作ボタン176に含まれる○ボタン172、×ボタン173、□ボタン174、△ボタン175は、操作ボタン76に含まれる○ボタン72、×ボタン73、□ボタン74、△ボタン75にそれぞれ対応する。また方向ボタン171に含まれる上ボタン171a、左ボタン171b、下ボタン171c、右ボタン171dは、方向ボタン71に含まれる上ボタン71a、左ボタン71b、下ボタン71c、右ボタン71dにそれぞれ対応する。タッチパッド179、ホームボタン180、SHAREボタン181、OPTIONSボタン182、R1ボタン183a、R2ボタン184aは、タッチパッド79、ホームボタン80、SHAREボタン81、OPTIONSボタン82、R1ボタン83a、R2ボタン84aにそれぞれ対応する。アナログスティック177a、177bは、右アナログスティック77a、左アナログスティック77bにそれぞれ対応する。第2コントローラ12の先端には、任意の色で発光する発光部185が設けられる。
第2コントローラ12は銃を模した形状を有しており、たとえばファーストパーソンシューター(FPS)ゲームで、ユーザはトリガスイッチとして構成されるR2ボタン184aを引き操作することで、銃を撃つことができる。ガンシューティングゲームにおいてユーザは、ガンコントローラである第2コントローラ12を用いた直観的操作により、ゲームへの没入感を高められる。
図4は、第2コントローラ12の内部構成を示す。第2コントローラ12は、無線通信モジュール190、処理部191および発光部185を備える。無線通信モジュール190は、情報処理装置10の無線通信モジュールとの間でデータを送受信する機能をもつ。処理部191は、メイン制御部192、入力受付部193、発光制御部194およびモーションセンサ195を備え、第2コントローラ12における所期の処理を実行する。メイン制御部192は、無線通信モジュール190との間で必要なデータの送受を行う。
入力受付部193は、方向ボタン171や操作ボタン176などの各種入力部の操作信号を受け付け、メイン制御部192に送る。メイン制御部192は、受け取った操作信号を無線通信モジュール190に供給し、無線通信モジュール190は、所定の周期で情報処理装置10に送信する。なおメイン制御部192は受け取った操作信号を必要に応じて所定の制御信号に変換してもよい。
発光制御部194は、発光部185の発光を制御する。たとえば情報処理装置10が発光部185の発光色を指定する発光色情報を送信することで、発光制御部194が、指定された発光色で発光部185を点灯させてよい。
モーションセンサ195は、3軸加速度センサ196および3軸ジャイロセンサ197を有して、第2コントローラ12の動きを検出する。3軸加速度センサ196は、第2コントローラ12のXYZの3軸方向の加速度成分を検出する。3軸ジャイロセンサ197は、X軸回り、Y軸回り、Z軸回りの角速度を検出する。メイン制御部192は3軸加速度センサ196および3軸ジャイロセンサ197から検出値信号を受け付け、無線通信モジュール190は検出値信号(センサ信号)を、入力部の操作信号とともに、所定の周期で情報処理装置10に送信する。
図5は、情報処理装置10の機能ブロックを示す。情報処理装置10は、メイン電源ボタン20、電源ON用LED21、スタンバイ用LED22、システムコントローラ24、クロック26、デバイスコントローラ30、メディアドライブ32、USBモジュール34、フラッシュメモリ36、無線通信モジュール38、有線通信モジュール40、サブシステム50およびメインシステム60を有して構成される。
メインシステム60は、メインCPU(Central Processing Unit)、主記憶装置であるメモリおよびメモリコントローラ、GPU(Graphics Processing Unit)などを備える。GPUはゲームプログラムの演算処理に主として利用される。これらの機能はシステムオンチップとして構成されて、1つのチップ上に形成されてよい。メインCPUはシステムソフトウェアを起動し、システムソフトウェアが提供する環境下においてゲームを実行する機能をもつ。
サブシステム50は、サブCPU、主記憶装置であるメモリおよびメモリコントローラなどを備え、GPUを備えない。サブCPUは、メインCPUがスタンバイ状態にある間に動作するものであり、消費電力を低く抑えるべく、その処理機能を制限されている。
メイン電源ボタン20は、情報処理装置10の筐体の前面に設けられ、メインシステム60への電源供給をオンまたはオフするために操作される。電源ON用LED21は、メイン電源ボタン20がオンされたときに点灯し、スタンバイ用LED22は、メイン電源ボタン20がオフされたときに点灯する。
システムコントローラ24は、ユーザによるメイン電源ボタン20の押下を検出する。クロック26はリアルタイムクロックであって、現在の日時情報を生成し、システムコントローラ24やサブシステム50およびメインシステム60に供給する。
デバイスコントローラ30は、サウスブリッジのようにデバイス間の情報の受け渡しを実行するLSI(Large-Scale Integrated Circuit)として構成される。図示のように、デバイスコントローラ30には、システムコントローラ24、メディアドライブ32、USBモジュール34、フラッシュメモリ36、無線通信モジュール38、有線通信モジュール40、サブシステム50およびメインシステム60などのデバイスが接続される。デバイスコントローラ30は、それぞれのデバイスの電気特性の違いやデータ転送速度の差を吸収し、データ転送のタイミングを制御する。
メディアドライブ32は、ゲームなどのアプリケーションソフトウェアおよびライセンス情報を記録したROM媒体44を装着して駆動し、ROM媒体44からプログラムやデータなどを読み出すドライブ装置である。ROM媒体44は、光ディスクや光磁気ディスク、ブルーレイディスクなどの読出専用の記録メディアである。
USBモジュール34は、カメラ7などの外部機器とUSBケーブルで接続するモジュールである。フラッシュメモリ36は、内部ストレージを構成する補助記憶装置である。無線通信モジュール38は、Bluetooth(登録商標)プロトコルやIEEE802.11プロトコルなどの通信プロトコルで、第1コントローラ6および第2コントローラ12と無線通信する。有線通信モジュール40は、外部機器と有線通信し、たとえばAPを介してネットワークに接続する。
実施例において、情報処理装置10はゲーム専用機であり、第1コントローラ6は汎用のゲームコントローラである。ゲーム専用機で実行される全てのゲームは、第1コントローラ6からのゲーム操作信号にもとづいて動作するように構成されている。また上記したように、全てのゲームは、第2コントローラ12の入力部をユーザが操作したゲーム操作信号にもとづいて動作する。
一方で、第2コントローラ12をユーザが使用する目的は、第2コントローラ12を動かしたり、姿勢を変化させることで、直観的にコマンドを入力することにある。そのためゲームソフトウェアがモーションセンサ195の検出値を処理する能力を有していなければ、ユーザが第2コントローラ12を使用する意味は乏しい。当然のことであるが、第2コントローラ12が市販される前に製造されたゲームソフトウェアは、第2コントローラ12の使用を前提としていないために、モーションセンサ195の検出値を処理する機能を有しないことが多い。そこで実施例の情報処理装置10は、第2コントローラ12のモーションセンサ信号をゲーム操作信号に変換することで、第2コントローラ12に非対応のゲームにおいてもユーザが第2コントローラ12を使用できる仕組みを提供する。
図6は、第1コントローラ6の操作信号をゲームに提供する情報処理装置10の構成を示す。情報処理装置10は、取得部100、変換処理部110、設定部150および出力処理部160を備える。取得部100は、第1コントローラ6の入力部の操作信号を取得する第1操作信号取得部102、第2コントローラ12の入力部の操作信号を取得する第2操作信号取得部104、第2コントローラ12のモーションセンサ195の検出値信号を取得するセンサ信号取得部106、およびカメラ7で撮影された画像を取得する撮影画像取得部108を備える。変換処理部110は、第2コントローラ12のモーションセンサ195の検出値を処理できないゲームに対して、モーションセンサ195の検出値を第1コントローラ6の入力部の操作信号に変換して供給する機能を有し、モーション操作信号生成部120、調整部130、アナログスティック信号生成部132および操作信号生成部140を備える。
図6において、さまざまな処理を行う機能ブロックとして記載される各要素は、ハードウェア的には、回路ブロック、メモリ、その他のLSIで構成することができ、ソフトウェア的には、メモリにロードされたシステムソフトウェアなどによって実現される。したがって、これらの機能ブロックがハードウェアのみ、ソフトウェアのみ、またはそれらの組合せによっていろいろな形で実現できることは当業者には理解されるところであり、いずれかに限定されるものではない。
第1操作信号取得部102は、第1コントローラ6の入力部の操作信号を取得して出力処理部160に供給し、出力処理部160は、第1コントローラ6の入力部の操作信号をゲームに提供する。また第2操作信号取得部104は、第2コントローラ12の入力部の操作信号を取得して出力処理部160に供給し、出力処理部160は、第2コントローラ12の入力部の操作信号をゲームに提供する。ゲームは、コントローラの入力部の操作信号を処理できる。
FPSゲームで、第1コントローラ6の右アナログスティック77aおよび第2コントローラ12のアナログスティック177a(以下、「右アナログスティック77a」で代表させる)は、キャラクタの視点操作に用いられる。右アナログスティック77aは、ばね等によってセンター位置を維持するように付勢されており、ユーザによりセンター位置から傾動されると、傾動された2次元位置を示すアナログ値、すなわちセンター位置を原点として移動したX軸成分とY軸成分の移動量を示す操作信号を出力する。X軸成分は、左右方向の視点移動、Y軸成分は、上下方向の視点移動に利用される。出力処理部160は、右アナログスティック77aの操作信号に丸め処理を施し、8ビットのデジタル値でそれぞれ表現するX軸成分とY軸成分の操作信号を生成して、ゲームに提供する。
図7(a)は、右アナログスティック77aの一軸成分の出力範囲を示す。出力処理部160は、右アナログスティック77aの操作信号の各軸成分に丸め処理を施し、X軸成分およびY軸成分を、それぞれ0〜255の間の整数値として出力する。
図7(b)は、右アナログスティック77aのX軸成分およびY軸成分の出力範囲を示す。右アナログスティック77aがセンター位置にあるとき、出力処理部160は、X軸成分の信号値を128、Y軸成分の信号値を128とする操作信号を、ゲームに提供する。
ゲームは、右アナログスティック77aの出力範囲の全てを有効な入力として受け付けるのではなく、センター位置近傍の操作に対して不感帯を設定して、不感帯の信号値を無視することが多い。この理由の一つは、右アナログスティック77aに設けられる位置センサの精度がそれほど高くないために、ユーザが右アナログスティック77aに触れていなくても、センター位置(128,128)からずれた位置にあることを示す操作信号を出力する可能性が否定できないことにある。また別の理由として、ユーザは右アナログスティック77aの頂部に右親指を載せるため、操作する意志がなくても親指の震えなどの動きにより右アナログスティック77aを動かすことがある。そのためゲームは、右アナログスティック77aのセンター位置近傍の操作に対して不感帯を設定し、不感帯を超えた操作を有効な視点操作入力として受け付けるようにしている。
図7(c)は、右アナログスティック77aの出力範囲に対してゲームが設定する不感帯の例を示す。この例で、不感帯は、センター位置(128,128)を中心とした所定径の円内の範囲として設定されている。ゲームは、不感帯の範囲を自由に設定してよく、たとえばセンター位置を中心とした矩形範囲として設定してもよい。ゲームは、不感帯に含まれる操作信号を無視し、すなわちゲームの処理に反映しない。
実施例の情報処理装置10は、ユーザが視点を移動するように第2コントローラ12を動かすと、その動きを視点操作入力、つまり右アナログスティック77aの操作入力に変換する処理を行う。また視点操作以外にも、情報処理装置10は、ユーザが第2コントローラ12に所定の動き(モーション)を行わせると、その動きをゲームの操作入力に変換する処理を行う。なお第2コントローラ12は、第1コントローラ6と同様の入力部を備えており、ユーザは入力部を操作することで、ゲームへの操作入力を行うことができるが、実施例では情報処理装置10が、ユーザが第2コントローラ12を動かすことによる直観的な操作入力を支援する。
第2コントローラ12の動き(モーション)をゲームの操作入力として利用できるようにするために、情報処理装置10は、第2コントローラ12のモーションを第1コントローラ6の操作信号に変換するためのデータを記述した設定ファイル200を、外部サーバから取得する。なお設定ファイル200がゲームソフトウェアに含まれていれば、情報処理装置10はゲームソフトウェアから設定ファイル200を取得する。設定ファイル200には、感度調整値、モーション操作信号を右アナログスティックの操作信号に変換するための変換カーブを構成するデータ、出力不感帯に関するデータ、所定のモーションを検出するためのモーション閾値、右アナログスティックの操作信号への変換を停止する停止閾値、モーションの優先順位などが記述される。
<右アナログスティック信号への変換処理>
最初に、情報処理装置10が、第2コントローラ12のモーションセンサ195の検出値を用いて、右アナログスティック77aの操作信号を生成する処理について説明する。基本的に情報処理装置10は、3軸ジャイロセンサ197の検出値のうち、ヨー軸回りの角速度を用いて右アナログスティック77aのX軸成分の出力(左右方向の視点操作に利用される)を生成し、ピッチ軸回りの角速度を用いて右アナログスティック77aのY軸成分の出力(上下方向の視点操作に利用される)を生成する。なお右アナログスティック77aのX軸成分の生成にあたっては、さらにヨー軸回りの角速度またはピッチ軸方向の加速度が利用される。
図8は、モーションセンサ195の検出値をもとに、右アナログスティック信号に変換するためのモーション操作信号を生成する方法を説明するための図である。図8では、右アナログスティック77aのX軸成分に変換されるモーション操作信号のx軸成分の生成手法が示されている。モーション操作信号の生成にあたって、ユーザは第2コントローラ12の基準方向を設定する必要があり、たとえばゲーム開始前に、ユーザが第2コントローラ12を出力装置4に向けた状態で所定のボタンを操作することで、基準方向が設定される。
モーション操作信号生成部120は、第1算出部122、第2算出部124および加算部126を有する。なおモーション操作信号のx軸成分の生成に際し、第1算出部122および第2算出部124の双方が動作する一方で、モーション操作信号のy軸成分の生成に際しては、第2算出部124は動作しない。この理由については後述する。
センサ信号取得部106は、第2コントローラ12に搭載されたモーションセンサ195の検出値を取得し、モーション操作信号生成部120に供給する。モーション操作信号生成部120は、ヨー軸回りの角速度を用いて、右アナログスティック77aのX軸成分に変換されるモーション操作信号のx軸成分の生成処理を実行する。
第1算出部122は、3軸ジャイロセンサ197において検出されたヨー軸回りの角速度から第1信号(x1)を算出する。ここで第1算出部122は、Y軸すなわちヨー軸回りの角速度(ω)を用いて、第1信号(x1)を以下のように算出する。
x1=ω×sensitivity
ここでsensitivity(感度調整値)は、3軸ジャイロセンサ197の検出感度に応じて適切に設定される。
また第1算出部122とは別に、第2算出部124は、第2コントローラ12の向く方向と基準方向とのずれ量に応じた第2信号(x2)を算出する。ここで第2算出部124は、第2コントローラ12の向く方向が基準方向から所定の角度閾値(ang_th)を超えたことを条件として、第2信号(x2)を以下のように算出する。
・ pos_x>0のとき、
x2=scale×(pos_x−閾値)
・ pos_x<0のとき、
x2=scale×(pos_x+閾値)
ここで図8に示す半円の半径は第2コントローラ12の全長Lに等しいものとする。scaleは感度を調整するための係数であり、(閾値)は、角度閾値(ang_th)により定まるピッチ軸上の所定長であり、L×sin(ang_th)で求められる。
第2算出部124は、モーションセンサにおいて検出されたヨー軸回りの角速度の積分値を利用して、またはピッチ軸方向の加速度を積分してピッチ軸方向の移動量(pos_x)を算出することで、第2信号を算出してよい。加算部126は、第1信号(x1)と第2信号(x2)を加算したモーション操作信号のx軸成分を生成して、調整部130に出力する。
なお第2算出部124は、第2コントローラ12の向く方向と基準方向とのずれ量(変化量)が角度閾値(ang_th)を超えた場合に第2信号を算出する。したがってずれ量が角度閾値(ang_th)を超えなければ、第2算出部124の出力はゼロ値となり、加算部126は、第1信号をモーション操作信号として調整部130に出力する。この場合、右アナログスティック77aのX軸成分は、第1信号(x1)、つまりヨー軸回りの角速度の大きさによって定められることになる。
ずれ量(変化量)が角度閾値(ang_th)を超えた場合に、第2算出部124が第2信号を算出することで、第2コントローラ12が静止している(つまりヨー軸回りの角速度がゼロであり、第1信号がゼロ値をとる)場合であっても、加算部126は、ゼロ値ではないモーション操作信号を調整部130に出力できる。その結果、ゲームはキャラクタの視線方向をヨー軸回りに回転させ、ユーザは周囲の様子を確認できる。以上は、右アナログスティック77aのX軸成分に変換されるモーション操作信号のx軸成分についての説明である。
次に、右アナログスティック77aのY軸成分に変換されるモーション操作信号のy軸成分の生成について説明する。モーション操作信号生成部120は、ピッチ軸回りの角速度を用いて、右アナログスティック77aのY軸成分に変換されるモーション操作信号のy軸成分の生成処理を実行する。
第1算出部122は、3軸ジャイロセンサ197において検出されたピッチ軸回りの角速度から第1信号(y1)を算出する。ここで第1算出部122は、X軸すなわちピッチ軸回りの角速度(ω)を用いて、第1信号(y1)を以下のように算出する。
y1=ω×sensitivity
sensitivity(感度調整値)は、3軸ジャイロセンサ197の検出感度に応じて適切に設定される。
上記したように、モーション操作信号のy軸成分の生成に際し、第2算出部124は動作しない。右アナログスティック77aのY軸成分は、上下方向の視点操作に利用されるが、ゲームにおいて、ユーザがピッチ軸回りに視線方向を連続して回転させたい状況は少なく、また現実世界での視線移動との乖離も大きい。そのため実施例の第2算出部124は、アナログスティック信号のX軸成分に反映される第2信号を算出する一方で、アナログスティック信号のY軸成分に反映される第2信号を算出しないように構成されている。
以上のようにモーション操作信号生成部120は、アナログスティック信号のX軸成分およびY軸成分に対応するモーション操作信号のx軸成分およびy軸成分を生成して、調整部130に出力する。
図9は、モーション操作信号を右アナログスティックの操作信号に変換するための変換カーブの一例を示す。この変換カーブの横軸は第2コントローラ12のモーション操作信号を表現し、信号値「1.0」は、加算部126が算出したモーション操作信号(x1+x2)が所定値以上となったときの信号値を示す。縦軸は右アナログスティック77aの操作信号を表現し、「1.0」の右アナログスティック信号は、傾動量の最大値を示す。
この変換カーブでは、たとえばモーション操作信号の信号値が0.75のとき、右アナログスティック77aの操作信号が0.9に設定される。(右アナログスティック信号)/(モーション操作信号)を「増幅率」と定義すると、変換カーブは、正規化したモーション操作信号に対する右アナログスティック信号の増幅率を定義したものとなる。
設定部150は、ゲームに対応する設定ファイル200を取得し、変換処理部110に提供する。ゲームソフトウェアが起動されると、設定部150は、自動的に設定ファイル200を外部サーバないしはゲームソフトウェアから取得して、変換処理部110に提供することが好ましい。
第2コントローラ12は、所定の周期でモーションセンサ195の検出値を情報処理装置10に送信する。第2コントローラ12の送信周期は、ゲームがゲーム画面を生成する周期(たとえば60fps)よりも短く設定される。センサ信号取得部106は、所定の周期で出力されるセンサ信号を取得し、変換処理部110に供給する。変換処理部110は、センサ信号を、右アナログスティック77aを含む入力部の操作信号に変換し、出力処理部160は、変換された操作信号をゲームに提供する。
図10は、変換処理部110におけるモーションセンサ信号の変換処理を説明するための図である。
図10(a)は、ジャイロセンサ信号の範囲を示す。モーション操作信号生成部120は、ジャイロセンサ信号を用いて第1信号を生成する。なおモーション操作信号のx軸成分は、上記したように、第2算出部124により算出された第2信号を加算されて生成される。図10(a)において、範囲の区切りとして示す値「2」は、ユーザがゲームプレイ中に操作するジャイロセンサ信号の仮の最大値を示したものであり、ジャイロセンサ信号の最大値が2に制限されることを意味したものではない。以下、変換処理部110において、ジャイロセンサ信号値A(=0.5)が右アナログスティック77aの信号値Eに変換される流れを説明する。
センサ信号取得部106は、センサ信号値をモーション操作信号生成部120に供給する。モーション操作信号生成部120は、センサ信号値を用いて、モーション操作信号を生成する。なおモーション操作信号生成部120は、手振れによる振動の影響を除去するために、ジャイロセンサ信号の所定の範囲(たとえば−0.016〜0.016の範囲)の信号値をゼロとした後に、モーション操作信号を生成してもよい。
図10(b)は、モーション操作信号の各軸成分の範囲を示す。モーション操作信号生成部120は、設定ファイル200に含まれる感度調整値(sensitivity, scale)を用いて感度調整を行い、モーション操作信号(x1+x2)を生成する。ここでは、ジャイロセンサ信号値A(=0.5)から、モーション操作信号値B(=75)が算出され、調整部130に供給される。
調整部130は、モーション操作信号に変換カーブを適用する。
図10(c)は、変換カーブを適用した状態を示す。調整部130は、モーション操作信号に、図9に示す変換カーブで定められる増幅率を乗算する。図9に示す変換カーブにおいて、感度調整された75の信号値に対応する増幅率が1.2であるとすると、調整部130は、信号値Bに1.2を乗算して、信号値C(=90)に変換する。
調整部130は、右アナログスティック77aに設定されている不感帯に相当する信号分を、変換カーブを適用したモーション操作信号に加算する。調整部130は、不感帯に相当する信号分をモーション操作信号に加算することで、モーション操作信号が不感帯の信号値を示さないようにする。なお不感帯に相当する信号分は、変換カーブ適用後の信号値に応じて設定されてよい。具体的には、手振れによる振動の影響を低減するために、小さい信号値は、より小さい出力となるように、不感帯に相当する信号分が小さく設定されてよい。
図10(d)は、不感帯を調整された各軸成分の出力範囲を示す。ここでは、−30から30までの範囲が不感帯に相当し、調整部130は、信号値Cに30を加算して、信号値D(=120)に変換する。なお調整部130は、信号値Cが負であれば、信号値Cに−30を加算して、信号値Dに変換する。このように調整部130は、信号値Cの正負に応じて、加算する不感帯信号分の正負を定める。信号値Cが0の場合、調整部130は、不感帯信号分の加算処理を実施しない。
なお図7(c)に示すように右アナログスティック77aのセンター位置に対して不感帯を円形に設定している場合には、モーション操作信号のx軸成分、y軸成分に応じて、不感帯としてモーション操作信号に加算する値は変化する。
図11は、調整部130による調整処理を説明するための図である。調整部130は、変換カーブを適用したモーション操作信号(xα,yα)に、角度(Arctan(yα/xα))を維持する方向に、不感帯に相当する信号分を加算する。
不感帯が円形に設定されている場合、調整部130は、原点から(xα,yα)を通る直線と不感帯の境界部分との交点(a,b)を求める。ここでaは、x軸成分の不感帯に相当する信号分であり、bはy軸成分の不感帯に相当する信号分である。これにより調整部130は、モーション操作信号(xα,yα)に、不感帯に相当する信号分(a,b)を加えて、不感帯の信号値を調整したモーション操作信号(xβ,yβ)を生成する。ここでxβ=xα+a、yβ=yα+bである。調整部130が、モーション操作信号(xα,yα)の角度を維持して不感帯の信号分を加算したモーション操作信号を生成することで、ユーザに違和感を与えない視点移動を実現できる。
不感帯を調整されたモーション操作信号は、アナログスティック信号生成部132に供給される。アナログスティック信号生成部132は、モーション操作信号から、右アナログスティック77aの操作信号を生成する。
図10(e)は、モーション操作信号から、アナログスティック信号を生成する様子を示す。アナログスティック信号は、0〜255までの信号値をとるため、アナログスティック信号生成部132は、図10(d)に示す出力範囲をアナログスティック信号の出力範囲に合わせる処理を実施する。
右アナログスティック77aのセンター位置は128であり、アナログスティック信号生成部132は、図10(d)に示す信号値に128を加算することで、アナログスティック信号を生成する。アナログスティック信号生成部132は、信号値Dに128を加算して、右アナログスティック77aの操作信号の信号値E(=248)を生成する。
なおアナログスティック信号生成部132は、信号値に128を加算した結果、0より小さい信号値は信号値0に、255より大きい信号値は信号値255に設定する。つまり0〜255の範囲外にある信号値については、0ないし255の信号値を設定する。
またアナログスティック信号は、0〜255までの整数値をとるため、アナログスティック信号生成部132は、モーション操作信号値に128を加算した信号値に対して、モーション操作信号の丸め処理を実施し、整数値に変換する。
図12は、丸め処理を説明するための図である。ゲームが60fpsでゲーム画面を生成している場合、アナログスティック信号生成部132は、丸め処理を、フレームの生成周期つまり(1/60)秒ごとに実施する。
「信号値」は、モーション操作信号に128を加算した今回の信号値である。「前回の丸め誤差を加算した信号値」は、「信号値」に、前回の丸め処理における丸め誤差を加算した信号値である。「丸め処理後の信号値」は、「前回の丸め誤差を加算した信号値」の小数点を四捨五入して今回の丸め処理を実施した信号値である。「丸め誤差」は、「前回の丸め誤差を加算した信号値」と「丸め処理後の信号値」の差分であり、今回の丸め処理における丸め誤差である。
N回目の丸め処理における丸め誤差が0.4であったとき、アナログスティック信号生成部132は、(N+1)回目の丸め処理において、今回の信号値(125.3)に前回の丸め誤差(0.4)を加算し、丸め処理を実施して右アナログスティック77aの操作信号値(126)を生成する。これにより(N+1)回目の丸め処理における丸め誤差は−0.3となる。
(N+2)回目の丸め処理において、アナログスティック信号生成部132は、今回の信号値(132.6)に前回の丸め誤差(−0.3)を加算し、丸め処理を実施して右アナログスティック77aの操作信号値(132)を生成する。これにより(N+2)回目の丸め処理における丸め誤差は0.3となる。
このようにアナログスティック信号生成部132は、前回のモーション操作信号の丸め処理における丸め誤差を、今回のモーション操作信号に加算してから丸め処理を実施する。このように丸め処理を実施することで、アナログスティック信号生成部132は、前回の丸め誤差を今回の右アナログスティック77aの操作信号に含ませることができ、これによりユーザによる第2コントローラ12の動きを高精度に反映した右アナログスティック77aの操作信号を生成できる。アナログスティック信号生成部132は、生成した右アナログスティック77aの操作信号を、出力処理部160に供給する。出力処理部160は、右アナログスティック77aの操作信号を、ゲームに提供する。
実施例では、変換処理部110が、モーション操作信号をアナログスティック信号に変換するため、変換タイミングを自在に制御できる。たとえばゲームが60fpsで画面を作成している場合、変換処理部110は、変換タイミングの周期を(1/60)秒に設定してよい。また変換処理部110は、ゲームが操作信号を要求するタイミングに合わせて、モーション操作信号をアナログスティック信号に変換してもよい。
<入力部操作信号への変換処理>
以下、右アナログスティック77a以外の入力部の操作信号への変換処理について説明する。変換処理部110は、センサ信号取得部106が取得したモーションセンサ195の検出値を、第1コントローラ6の入力部の操作信号に変換し、出力処理部160が、変換された操作信号をゲームに提供する。
入力部操作信号への変換処理に関し、設定ファイル200には、第2コントローラ12の所定のモーションに対して、第1コントローラ6の入力部を対応付けた対応関係が記述されている。
図13は、第2コントローラ12のモーションと、第1コントローラ6の入力部との対応関係を示す。なお「キャラクタ動作」は、ゲームにおけるキャラクタの動作を示し、説明の便宜上、図示しているが、これはゲーム側で把握していればよい事項であるため、設定ファイル200には記述されていなくてよい。
たとえば対応表の上段には、第2コントローラ12を正回転方向にローリングすることが、第1コントローラ6の□ボタン74の入力操作に対応することが示される。各モーションの成立の有無は、変換処理部110における操作信号生成部140が判定する。ここで"ROTATE", "TILT_UP", "MOVE_UP", "MOVE_FORWARD"のモーション成立の有無については、操作信号生成部140が、センサ信号取得部106で取得したモーションセンサ195の検出値を用いて判定する。一方で"AIM"のモーション成立の有無については、操作信号生成部140が、撮影画像取得部108で取得した撮影画像を用いて判定する。
図14は、操作信号生成部140によるモーション検出手法を説明するための図である。操作信号生成部140は、モーションセンサ195の所定の回転方向または軸方向の検出値を監視する。ここで監視する検出値は、"ROTATE"に関してロール軸回りの正回転方向の角速度、"TILT_UP"に関してピッチ軸回りの正回転方向の角速度、"MOVE_UP"に関してヨー軸正方向の加速度、"MOVE_FORWARD"に関してロール軸負方向の加速度である。
ここで監視対象であるロール軸回りの正回転方向の角速度、ピッチ軸回りの正回転方向の角速度、ヨー軸正方向の加速度、ロール軸負方向の加速度には、それぞれモーション成立を判定するためのモーション閾値が設定されている。これらのモーション閾値も、設定ファイル200に記述されていてよい。図14に示すように、操作信号生成部140は、モーションセンサ195の監視対象である検出値がモーション閾値を超えると、モーション成立を判定し、対応する入力部の操作信号を生成する。たとえば図14に示すセンサ値が、ロール軸回りの正回転方向の角速度を示す場合、操作信号生成部140は、時間t1からt2の間、□ボタン74の操作信号を生成して、出力処理部160に供給する。このようにユーザは、第2コントローラ12を動かすことによって、ゲームに対してコマンドを入力できる。
なお第2コントローラ12の複数のモーションには、その検出に関する優先順位が設定されていてよい。たとえば、上記4つのモーションを優先順位の高い順に並べると、
"TILT_UP" > "ROTATE" > "MOVE_FORWARD" > "MOVE_UP"
となってよい。モーションの優先順位は、対応するキャラクタ動作にしたがって設定される。
操作信号生成部140は、第2コントローラ12の複数のモーションに設定された優先順位にもとづいて、第1コントローラ6の入力部の操作信号を生成する。具体的には、優先順位の高いモーションの検出中と、検出終了後の所定時間(たとえば500ms)が経過するまでの間、操作信号生成部140は、それよりも優先順位の低いモーションの検出を停止する。このようにモーションに優先順位を設定することで、複数のモーションが同時に検出されて、キャラクタが複数のコマンドで動作する状況を回避する。
ユーザが第2コントローラ12に所定のモーションをさせる意志がないにもかかわらず、操作信号生成部140がモーションを検出することのないように、モーション閾値は、ユーザが普通に使用している状態でセンサ値が超えないような値に設定される。つまりユーザは第2コントローラ12を所定の回転方向または軸方向に素早く動かした場合に限って、操作信号生成部140が、対応するモーションを検出するようにモーション閾値が設定される。
上記したように変換処理部110においてアナログスティック信号生成部132は、ヨー軸回りの角速度、ピッチ軸回りの角速度、ピッチ軸方向の加速度から導出されたモーション操作信号から、キャラクタの視点操作に用いられる右アナログスティック77aの信号を生成する。ユーザが、第2コントローラ12に所定のモーションをさせようとする場合に、キャラクタの視点が移動すると、出力装置4に出力されるゲーム画面が変わるため、その後のゲーム操作がしづらくなるという問題がある。そこでアナログスティック信号生成部132は、モーションセンサ195の検出値がモーション閾値よりも小さい停止閾値を超えると、無用な視点移動を避けるために、アナログスティックの操作信号の出力処理部160への出力を停止してもよい。
図15は、操作信号生成部140によるモーション検出手法を説明するための別の図である。図示されるように、アナログスティック信号生成部132によるアナログスティック信号の出力を停止する停止閾値が、モーション閾値よりも小さく設定される。これによりアナログスティック信号生成部132は、センサ値が停止閾値を超えている状態で、アナログスティック信号を出力処理部160に供給しなくなるため、ゲーム中のキャラクタの視点移動が行われなくなり、ユーザは支障なくゲームをプレイできる。
なおアナログスティック信号生成部132は、生成したアナログスティック信号に、図示する減衰係数を乗算したものを出力処理部160に供給してよい。減衰係数は、センサ値が停止閾値を下回った後、アナログスティック信号を徐々に大きくするように定められている。ここでは、センサ値が停止閾値を下回ると、500msをかけて減衰係数が0から1に回復するように設定されている。これによりアナログスティック信号生成部132は、アナログスティック信号を出力できるようになったタイミングから、徐々に大きくなるアナログスティック信号を出力処理部160に出力するため、キャラクタのスムーズな視点移動が実現できる。
以下、操作信号生成部140が、"AIM"のモーション成立の有無を判定する手法を説明する。上記したように操作信号生成部140は、撮影画像取得部108で取得した撮影画像を用いて"AIM"のモーションを検出する。
図16は、操作信号生成部140によるエイムモーション検出手法を説明するための図である。操作信号生成部140は、撮影画像に含まれる第2コントローラ12の発光部185の高さをもとに、"AIM"のモーション成立の有無を判定する。ここではゲーム開始前に発光部185の基準高さが定められ、基準高さから所定の高さ閾値以上、上方に移動すると、操作信号生成部140は、"AIM"モーションを検出する。なおユーザがゲーム開始前、アナログスティック信号を生成する基準となる基準方向を定めるために第2コントローラ12を出力装置4に向けた状態で所定のボタンを操作することを説明したが、このとき基準高さも同時に定められてよい。
なお"AIM"モーションは、スコープによる照準合わせのトリガとなる動作であり、現実の戦場では、兵士が銃を顔の脇に持ってスコープを覗き込む。ゲーム世界においても同様の動作をユーザに求める場合には、たとえば操作信号生成部140が、撮影画像からユーザの顔の近傍に発光部185が存在することを確認したときに、"AIM"モーションを検出してもよい。たとえば操作信号生成部140は、顔と発光部185の距離が所定長以下である場合に、"AIM"モーションを検出する。操作信号生成部140は、"AIM"モーションを検出すると、出力処理部160に、L2ボタン84bの操作信号を供給する。
以上の実施例において、変換処理部110は、第2コントローラ12のモーションセンサ195の検出値を処理できないゲームに対して、モーションセンサ195の検出値を、第1コントローラ6の入力部の操作信号に変換する。情報処理装置10のシステムソフトウェアは、ゲームに対してモーションセンサ195の検出値を処理可能であるか問い合わせ、処理不能である場合に、変換処理部110のモジュールを起動して、モーションセンサ195の検出値を変換処理部110に提供するようにしてよい。
なおガンシューティングゲームの中には、銃を撃つと反動により銃口が上がるように演出され、銃を撃つのを止めると銃口が下がって元の位置に戻るように演出されるものがある。反動で銃口が上がるとターゲットに対する照準がずれるため、ユーザは銃を撃ちながら、銃口の上がりを抑えるように右アナログスティック77aを下向きに操作するテクニック(リコイルコントロール)を実施して、ターゲットに対する照準を維持する。以下、説明の便宜上、ゲーム中のターゲットが水平方向に存在するものとする。
ユーザがガンコントローラである第2コントローラ12を使用して銃を撃っている間、第2コントローラ12を下向き(ピッチ軸回りの負回転方向)に徐々に傾けてリコイルコントロールを実施することで、銃の反動による銃口上がりを抑え、照準を水平に維持できる。これにより結果として銃を撃ち続けている間は、照準を水平に維持するためにユーザは第2コントローラ12を、どんどん下方に傾けていくことになる。そのため銃を撃ち終わった後、下方を向いた第2コントローラ12を上向きに傾けて元の姿勢(水平姿勢)に戻すと、ゲーム中の銃は水平状態から、その分だけ上方を向くようになってしまう。
実施例においては、ユーザがトリガスイッチであるR2ボタン184aを引きながら、第2コントローラ12を下向きに傾けると、操作信号生成部140は、ユーザがリコイルコントロールを実施していることを判定する。たとえばR2ボタン184aが引かれながら、所定角度以上、第2コントローラ12が下向きに傾けられたときに、操作信号生成部140は、リコイルコントロールが実施されていることを判定してよい。ユーザは銃を撃ち終わると(R2ボタン184aを離した後)、下方を向いた第2コントローラ12を元の姿勢(水平状態)に戻すが、このときアナログスティック信号生成部132は、リコイルコントロールによって下方に傾いた傾動量に相当する分だけ第2コントローラ12を上方に傾動する動作に相当するアナログスティック信号を出力処理部160には伝えない。つまりアナログスティック信号生成部132は、リコイルコントロールによって下方に傾けられた傾動量分だけ第2コントローラ12が相対的に上方に傾けられた場合に(下向きに傾いた姿勢を元の水平姿勢に戻す場合に)、相対的な上方への傾動量に相当するアナログスティック信号を出力処理部160には出力しない。これにより、リコイルコントロール後に、第2コントローラ12を下向きから元の水平姿勢に戻しても、その動作に相当するアナログスティック信号はゲームに伝わらないために、ゲーム中では銃が水平な状態を維持できる。
以上、本発明を実施例をもとに説明した。この実施例は例示であり、それらの各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。
実施例では、変換処理部110が、第2コントローラ12に搭載されたモーションセンサ195の検出値を入力部の操作信号に変換することを説明した。変換処理部110は、モーションセンサ195の検出値に限らず、第2コントローラ12の動きを検出した検出値を入力部の操作信号に変換できる機能を有していればよい。変換処理部110は、たとえばカメラ7により第2コントローラ12を撮影した撮影画像から第2コントローラ12の動きを検出した検出値を導出して、入力部の操作信号に変換してもよい。
1・・・情報処理システム、6・・・第1コントローラ、10・・・情報処理装置、12・・・第2コントローラ、100・・・取得部、102・・・第1操作信号取得部、104・・・第2操作信号取得部、106・・・センサ信号取得部、108・・・撮影画像取得部、110・・・変換処理部、120・・・モーション操作信号生成部、122・・・第1算出部、124・・・第2算出部、126・・・加算部、130・・・調整部、132・・・アナログスティック信号生成部、140・・・操作信号生成部、150・・・設定部、160・・・出力処理部、185・・・発光部、190・・・無線通信モジュール、191・・・処理部、192・・・メイン制御部、193・・・入力受付部、194・・・発光制御部、195・・・モーションセンサ、196・・・3軸加速度センサ、197・・・3軸ジャイロセンサ、200・・・設定ファイル。

Claims (7)

  1. アナログスティックの操作信号をゲームに提供する情報処理装置であって、
    コントローラの動きを検出した検出値を、アナログスティック信号に変換する変換処理部と、
    変換されたアナログスティック信号をゲームに提供する出力処理部と、を備え、
    前記変換処理部は、
    検出された角速度から第1信号を算出する第1算出部と、
    コントローラの向く方向と基準方向とのずれ量に応じた第2信号を算出する第2算出部と、
    第1信号と第2信号を加算したモーション操作信号を生成する加算部と、
    モーション操作信号から、アナログスティック信号を生成するアナログスティック信号生成部と、を有する、
    ことを特徴とする情報処理装置。
  2. 前記第2算出部は、ずれ量が所定の角度閾値を超えた場合に、第2信号を算出する、
    ことを特徴とする請求項1に記載の情報処理装置。
  3. 前記第2算出部は、モーションセンサにおいて検出された角速度または加速度を積分して、第2信号を算出する、
    ことを特徴とする請求項1または2に記載の情報処理装置。
  4. アナログスティック信号は、X軸成分とY軸成分とから構成されるものであって、
    前記第2算出部は、アナログスティック信号のX軸成分に反映される第2信号を算出する一方で、アナログスティック信号のY軸成分に反映される第2信号を算出しない、
    ことを特徴とする請求項1から3のいずれかに記載の情報処理装置。
  5. 前記変換処理部は、ガンシューティングゲームにおいてリコイルコントロールが実施されていることを検出すると、リコイルコントロールの実施終了後に、コントローラを上向きに傾動する動作に相当するアナログスティック信号を、出力処理部に伝えない、
    ことを特徴とする請求項1から4のいずれかに記載の情報処理装置。
  6. アナログスティックの操作信号をゲームに提供する情報処理装置において、コントローラの動きを検出した検出値を、アナログスティックの操作信号に変換する方法であって、
    コントローラの動きを検出した検出値を取得するステップと、
    検出された角速度から第1信号を算出するステップと、
    コントローラの向く方向と基準方向とのずれ量から第2信号を算出するステップと、
    第1信号と第2信号を加算したモーション操作信号を生成するステップと、
    モーション操作信号から、アナログスティック信号を生成するステップと、を有する、
    ことを特徴とする信号変換方法。
  7. アナログスティックの操作信号をゲームに提供するコンピュータに、
    コントローラの動きを検出した検出値を取得する機能と、
    検出された角速度から第1信号を算出する機能と、
    コントローラの向く方向と基準方向とのずれ量から第2信号を算出する機能と、
    第1信号と第2信号を加算したモーション操作信号を生成する機能と、
    モーション操作信号から、アナログスティック信号を生成する機能と、
    を実現させるためのプログラム。
JP2018101622A 2017-11-01 2018-05-28 情報処理装置および信号変換方法 Active JP6682079B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201762580347P 2017-11-01 2017-11-01
US62/580,347 2017-11-01

Publications (2)

Publication Number Publication Date
JP2019084339A true JP2019084339A (ja) 2019-06-06
JP6682079B2 JP6682079B2 (ja) 2020-04-15

Family

ID=66245132

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018101622A Active JP6682079B2 (ja) 2017-11-01 2018-05-28 情報処理装置および信号変換方法

Country Status (2)

Country Link
US (1) US11065535B2 (ja)
JP (1) JP6682079B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024095327A1 (ja) * 2022-10-31 2024-05-10 株式会社ソニー・インタラクティブエンタテインメント 操作装置、情報処理システム、情報処理方法およびコンピュータプログラム
WO2024095732A1 (ja) * 2022-10-31 2024-05-10 株式会社ソニー・インタラクティブエンタテインメント 操作装置、情報処理方法およびコンピュータプログラム

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008011980A (ja) * 2006-07-04 2008-01-24 Sony Computer Entertainment Inc ユーザインタフェース装置および操作感度調整方法
JP2008015679A (ja) * 2006-07-04 2008-01-24 Sony Computer Entertainment Inc ユーザインタフェース装置および操作感度調整方法
JP2009535175A (ja) * 2006-05-04 2009-10-01 ソニー・コンピュータ・エンタテインメント・アメリカ・インク ゲームコントローラ本体のユーザ操作を検出、追跡し、その動きを入力およびゲームコマンドに変換するための方式
JP2010531520A (ja) * 2007-08-16 2010-09-24 株式会社ソニー・コンピュータエンタテインメント 傾斜角情報と結合したビデオ入力を用いたオブジェクト検出
JP2017004523A (ja) * 2015-06-12 2017-01-05 任天堂株式会社 情報処理システム、情報処理装置、操作装置、および、付属機器

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010152761A (ja) * 2008-12-25 2010-07-08 Sony Corp 入力装置、制御装置、制御システム、電子機器及び制御方法
JP5161338B2 (ja) 2011-05-09 2013-03-13 株式会社ソニー・コンピュータエンタテインメント キーボード
US9008989B2 (en) * 2012-05-02 2015-04-14 Microsoft Technology Licensing, Llc Wireless controller

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009535175A (ja) * 2006-05-04 2009-10-01 ソニー・コンピュータ・エンタテインメント・アメリカ・インク ゲームコントローラ本体のユーザ操作を検出、追跡し、その動きを入力およびゲームコマンドに変換するための方式
JP2008011980A (ja) * 2006-07-04 2008-01-24 Sony Computer Entertainment Inc ユーザインタフェース装置および操作感度調整方法
JP2008015679A (ja) * 2006-07-04 2008-01-24 Sony Computer Entertainment Inc ユーザインタフェース装置および操作感度調整方法
JP2010531520A (ja) * 2007-08-16 2010-09-24 株式会社ソニー・コンピュータエンタテインメント 傾斜角情報と結合したビデオ入力を用いたオブジェクト検出
JP2017004523A (ja) * 2015-06-12 2017-01-05 任天堂株式会社 情報処理システム、情報処理装置、操作装置、および、付属機器

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024095327A1 (ja) * 2022-10-31 2024-05-10 株式会社ソニー・インタラクティブエンタテインメント 操作装置、情報処理システム、情報処理方法およびコンピュータプログラム
WO2024095732A1 (ja) * 2022-10-31 2024-05-10 株式会社ソニー・インタラクティブエンタテインメント 操作装置、情報処理方法およびコンピュータプログラム

Also Published As

Publication number Publication date
US20190126144A1 (en) 2019-05-02
US11065535B2 (en) 2021-07-20
JP6682079B2 (ja) 2020-04-15

Similar Documents

Publication Publication Date Title
US9155960B2 (en) Video-game console for allied touchscreen devices
KR101176883B1 (ko) 컴퓨터 또는 비디오 게임 시스템과 함께 이용되는 제어장치
JP5981591B1 (ja) 没入型仮想空間でオブジェクト操作を制御するためのコンピュータ・プログラムおよびコンピュータ・システム
JP5204224B2 (ja) 傾斜角情報と結合したビデオ入力を用いたオブジェクト検出
JP5550433B2 (ja) 操作装置および情報処理システム
JP5520457B2 (ja) ゲーム装置およびゲームプログラム
JP5271121B2 (ja) 情報処理プログラム、情報処理装置、情報処理システム、および情報処理方法
JP5389162B2 (ja) ゲーム装置、ゲーム制御方法、及びゲーム制御プログラム
JP5301429B2 (ja) ゲームコントローラ本体のユーザ操作を検出、追跡し、その動きを入力およびゲームコマンドに変換するための方式
JP6682079B2 (ja) 情報処理装置および信号変換方法
WO2020062281A1 (zh) 云台的控制方法、云台、可移动平台及可读存储介质
JP6736606B2 (ja) 情報処理装置および操作信号提供方法
CN108854053B (zh) 用于游戏手柄的陀螺仪辅助瞄准方法
JP2010017404A (ja) ゲームプログラムおよびゲーム装置
KR102277913B1 (ko) 입력장치
US9126110B2 (en) Control device, control method, and program for moving position of target in response to input operation
TWI607343B (zh) 資訊科技裝置輸入系統及相關方法
JP5945297B2 (ja) ゲームプログラムおよびゲーム装置
JP2016181302A (ja) 没入型仮想空間でオブジェクト操作を制御するためのコンピュータ・プログラムおよびコンピュータ・システム
US11000763B2 (en) Information processing apparatus and method of converting operation signal
JP7373147B2 (ja) ゲームシステム
JP2024018887A (ja) インテリジェント端末、ハンドヘルドデバイス、仮想システム及びインテリジェント端末の空間位置決め方法
CN115671705A (zh) 游戏设备、多人互动的游戏系统以及互动游戏的控制方法
JP2021043697A (ja) プログラム、情報処理装置、情報処理システム、情報処理方法及びヘッドマウントディスプレイ

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180529

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190521

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20200121

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20200220

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200220

R150 Certificate of patent or registration of utility model

Ref document number: 6682079

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150