(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-03-27
(54)【発明の名称】仮想コントローラのための無限ドラッグ及びスワイプ
(51)【国際特許分類】
G06F 3/0488 20220101AFI20240319BHJP
G06F 3/04845 20220101ALI20240319BHJP
A63F 13/2145 20140101ALI20240319BHJP
A63F 13/55 20140101ALI20240319BHJP
A63F 13/42 20140101ALI20240319BHJP
【FI】
G06F3/0488
G06F3/04845
A63F13/2145
A63F13/55
A63F13/42
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2023554299
(86)(22)【出願日】2022-03-10
(85)【翻訳文提出日】2023-10-24
(86)【国際出願番号】 US2022019681
(87)【国際公開番号】W WO2022192492
(87)【国際公開日】2022-09-15
(32)【優先日】2021-03-10
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
(71)【出願人】
【識別番号】511214439
【氏名又は名称】バンジー, インコーポレイテッド
(74)【代理人】
【識別番号】100079108
【氏名又は名称】稲葉 良幸
(74)【代理人】
【識別番号】100109346
【氏名又は名称】大貫 敏史
(74)【代理人】
【識別番号】100117189
【氏名又は名称】江口 昭彦
(74)【代理人】
【識別番号】100134120
【氏名又は名称】内藤 和彦
(72)【発明者】
【氏名】ティミンズ,ルーク
(72)【発明者】
【氏名】ペン,グレゴリー
(72)【発明者】
【氏名】チョン,エリザベス エム.イー.
(72)【発明者】
【氏名】ルヴァスール,ジェームズ
【テーマコード(参考)】
5E555
【Fターム(参考)】
5E555AA14
5E555AA27
5E555BA05
5E555BA06
5E555BA20
5E555BB05
5E555BB06
5E555BB20
5E555BC04
5E555BE17
5E555CA12
5E555CB07
5E555CB12
5E555CB16
5E555CB19
5E555CC03
5E555DA01
5E555DB32
5E555DB53
5E555DB57
5E555DC83
5E555DC84
5E555DC85
5E555FA00
(57)【要約】
本明細書には、ユーザから第1の位置で受信した第1のタッチ入力の指示をタッチスクリーンディスプレイ上で受信すること、第1の位置と入力機構の原点と関連付けられた第2の位置の間の距離が距離閾値未満であることに少なくとも部分的に基づいて、持続的方向入力が開始されたと判定すること、タッチ入力が連続的に検出される限り持続的方向入力を維持すること、持続的方向入力が維持される間に、持続的方向入力と関連付けられたタッチ入力ベクトルを監視すること、変化閾値よりも大きいタッチ入力ベクトルの角度変化を検出したときに、反転入力が行われたと判定すること、及び、アバターに反転入力に対応する反転アクションを行わせること、を含む動的移動制御を仮想化された物理的コントローラ上に実装するための技術が記載されている。
【選択図】
図1
【特許請求の範囲】
【請求項1】
ユーザから第1の位置で受信される第1のタッチ入力の指示をタッチスクリーンディスプレイ上で受信すること、
前記第1の位置と入力機構の原点と関連付けられた第2の位置の間の距離が距離閾値未満であることに少なくとも部分的に基づいて、持続的方向入力が開始されたと判定すること、
タッチ入力が連続的に検出される限り前記持続的方向入力を維持すること、
前記持続的方向入力が維持される間に、
前記持続的方向入力と関連付けられたタッチ入力ベクトルを監視すること、
変化閾値よりも大きい前記タッチ入力ベクトルの角度変化を検出したときに、反転入力が行われたと判定すること、及び、
アバターに前記反転入力に対応する反転アクションを行わせること、
を含む、方法。
【請求項2】
前記持続的方向入力と前記反転入力の組み合わせが、前記アバターに従来の移動アクションを前記反転アクションと組み合わせて行わせる、請求項1の方法。
【請求項3】
前記反転アクションと組み合わせた前記従来の移動アクションにおいて前記アバターを移動させる方向又は程度の少なくとも一方が、前記タッチ入力ベクトルに依存している、請求項1の方法。
【請求項4】
前記入力機構が、前記アバターの移動を制御するのに使用される方向パッドを含む、請求項1の方法。
【請求項5】
前記タッチ入力ベクトルの前記角度変化が、所定の期間にわたる回転変化の程度を含む、請求項1の方法。
【請求項6】
所定の期間にわたる回転度が、前記所定の期間内の150度以上の回転を含む、請求項5の方法。
【請求項7】
前記持続的方向入力と関連付けられた前記タッチ入力ベクトルが、前記タッチ入力が移動している現在の方向を含む、請求項1の方法。
【請求項8】
前記持続的方向入力と関連付けられた前記タッチ入力ベクトルが、前のある期間にわたって受信されたタッチ入力に基づいて生成される、請求項7の方法。
【請求項9】
前記反転アクションが、前記アバターに関連して行われるuターンアクションを含む、請求項1の方法。
【請求項10】
タッチスクリーンディスプレイと、プロセッサと、メモリと、を備えたユーザデバイスであって、
前記メモリが、プロセッサを用いて実行されるときに、前記ユーザデバイスに、少なくとも
ユーザから第1の位置で受信した第1のタッチ入力の指示を、前記タッチスクリーンディスプレイ上で受信すること、
前記第1の位置と入力機構の原点と関連付けられた第2の位置の間の距離が距離閾値未満であることに少なくとも部分的に基づいて、持続的方向入力が開始されたと判定すること、
タッチ入力が連続的に検出される限り前記持続的方向入力を維持すること、
前記持続的方向入力が維持される間に、
前記持続的方向入力と関連付けられたタッチ入力ベクトルを監視すること、
変化閾値よりも大きい前記タッチ入力ベクトルの角度変化を検出したときに、反転入力が行われたと判定すること、及び、
アバターに前記反転入力に対応する反転アクションを行わせること、
を行わせる命令を含む、ユーザデバイス。
【請求項11】
前記命令が前記ユーザとソフトウェアアプリケーションとの対話を促進することができる仮想コントローラを含む、請求項10のユーザデバイス。
【請求項12】
前記ソフトウェアアプリケーションが、前記ユーザによりプレイされるビデオゲームを含む、請求項11のユーザデバイス。
【請求項13】
前記アバターが、前記ユーザにより前記ユーザデバイスを介して制御されるキャラクタオブジェクトを含む、請求項12のユーザデバイス。
【請求項14】
前記距離閾値が、前記ソフトウェアアプリケーションにより提供される情報に基づいて決定される、請求項10のユーザデバイス。
【請求項15】
前記距離閾値が、方向パッド入力機構に関する構成データに記憶されている情報に基づいて決定される、請求項10のユーザデバイス。
【請求項16】
前記距離閾値が、ユーザの好みに基づいて決定される、請求項10のユーザデバイス。
【請求項17】
前記距離閾値が、前記第1のタッチ入力に関連する速度に基づいて決定される、請求項10のユーザデバイス。
【請求項18】
ユーザから第1の位置で受信した第1のタッチ入力の指示をタッチスクリーンディスプレイ上で受信すること、
前記第1の位置と入力機構の原点と関連付けられた第2の位置の間の距離が距離閾値未満であることに少なくとも部分的に基づいて、持続的方向入力が開始されたと判定すること、
タッチ入力が連続的に検出される限り前記持続的方向入力を維持すること、
前記持続的方向入力が維持される間に、
前記持続的方向入力と関連付けられたタッチ入力ベクトルを監視すること、
変化閾値よりも大きい前記タッチ入力ベクトルの角度変化を検出したときに、反転入力が行われたと判定すること、及び、
アバターに前記反転入力に対応する反転アクションを行わせること、
を含む行為を、実行時に1つ以上のコンピューティングデバイスにまとめて行わせるコンピュータ実行可能命令をまとめて記憶する、非一時的コンピュータ可読媒体。
【請求項19】
前記タッチ入力ベクトルの前記角度変化が、所定の期間にわたる回転変化の程度を含む、請求項18の非一時的コンピュータ可読媒体。
【請求項20】
前記第1の位置と前記タッチ入力の現在の位置との間の距離が前記距離閾値よりも大きいと判定したときも、前記持続的方向入力が維持される、請求項19の非一時的コンピュータ可読媒体。
【発明の詳細な説明】
【背景技術】
【0001】
[0001] 例えばコンピュータゲーム及びビデオゲーム、並びに汎用オペレーティングシステムにより使用される最新のコンピュータコントローラシステムは、画面に表示されるオブジェクトの動きを指示する様々な技術を採用する。既知の技術には、方向ベクトルを作成したり、ポインタやレチクルなどの画面上のオブジェクトを移動するための位置を指定したり、ユーザの視点の移動を引き起こしたりするために、マウス、方向ナブ、タッチパッド、ペン、ゲームコントローラ、又はジョイスティックなどの外部操作デバイスの使用が含まれる。
【0002】
[0002] 一部の技術は、入力のパラメータ(例えば外部デバイスを移動させる速度に基づいたポインタの加速度)に応じて画面上のオブジェクトの挙動を変化させることにより、画面上のオブジェクトの動きを改善するために外部デバイスの移動の速度を測定することによる洗練の追加層を採用する可能性がある。タッチ対応デバイスはまた、外部操作デバイスの挙動をシミュレートするように入力を受け入れるように構成される可能性がある。しかしながら、タッチ対応デバイスの操作スキームは、物理的コントローラで達成されてきた手触りや反応性に及ばない傾向があり、この分野の更なる発展が必要とされる。例えば一部のタッチ対応操作スキームが現存のゲームで示されているが、既存の操作スキームは仮想化により与えられる柔軟性を利用できない。
【発明の概要】
【0003】
[0003] 本明細書には、より直感的な制御インターフェイスを備えた仮想コントローラを提供するための技術が示されている。具体的には、ソフトウェアアプリケーション(ビデオゲームなど)内でオブジェクト(キャラクタやアバターなど)を制御するのに使用される仮想コントローラにおいて、例えば方向パッドを使用してそのオブジェクトの移動を制御するユーザの能力を高める技術が実装されることがある。
【0004】
[0004] 仮想コントローラは、物理的コントローラとは対照的に、制御入力機構の少なくとも一部が仮想的にインスタンス化される任意の適切な電子デバイスである場合がある。例えば、仮想コントローラは、ボタン又は他の入力機構を提示するように構成されるタッチスクリーンディスプレイを備えることがある。タッチスクリーンディスプレイへのユーザのタッチが仮想コントローラの使用中に検出されることがある。検出されたユーザのタッチの位置が提示されたボタンの位置に一致する場合に、ボタンは作動することがある。
【0005】
[0005] 一実施形態では、ユーザから第1の位置で受信した第1のタッチ入力の指示をタッチスクリーンディスプレイ上で受信すること、第1の位置と入力機構の原点と関連付けられた第2の位置の間の距離が距離閾値未満であることに少なくとも部分的に基づいて、持続的方向入力が開始されたと判定すること、タッチ入力が連続的に検出される限り持続的方向入力を維持すること、持続的方向入力が維持される間に、持続的方向入力と関連付けられたタッチ入力ベクトルを監視すること、変化閾値よりも大きいタッチ入力ベクトルの角度変化を検出したときに、反転入力が行われたと判定すること、及び、アバターに反転入力に対応する反転アクションを行わせること、を含む方法が、ユーザデバイスによって実行されることが開示される。
【0006】
[0006] ある実施形態が、タッチスクリーンディスプレイと、プロセッサと、メモリと、を備えたコンピューティングシステムであって、メモリが、プロセッサを用いて実行されるときに、コンピューティングデバイスに、少なくとも、ユーザから第1の位置で受信した第1のタッチ入力の指示をタッチスクリーンディスプレイ上で受信すること、第1の位置と入力機構の原点と関連付けられた第2の位置の間の距離が距離閾値未満であることに少なくとも部分的に基づいて、持続的方向入力が開始されたと判定すること、タッチ入力が連続的に検出される限り持続的方向入力を維持すること、持続的方向入力が維持される間に、持続的方向入力と関連付けられたタッチ入力ベクトルを監視すること、変化閾値よりも大きいタッチ入力ベクトルの角度変化を検出したときに、反転入力が行われたと判定すること、及び、アバターに反転入力に対応する反転アクションを行わせること、を行わせる命令を含むコンピューティングシステムを対象とする。
【0007】
[0007] ある実施形態が、ユーザから第1の位置で受信した第1のタッチ入力の指示をタッチスクリーンディスプレイ上で受信すること、第1の位置と入力機構の原点と関連付けられた第2の位置の間の距離が距離閾値未満であることに少なくとも部分的に基づいて、持続的方向入力が開始されたと判定すること、タッチ入力が連続的に検出される限り持続的方向入力を維持すること、持続的方向入力が維持される間に、持続的方向入力と関連付けられたタッチ入力ベクトルを監視すること、変化閾値よりも大きいタッチ入力ベクトルの角度変化を検出したときに、反転入力が行われたと判定すること、及び、アバターに反転入力に対応する反転アクションを行わせること、を含む行為を、実行時に1つ以上のコンピューティングデバイスにまとめて行わせるコンピュータ実行可能命令をまとめて記憶する非一時的コンピュータ可読媒体を対象とする。
【0008】
[0008] 上記は、他の特徴及び実施形態と共に、以下の明細書、特許請求の範囲、及び添付の図面を参照することでより明らかになるであろう。この特許によりカバーされる本発明の実施形態は、この概要ではなく、以下の特許請求の範囲によって定義される。この概要は本発明の様々な態様の高レベルの概要であり、以下の詳細な説明のセクションで更に説明される概念の一部を紹介する。この概要は、請求項に規定される主題の重要な又は必須の特徴を特定することを意図するものではなく、請求項に規定される主題の範囲を決定するために単独で使用されることを意図するものでもない。主題は、この特許の明細書全体、任意の又は全ての図面及び各請求項の適切な部分を参照することによって理解されるべきである。
【図面の簡単な説明】
【0009】
[0009] 詳細な説明は、添付の図を参照して説明される。図では、参照番号の最も左の数字は、参照番号が最初に現れる図を特定する。異なる図における同じ参照番号の使用は、類似又は同一の項目又は特徴を示している。
【0010】
【
図1】[0010] 本開示の様々な実施形態に係る、仮想コントローラが使用され得るサービス環境を示す簡略化されたシステム図である。
【
図2】[0011] 実施形態に係る無限ドラッグ及びスワイプを行うための制御手段が実装され得る仮想コントローラを含む環境の例示的な例を示す。
【
図3】[0012] 実施形態に係る仮想化された物理的コントローラの実装をサポートするコンピューティングシステムアーキテクチャの様々なコンポーネントを示すブロック図である。
【
図4】[0013] 実施形態に係る方向パッドの原点の動的位置決めを実装するためのプロセスのグラフィック図を示す。
【
図5】[0014] 実施形態に係る仮想コントローラ上でチャージ動作を実行するためのプロセスのグラフィック図を示す。
【
図6】[0015] 実施形態に係る動的方向制御手段に基づいたアクションを実行するための例示的なプロセスフローを示す。
【
図7】[0016] 実施形態に係る仮想化された物理的コントローラ上に動的方向制御手段を生成し実装するための第1の例示的なプロセスフローを示すフロー図を示す。
【
図8】[0017] 実施形態に係る仮想化された物理的コントローラ上に動的方向制御手段を生成し実装するための第2の例示的なプロセスフロー800を示すフロー図を示す。
【発明を実施するための形態】
【0011】
[0018] 以下の説明では、様々な実施形態が説明される。説明を目的として、実施形態の完全な理解を提供するために特定の構成及び詳細が示される。しかしながら、特定の詳細なしに実施形態を実施し得ることも当業者にとって明らかであろう。更に、説明される実施形態を曖昧にしないように、公知の特徴が省略又は簡易化されることがある。
【0012】
[0019] 本明細書における実施形態は、より直感的な制御インターフェイスを有する仮想コントローラを実装するための技術を対象とする。具体的にはこれらの技術は、方向パッドなどの入力機構の原点の位置を仮想コントローラのユーザによる移動に基づいて動的に調整することを含む。そのような技術では、仮想コントローラのユーザによる移動は、ユーザが自分の指をタッチスクリーンディスプレイ上でドラッグするユーザのスワイプ又はドラッグタッチ入力である場合がある。実施形態では、原点の位置は、その原点がユーザのスワイプ又はドラッグタッチ入力の経路上に位置するが、ユーザの直近のタッチ位置からある閾値距離だけ離れたところに位置するように更新されることがある。ユーザのタッチ入力がその閾値距離の外に移動するときに、原点はユーザのタッチ入力の位置から閾値距離だけ離れたところに更新される。
【0013】
[0020] 本開示の実施形態は、従来のシステムに勝る複数の利点を提供する。タッチスクリーンデバイス上に実装される一部の制御システムでは、アバターの向きと移動速度を、スクリーンの所定の位置に(例えば左側に)実装される「方向パッド」によって制御することができる。例えばユーザの左手の親指が初めに方向パッドに置かれるとき、コントローラはその初期配置を向きと移動の「原点」(アナログ時計の中心と同様)と認識する。ユーザが自分の親指を原点から離れる方向にスライドさせるときに、原点とユーザの親指の位置からベクトルが計算される。アバターの向き(中心からの方向)が、ベクトルの方向、及びアバターが移動する速度(ベクトルの長さ、又はタッチ入力中に親指をどれくらいスライドさせたか)に基づいて更新される。
【0014】
[0021] プレイヤーがキャラクタを真っすぐに移動させており(親指を12時の位置に向けて伸ばし)、素早く向きを変える(親指を6時の位置に向かって動かす)ことを望むシナリオを考えると、プレイヤーが依然として同じ方向に移動している(依然として12時の位置を指している)ように見えるが、速度だけが低下する(すなわちベクトルの長さが小さくなる)何ミリ秒にもわたるいくつかの入力の例が存在することになる。最後に、何ミリ秒もたった後、プレイヤーの親指は6時の位置を指していることになり、ゲームはアバターの向きを更新することができる。
【0015】
[0022] 従来のコントローラの問題が三重である場合がある。第1に、仮想コントローラは、ユーザが早期に(例えば少ない入力サンプルを受信した後に)自分のアバターの「向きを変える」ことを望むことを検出する必要がある場合がある。第2に、ユーザが自分のアバターの向きを変えたいときに、仮想コントローラは、ユーザを反対方向に移動させるのにユーザの親指が移動しなければならない距離を最小限に抑えることを望むことになる。第3に、仮想コントローラは上記の両方を、プレイヤーがプレイするときに親指の位置をより快適に変えられるように、決まった位置に固定されていない「フローティング」仮想コントローラで解決すべきである。
【0016】
[0023] 本明細書に記載の実施形態では、システムは、仮想コントローラ入力の状態(例えば「ユーザはコントローラ上で親指を12時の位置に向けている」)だけではなく、ユーザの最後の親指位置からユーザの現在の親指位置までの変化も見て、「スワイプベクトル」(スワイプの方向と長さの両方を与える)を構築し、システムは「スワイプベクトル」からプレイヤーの意図(この場合は、ユーザが素早く向きを変えたいことを検出すること)を推定することができる。
【0017】
[0024] 実施形態では、システムがユーザのタッチ入力(例えば「uターンスワイプ」)の方向の変更を検出するときに、方向パッドの原点は、ユーザの親指の現在の位置(例えばコントローラの中心はいまや前の中心+スワイプ方向である)から所定の距離のところに、又はユーザの親指の現在の位置の下方に再配置され、新しい原点と比較されるユーザから受信される将来のタッチ入力を即座にもたらす。そのような技術は、ユーザの親指が素早い方向変更を実行するのにそれほど遠くに移動する必要がないときに、固定位置(又は固定された)方向パッドよりも応答性が高い「フローティング」方向パッドをもたらす重要なイノベーションを提供する。
【0018】
[0025] 一部の実施形態では、仮想コントローラ上に実装される方向制御手段が、プレイヤーが自分のキャラクタの向きを素早く変化させたいことが検出されたときにキャラクタの挙動を変更するために、他方のボタン状態の操作(例えば、キャラクタがダッシュや攻撃を望むなどのキャラクタアクションを示す別のボタン押し)を可能にする。例えばキャラクタがダッシュしている場合に、そのキャラクタは180度方向転換する前に「スクリーチングストップスライド」にアニメーション化することができ、歩いていてダッシュボタンを押していない場合は単に180度スナップ回転する。
【0019】
[0026] 一部の実施形態では、(例えば「uターンスワイプ」の)方向変更を、入力が方向変更を示すための処理に成功したときにユーザに対する非視覚的フィードバック、例えば触覚フィードバック及び/又は可聴フィードバックをトリガすることによって強調することができる。例えば成功した「uターンスワイプ」が、スクリーン上のユーザのアバターの移動の目に見える変化と一致する、その変化に追従する、もしくは先行する触覚フィードバック、又はスクリーン上のユーザのアバターの移動の同じ目に見える変化と一致する、その変化に追従する、もしくは先行する可聴フィードバック(チャイムなど)をもたらすことができる。可聴及び/又は触覚フィードバックが任意の適切な順序で発生する可能性があり、同時に発生する可能性があり、又はフィードバックの一形態が使用される可能性がある。
【0020】
[0027]
図1は、本開示の様々な実施形態に係る、仮想コントローラが使用され得るサービス環境100を示す簡略化されたシステム図である。サービス環境100は、少なくとも1つのサーバ101を備え、サーバ101は、少なくとも1つのプロセッサ103と、サービス環境の動作を容易にするための命令をソフトウェアとして記憶する非一時的メモリ105とを備える。サーバ101は、一般的には対応するローカルユーザネットワーク131、141(例えば、民生用又は商用ローカルエリアネットワーク、WIFIネットワークなど)で動作する任意の適切な数のユーザ所有のクライアントデバイス133、143と、ネットワーク121(例えば、インターネット又はローカルネットワーク)を介して接続されている。
【0021】
[0028] サーバ101はまた、サーバ101及びクライアントデバイス133、143との間のネットワークを監視する任意の適切な数の制御サービス111、例えば独自のプロセッサ113及びメモリ115を備えたネットワーク接続されたコンピューティングシステムに接続することができる。一部の実施形態では、サーバ101は、商業規模、例えばデータセンター又はサーバファームで稼働する1つ以上のサーバである可能性がある。クライアントデバイス133、143は、民生パーソナルコンピュータ、ビデオゲームコンソール、ローカル画面に提示するためにサーバ101からビデオコンテンツをストリーミングするように動作可能なシンクライアントデバイス、又はスマートフォン、タブレットなどのモバイルデバイスなどを含む可能性がある。クライアントデバイス133、143は、任意の適切な数のコントローラ、例えばコントローラ135、137、145、147に接続することができる。
【0022】
[0029] 各コントローラ(例えばコントローラ135)は、その対応するクライアントデバイス133と通信するための接続ハードウェア及びプロトコルを備えたハードウェアデバイス(例えば、コンソール固有のコントローラ、相互に互換性のあるコントローラ、又は仮想コントローラ)である可能性がある。一部の実施形態によれば、コントローラ135は、シンクライアントデバイス又はタッチスクリーンデバイス上で動作する仮想化コントローラ、例えばタッチスクリーン式のスマートフォン、タブレットでシミュレートされるコントローラ、又はタッチ対応パネルを備えたコンソール状のコントローラである可能性がある。一部の更なる実施形態によれば、例えばクライアントデバイス133がシンクライアントデバイス又はモバイルデバイスである場合に、コントローラ135は、クライアントデバイスに組み込まれる仮想化制御手段を備えたタッチスクリーンである可能性がある。代替的には、クライアントデバイス133がシンクライアントデバイスである場合でも、コントローラ135は、クライアントデバイスに物理的に又は無線で接続するように構成されたハードウェアコントローラである可能性がある。一部の実施形態によれば、クライアントデバイス133及びサーバ101は同じハードウェア上で動作することができ、例えばクライアントデバイスはサーバ上で仮想インスタンスとして実行される。
【0023】
[0030] 本明細書に記載の方法は、
図1に記載のサービス環境100などのサービス環境と関連するクライアントデバイス上で実施される可能性がある。方法は更に、画面上でのアバターの向き及び移動の両方を制御する仮想コントローラの任意配置との関連で機能する可能性がある。
【0024】
[0031] 明確にするために、
図1には一定数のコンポーネントが示されている。ただし、本開示の実施形態が各コンポーネントの2つ以上を備え得ることが理解される。また、本開示の一部の実施形態は、
図1に示すコンポーネントの全てより少ない又は多いコンポーネントを備えることがある。また、
図1のコンポーネントは、(インターネットを含む)任意の適切な通信媒体を介して、任意の適切な通信プロトコルを使用して通信を行うことがある。
【0025】
[0032]
図2は、実施形態に係る無限ドラッグ及びスワイプを行うための制御手段が実装され得る仮想コントローラを含む環境200の例示的な例を示している。
【0026】
[0033]
図2Aから
図2Dは、様々な実施形態に係る、ビデオゲームシステム233と通信状態にある仮想コントローラ235を採用する制御スキーム200におけるスワイプ制御の「uターン」プロセスの一例を示す。仮想コントローラ235は、プレイヤー入力257を受信し得るタッチスクリーン251を備える。プレイヤー入力257は、一般的には移動制御手段に対応するゾーン255内から生じるタッチの形態で受信されるが、ゾーンのサイズ及び位置は変化する可能性があるか、又はゾーンはスクリーン全体である可能性がある。仮想コントローラ235は、タッチスクリーン251を介して一式のコントローラスキームをソフトウェアで仮想化するように構成された専用のタッチスクリーンデバイスである可能性があるか、又は仮想タッチスクリーンを提示し得るスマートフォンなどのモバイルデバイスである可能性がある。一部の実施形態では、仮想コントローラ235は、ハンドル253などの人間工学的な特徴を備える可能性があるか、又はタッチスクリーン制御手段に加えてハードウェア制御手段(ボタン、ジョイスティックなど)も備える可能性がある。
【0027】
[0034]
図2Aは、本開示の少なくとも1つの実施形態に係る仮想コントローラの初期状態を示す。
図2Aでは、プレイヤー入力257は、原点位置を設定するタッチスクリーン251へのタッチから開始される。同じタッチスクリーン251に又は異なるスクリーンに表示され得るアバター259などのゲーム内オブジェクトが、移動がまだ検出されないときに静止状態にある。
【0028】
[0035]
図2Bは、ユーザが入力位置を第1の原点に対して第1の方向に移動した、
図1Aの仮想コントローラの第2の状態を示す。
図2Bでは、プレイヤー入力257はタッチスクリーン251に沿って移動し、第1の移動ベクトルが割り当てられる。この時点で、アバター259の移動をビデオゲームシステムによって発生させることができる。プレイヤー入力257、すなわち「スワイプ」の方向及び大きさをメモリに登録し、方向性及び大きさを有する第1の移動ベクトルを生成させるのに使用することができる。
【0029】
[0036]
図2Cは、ユーザが第1の方向に対する入力位置の移動を反転した
図1Aの仮想コントローラの第3の状態を示す。第1のプレイヤー入力は、例えば方向の変更によって、又はプレイヤーとタッチスクリーンとの接触の中断によって途切れる可能性がある。例えば
図2Cに示すように、プレイヤーがタッチスクリーン251に触れることを一時的に中止し、異なる位置から再開する「リフト」が発生する可能性があり、新しいプレイヤー入力257が新しい原点位置として割り当てられる。
【0030】
[0037]
図2Dは、ユーザが移動ベクトルを作成することなく入力位置を再配置する
図1Aの仮想コントローラの第4の状態を示す。
図2Dは、元の移動方向と反対方向に移動するプレイヤー入力257を示し、プレイヤー入力257は、第1の移動ベクトルと方向がほぼ反対であるが大きさが必ずしもそうではない第2の移動ベクトルを生成する。第2の移動ベクトルが第1の移動ベクトルの反転であることに応答して、システムは、単に移動方向を反転するのと異なる方法で行われ得る、例えば特定の「uターン」アニメーション261及び通常の移動に付随する挙動と異なる所定の「uターン」挙動を可能にする「uターン」を実行するプレイヤーの意図を推測することができる。例えば「uターン」を引き込むことは、レッジから落ちることなどのゲーム挙動の種類を無効にすることができ、通常の移動中にアクセス不可能な所定の動き又は攻撃を利用可能にすることなどのゲーム挙動の種類を有効にすることができ、又は通常の移動中に適用されるものと異なる加速度プロファイルを用いて方向を反転することができる。
【0031】
[0038]
図3は、実施形態に係る仮想化された物理的コントローラの実装をサポートするコンピューティングシステムアーキテクチャの様々なコンポーネントを示すブロック図である。システムアーキテクチャは少なくとも1つのコントローラ302を備えることがある。一部の実施形態では、コントローラ302は、
図1に関して説明したサーバ101の一例であり得る1つ以上のサーバ304と通信状態にあることがある。一部の実施形態では、1つ以上のサーバ101は、コントローラ302へのバックエンドサポートを行うことがある。例えば、コントローラ302により実行されているとされる処理の少なくとも一部分が、場合によっては代わりにサーバ101によって実行されることがある。一部の実施形態では、コントローラ302はクライアントデバイス306と通信状態にあることがある。クライアントデバイス306は、
図1に関連して以上で説明したクライアントデバイス133又は143の一例である場合がある。一部の実施形態では、クライアントデバイス306は、表示デバイス308と更に通信状態にあることがある。本明細書に記載のコンポーネントのそれぞれは、ネットワーク310を通じた接続を介して通信状態にあることがある。
【0032】
[0039] コントローラ302は、本明細書に記載の動作の少なくとも一部を実行するように構成され、かつユーザがソフトウェアアプリケーションと対話できるように構成された任意の適切なコンピューティングデバイスを含むことがある。一部の実施形態では、コントローラはタッチスクリーン機能を有するモバイルデバイス(例えば、スマートフォン又はタブレット)である場合がある。コントローラ302は、通信インターフェイス312と、1つ以上のプロセッサ314と、メモリ316と、ハードウェア318と、を備えることがある。通信インターフェイス312は、コントローラ302と他のネットワークデバイスとのデータの送受信を可能にする無線及び/又は有線通信コンポーネントを備えることがある。ハードウェア318は、追加のユーザインターフェイス、データ通信、又はデータストレージハードウェアを含むことがある。例えばユーザインターフェイスは、少なくとも1つの出力デバイス320(例えば、ビジュアルディスプレイ、音声スピーカ、及び/又は触覚フィードバックデバイス)、及び1つ以上のデータ入力デバイス322を備えることがある。データ入力デバイス322は、キーパッド、キーボード、マウスデバイス、ジェスチャを受け付けるタッチスクリーン、マイクロフォン、発話又は音声認識デバイス、及び任意の他の適切なデバイスの1つ以上の組み合わせなどを含むことがある。
【0033】
[0040] メモリ316は、コンピュータストレージ媒体などのコンピュータ可読媒体を使用して実装されることがある。コンピュータ可読媒体は、少なくとも2つのタイプのコンピュータ可読媒体、すなわちコンピュータストレージ媒体及び通信媒体を含む。コンピュータストレージ媒体には、コンピュータ可読命令、データ構造、プログラムモジュール、又はその他のデータなどの情報の記憶のためのいずれかの方法又は技術で実装される任意の適切な揮発性及び不揮発性、取外し可能及び取外し不能な媒体が含まれる。コンピュータ記憶媒体には、RAM、DRAM、ROM、EEPROM、フラッシュメモリもしくはその他のメモリ技術、CD-ROM、デジタル多用途ディスク(DVD)もしくはその他の光学記憶装置、磁気カセット、磁気テープ、磁気ディスク記憶装置もしくはその他の磁気記憶デバイス、又はコンピューティングデバイスがアクセスする情報を記憶するのに使用され得るいずれかのその他の非伝送媒体などが含まれる。これに対して、通信媒体は、コンピュータ可読命令、データ構造、プログラムモジュール、又はその他のデータを、搬送波などの変調データ信号、又は他の伝送機構において具現化することがある。
【0034】
[0041] コントローラの1つ以上のプロセッサ314及びメモリ316は、1つ以上のソフトウェアモジュール及びデータストアを含む機能を実装することがある。そのようなソフトウェアモジュールは、ルーチン、プログラム命令、オブジェクト、及び/又は特定のタスクを実行するもしくは特定のデータタイプを実装するためにプロセッサ314により実行されるデータ構造を含むことがある。より具体的には、メモリ316は、仮想コントローラ上に動的制御パッドを実装するように構成されるモジュール(例えば動的制御モジュール324)、及び仮想化コントローラの入力機構のための構成情報を保持及び実装するように構成されるモジュール(例えば構成管理モジュール326)を備えることがある。
【0035】
[0042] また、メモリ316は様々なデータストアを備えることがある。例えばメモリ316は、コンテキストに基づいて仮想化されたコントローラ構成に関するデータ(例えば構成データ328)を保持することがある。一部の実施形態では、そのような構成データは、実装すべき入力機構の1つ以上の特徴の表示を含むことがある。例えば構成データは、各入力機構のサイズ、位置、形状、外観(例えば、色、陰影、及び/又はテキスト)の表示を含むことがある。
【0036】
[0043] 動的制御モジュール324は、プロセッサ314と連携して、タッチスクリーンディスプレイを介して受信されるユーザタッチ入力を監視するように構成されることがある。一部の実施形態では、タッチ入力は、方向パッドの原点と関連付けられた位置を更新するために動的制御モジュールによって使用されることがある。例えばユーザタッチ入力(例えばユーザのドラッグ又はスワイプ操作)が方向パッドに関連してタッチスクリーンディスプレイを介して受信され処理されるときに、そのタッチ入力の速度及び/又は方向が、仮想コントローラを介して制御されるオブジェクト(例えばキャラクタ)の移動命令を生成するのに用いられることがある。この例では、ユーザのタッチ入力の軌跡又は経路が保持されることがある。ユーザのタッチ入力が受信されるときに、そのタッチ入力と関連付けられた現在の位置が、方向パッドの原点の現在の位置と、2つの位置の間の距離が距離閾値よりも大きいかどうかを判定するために比較される。その距離が距離閾値よりも大きいと判定されたときに、方向パッドの原点の現在の位置は、ユーザのタッチ入力と関連付けられた経路に沿ったユーザタッチの現在の位置からの閾値距離にある位置に更新される可能性がある。一部の実施形態では、閾値距離は、仮想コントローラの方向制御手段の感度を調整するために更新されることがある。
【0037】
[0044] 方向パッドの原点が更新されるときに、ユーザのタッチ入力は、その新しい原点位置に関連付けて処理されることがある。例えばユーザのタッチ入力が受信され続けるときに、新しい原点位置に対するユーザのタッチ入力の相対位置及び速度に基づいてベクトルが決定されることがある。そして、方向パッドを介して制御されるオブジェクトがそのベクトルに従って移動することがある。一部の実施形態では、ユーザからのタッチ入力がもはや検出されなくなる(例えばユーザがタッチスクリーンディスプレイに触れることをやめる)と、方向パッドの原点はその初期位置にリセットされることがある。一部の実施形態では、これは、ユーザのタッチ入力が最後に検出されてから所定の時間が経過した後に行われることがある。
【0038】
[0045] 構成管理モジュール326は、プロセッサ314と連携して、コントローラ302に提示されるユーザインターフェイス内の1つ以上の入力機構の配置に関する構成情報を生成及び管理するように構成されることがある。一部の実施形態では、構成管理モジュールは、一部の実施形態に従って入力機構レイアウトのカスタマイズを容易にする。そのようなカスタマイズが、参照によりその全体が本明細書に組み込まれる、Gregory Pengによる「Virtualized Physical Controller」と題する関連する特許協力条約(PCT)出願番号US2022/019240に説明されていることに留意すべきである。
【0039】
[0046] サーバ304は、これによって生じる動作の少なくとも一部を実行するように構成された任意のコンピューティングデバイスを備える可能性がある。サーバ304は、1つ以上の汎用コンピュータ、専門化されたサーバコンピュータ(例としてPC(パーソナルコンピュータ)サーバ、UNIX(登録商標)サーバ、ミッドレンジサーバ、メインフレームコンピュータ、ラックマウントサーバなどを含む)、サーバファーム、サーバクラスタ、又は任意の他の適切な構成及び/又は組み合わせから構成されることがある。サーバ304は、仮想オペレーティングシステムを動作させる1つ以上の仮想マシン、又はコンピュータの仮想記憶デバイスを維持するために仮想化され得る論理記憶デバイスの1つ以上の可撓性プールなどの仮想化を伴う他のコンピューティングアーキテクチャを備える可能性がある。例えばサーバ304は、クラウドにホスティングされている仮想マシン又はソフトウェアコンテナの形をした仮想コンピューティングデバイスを備えることがある。
【0040】
[0047] クライアントデバイス306は、コントローラ302から入力を受け取り、その入力に基づいてアクションを実行するように構成された任意の適切なコンピューティングデバイスを含むことがある。一部の実施形態では、クライアントデバイスは、それぞれがソフトウェアアプリケーション(例えばコンピュータゲーム)内のアバター又はキャラクタを制御するのに使用され得る複数のコントローラから入力を受け取り得るゲーミングコンソールなどのゲーミングシステムである場合がある。
【0041】
[0048]
図4は、実施形態に係る方向パッドの原点の動的位置決めを実施するためのプロセスのグラフィック図を示している。プロセス400は、
図3について以上で説明したコントローラ302などの仮想物理コントローラが実装されているユーザデバイス上で実行されることがある。
【0042】
[0049] プロセス400では、方向パッドなどの入力機構が原点402と関連付けられることがある。初期状態において、原点は所定の位置に位置することがある。例えば、特定の入力機構の原点は、最初に仮想コントローラ及び/又は実行されるソフトウェアアプリケーションの構成データに示されるタッチスクリーンディスプレイ上のある位置に配置されることがある。原点402に加えて、入力機構は、タッチスクリーンディスプレイ上に入力機構を画定する領域又はエリア404と関連付けられることがある。一部の実施形態では、エリア404は、構成データに含まれる情報に基づく所定のエリアを含むことがある。一部の実施形態では、エリア404は、原点402から所定の距離で囲まれる空間領域を含むことがある。一部の実施形態では、アウトライン又は他のインジケータが、エリア404を特定するためにタッチスクリーンディスプレイ上に表示されることがある。
【0043】
[0050] プロセス400では、ユーザからのタッチ入力が検出されることがある。タッチ入力が方向パッドと関連付けられたエリア404内の位置406から始まっていると判定したときに、タッチ入力は、その方向パッドに関連するアクションと関連付けられていると判定されることがある。一部の例では、ユーザは次いで自分の指をタッチスクリーンディスプレイ上にドラッグすることによって連続タッチ入力(例えばドラッグ又はスワイプ操作)を作成することがある。一部の実施形態では、タッチ入力がエリア404を出ても、結果として生じるドラッグ操作は、タッチ入力をやめる(例えばユーザがタッチスクリーンディスプレイに触れることをやめる)まで引き続き方向パッドと関連付けられることがある。ドラッグ操作が検出される限り、ドラッグ操作と方向パッドの原点との関係に基づいて方向パッドにより制御されるオブジェクトに対する移動命令が生成される。
【0044】
[0051] ドラッグ又はスワイプタッチ入力が検出される間、受信されるタッチ入力は、ドラッグ操作中にユーザがたどる経路408を記録するために監視されることがある。一部の実施形態では、タッチ入力は、ユーザがタッチスクリーンディスプレイとのタッチコンタクトを維持する限りドラッグ操作と関連付けられることがある。一部の例では、ドラッグ操作は、ユーザがもはやタッチスクリーンディスプレイに触れていないことを検出したときに終わったと判定されることがある。一部の例では、ドラッグ操作は、ユーザが所定の時間を超過してタッチスクリーンディスプレイに触れていないことを検出したときに停止されたと判定される。一部の実施形態では、ドラッグ操作が停止されたと判定されると、原点の位置がその初期位置402にリセットされることがある。
【0045】
[0052] 一部の例では、タッチ入力の現在の位置が、新しいタッチ入力が受信されるときに方向パッドの原点の現在の位置と比較されることがある。2つの位置の間の距離が閾値距離410よりも大きいとの判定がなされた場合に、原点の位置が、現在の位置から閾値距離に等しい距離に更新されることがある。一部の実施形態では、原点は、ドラッグ操作の経路408に当たる位置で更新されることがある。このように原点の位置は、受信されるユーザタッチ入力に基づいて絶えず更新されることがある。一部の実施形態では、原点は、必ずしも経路408上ではない代わりに現在のタッチ入力のすぐ後ろに当たる位置で更新されることがある。換言すれば、原点の位置は、ユーザタッチ入力が移動していると判定される現在の方向の反対方向の閾値距離にある点に設定されることがある。
【0046】
[0053] 例として、ユーザが自分の指を経路408に沿って位置412にドラッグするとき、原点の位置は位置414に更新されることがあり、その結果、位置412と位置414の間の距離は閾値距離に等しくなる。閾値距離に関連する量が仮想コントローラの入力機構の感度を上昇又は低下させるために調整され得ることに留意すべきである。
【0047】
[0054] 原点の位置が更新されると、新しいタッチ入力がドラッグ操作に関連付けて受信されることがある。そのようなタッチ入力が受信されると、タッチ入力の現在の位置に関連付けて処理されることがある。例えばユーザがドラッグ操作の方向又は速度を変更する場合、そのような変更は、新しい方向又は速度と更新された原点位置との関係に基づいて制御されるオブジェクトの移動に変換されることがある。
【0048】
[0055] 例として、上記の例から引き続き、原点の位置が位置414に更新されると、ユーザは、経路の第2の部分418に沿って第2の位置416までドラッグ操作を続けることがある。そのとき、第2の部分418に沿って受信された入力は、更新された原点に関連して制御されるオブジェクトに対する移動命令を生成するのに使用されることがある。一部の例では、経路の第2の部分418が位置414から閾値距離の範囲内にある間は、原点の位置は更新されないことがある。
【0049】
[0056]
図5は、実施形態に係る仮想コントローラ上でチャージ動作を実行するためのプロセスのグラフィック図を示している。プロセス500は、仮想コントローラが実装され得るユーザデバイス502(A~C)の一連の画像に示される。示されるように、仮想コントローラは、タッチスクリーンディスプレイ上に提示されるグラフィカルユーザインターフェイス(GUI)504を介して実装されることがある。
【0050】
[0057] 502(A)に示すように、ユーザが、タッチ入力をユーザデバイスのタッチスクリーンに行うことがある。検出されたタッチ入力が特定の入力機構に対応するという判定が、そのタッチ入力の位置が入力機構に割り当てられたエリア内にあることに基づいてなされることがある。一部の実施形態では、検出されたタッチ入力は、入力機構に割り当てられたエリアから始まる場合に入力機構に対応すると判定される。一部の実施形態では、検出されたタッチ入力は、入力機構に割り当てられたエリアを少なくとも通過する場合に入力機構に対応すると判定される。
【0051】
[0058] タッチ入力が方向パッド506などの入力機構に対応するという判定をするときに、ユーザデバイスは、その入力機構に対応するアクションを開始することがある。一部の例では、アクションの1つ以上の特徴は、検出されたタッチ入力の種類及び/又は位置に依存することがある。例えば入力機構がゲーム内のオブジェクトの移動を制御する方向パッドである場合に、オブジェクトの移動は、方向パッドの原点(例えば中心)に対するタッチ入力の位置及びタッチ入力の原点からの距離及び/又はタッチ入力の移動の速度及び方向に依存することがある。一部の実施形態では、情報は、タッチ入力が受信され続ける限り、制御オブジェクトを移動させるために生成され続けることがある。
【0052】
[0059] 502(B)に示すように、ユーザはタッチ入力をし続けることがあり、自分の指をタッチスクリーンディスプレイ上にドラッグすることによってドラッグ又はスワイプ操作508を実行することがある。一部の例では、ドラッグ操作508は、入力機構と関連付けられたエリアの外の位置で終了するか又はその位置を少なくとも通過することがある。これらの実施形態では、新しいタッチ入力が受信されるときに、タッチ入力の現在の位置が、入力機構の原点の現在の位置と比較されることがある。タッチの現在の位置と原点の現在の位置との間の距離が所定の距離閾値よりも大きい場合には、原点の現在の位置は、タッチ入力の現在の位置から離れた閾値距離にある位置510に更新される。このことは、上記
図4に関してより詳細に説明される。
【0053】
[0060] 502(C)に示すように、原点の現在の位置が更新された後に、ユーザは、自分の指をタッチスクリーンディスプレイ上の異なる位置にドラッグすることによってドラッグ操作の実行を継続することがある。継続したドラッグ操作512を検出したときに、その継続したドラッグ操作に関連して検出されたタッチ入力は、あたかも位置510にあるかのように方向パッドに関連付けて処理される。このように仮想コントローラは、従来のコントローラに実装されたものよりもユーザにとって直感的な制御手段を実装することができる。また、そのような実装が、ユーザがアクションを実行するためにドラッグ又はスワイプしなければならない距離を短縮することによって、仮想コントローラのユーザに高い応答性(例えば短い応答時間)を提供することになる可能性がある。
【0054】
[0061]
図6は、実施形態に係る動的方向制御手段に基づいたアクションを実行するための例示的なプロセスフロー600を示している。具体的には、「uターンスワイプ」を実行するためのプロセスは
図6で図式的に説明される。プロセス600は、
図1に示したサービス環境100などの任意の適切なサービス環境で実行される可能性がある。
【0055】
[0062] 様々な実施形態によれば、プロセス600は、601において第1のタッチ入力をゲーミングシステムのタッチセンサを介して感知することを含む。システムは、602において第1のタッチ入力に基づいて第1の原点位置を割り当てることができ、次いで603において第1のタッチ入力の第1の移動を、タッチセンサにより受信される入力の変化に基づいて感知することができる。604において、感知した第1の移動の第1の原点位置に対するパラメータに基づいて第1の移動ベクトルを第1のタッチ入力に割り当てることができる。更なる入力が受信されるときに、システムは605において第1のタッチ入力の第2の移動を感知することができる。606において、感知した第2の移動のパラメータに基づいて第2の移動ベクトルを第1のタッチ入力に割り当てることができる。第1及び第2の移動がある限られた時間内に検出されたときに、ユーザによるリフトアンドリプレースアクションによって中断されても、システムは、607において第1の移動ベクトルを第2の移動ベクトルと比較し、608において第2の移動ベクトルが少なくとも部分的に第1の移動ベクトルを反転したことを検出することによって第1のuターン入力が受信されたと判定することができる。第1のuターン入力が受信されたと判定したことに応答して、システムは、609において非uターン旋回挙動と異なるuターン旋回挙動をプレイヤーアバターに示させる命令を生成することができる。
【0056】
[0063]
図7は、実施形態に係る仮想化された物理的コントローラ上に動的方向制御手段を生成し実装するための第1の例示的なプロセスフロー700を示すフロー図を示している。プロセス700は、アクティベーションデータをユーザ入力に基づいて生成するように構成されるコンピューティングデバイスによって実行されることがある。例えばプロセス700は、
図3に関連して以上で説明したコントローラ302などの、ユーザとソフトウェアアプリケーションとの対話を促進することができるコントローラによって実行されることがある。一部の実施形態では、そのようなソフトウェアアプリケーションはユーザによりプレイされるビデオゲームである。
【0057】
[0064] 702において、プロセス700は、第1のタッチ入力をタッチスクリーンディスプレイ上でユーザから受信することを含む。一部の実施形態では、第1のタッチ入力は、特定の入力機構と関連付けられていると、第1の位置がその入力機構と関連付けられたエリア内にあることによって判定される。一部の実施形態では、入力機構は、オブジェクトの移動を制御するのに使用される方向パッドを含む。
【0058】
[0065] 704において、プロセス700は、オブジェクトに関連して実行される第1のアクションを決定することを含む。一部の例では、オブジェクトは、ユーザによりビデオゲーム内で制御されるアバターである場合がある。入力機構が方向パッドである実施形態では、第1のアクションは、オブジェクトを第1の位置と第2の位置との差(例えば距離及び/又は相対位置)に基づいて移動させることを含む。そのような例では、オブジェクトを移動させる方向又は程度の少なくとも一方が、第1の位置と第2の位置との差又は第1のタッチ入力に関連する速度の少なくとも一方に依存することがある。例えばオブジェクトの移動に起因する速度が、ユーザがタッチ入力を行う速度に基づいて決定されることがある。
【0059】
[0066] 706において、プロセス700は、第1のタッチ入力と関連付けられた位置と入力機構と関連付けられた位置(例えば原点)との間の距離が距離閾値よりも大きいと判定することを含む。第1のタッチ入力と関連付けられた位置と入力機構と関連付けられた位置との間の距離が距離閾値以下である場合に、入力機構の更新が行われないことがある。
【0060】
[0067] 708において、プロセス700は、入力機構と関連付けられた位置を第1のタッチ入力と関連付けられた位置の距離閾値の範囲内となるように更新することを含む。一部の実施形態では、距離閾値は、ソフトウェアアプリケーションにより提供される情報に基づいて決定される。例えば仮想コントローラを介して制御されるソフトウェアアプリケーション(例えばビデオゲーム)により提供される情報が、そのビデオゲームに適切な距離閾値を決定するのに用いられることがある。一部の実施形態では、距離閾値はオブジェクトの1つ以上の特徴に基づいて決定される。例えば距離閾値は、オブジェクトが現在移動している速度に関連付けられることがあり、その結果、距離閾値は、オブジェクトがより速く移動しているときに上昇することがある。一部の実施形態では、距離閾値はユーザの好みに基づいて決定される。例えばユーザは、仮想コントローラと関連付けるべき感受性又は応答性の程度又はレベルを示すことがある。この例では、より小さい距離閾値がより高い感受性及び/又は応答性のレベルをもたらすことがある。一部の実施形態では、距離閾値は、第1のタッチ入力に関連する速度に基づいて決定される。例えば閾値距離は、ユーザのタッチ入力に関連する速度に基づいて変化させることがある。この例では、ユーザがドラッグ操作を高速で行う場合に、より大きい距離閾値が使用されることがあり、そしてユーザがドラッグ操作を低速で行う場合。
【0061】
[0068] 710において、プロセス700は、第2のタッチ入力をタッチスクリーンディスプレイ上でユーザから受信することを含む。一部の実施形態では、第1のタッチ入力及び第2のタッチ入力は、ユーザによりタッチスクリーンディスプレイ上で行われる1回のドラッグ操作の一部である。一部の例では、第3の位置はドラッグ操作に関連する経路上に位置する。他の例では、第3の位置は必ずしも経路に沿って位置しないことがある。例えば一部の例では、第3の位置は、オブジェクトの対面の真後ろの位置である場合がある。
【0062】
[0069] 712において、プロセス700は、オブジェクトに関連して行われる第2のアクションを決定することを含む。入力機構が方向パッドである実施形態では、第2のアクションは、オブジェクトを第4の位置と第3の位置との差に基づいて移動させることを含む。そのような例では、オブジェクトを移動させる方向又は程度の少なくとも一方が、第4の位置と第3の位置との差又は第2のタッチ入力に関連する速度の少なくとも一方に依存することがある。例えばオブジェクトの移動に起因する速度が、ユーザがタッチ入力を行う速度に基づいて決定されることがある。オブジェクトが既に移動している場合、オブジェクトに関連して行われる第2のアクションはuターンアクションである場合がある。
【0063】
[0070]
図8は、実施形態に係る仮想化された物理的コントローラ上に動的方向制御手段を生成し実装するための第2の例示的なプロセスフロー800を示すフロー図を示している。プロセス800は、アクティベーションデータをユーザ入力に基づいて生成するように構成されるコンピューティングデバイスによって実行されることがある。例えばプロセス800は、
図3に関連して以上で説明したコントローラ302などの、ユーザとソフトウェアアプリケーションとの対話を促進することができるコントローラによって実行されることがある。一部の実施形態では、そのようなソフトウェアアプリケーションはユーザによりプレイされるビデオゲームである。
【0064】
[0071] 802において、プロセス800は、ユーザから第1の位置で受信される第1のタッチ入力の指示を(例えばタッチスクリーンディスプレイ上で)受信することを含む。一部の実施形態では、タッチ入力は、ビデオゲーム内のアバターの制御に関連して受信される。そのような実施形態では、アバターは、ユーザによりユーザデバイスを介して制御されるキャラクタオブジェクトである。
【0065】
[0072] 804において、プロセス800は、持続的方向入力が開始されたと判定することを含む。一部の実施形態では、そのような判定は、第1の位置と入力機構の原点と関連付けられた第2の位置との間の距離が距離閾値未満であることに少なくとも部分的に基づいて行われることがある。一部の実施形態では、入力機構は、アバターの移動を制御するのに使用される方向パッドを含む。一部の例では、距離閾値は、ソフトウェアアプリケーションにより提供される情報に基づいて決定される。一部の例では、距離閾値は、方向パッド入力機構に関する構成データに記憶されている情報に基づいて決定される。一部の例では、距離閾値はユーザの好みに基づいて決定される。一部の例では、距離閾値は第1のタッチ入力に関連する速度に基づいて決定される。
【0066】
[0073] 806において、プロセス800は、タッチ入力が連続的に検出される限り持続的方向入力を維持することを含む。以下のプロセスは、持続的方向入力が維持される間に実行されることがある。
【0067】
[0074] 808において、プロセス800は、持続的方向入力と関連付けられたタッチ入力ベクトルを監視することを含む。一部の実施形態では、持続的方向入力と関連付けられたタッチ入力ベクトルは、タッチ入力が移動している現在の方向を含む。一部の実施形態では、持続的方向入力と関連付けられたタッチ入力ベクトルが、前のある期間にわたって受信されたタッチ入力に基づいて生成される。
【0068】
[0075] 810において、プロセス800は、変化閾値よりも大きいタッチ入力ベクトルの角度変化を検出したときに、反転入力が行われたと判定することを含む。一部の実施形態では、タッチ入力ベクトルの角度変化は、所定の期間にわたる回転変化の程度を含む。例えば所定の期間にわたる回転度は、所定の期間(例えば最後の1秒)内の150度以上の回転である場合がある。
【0069】
[0076] 812において、プロセス800は、アバターに反転入力に対応する反転アクションを行わせることを含む。一部の実施形態では、持続的方向入力と反転入力の組み合わせが、アバターに従来の移動アクションを反転アクションと組み合わせて行わせる。これらの実施形態の少なくとも一部において、反転アクションと組み合わせた従来の移動アクションにおいてアバターを移動させる方向又は程度の少なくとも一方がタッチ入力ベクトルに依存している。一部の実施形態では、反転アクションは、アバターに関連して行われるuターンアクションを含む。
【0070】
[0077] 本明細書に記載の方法は、仮想コントローラ、すなわち容易にカスタマイズできるコントローラボタンレイアウトを提供するためのタッチスクリーン又はタッチスクリーンのような機能を使用するコントローラを対象とする。一部の実施形態によれば、タッチスクリーンは、ゲーミングコンソール、パーソナルコンピュータ、タブレット、スマートフォン、シンクライアントデバイス(例えばスクリーンにプラグインされるUSB又はHDMIデバイス)のようなゲーミングデバイスとインターフェイスする物理的な携帯コントローラの少なくとも一部分である。一部の実施形態によれば、タッチスクリーンは、ゲーミングコンソール、パーソナルコンピュータ、タブレット、スマートフォン、シンクライアントデバイス(例えばスクリーンにプラグインされるUSB又はHDMIデバイス)のようなゲーミングデバイスとインターフェイスするコントローラの主要な特徴である。一部の実施形態によれば、コントローラは、モバイルデバイス又はタブレットをゲーミングコンソール、パーソナルコンピュータ、シンクライアントデバイス(例えばスクリーンにプラグインされるUSB又はHDMIデバイス)のようなゲーミングデバイスに接続する実行可能なソフトウェアと連携するモバイルデバイス又はタブレットから構成される。一部の更なる実施形態によれば、タッチスクリーンは、ゲーミングコンソール、パーソナルコンピュータ、タブレット、又はスマートフォンのようなゲーミングデバイスのタッチ対応スクリーンである。
【0071】
[0078] 明細書及び図面は、限定的な意味ではなく例示的な意味で見なされるべきである。しかしながら、添付の特許請求の範囲に記載する本開示のより広い趣旨及び範囲から逸脱することなく、本明細書に対する様々な修正及び変更が行われ得ることは明らかであろう。
【0072】
[0079] 他の変形例が本開示の趣旨の範囲内にある。したがって、開示される技術は、様々な修正例及び代替的な構成の影響を受けやすいが、開示される技術のいくつかの図解される実施形態は、図面に示されており、以上で詳細に説明されている。しかしながら、本発明を開示される特定の形態(複数可)に限定する意図はないが、反対に、意図は、添付の特許請求の範囲に定義されるように、本発明の趣旨及び範囲内に入る全ての修正例、代替的な構成及び同等物を網羅することであることが理解されるべきである。
【0073】
[0080] 開示される実施形態を説明する文脈(とりわけ、以下の特許請求の範囲の文脈)における用語「a」及び「an」及び「the」、並びに同様の参照対象の使用は、別様に本明細書に示されない限り、又は文脈によって明らかに矛盾しない限り、単数形及び複数形の両方を網羅すると解釈されるべきである。「備える(comprising)」、「有する(having)」、「含む(including)」、及び「含有する(containing)」という用語は、別様に記述されない限り、制限のない用語(open-ended term)(すなわち、「含むが、これに限定されない」を意味する)として解釈されるべきである。「接続された」という用語は、介在する何かが存在する場合でも、部分的又は全体的に中に含まれるか、取り付けられるか、又は一緒に接合されるものとして解釈されるべきである。本明細書の値の範囲の列挙は、別様に本明細書に示されない限り、単に範囲内に入る各別個の値を個別に参照する略式方法として役立つことを意図するものであり、各別個の値は、本明細書に個別に列挙されたものとして本明細書に組み込まれる。本明細書に記載される全ての方法は、別様に本明細書に示されない限り、又は別様に文脈によって明らかに矛盾しない限り、任意の好適な順序で実施される可能性がある。本明細書に提供される任意の及びすべての実施例、又は例示的な言い回し(例えば、「などの」)の使用は、単に本発明の実施形態をよりよく明らかにすることを意図するものであり、別様に請求されない限り、本発明の範囲に限定を課さない。本明細書のいかなる言い回しも、本発明の実施に不可欠なものとして任意の特許請求されない要素を示すように解釈されるべきではない。
【0074】
[0081] 本発明者らに知られている本発明を行うための最良のモードを含む、本開示の好ましい実施形態が本明細書に記載されている。これらの好ましい実施形態の変形例は、前述の説明を読むことで当業者に明らかになることがある。発明者らは、当業者がかかる変形例を適切に採用することを期待し、かつ発明者らは、本明細書に具体的に記載される以外の方法で本発明を実施することを意図している。したがって、本発明は、適用法によって許可された場合に、本明細書に添付される特許請求の範囲に列挙される主題の全ての修正例及び同等物を含む。更に、それらの全ての可能な変形例における上記の要素の任意の組み合わせは、別様に本明細書に示されない限り、又は別様に文脈によって明らかに矛盾しない限り本発明によって包含される。
【0075】
[0082] 例A.ユーザから第1の位置で受信される第1のタッチ入力の指示をタッチスクリーンディスプレイ上で受信すること、第1の位置と入力機構の原点と関連付けられた第2の位置の間の距離が距離閾値未満であることに少なくとも部分的に基づいて、持続的方向入力が開始されたと判定すること、タッチ入力が連続的に検出される限り持続的方向入力を維持すること、持続的方向入力が維持される間に、持続的方向入力と関連付けられたタッチ入力ベクトルを監視すること、変化閾値よりも大きいタッチ入力ベクトルの角度変化を検出したときに、反転入力が行われたと判定すること、及び、アバターに反転入力に対応する反転アクションを行わせること、を含む方法。
【0076】
[0083] 例B.持続的方向入力と反転入力の組み合わせが、アバターに従来の移動アクションを反転アクションと組み合わせて行わせる、例A又は先行もしくは後続の例のいずれかの方法。
【0077】
[0084] 例C.反転アクションと組み合わせた従来の移動アクションにおいてアバターを移動させる方向又は程度の少なくとも一方が、タッチ入力ベクトルに依存している、例A又は先行もしくは後続の例のいずれかの方法。
【0078】
[0085] 例D.入力機構が、アバターの移動を制御するのに使用される方向パッドを含む、例A又は先行もしくは後続の例のいずれかの方法。
【0079】
[0086] 例E.タッチ入力ベクトルの角度変化が、所定の期間にわたる回転変化の程度を含む、例A又は先行もしくは後続の例のいずれかの方法。
【0080】
[0087] 例F.所定の期間にわたる回転度が、所定の期間内の150度以上の回転を含む、例E又は先行もしくは後続の例のいずれかの方法。
【0081】
[0088] 例G.持続的方向入力と関連付けられたタッチ入力ベクトルが、タッチ入力が移動している現在の方向を含む、例A又は先行もしくは後続の例のいずれかの方法。
【0082】
[0089] 例H.持続的方向入力と関連付けられたタッチ入力ベクトルが、前のある期間にわたって受信されたタッチ入力に基づいて生成される、例G又は先行もしくは後続の例のいずれかの方法。
【0083】
[0090] 例I.反転アクションが、アバターに関連して行われるuターンアクションを含む、例A又は先行もしくは後続の例のいずれかの方法。
【0084】
[0091] 例J.タッチスクリーンディスプレイと、プロセッサと、メモリと、を備えたユーザデバイスであって、メモリが、プロセッサを用いて実行されるときに、ユーザデバイスに、少なくとも、ユーザから第1の位置で受信した第1のタッチ入力の指示をタッチスクリーンディスプレイ上で受信すること、第1の位置と入力機構の原点と関連付けられた第2の位置の間の距離が距離閾値未満であることに少なくとも部分的に基づいて、持続的方向入力が開始されたと判定すること、タッチ入力が連続的に検出される限り持続的方向入力を維持すること、持続的方向入力が維持される間に、持続的方向入力と関連付けられたタッチ入力ベクトルを監視すること、変化閾値よりも大きいタッチ入力ベクトルの角度変化を検出したときに、反転入力が行われたと判定すること、及び、アバターに反転入力に対応する反転アクションを行わせること、を行わせる命令を含む、ユーザデバイス。
【0085】
[0092] 例K.命令がユーザとソフトウェアアプリケーションとの対話を促進することができる仮想コントローラを含む、例J又は先行もしくは後続の例のいずれかのユーザデバイス。
【0086】
[0093] 例L.ソフトウェアアプリケーションが、ユーザによりプレイされるビデオゲームを含む、例K又は先行もしくは後続の例のいずれかのユーザデバイス。
【0087】
[0094] 例M.アバターが、ユーザによりユーザデバイスを介して制御されるキャラクタオブジェクトを含む、例L又は先行もしくは後続の例のいずれかのユーザデバイス。
【0088】
[0095] 例N.距離閾値が、ソフトウェアアプリケーションにより提供される情報に基づいて決定される、例J又は先行もしくは後続の例のいずれかのユーザデバイス。
【0089】
[0096] 例O.距離閾値が、方向パッド入力機構に関する構成データに記憶されている情報に基づいて決定される、例J又は先行もしくは後続の例のいずれかのユーザデバイス。
【0090】
[0097] 例P.距離閾値が、ユーザの好みに基づいて決定される、例J又は先行もしくは後続の例のいずれかのユーザデバイス。
【0091】
[0098] 例Q.距離閾値が、第1のタッチ入力に関連する速度に基づいて決定される、例J又は先行もしくは後続の例のいずれかのユーザデバイス。
【0092】
[0099] 例R.ユーザから第1の位置で受信した第1のタッチ入力の指示をタッチスクリーンディスプレイ上で受信すること、第1の位置と入力機構の原点と関連付けられた第2の位置の間の距離が距離閾値未満であることに少なくとも部分的に基づいて、持続的方向入力が開始されたと判定すること、タッチ入力が連続的に検出される限り持続的方向入力を維持すること、持続的方向入力が維持される間に、持続的方向入力と関連付けられたタッチ入力ベクトルを監視すること、変化閾値よりも大きいタッチ入力ベクトルの角度変化を検出したときに、反転入力が行われたと判定すること、及び、アバターに反転入力に対応する反転アクションを行わせること、を含む行為を、実行時に1つ以上のコンピューティングデバイスにまとめて行わせるコンピュータ実行可能命令をまとめて記憶する、非一時的コンピュータ可読媒体。
【0093】
[00100] 例S.タッチ入力ベクトルの角度変化が、所定の期間にわたる回転変化の程度を含む、例R又は先行もしくは後続の例のいずれかのコンピュータ可読媒体。
【0094】
[00101] 例T.第1の位置とタッチ入力の現在の位置との間の距離が距離閾値よりも大きいと判定したときも、持続的方向入力が維持される、例S又は先行もしくは後続の例のいずれかのコンピュータ可読媒体。
【0095】
結び
[00102] 主題は、特徴及び方法論的行為に固有の言語で説明されてきたが、添付の特許請求の範囲で定義される主題は、必ずしも上記の特定の特徴又は行為に限定されないことを理解されたい。むしろ上記特定の特徴及び行為は、特許請求の範囲を実施する例示的な形態として開示されている。
【手続補正書】
【提出日】2023-10-24
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
ユーザから第1の位置で受信される第1のタッチ入力の指示をタッチスクリーンディスプレイ上で受信することと、
前記第1の位置と入力機構の原点と関連付けられた第2の位置の間の距離が距離閾値未満であることに少なくとも部分的に基づいて、持続的方向入力が開始されたと判定することと、
タッチ入力が連続的に検出される限り前記持続的方向入力を維持することと、
前記持続的方向入力が維持される間に、前記持続的方向入力と関連付けられたタッチ入力ベクトルを監視し、変化閾値よりも大きい前記タッチ入力ベクトルの角度変化を検出したときに、反転入力が行われたと判定し、アバターに前記反転入力に対応する反転アクションを行わせることと、
を含む、方法。
【請求項2】
前記持続的方向入力と前記反転入力の組み合わせは、前記アバターに従来の移動アクションを前記反転アクションと組み合わせて行わせる、請求項1の方法。
【請求項3】
前記反転アクションと組み合わせた前記従来の移動アクションにおいて前記アバターを移動させる方向又は程度の少なくとも一方は、前記タッチ入力ベクトルに依存している、請求項1の方法。
【請求項4】
前記入力機構は、前記アバターの移動を制御するのに使用される方向パッドを含む、請求項1の方法。
【請求項5】
前記タッチ入力ベクトルの前記角度変化は、所定の期間にわたる回転変化の程度を含む、請求項1の方法。
【請求項6】
所定の期間にわたる回転度は、前記所定の期間内の150度以上の回転を含む、請求項5の方法。
【請求項7】
前記持続的方向入力と関連付けられた前記タッチ入力ベクトルは、前記タッチ入力が移動している現在の方向を含む
とともに、前のある期間にわたって受信されたタッチ入力に基づいて生成される、請求項1の方法。
【請求項8】
前記反転アクションは、前記アバターに関連して行われるuターンアクションを含む、請求項1の方法。
【請求項9】
前記
方法は、前記ユーザとソフトウェアアプリケーションとの対話を促進することができる仮想コントローラ
によって実行される、請求項
1の
方法。
【請求項10】
前記ソフトウェアアプリケーションは、前記ユーザによりプレイされるビデオゲームを含
み、
前記アバターは、前記ユーザにより前記ユーザデバイスを介して制御されるキャラクタオブジェクトを含む、請求項
9の
方法。
【請求項11】
前記距離閾値は、
前記ソフトウェアアプリケーションにより提供される
第1の情報
、
方向パッド入力機構に関する構成データに記憶されている第2の情報、
ユーザの好み、又は、
前記第1のタッチ入力に関連する速度、に基づいて決定される、請求項
1の
方法。
【請求項12】
前記タッチ入力ベクトルの前記角度変化は、所定の期間にわたる回転変化の程度を含む、請求項
1の
方法。
【請求項13】
前記第1の位置と前記タッチ入力の現在の位置との間の距離が前記距離閾値よりも大きいと判定したときも、前記持続的方向入力が維持される、請求項
12の
方法。
【請求項14】
タッチスクリーンディスプレイと、プロセッサと、メモリと、を備えたユーザデバイスであって、
前記メモリは、プロセッサを用いて実行されるときに、前記ユーザデバイスに、少なくとも
、請求項1から13の何れかの方法を行わせる命令を含む、ユーザデバイス。
【請求項15】
請求項1から13の何れか一項の方法を、実行時に1つ以上のコンピューティングデバイスにまとめて行わせるコンピュータ実行可能命令をまとめて記憶する、非一時的コンピュータ可読媒体。
【手続補正書】
【提出日】2023-10-31
【手続補正1】
【補正対象書類名】図面
【補正方法】変更
【補正の内容】
【手続補正2】
【補正対象書類名】図面
【補正方法】変更
【補正の内容】
【手続補正3】
【補正対象書類名】図面
【補正方法】変更
【補正の内容】
【手続補正4】
【補正対象書類名】図面
【補正方法】変更
【補正の内容】
【手続補正5】
【補正対象書類名】図面
【補正方法】変更
【補正の内容】
【国際調査報告】