CN116964550A - 虚拟控制器的无限拖动和滑动 - Google Patents
虚拟控制器的无限拖动和滑动 Download PDFInfo
- Publication number
- CN116964550A CN116964550A CN202280020263.1A CN202280020263A CN116964550A CN 116964550 A CN116964550 A CN 116964550A CN 202280020263 A CN202280020263 A CN 202280020263A CN 116964550 A CN116964550 A CN 116964550A
- Authority
- CN
- China
- Prior art keywords
- input
- touch input
- user
- touch
- location
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 claims abstract description 72
- 230000033001 locomotion Effects 0.000 claims abstract description 70
- 230000007246 mechanism Effects 0.000 claims abstract description 50
- 230000008859 change Effects 0.000 claims abstract description 45
- 230000002085 persistent effect Effects 0.000 claims abstract description 44
- 230000009471 action Effects 0.000 claims abstract description 38
- 238000012544 monitoring process Methods 0.000 claims abstract description 11
- 230000002441 reversible effect Effects 0.000 claims description 8
- 230000003993 interaction Effects 0.000 claims description 4
- 230000008569 process Effects 0.000 description 34
- 210000003813 thumb Anatomy 0.000 description 14
- 238000004891 communication Methods 0.000 description 12
- 238000010586 diagram Methods 0.000 description 8
- 230000006399 behavior Effects 0.000 description 6
- 210000003811 finger Anatomy 0.000 description 5
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 230000004044 response Effects 0.000 description 4
- 230000004043 responsiveness Effects 0.000 description 4
- 230000035945 sensitivity Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 238000007726 management method Methods 0.000 description 3
- 230000001133 acceleration Effects 0.000 description 2
- 230000004913 activation Effects 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 238000007667 floating Methods 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 101100136092 Drosophila melanogaster peng gene Proteins 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 210000004936 left thumb Anatomy 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000009192 sprinting Effects 0.000 description 1
- 230000007723 transport mechanism Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0487—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
- G06F3/0488—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
- G06F3/04883—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures for inputting data by handwriting, e.g. gesture or text
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/20—Input arrangements for video game devices
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/20—Input arrangements for video game devices
- A63F13/21—Input arrangements for video game devices characterised by their sensors, purposes or types
- A63F13/214—Input arrangements for video game devices characterised by their sensors, purposes or types for locating contacts on a surface, e.g. floor mats or touch pads
- A63F13/2145—Input arrangements for video game devices characterised by their sensors, purposes or types for locating contacts on a surface, e.g. floor mats or touch pads the surface being also a display device, e.g. touch screens
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/40—Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment
- A63F13/42—Processing 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0487—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
- G06F3/0488—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
- G06F3/04886—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures by partitioning the display area of the touch-screen or the surface of the digitising tablet into independently controllable areas, e.g. virtual keyboards or menus
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)
- User Interface Of Digital Computer (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Measuring Pulse, Heart Rate, Blood Pressure Or Blood Flow (AREA)
- Position Input By Displaying (AREA)
Abstract
本文描述的是用于在经虚拟化的物理控制器上实现动态移动控制的技术,包括:在触摸屏显示器上接收在第一位置处从用户接收的第一触摸输入的指示;至少部分地基于在第一位置与关联于输入机构的起始点的第二位置之间的距离小于阈值距离值,来确定持续方向输入已经被启动;只要连续地检测到触摸输入,就维持持续方向输入;以及在维持持续方向输入的同时:监视与持续方向输入相关联的触摸输入向量;在检测到触摸输入向量的角度改变大于阈值改变值时,确定已经提供了反转输入;以及使得化身执行对应于反转输入的反转动作。
Description
背景技术
现代计算机控制器***(例如,由计算机和视频游戏以及由一般用途操作***所使用的那些***)采用各种技术来引导屏幕上显示的对象的移动。已知技术包括使用诸如鼠标、方向小块(nub)、触摸板、笔、游戏控制器或者操纵杆之类的外部控制设备来创建方向向量或者指定用于移动屏幕上对象(例如,指针或者标线)的位置,或者引起用户的视点的移动。
一些技术可以通过测量外部设备的移动的速度来采用复杂的附加层,以通过响应于输入的参数(例如,基于外部设备移动的速度的指针的加速度)而改变屏幕上对象的行为来增强屏幕上对象的移动。支持触摸的设备还可以被配置为以模拟外部控制设备的行为的方式接受输入。然而,用于支持触摸的设备的控制方案往往达不到物理控制器已经实现的触觉和响应性,并且该领域中的进一步发展是有必要的。
发明内容
本文提供了用于向虚拟控制器提供更直观的控制界面的技术。特别地,在用于控制在软件应用(例如,视频游戏)内的对象(例如,角色或者化身)的虚拟控制器中,可以实现这些技术来改进用户控制该对象的移动的能力,例如,经由方向键(directional pad)的使用。
与物理控制器相反,虚拟控制器可以是在其上虚拟地实例化控制输入机构中的至少一些的任何合适的电子设备。例如,虚拟控制器可以包括被配置为呈现按钮或者其他输入机构的触摸屏显示器。在使用虚拟控制器期间,可以检测用户在触摸屏显示器上的触摸。如果检测到的用户的触摸的位置与所呈现的按钮的位置相对应,则可以激活该按钮。
在一个实施例中,公开了一种由用户设备执行的方法,该方法包括:在触摸屏显示器上接收在第一位置处从用户接收的第一触摸输入的指示;至少部分地基于在第一位置与关联于输入机构的起始点的第二位置之间的距离小于阈值距离值,来确定持续方向输入已经被启动;只要连续地检测到触摸输入,就维持持续方向输入;以及在维持持续方向输入的同时:监视与持续方向输入相关联的触摸输入向量;当检测到触摸输入向量的角度改变大于阈值改变值时,确定已经提供了反转输入;以及使得化身执行对应于反转输入的反转动作。
一实施例涉及一种计算***,其包括:触摸屏显示器;处理器;以及存储器,其包括指令,当该指令在利用处理器执行时,使得计算设备至少:在触摸屏显示器上接收在第一位置处从用户接收到的第一触摸输入的指示;至少部分地基于在第一位置与关联于输入机构的起始点的第二位置之间的距离小于阈值距离值,来确定持续方向输入已经被启动;只要连续地检测到触摸输入,就维持持续方向输入;以及在维持持续方向输入的同时:监视与持续方向输入相关联的触摸输入向量;当检测到触摸输入向量的角度改变大于阈值改变值时,确定已经提供了反转输入;以及使得化身执行对应于反转输入的反转动作。
一实施例涉及一种共同存储计算机可执行指令的非暂时性计算机可读介质,该计算机可执行指令在执行时使得一个或多个计算设备共同执行包括以下的动作:在触摸屏显示器上接收在第一位置处从用户接收的第一触摸输入的指示;至少部分地基于在第一位置与关联于输入机构的起始点的第二位置之间的距离小于阈值距离值,来确定持续方向输入已经被启动;只要连续地检测到触摸输入,就维持持续方向输入;以及在维持持续方向输入的同时:监视与持续方向输入相关联的触摸输入向量;当检测到触摸输入向量的角度改变大于阈值改变值时,确定已经提供了反转输入;以及使得化身执行对应于反转输入的反转动作。
在参考以下说明书、权利要求书和附图时,前述内容以及其他特征和实施例将变得更加显而易见。本专利所涵盖的发明的实施例由所附权利要求而不是本发明内容来定义。本发明内容是本发明的各种方面的高级别概述,并且介绍了在下面的具体实施方式部分中进一步描述的概念中的一些概念。本发明内容并不旨在识别所要求保护的主题的关键或者基本特征,也不旨在单独使用来确定所要求保护的主题的范围。应通过参考本专利的整个说明书的适当部分、任何或者所有附图以及每项权利要求来理解主题。
附图说明
参考附图阐述了具体实施方式。在附图中,附图标记的最左边的数字标识附图标记在其中首次出现的附图。在不同的附图中使用相同的附图标记指示相似或者相同的项目或者特征。
图1是示出根据本公开的各种实施例的可以在其中使用虚拟控制器的服务环境的简化***图;
图2描绘了根据实施例的包括虚拟控制器的环境的说明性示例,其中可以实现用于提供无限拖动和滑动的控制;
图3是示出根据实施例的支持经虚拟化的物理控制器的实现方式的计算***架构的各种组件的框图;
图4描绘了根据实施例的用于实现方向键的起始点的动态定位的过程的图示;
图5描绘了根据实施例的用于在虚拟控制器上执行充电操作的过程的图示;
图6描绘了根据实施例的用于基于动态方向控制来执行动作的示例处理流程;
图7描绘了示出根据实施例的用于在经虚拟化的物理控制器上生成和实现动态方向控制的第一示例处理流程的流程图;以及
图8描绘了示出根据实施例的用于在经虚拟化的物理控制器上生成和实现动态方向控制的第二示例处理流程800的流程图。
具体实施方式
在下面的描述中,将描述各种实施例。为了解释的目的,阐述了具体的配置和细节,以提供对实施例的透彻的理解。然而,对于本领域技术人员来说显而易见的是,可以在没有具体细节的情况下实践这些实施例。此外,可以省略或者简化公知的特征,以免模糊所描述的实施例。
本文的实施例涉及用于实现具有更直观的控制界面的虚拟控制器的技术。特别地,这些技术涉及基于虚拟控制器的用户进行的移动来动态地调整输入机构(例如,方向键)的起始点的位置。在这样的技术中,虚拟控制器的用户进行的移动可以是用户的滑动或者拖动触摸输入,其中,用户在触摸屏显示器上拖动他或者她的手指。在实施例中,起始点的位置可以被更新,使得该起始点落在用户的滑动或者拖动触摸输入的路径上,但是位于距用户的触摸的最新位置特定阈值距离处。当用户的触摸输入移动到该阈值距离之外时,起始点将被更新为距用户的触摸输入的位置阈值距离处。
本公开的实施例提供了优于常规***的许多优点。在触摸屏设备上实现的一些控制器***中,可以通过在屏幕的预先确定的位置(例如,在左侧)实现的“方向键”来控制化身的朝向和移动速度。例如,当用户的左手拇指最初放置在方向键上时,控制器会将初始放置识别为用于朝向和移动的“起始端”(类似于模拟时钟的中心)。当用户沿着远离起始点的方向使他或者她的拇指滑行时,计算从起始端到用户的拇指位置的向量。化身的朝向(从中心的方向)基于向量的方向和化身正在移动的速度(向量的长度,或者在触摸输入期间他们已经使他们的拇指滑行了多远)来更新。
考虑这样的场景,其中,玩家正在向正前方移动他们的角色(将他们的拇指朝向12点钟位置延伸)并且想要快速地转身(将他们的拇指朝向6点钟位置移动),在许多毫秒内将会有这样的多个输入的样本:其中,看起来玩家仍正在相同方向上移动(仍然指向12点钟位置),但是速度只是降低了(即,向量的长度更小)。最后,在许多毫秒之后,玩家的拇指将指向六点钟位置,并且游戏可以更新化身的定向。
常规控制器的问题可以有三个方面。首先,虚拟控制器可能需要检测用户何时想要提前“转身”他或者她的化身(例如,在接收到较少的输入样本之后)。其次,当用户想要转动他或者她的化身时,虚拟控制器将想要使用户的拇指必须行进以使得用户在相反方向上移动的距离最小化。第三,虚拟控制器应该利用不锚定在适当位置的“浮动”虚拟控制器来解决上述两个问题,以便允许玩家在玩游戏时更舒适地改变他们的拇指位置。
在本文描述的实施例中,***不仅查看虚拟控制器输入的状态(例如,“用户正在将他们的拇指在控制器上指向12点钟位置”),而且还查看从用户的最后的拇指位置到用户的当前的拇指位置的改变,以及建立“滑动向量”(给出滑动的方向和长度两者),***可以根据该滑动向量推断出玩家的意图(在这种情况下,检测到用户想要快速转身)。
在实施例中,当***检测到用户的触摸输入的方向改变(例如,“U形滑动”)时,方向键的起始点被重新定位为要么距用户的拇指的当前位置预先确定的距离处,要么在用户的拇指的当前位置之下(例如,控制器的中心现在是旧中心+滑动方向),这立即导致将来从用户接收到的触摸输入与新起始点进行比较。这样的技术提供了重要的创新,其导致“浮动”方向键比固定位置(或者锚定的)方向键响应更快,因为用户的拇指无需行进那么远即可使方向快速改变。
在一些实施例中,另一方面,在虚拟控制器上实现的方向控制使得能够操纵按钮状态(例如,指示角色动作(例如,角色想要冲刺或者攻击)的单独按钮按压),以当检测到玩家想要快速地改变他或者她的角色的定向时修改角色的行为。例如,如果角色正在冲刺,则该角色可以在转弯之前做出“急停滑行”的动画,而如果角色正在行走并且未按下冲刺按钮,则仅突然转向180度。
在一些实施例中,当输入已经被成功地处理以指示方向改变时,可以通过触发向用户的非视觉反馈(例如,触觉反馈和/或听觉反馈)来强调方向改变(例如,“U形滑动”)。例如,成功的“U形滑动”可以导致与用户的化身在屏幕上的移动的可见改变一致的、在用户的化身在屏幕上的移动的可见改变之后或者之前的触觉反馈,或者与用户的化身在屏幕上的移动的相同可见改变一致的、在用户的化身在屏幕上的移动的相同可见改变之后或者之前的听觉反馈(例如,钟声)。听觉和/或触觉反馈可以以任何合适的序列发生、可以同时发生、或者可以使用一种形式的反馈。
图1是示出根据本公开的各种实施例的可以在其中使用虚拟控制器的服务环境100的简化***图。服务环境100包括至少一个服务器101,该服务器101包括至少一个处理器103和非暂时性存储器105,该非暂时性存储器105存储为软件指令以促进服务环境的操作。服务器101经由网络121(例如,互联网或者本地网络)与任何合适数量的用户拥有的客户端设备133、143连接,这些客户端设备133、143典型地结合相应的本地用户网络131、141(例如,消费者或者商业局域网、WIFI网络等)操作。
服务器101还可以连接到任何合适数量的控制服务111,例如,具有其自己的处理器113和存储器115的网络连接的计算***,其监视往返于服务器101和客户端设备133、143的网络。在一些实施例中,服务器101可以是以商业规模操作的一个或多个服务器,例如,数据中心或者服务器群。客户端设备133、143可以包括但不限于消费者个人计算机、视频游戏控制台、可操作以从服务器101流式传输视频内容以在本地屏幕上呈现的瘦客户端设备、或者诸如智能手机、平板计算机等之类的移动设备。客户端设备133、143可以连接到任何合适数量的控制器,例如,控制器135、137、145、147。
每个控制器(例如,控制器135)可以是具有用于与其相应的客户端设备133通信的连接硬件和协议的硬件设备(例如,控制台专用控制器、交叉兼容控制器或者虚拟控制器)。根据一些实施例,控制器135可以是在瘦客户端设备或者触摸屏设备上操作的经虚拟化的控制器,例如,在触摸屏智能手机、平板计算机上仿真的控制器、或具有支持触摸的面板的类似于控制台的控制器。根据一些另外的实施例,例如,在客户端设备133是瘦客户端设备或者移动设备的情况下,控制器135可以是客户端设备内置的具有经虚拟化的控件的触摸屏。可替代地,即使客户端设备133是瘦客户端设备,控制器135也可以是被配置为物理地或者无线地与客户端设备连接的硬件控制器。根据一些实施例,客户端设备133和服务器101可以在相同硬件上操作,例如,客户端设备作为在服务器上的虚拟实例运行。
本文描述的方法可以结合诸如图1中描述的服务环境100的服务环境在客户端设备上被实现。这些方法可以在虚拟控制器的任意放置的上下文中进一步工作,虚拟控制器控制屏幕上的化身朝向和移动两者。
为了清楚起见,图1中示出了一定数量的组件。然而,应当理解,本公开的实施例可以包括多于一个的每个组件。另外,本公开的一些实施例可以包括少于或者多于图1中示出的所有组件。另外,在图1中的组件可以使用任何合适的通信协议经由任何合适的通信介质(包括互联网)通信。
图2描绘了根据实施例的包括虚拟控制器的环境200的说明性示例,其中可以实现用于提供无限拖动和滑动的控件。
图2A-图2D示出了根据各种实施例的在采用与视频游戏***233通信的虚拟控制器235的控制方案200中的滑动控制的“U形转弯”过程的示例。虚拟控制器235包括可以接收玩家输入257的触摸屏251。玩家输入257以触摸的形式被接收,典型地源自与移动控件相对应的区域255内,尽管该区域的大小和位置可以变化,或者该区域可以是整个屏幕。虚拟控制器235可以是被配置为经由触摸屏251在软件中使各种控制器方案虚拟化的专用触摸屏设备,或者可以是可以呈现虚拟触摸屏的移动设备,例如,智能手机等。在一些实施例中,虚拟控制器235可以包括人体工程学特征(例如,手柄253),或者除了触摸屏控件之外甚至可以包括硬件控件(按钮、操纵杆等)。
图2A示出了根据本公开的至少一个实施例的虚拟控制器的初始状态。在图2A中,玩家输入257通过对触摸屏251的触摸来启动,该触摸屏251设置了起始位置。可以在相同触摸屏251或者不同屏幕上显示的诸如化身259之类的游戏内对象维持静止,因为尚未检测到移动。
图2B示出了图1A的虚拟控制器的第二状态,其中,用户已经相对于第一起始端沿第一方向移动输入位置。在图2B中,玩家输入257沿着触摸屏251移动,导致指派第一移动向量。此时,化身259的移动可以由视频游戏***生成。玩家输入257或者“滑动”的方向和幅度可以被登记到存储器并且用于生成具有方向性和幅度的第一移动向量。
图2C示出了图1A的虚拟控制器的第三状态,其中,用户已经相对于第一方向反向移动了输入位置。第一玩家输入可以被中断,例如,通过方向的改变或者通过在玩家与触摸屏之间的接触断开而中断。例如,如图2C中所示,可以发生“抬起”,由此玩家暂时停止触摸触摸屏251并且在不同的位置处恢复,然后新的玩家输入257被指派为新的起始位置。
图2D示出了图1A的虚拟控制器的第四状态,其中,用户已经重新定位了输入位置而没有创建移动向量。图2D示出了玩家输入257正在与起始移动方向相反的方向上正在移动,这生成了第二移动向量,该第二移动向量在方向上与第一移动向量大致相反,但不一定在幅度上相反。响应于第二移动向量是第一移动向量的反转,***可以推断玩家执行“U形转弯”的意图,这可以以不同于仅仅反转运动方向的方式进行,例如,启用指定的“U形转弯”动画261以及与伴随有正常移动的行为不同的预先定义的“U形转弯”行为。例如,参与“U形转弯”可以禁用某些类型的游戏行为,例如,从壁架上掉下来;可以启用某些类型的游戏行为,例如,使预先确定的移动或者在正常移动期间不可用的攻击可用;或者可以以与在正常移动期间所应用的不同的加速度曲线来反转方向。
图3是示出根据实施例的支持经虚拟化的物理控制器的实现方式的计算***架构的各种组件的框图。该***架构可以包括至少一个控制器302。在一些实施例中,控制器302可以与一个或多个服务器304通信,该服务器304可以是如关于图1所描述的服务器101的示例。在一些实施例中,一个或多个服务器101可以为控制器302提供后端支持。例如,在一些情况下,被描述为由控制器302正在执行的处理的至少一部分可以替代地由服务器101执行。在一些实施例中,控制器302可以与客户端设备306通信。客户端设备306可以是如上述关于图1所描述的客户端设备133或者143的示例。在一些实施例中,客户端设备306可以与显示设备308进一步通信。本文描述的组件中的每一个可以经由通过网络310的连接进行通信。
控制器302可以包括任何合适的计算设备,该计算设备被配置为执行本文描述的操作的至少一部分,以及被配置为使得用户能够与软件应用交互。在一些实施例中,控制器可以是具有触摸屏功能的移动设备(例如,智能手机或者平板计算机)。控制器302可以包括通信接口312、一个或多个处理器314、存储器316和硬件318。通信接口312可以包括无线和/或有线通信组件,其使得控制器302能够向其他联网设备发送数据以及从其他联网设备接收数据。硬件318可以包括附加的用户接口、数据通信或者数据存储硬件。例如,用户接口可以包括至少一个输出设备320(例如,视觉显示器、音频扬声器和/或触觉反馈设备)和一个或多个数据输入设备322。数据输入设备322可以包括但不限于小型键盘、键盘、鼠标设备、接受手势的触摸屏、麦克风、声音或者语音识别设备、以及任何其他合适的设备中的一个或多个的组合。
存储器316可以使用计算机可读介质(例如,计算机存储介质)来实现。计算机可读介质至少包括两种类型的计算机可读介质,即,计算机存储介质和通信介质。计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或者其他数据之类的信息的任何方法或者技术实现的任何合适的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于RAM、DRAM、ROM、EEPROM、闪速存储器或者其他存储器技术、CD-ROM、数字多功能光盘(DVD)或者其他光存储装置、盒式磁带、磁带、磁盘存储装置或者其他磁存储设备,或者可以被用于存储供计算设备访问的信息的任何其他非传输介质。相反,通信介质可以体现计算机可读指令、数据结构、程序模块或者在调制数据信号中的其他数据,例如,载波或者其他传输机制。
控制器的一个或多个处理器314和存储器316可以实现包括一个或多个软件模块和数据存储库的功能。这样的软件模块可以包括由处理器314执行以实现特定任务或者实现特定数据类型的例程、程序指令、对象和/或数据结构。更具体地,存储器316可以包括被配置为在虚拟控制器上实现动态控制键的模块(例如,动态控制模块324),以及被配置为维持和实现用于经虚拟化的控制器的输入机构的配置信息的模块(例如,配置管理模块326)。
另外地,存储器316可以包括各种数据存储库。例如,存储器316可以基于上下文(例如,配置数据328)来维持关于经虚拟化的控制器配置的数据。在一些实施例中,这样的配置数据可以包括应当实现的输入机构的一个或多个方面的指示。例如,配置数据可以包括每个输入机构的大小、位置、形状、外观(例如,颜色、阴影和/或文本)的指示。
动态控制模块324可以被配置为与处理器314结合针对经由触摸屏显示器接收的用户触摸输入进行监视。在一些实施例中,动态控制模块可以使用触摸输入来更新与方向键的起始点相关联的位置。例如,当经由触摸屏显示器接收到与方向键相关的用户触摸输入(例如,用户拖动或者滑动操作)并且进行处理时,该触摸输入的速度和/或方向可以用于生成针对经由虚拟控制器控制的对象(例如,角色)的移动指令。在该示例中,可以维持用户的触摸输入的轨迹或者路径。当接收到用户的触摸输入时,将与该触摸输入相关联的当前位置与方向键的起始点的当前位置进行比较,以确定在两个位置之间的距离是否大于阈值距离值。当确定该距离大于阈值距离值时,方向键的起始点的当前位置可以被更新为这样的位置:该位置在沿着与用户的触摸输入相关联的路径距用户触摸的当前位置阈值距离处。在一些实施例中,可以更新阈值距离以便调整虚拟控制器的方向控制的灵敏度。
当方向键的起始点被更新时,可以相对于该新的起始点位置来处理用户的触摸输入。例如,当继续接收用户的触摸输入时,可以基于用户的触摸输入相对于新的起始点位置的相对位置和速度来确定向量。然后,可以根据该向量来移动经由方向键控制的对象。在一些实施例中,一旦不再检测到来自用户的触摸输入(例如,用户已经停止触摸触摸屏显示器),方向键的起始点就可以重置到其初始位置。在一些实施例中,这可以在自上次检测到用户的触摸输入以来已经过去了预先确定的量的时间之后发生。
配置管理模块326可以被配置为与处理器314结合来生成和管理与在控制器302上呈现的用户界面内的一个或多个输入机构的布置相关的配置信息。在一些实施例中,配置管理模块促进根据一些实施例的输入机构布局的定制。应当注意的是,这样的定制在Gregory Peng的题为“虚拟化物理控制器(Virtualized Physical Controller)”的相关专利合作条约(PCT)申请号US2022/019240中进行了描述,该申请通过引用其整体并入本文。
服务器304可以包括被配置为执行归因于其的操作的至少一部分的任何计算设备。服务器304可以由一台或多台通用计算机、专用服务器计算机(包括例如,PC(个人计算机)服务器、服务器、中型服务器、大型计算机、机架安装服务器等)、服务器群、服务器集群或者任何其他适当的布置和/或组合组成。服务器304可以包括运行虚拟操作***的一个或多个虚拟机,或者涉及虚拟化的其他计算架构,例如,可以被虚拟化以维持用于计算机的虚拟存储设备的一个或多个灵活的逻辑存储设备池。例如,服务器304可以包括以托管在云中的以虚拟机或者软件容器的形式的虚拟计算设备。
客户端设备306可以包括被配置为从控制器302接收输入并且基于该输入执行动作的任何合适的计算设备。在一些实施例中,客户端设备可以是游戏***,例如,可以从多个控制器接收输入的游戏控制台,控制器中的每一个可以用于控制在软件应用(例如,计算机游戏)内的化身或者角色。
图4描绘了根据实施例的用于实现方向键的起始点的动态定位的过程的图示。过程400可以在其上已经实现虚拟物理控制器的用户设备(例如,参考上面图3所描述的控制器302)上执行。
在过程400中,诸如方向键之类的输入机构可以与起始点402相关联。在初始状态处,起始点可以位于预先确定的位置处。例如,特定输入机构的起始点可以最初定位于触摸屏显示器上的在虚拟控制器和/或正在执行的软件应用的配置数据中指示的位置处。除了起始点402之外,输入机构还可以与定义在触摸屏显示器上的输入机构的区域或者面积404相关联。在一些实施例中,面积404可以包括基于在配置数据中包括的信息的预先确定的面积。在一些实施例中,面积404可以包括由距起始点402的预先确定的量的距离界定的空间的区域。在一些实施例中,可以在触摸屏显示器上显示轮廓或者其他指示符以标识面积404。
在过程400中,可以检测来自用户的触摸输入。当确定触摸输入已经源自于与方向键相关联的面积404内的位置406处时,可以确定触摸输入与关联于该方向键的动作相关联。在一些情况下,用户然后可以通过在触摸屏显示器上拖动他或者她的手指来创建连续的触摸输入(例如,拖动或者滑动操作)。在一些实施例中,即使触摸输入离开面积404,所产生的拖动操作也可以继续与方向键相关联,直到触摸输入停止(例如,用户停止触摸触摸屏显示器)。只要检测到拖动操作,就基于在拖动操作与方向键的起始点之间的关系,为方向键控制的对象生成移动指令。
在检测到的拖动或者滑动触摸输入期间,可以监视接收到的触摸输入以记录用户在拖动操作期间遵循的路径408。在一些实施例中,只要用户维持与触摸屏显示器的触摸接触,触摸输入就可以与拖动操作相关联。在一些情况下,当检测到用户不再触摸触摸屏显示器时,可以确定拖动操作已经停止。在一些情况下,当检测到用户已经没有触摸触摸屏显示器超过预先确定的量的时间时,确定拖动操作停止。在一些实施例中,一旦确定拖动操作已经停止,起始点的位置就可以被重置为其初始位置402。
在一些情况下,当接收到新的触摸输入时,可以将触摸输入的当前位置与方向键的起始点的当前位置进行比较。如果确定在两个位置之间的距离大于阈值距离410,则起始点的位置可以被更新为距当前位置的距离等于阈值距离。在一些实施例中,起始点可以被更新为落在拖动操作的路径408上的位置处。以该方式,可以基于接收到的用户触摸输入不断地更新起始点的位置。在一些实施例中,起始点可以被更新为不一定位于路径408上、而是直接落在当前触摸输入正后面的位置处。换言之,起始点的位置可以被设置为在与确定用户触摸输入正在移动的当前方向的相反的方向上的阈值距离的点。
举例来说,当用户沿着路径408拖动他或者她的手指到位置412时,起始点的位置可以被更新为位置414,使得在位置412与位置414之间的距离等于阈值距离。应当注意,可以调整与阈值距离相关联的量,以便增加或者减少虚拟控制器的输入机构的灵敏度。
一旦起始点的位置已经被更新,就可以接收与拖动操作相关的新触摸输入。当接收到这样的触摸输入时,可以与触摸输入的当前位置相关地对其进行处理。例如,如果用户改变拖动操作的方向或者速度,则可以基于在新的方向或者速度与更新后的起始点位置之间的关系,将该改变转变为受控对象的移动。
举例来说,从上面的示例继续,一旦起始点的位置已经被更新到位置414,用户就可以继续沿着路径的第二部分418到第二位置416的拖动操作。此时,沿着第二部分418接收的输入可以用于生成针对正在被控制的对象相对于更新后的起始点的移动指令。在一些情况下,当路径的第二部分418落入距位置414的阈值距离内时,起始点的位置可以不被更新。
图5描绘了根据实施例的用于在虚拟控制器上执行充电操作的过程的图示。过程500被描绘在其上可以实现虚拟控制器的用户设备502(A-C)的一系列图像上。如所示的,虚拟控制器可以经由呈现在触摸屏显示器上的图形用户界面(GUI)504来实现。
如在502(A)处所描绘的,用户可以向用户设备的触摸屏提供触摸输入。可以基于该触摸输入的位置在指派给特定的输入机构的区域内来确定检测到的触摸输入与该输入机构相对应。在一些实施例中,如果检测到的触摸输入源自指派给输入机构的面积,则确定该检测到的触摸输入与输入机构相对应。在一些实施例中,如果检测到的触摸输入至少穿过指派给输入机构的面积,则确定该检测到的触摸输入与输入机构相对应。
在确定触摸输入与诸如方向键506之类的的输入机构相对应时,用户设备可以启动与该输入机构相对应的动作。在一些情况下,动作的一个或多个方面可以取决于检测到的触摸输入的类型和/或位置。例如,如果输入机构是控制在游戏中的对象的移动的方向键,则该对象的移动可以取决于触摸输入相对于方向键的起始点(例如,中心)的位置,以及触摸输入距起始点的距离和/或触摸输入的行进的速度和方向。在一些实施例中,只要继续接收触摸输入,就可以继续生成信息以移动受控对象。
如在502(B)处所描绘的,用户可以继续提供触摸输入,并且可以通过在触摸屏显示器上拖动他或者她的手指来执行拖动或者滑动操作508。在一些情况下,拖动操作508可以在与输入机构相关联的面积的外部的位置处结束或者至少经过该位置。在这些实施例中,当接收到新的触摸输入时,可以将触摸输入的当前位置与输入机构的起始点的当前位置进行比较。如果在触摸的当前位置与起始点的当前位置之间的距离大于预先确定的阈值距离值,则将起始点的当前位置更新为距触摸输入的当前位置阈值距离处的位置510。这参考上面图4更详细地描述。
如在502(C)处所描绘的,在起始点的当前位置已经被更新之后,用户可以通过将他或者她的手指拖动到在触摸屏显示器上的不同位置来继续执行拖动操作。当检测到继续的拖动操作512时,与该继续的拖动操作相关的检测到的触摸输入与方向键相关地进行处理,就好像它位于位置510处一样。以该方式,虚拟控制器能够实现比在常规控制器中实现的对用户来说更直观的控件。另外地,这样的实现方式可以导致通过减少用户必须拖动或者滑动来执行动作的距离量,来为虚拟控制器的用户提供增加的响应性(例如,降低的响应时间)。
图6描绘了根据实施例的用于基于动态方向控制来执行动作的示例处理流程600。具体地,图6中示意性地描述了用于实现“U形滑动”的过程。过程600可以在任何合适的服务环境上执行,包括但不限于图1中所示的服务环境100。
根据各种实施例,过程600包括在601处经由游戏***的触摸传感器感测第一触摸输入。在602处,***可以基于第一触摸输入来指派第一起始位置,并且然后在603处,可以基于由触摸传感器接收到的输入的改变来感测第一触摸输入的第一移动。在604处,可以基于相对于第一起始位置的感测到的第一移动的参数来将第一移动向量指派给第一触摸输入。当接收到进一步的输入时,***可以在605处感测第一触摸输入的第二移动。在606处,可以基于感测到的第二移动的参数将第二移动向量指派给第一触摸输入。当在有限时间段内检测到第一移动和第二移动时,即使被用户的提起和放回动作中断,***也可以通过在607处将第一移动向量与第二移动向量进行比较以及在608处检测到第二移动向量至少部分地反转第一移动向量,来确定已经接收到第一U形转弯输入。响应于确定已经接收到第一U形转弯输入,在609处,***可以生成指令以使得玩家化身表现出与非U形转弯行为不同的U形转弯行为。
图7描绘了示出根据实施例的用于在经虚拟化的物理控制器上生成和实现动态方向控制的第一示例处理流程700的流程图。过程700可以由被配置为基于用户输入生成激活数据的计算设备来执行。例如,过程700可以由能够促进在用户和软件应用之间的交互的控制器(例如,上面关于图3描述的控制器302)来执行。在一些实施例中,这样的软件应用是用户玩的视频游戏。
在702处,过程700包括从用户接收在触摸屏显示器上的第一触摸输入。在一些实施例中,由于第一位置位于与特定的输入机构相关联的面积内,因此第一触摸输入被确定为与该输入机构相关联。在一些实施例中,输入机构包括用于控制对象的移动的方向键。
在704处,过程700包括确定要被执行的与对象相关的第一动作。在一些情况下,该对象可以是由用户在视频游戏内控制的化身。在输入机构是方向键的实施例中,第一动作包括基于在第一位置和第二位置之间的差异(例如,距离和/或相对位置)来移动对象。在这样的情况下,对象移动的方向或者角度中的至少一个可以取决于在第一位置和第二位置之间的差异或者与第一触摸输入相关联的速度中的至少一个。例如,归因于对象的移动的速度可以基于用户执行触摸输入的速度来确定。
在706处,过程700包括确定在关联于第一触摸输入的位置与关联于输入机构的位置(例如,起始点)之间的距离大于阈值距离值。在关联于第一触摸输入的位置与关联于输入机构的位置之间的距离小于或等于阈值距离值的情况下,可以不对输入机构进行更新。
在708处,过程700包括将与输入机构相关联的位置更新为在与第一触摸输入相关联的位置的阈值距离值内。在一些实施例中,基于由软件应用提供的信息来确定阈值距离值。例如,由经由虚拟控制器控制的软件应用(例如,视频游戏)提供的信息可以用于确定针对该视频游戏的适当的距离阈值是多少。在一些实施例中,阈值距离值是基于对象的一个或多个方面来确定的。例如,距离阈值可以与对象当前正在移动的速度相关,使得当对象正移动得更快时可以增加距离阈值。在一些实施例中,阈值距离值是基于用户偏好来确定的。例如,用户可以指示与虚拟控制器相关联的敏感度或者响应性的程度或者水平。在该示例中,较低的距离阈值可以导致较高水平的敏感度和/或响应性。在一些实施例中,基于与第一触摸输入相关联的速度来确定阈值距离值。例如,阈值距离可以基于与用户的触摸输入相关联的速度而变化。在本示例中,如果用户高速执行拖动操作,则可以比用户低速执行拖动操作时使用更大的距离阈值。
在710处,过程700包括从用户接收在触摸屏显示器上的第二触摸输入。在一些实施例中,第一触摸输入和第二触摸输入是用户在触摸屏显示器上执行的单个拖动操作的部分。在一些情况下,第三位置位于与拖动操作相关联的路径上。在其他情况下,第三位置可能不一定位于路径上。例如,在一些情况下,第三位置可以是对象正对面后方的位置。
在712处,过程700包括确定要被执行的与对象相关的第二动作。在输入机构是方向键的实施例中,第二动作包括基于在第四位置和第三位置之间的差异来移动对象。在这样的情况下,对象移动的方向或者角度中的至少一个可以取决于在第四位置和第三位置之间的差异或者与第二触摸输入相关联的速度中的至少一个。例如,归因于对象的移动的速度可以基于用户执行触摸输入的速度来确定。在对象已经在移动的情况下,要被执行的与对象相关的第二动作可以是U形转弯动作。
图8描绘了示出根据实施例的用于在经虚拟化的物理控制器上生成和实现动态方向控制的第二示例处理流程800的流程图。过程800可以由被配置为基于用户输入生成激活数据的计算设备来执行。例如,过程800可以由能够促进在用户和软件应用之间的交互的控制器(例如,上面关于图3描述的控制器302)来执行。在一些实施例中,这样的软件应用是用户玩的视频游戏。
在802处,过程800包括(例如,在触摸屏显示器上)接收从用户接收的在第一位置处的的第一触摸输入的指示。在一些实施例中,接收与在视频游戏中的化身的控制相关的触摸输入。在这样的实施例中,化身是由用户经由用户设备控制的角色对象。
在804处,过程800包括确定已经启动持续方向输入。在一些实施例中,这样的确定可以至少部分地基于在第一位置与关联于输入机构的起始点的第二位置之间的距离小于阈值距离值来做出。在一些实施例中,输入机构包括用于控制化身的移动的方向键。在一些情况下,基于由软件应用提供的信息来确定阈值距离值。在一些情况下,基于存储在关于方向键输入机构的配置数据中的信息来确定阈值距离值。在一些情况下,阈值距离值是基于用户偏好来确定的。在一些情况下,基于与第一触摸输入相关联的速度来确定阈值距离值。
在806处,过程800包括只要连续检测到触摸输入就维持持续方向输入。可以在维持持续方向输入的同时执行以下过程。
在808处,过程800包括监视与持续方向输入相关联的触摸输入向量。在一些实施例中,与持续方向输入相关联的触摸输入向量包括触摸输入正在移动的当前方向。在一些实施例中,与持续方向输入相关联的触摸输入向量是基于在先前时间段内接收到的触摸输入来生成的。
在810处,过程800包括在检测到触摸输入向量的角度改变大于阈值改变值时,确定已经提供了反转输入。在一些实施例中,触摸输入向量的角度改变包括在预先确定的时间段内的旋转角度改变。例如,在预先确定的时间段内的旋转角度可以是在预先确定的时间段(例如,最后一秒)内大于或等于150度的旋转。
在812处,过程800包括使得化身执行与反转输入相对应的反转动作。在一些实施例中,持续方向输入和反转输入的组合使得化身执行与反转动作组合的常规移动动作。在这些实施例的至少其中一些中,化身在与反转动作组合的常规移动动作中移动的方向或者角度中的至少一个取决于触摸输入向量。在一些实施例中,反转动作包括要与化身相关地执行的U形转弯动作。
本文描述的方法针对虚拟控制器,即,使用触摸屏或者类似于触摸屏的功能来提供易于定制的控制器按钮布局的控制器。根据一些实施例,触摸屏是与类似于游戏控制台、个人计算机、平板计算机、智能手机、瘦客户端设备(例如,***到屏幕中的USB或者HDMI设备)的游戏设备接合的物理、手持式控制器的至少一部分。根据一些实施例,触摸屏是控制器的主要特征,其与类似于游戏控制台、个人计算机、平板计算机、智能手机、瘦客户端设备(例如,***到屏幕中的USB或HDMI设备)的游戏设备接合。根据一些实施例,控制器由移动设备或者平板计算机连同使能软件构成,该使能软件将移动设备或者平板计算机连接到类似于游戏控制台、个人计算机、瘦客户端设备(例如,***到屏幕中的USB或HDMI设备)的游戏设备或者其他合适的游戏设备。根据一些进一步的实施例,触摸屏是类似于游戏控制台、个人计算机、平板计算机或者智能手机的游戏设备的支持触摸的屏幕。
说明书和附图应被视为说明性的而非限制性的。然而,显而易见的是,可以对其进行各种修改和改变而不脱离如权利要求中阐述的本公开的更宽泛的精神和范围。
其他变化也在本公开的精神之内。因此,虽然所公开的技术易受各种修改和可替代构造的影响,但其某些示出的实施例在附图中示出并且已经在上面详细描述。然而,应当理解,无意将本发明限制于所公开的特定的一个或多个形式,而相反,意图是涵盖落入本发明的精神和范围内的所有修改、可替代构造和等效物,如所附权利要求中所限定的。
在描述所公开的实施例的上下文中(特别是在所附权利要求的上下文中),除非本文另外指出或者与上下文明显矛盾,否则术语“一(a)”和“一个(an)”和“该(the)”以及类似指示物的使用应被解释为涵盖单数和复数两者。除非另有说明,否则术语“包含(comprising)”、“具有(having)”、“包括(including)”和“包含(containing)”应被解释为开放式术语(即,意思是“包括但不限于”)。术语“连接”应被解释为部分或全部包含在其中、附接或结合在一起,即使中间有某物。除非本文另外指出,否则本文中的值的范围的引述仅旨在用作单独提及落入该范围内的每个单独的值的简略表达方法,并且每个单独的值被并入说明书中,如同其在本文中被单独引述一样。除非本文另外指出或与上下文明显矛盾,否则本文描述的所有方法可以以任何合适的次序执行。除非另有要求,否则本文提供的任何和所有示例或示例性语言(例如,“诸如”)的使用仅旨在更好地阐明本发明的实施例,并且不对本发明的范围构成限制。在说明书中的任何语言均不应被解释为指示任何未要求保护的元素对于本发明的实践是必要的。
本文描述了本公开的优选实施例,包括发明人已知的用于实施本发明的最佳模式。在阅读前述描述后,这些优选实施例的变型对于本领域普通技术人员来说可以是显而易见的。发明人期望技术人员适当地采用这样的变型,并且发明人意图以不同于本文具体描述的方式来实践本发明。因此,本发明包括如适用法律所允许的在所附权利要求中引述的主题的所有修改和等效物。此外,除非本文另外指出或与上下文明显矛盾,否则本发明涵盖上述元素在其所有可能变型中的任何组合。
示例A、一种方法,该方法包括:在触摸屏显示器上接收在第一位置处从用户接收的第一触摸输入的指示;至少部分地基于在第一位置与关联于输入机构的起始点的第二位置之间的距离小于阈值距离值,来确定持续方向输入已经被启动;只要连续地检测到触摸输入就维持持续方向输入;以及在维持持续方向输入的同时:监视与持续方向输入相关联的触摸输入向量;在检测到触摸输入向量的角度改变大于阈值改变值时,确定已经提供了反转输入;以及使得化身执行对应于反转输入的反转动作。
示例B、示例A或者前面或者后续示例中的任一个的方法,其中,持续方向输入和反转输入的组合使得化身执行与反转动作组合的常规移动动作。
示例C、示例A或者前面或者后续示例中的任一个的方法,其中,化身在与反转动作组合的常规移动动作中移动的方向或者角度中的至少一个取决于触摸输入向量。
示例D、示例A或者前面或者后续示例中的任一个的方法,其中,输入机构包括用于控制化身的移动的方向键。
示例E、示例A或者前面或者后续示例中的任一个的方法,其中,触摸输入向量的角度改变包括在预先确定的时间段内的旋转角度改变。
示例F、示例E或者前面或者后续示例中的任一个的方法,其中,在预先确定的时间段内的旋转角度包括在预先确定的时间段内大于或等于150度的旋转。
示例G、示例A或者前面或者后续示例中的任一个的方法,其中,与持续方向输入相关联的触摸输入向量包括触摸输入正在移动的当前方向。
示例H、示例G或者前面或者后续示例中的任一个的方法,其中,与持续方向输入相关联的触摸输入向量是基于在先前时间段内接收到的触摸输入来生成的。
示例I、示例A或者前面或者后续示例中的任一个的方法,其中,反转动作包括要与化身相关地执行的U形转弯动作。
示例J、一种用户设备,其包括:触摸屏显示器;处理器;以及存储器,其包括指令,该指令在利用处理器执行时,使得用户设备至少:在触摸屏显示器上接收在第一位置处从用户接收到的第一触摸输入的指示;至少部分地基于在第一位置与关联于输入机构的起始点的第二位置之间的距离小于阈值距离值,来确定持续方向输入已经被启动;只要连续地检测到触摸输入就维持持续方向输入;以及在维持持续方向输入的同时:监视与持续方向输入相关联的触摸输入向量;在检测到触摸输入向量的角度改变大于阈值改变值时,确定已经提供了反转输入;以及使得化身执行对应于反转输入的反转动作。
示例K、示例J或者前面或者后续示例中的任一个的用户设备,其中,该指令包括能够促进在用户与软件应用之间的交互的虚拟控制器。
示例L、示例K或者前面或者后续示例中的任一个的用户设备,其中,软件应用包括由用户玩的视频游戏。
示例M、示例L或者前面或者后续示例中的任一个的用户设备,其中,化身包括由用户经由用户设备控制的角色对象。
示例N、示例J或者前面或者后续示例中的任一个的用户设备,其中,阈值距离值是基于由软件应用提供的信息来确定的。
示例O、示例J或者前面或者后续示例中的任一个的用户设备,其中,阈值距离值是基于存储在关于方向键输入机构的配置数据中的信息来确定的。
示例P、示例J或者前面或者后续示例中的任一个的用户设备,其中,阈值距离值是基于用户偏好来确定的。
示例Q、示例J或者前面或者后续示例中的任一个的用户设备,其中,阈值距离值是基于与第一触摸输入相关联的速度来确定的。
示例R、一种共同存储计算机可执行指令的非暂时性计算机可读介质,该计算机可执行指令在执行时,使得一个或多个计算设备共同执行包括以下的动作:在触摸屏显示器上接收在第一位置处从用户接收的第一触摸输入的指示;至少部分地基于在第一位置与关联于输入机构的起始点的第二位置之间的距离小于阈值距离值,来确定持续方向输入已经被启动;只要连续地检测到触摸输入就维持持续方向输入;以及在维持持续方向输入的同时:监视与持续方向输入相关联的触摸输入向量;在检测到触摸输入向量的角度改变大于阈值改变值时,确定已经提供了反转输入;以及使得化身执行对应于反转输入的反转动作。
示例S、示例R或者前面或者后续示例中的任一个的计算机可读介质,其中,触摸输入向量的角度改变包括在预先确定的时间段内的旋转角度改变。
示例T、示例S或者前面或者后续示例中的任一个的计算机可读介质,其中,即使在确定在第一位置与触摸输入的当前位置之间的距离大于阈值距离值时,也维持持续方向输入。
结论
虽然已经以特定于特征和方法动作的语言描述了主题,但是应当理解,在所附权利要求中限定的主题不一定限于本文描述的特定特征或者动作。而是,特定特征和动作被公开为实现权利要求的示例性形式。
Claims (20)
1.一种方法,包括:
在触摸屏显示器上接收在第一位置处从用户接收的第一触摸输入的指示;
至少部分地基于在所述第一位置与关联于输入机构的起始点的第二位置之间的距离小于阈值距离值,来确定持续方向输入已经被启动;
只要连续地检测到触摸输入,就维持所述持续方向输入;以及
在维持所述持续方向输入的同时:
监视与所述持续方向输入相关联的触摸输入向量;
当检测到所述触摸输入向量的角度改变大于阈值改变值时,确定已经提供了反转输入;以及
使得化身执行对应于所述反转输入的反转动作。
2.根据权利要求1所述的方法,其中,所述持续方向输入和所述反转输入的组合使得所述化身执行与所述反转动作组合的常规移动动作。
3.根据权利要求1所述的方法,其中,所述化身在与所述反转动作组合的所述常规移动动作中移动的方向或者角度中的至少一个取决于所述触摸输入向量。
4.根据权利要求1所述的方法,其中,所述输入机构包括用于控制所述化身的移动的方向键。
5.根据权利要求1所述的方法,其中,所述触摸输入向量的所述角度改变包括在预先确定的时间段内的旋转角度改变。
6.根据权利要求5所述的方法,其中,在预先确定的时间段内的所述旋转角度包括在所述预先确定的时间段内大于或等于150度的旋转。
7.根据权利要求1所述的方法,其中,与所述持续方向输入相关联的所述触摸输入向量包括所述触摸输入正在移动的当前方向。
8.根据权利要求7所述的方法,其中,与所述持续方向输入相关联的所述触摸输入向量是基于在先前时间段内接收到的触摸输入来生成的。
9.根据权利要求1所述的方法,其中,所述反转动作包括要与所述化身相关地执行的U形转弯动作。
10.一种用户设备,包括:
触摸屏显示器;
处理器;以及
存储器,其包括指令,所述指令在利用所述处理器执行时,使所述用户设备至少:
在所述触摸屏显示器上接收在第一位置处从用户接收的第一触摸输入的指示;
至少部分地基于在所述第一位置与关联于输入机构的起始点的第二位置之间的距离小于阈值距离值,来确定持续方向输入已经被启动;
只要连续地检测到触摸输入,就维持所述持续方向输入;以及
在维持所述持续方向输入的同时:
监视与所述持续方向输入相关联的触摸输入向量;
当检测到所述触摸输入向量的角度改变大于阈值改变值时,确定已经提供了反转输入;以及
使得化身执行对应于所述反转输入的反转动作。
11.根据权利要求10所述的用户设备,其中,所述指令包括能够促进在所述用户与软件应用之间的交互的虚拟控制器。
12.根据权利要求11所述的用户设备,其中,所述软件应用包括由所述用户玩的视频游戏。
13.根据权利要求12所述的用户设备,其中,所述化身包括由所述用户经由所述用户设备控制的角色对象。
14.根据权利要求10所述的用户设备,其中,所述阈值距离值是基于由软件应用提供的信息来确定的。
15.根据权利要求10所述的用户设备,其中,所述阈值距离值是基于存储在关于方向键输入机构的配置数据中的信息来确定的。
16.根据权利要求10所述的用户设备,其中,所述阈值距离值是基于用户偏好来确定的。
17.根据权利要求10所述的用户设备,其中,所述阈值距离值是基于与所述第一触摸输入相关联的速度来确定的。
18.一种共同存储计算机可执行指令的非暂时性计算机可读介质,所述计算机可执行指令在执行时,使得一个或多个计算设备共同执行包括以下的动作:
在触摸屏显示器上接收在第一位置处从用户接收的第一触摸输入的指示;
至少部分地基于在所述第一位置与关联于输入机构的起始点的第二位置之间的距离小于阈值距离值,来确定持续方向输入已经被启动;
只要连续地检测到触摸输入,就维持所述持续方向输入;以及
在维持所述持续方向输入的同时:
监视与所述持续方向输入相关联的触摸输入向量;
当检测到所述触摸输入向量的角度改变大于阈值改变值时,确定已经提供了反转输入;以及
使得化身执行对应于所述反转输入的反转动作。
19.根据权利要求18所述的非暂时性计算机可读介质,其中,所述触摸输入向量的所述角度改变包括在预先确定的时间段内的旋转角度改变。
20.根据权利要求19所述的非暂时性计算机可读介质,其中,即使在确定在所述第一位置与所述触摸输入的当前位置之间的距离大于所述阈值距离值时,也维持所述持续方向输入。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US202163158947P | 2021-03-10 | 2021-03-10 | |
US63/158,947 | 2021-03-10 | ||
PCT/US2022/019681 WO2022192492A1 (en) | 2021-03-10 | 2022-03-10 | Infinite drag and swipe for virtual controller |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116964550A true CN116964550A (zh) | 2023-10-27 |
Family
ID=83227085
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202280020263.1A Pending CN116964550A (zh) | 2021-03-10 | 2022-03-10 | 虚拟控制器的无限拖动和滑动 |
Country Status (9)
Country | Link |
---|---|
US (1) | US20240149146A1 (zh) |
EP (1) | EP4288860A1 (zh) |
JP (1) | JP2024513672A (zh) |
CN (1) | CN116964550A (zh) |
AU (1) | AU2022234308B2 (zh) |
CA (1) | CA3212868A1 (zh) |
IL (1) | IL305742A (zh) |
MX (1) | MX2023010550A (zh) |
WO (1) | WO2022192492A1 (zh) |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20130027621A (ko) * | 2011-06-03 | 2013-03-18 | 김성진 | 스마트폰 터치스크린 에프피에스 컨트롤키 기술 아이디어 |
KR20140127931A (ko) * | 2013-03-28 | 2014-11-05 | 황지영 | 터치스크린 디바이스 환경에서의 캐릭터 액션 제어 스킬 구현 장치 및 방법 |
CN109621411B (zh) * | 2017-09-30 | 2022-05-06 | 网易(杭州)网络有限公司 | 信息处理方法、装置、电子设备及存储介质 |
CN108509139B (zh) * | 2018-03-30 | 2019-09-10 | 腾讯科技(深圳)有限公司 | 虚拟对象的移动控制方法、装置、电子装置及存储介质 |
US10974149B2 (en) * | 2019-01-22 | 2021-04-13 | Electronic Arts Inc. | Controlling character movement in a video-game |
-
2022
- 2022-03-10 EP EP22767958.6A patent/EP4288860A1/en active Pending
- 2022-03-10 US US18/281,274 patent/US20240149146A1/en active Pending
- 2022-03-10 AU AU2022234308A patent/AU2022234308B2/en active Active
- 2022-03-10 WO PCT/US2022/019681 patent/WO2022192492A1/en active Application Filing
- 2022-03-10 JP JP2023554299A patent/JP2024513672A/ja active Pending
- 2022-03-10 CA CA3212868A patent/CA3212868A1/en active Pending
- 2022-03-10 MX MX2023010550A patent/MX2023010550A/es unknown
- 2022-03-10 IL IL305742A patent/IL305742A/en unknown
- 2022-03-10 CN CN202280020263.1A patent/CN116964550A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
WO2022192492A1 (en) | 2022-09-15 |
MX2023010550A (es) | 2023-10-05 |
JP2024513672A (ja) | 2024-03-27 |
AU2022234308B2 (en) | 2024-07-11 |
CA3212868A1 (en) | 2022-09-15 |
AU2022234308A1 (en) | 2023-10-05 |
EP4288860A1 (en) | 2023-12-13 |
IL305742A (en) | 2023-11-01 |
US20240149146A1 (en) | 2024-05-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10990274B2 (en) | Information processing program, information processing method, and information processing device | |
JP6145099B2 (ja) | タッチ対応移動体デバイスにおけるゲーム・コントローラー | |
JP2018522310A (ja) | 仮想現実におけるオブジェクトとの手のコンテキスト依存衝突を介した入力 | |
JP2021168972A (ja) | ゲームプログラム、情報処理装置、情報処理システム、および、ゲーム処理方法 | |
KR20200113834A (ko) | 애플리케이션 정보 제공 장치 및 방법 | |
AU2022234308B2 (en) | Infinite drag and swipe for virtual controller | |
EP3433713B1 (en) | Selecting first digital input behavior based on presence of a second, concurrent, input | |
CN117015757A (zh) | 虚拟化的物理控制器 | |
KR102540798B1 (ko) | 사용자 인터페이스 제공 방법 및 모바일 단말 | |
US20240149147A1 (en) | Virtual button charging | |
US20240149155A1 (en) | Virtual automatic aiming | |
KR20200080818A (ko) | 화면 출력 방법 및 이를 수행하기 위한 디스플레이 장치 | |
JP2024511304A (ja) | 状態ベースのアクションボタン | |
KR102369251B1 (ko) | 유저 인터페이스 제공 방법 및 이를 수행하기 위한 단말 | |
KR102369256B1 (ko) | 유저 인터페이스 제공 방법 및 이를 수행하기 위한 단말 | |
US9274616B2 (en) | Pointing error avoidance scheme | |
US20240173616A1 (en) | Controller state management for client-server networking |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |